Kategorien-Archiv HomeControl

Danke für 2000 YT-Abos und RGB-LED-Uhr (mit NeoPixelRing und Arduino)

Hallo zusammen,

da die Veröffentlichung dieses Beitrags zum Video und der Anleitung der Uhr gestern nicht geklappt habt, jetzt nachträglich an dieser Stelle auch noch mal ein Dankeschön an Alle für eure Likes, Follows und sonstige Unterstützungen jeglicher Art!

Ich kann gar nicht oft genug betonen wie sehr es mich freut, dieses Projekt hier wachsen zu sehen. Und scheinbar gibt es doch mehr Leute, die das ganze interessiert, als ich zu Beginn für möglich gehalten hätte.

Ich möchte die Gelegenheit nutzen, euch mein „neuestes“ Projekt vorzustellen, bei dem es sich um eine RGB-LED Uhr auf einem [amazon_textlink asin=’B01GQFWOWO‘ text=’NeoPixel-Ring‘ template=’ProductLink‘ store=’danieschei-21′ marketplace=’DE‘ link_id=’afad0a78-04f2-11e8-8bb5-d5844ff32e26′] basierend handelt, vorstellen.

Neben dem Anzeigen der Uhrzeit passt sich die LED-Helligkeit durch einen Helligkeitssensor automatisch dem Umgebungslicht an. Zusätzlich ist die Uhr noch in der Lage, Textnachrichten per 2.4GHz Funk in Empfang zu nehmen und diese auf einem LED-Matrix Display als Scroll-Text anzuzeigen.

Erweiterungen des Funktionsumfangs (z.B. automatischer Uhrzeit-Abgleich mit dem SHYS-Server, bzw setzen der Uhrzeit per 2.4GHz Funk oder ähnliches) werden bestimmt noch folgen. Wer noch weitere Ideen dazu hat, kann mir diese auch gerne per Mail an support@smarthomeyourself.de mitteilen.

Weitere Details zur Uhr gibt’s im folgenden Danke-2000 Video bzw. in der zugehörigen Anleitung.

 

Abschließend noch einmal vielen Dank und einen guten Start in die Woche

Gruß Daniel

 

 

Video

Aktivieren Sie JavaScript um das Video zu sehen.
https://youtu.be/B2rFDmb4qH0

 

Anleitung

https://smarthomeyourself.de/anleitung-zum-selber-bauen/geraete-vorbereiten/neopixel-rgb-led-uhr-mit-matrix-led-display/

Universelle Erweiterung des Funksenders für bestehende Geräte auf 433MHz-Basis

Ich habe ein kleines Update an den Funksendern vorgenommen, was vielleicht dem ein oder anderen weiter helfen könnte.

Die Funksender waren bisher nur in der Lage, SHYS-interne Funk-Codes zu senden. Also 0-50 für die „Baumarkt-Funksteckdosen“ und >50 – 369 für Intertechno-Geräte. Die Sketches sind nun so erweitert, dass Ihr auch in der Lage seid, eure eigenen Funksignale zu senden. Das heißt, wenn Ihr bestehende Geräte habt, die ebenfalls mit 433MHz Signalen arbeiten, könnt Ihr diese nun in das System einbinden, auch wenn es keine codierbaren Geräte oder Geräte von Intertechno sind. 

Dazu müsst Ihr nur den Sketch auf dem Funksender gegen den neuen austauschen, einen neuen Funksender-Typen, einen Funksender und das Gerät in der Haussteuerung anlegen, den verwendeten Funk-Code eurer Geräte auslesen und diesen in der Geräteeinstellung eintragen. Für weitere Signale muss danach nur noch jeweils ein Gerät angelegt werden. 

Wie das im Detail geht, habe ich in einer Anleitung als Unterpunkt zum Funksender zusammengefasst. 

In der V1 ist es leider noch so, dass für jedes Signal ein eigenes Gerät angelegt werden muss. Das heißt für An und Aus bei einer Funksteckdose wären das leider schon zwei Geräte in der Steuerung.
Die V2 berücksichtigt dieses Problem bereits. Hier ist es dann möglich, für jedes Gerät beliebig viele Schalter zu einem Gerät hinzuzufügen und somit auch weitere Funktionen neben an/aus wie z.B. Laut/Leise bei einem Gerät zu ermöglichen.

Die aktualisierten Funksender-Sketches sind im GitHub unter den folgenden Links zu finden:
https://github.com/CyborgOne/SHYS-Funksender oder https://github.com/CyborgOne/SHYS-Funksender-mit-BT-Switch

 

Erster Einblick in die Entwicklung der V2

Hi zusammen,

in letzter Zeit haben mich verständlicher Weise immer öfter Fragen wie „ist das Projekt eingeschlafen?“ erreicht. Es war ja auch lange sehr ruhig um das Projekt, daher möchte ich mir nun doch endlich mal die Zeit nehmen, um euch auf den aktuellen Stand zu bringen.

Zuerst einmal, Nein, das Projekt ist nicht eingeschlafen. Nur war es mir durch unvorhersehbare private Umstände nicht möglich, daran weiter zu arbeiten.

Seit Oktober habe ich die Arbeit daran aber wieder aufgenommen. Jedoch habe ich mich nun dazu entschlossen, nicht weiter auf der V1 aufzubauen, sondern das gesamte System unter Verwendung von Java, Hibernate und Primefaces als zentrale Frameworks neu zu entwickeln.  Das bringt für mich, als auch für Euch einige wesentliche Vorteile. Für mich heißt es vor allem weniger Aufwand bei der Umsetzung von neuen Features. (Zumindest, sobald die V2 den Funktionsumfang der V1 erreicht hat)

Was für Euch aber wohl wesentlich interessanter sein dürfte, sind natürlich die Vorteile, die sich für Euch als Benutzer ergeben.

  • Was auf jeden Fall direkt positiv auffällt, ist das wegfallen des neu laden der gesamten Seite bei jedem Mausklick. Da dank Primefaces nun Ajax zum Einsatz kommt, ist nur noch in seltenen Fällen eine Aktualisierung der gesamten Seite notwendig. 
  • Ebenfalls ist das System nun auch in der Lage, auf Änderungen im Hintergrund zu lauschen. Das heißt die Anzeige aktualisiert sich selbstständig, wenn sich etwas ändert und man muss nicht mehr die Seite neu laden um Änderungen an Sensor-Werte, dem Systemstatus o.ä. sehen zu können.
  • Durch Klick auf die entsprechende Spaltenüberschrift sind in der Regel nun fast alle Tabellen sortierbar.
  • Das Gesamte System wird nun mehrsprachig entwickelt. Heißt man kann nun in den Einstellungen die Sprache auswählen. Ich werde erst einmal nur Englisch und Deutsch integrieren. Falls jemand mir bei der Übersetzung in andere Sprachen helfen möchte, würde ich mich über eine kurze Rückmeldung freuen.
  • Application-Server für Schaltbefehle: Durch den Application-Server ist es nun möglich, alle anfallenden Schaltbefehle in einer Queue zu hinterlegen, die der Server stetig abarbeitet. So können mit der neuen Version auch Befehle abgesetzt werden, während aktuell noch andere Schaltvorgänge in Bearbeitung sind, ohne dass diese im System verloren gehen.
  • Benutzer/Benutzergruppen mit Rechteverwaltung: Benutzergruppen haben nun frei definierbare Zugriffsrechte, die an die zugehörigen Benutzer vererbt werden. Jeder Benutzer kann individuell einzelne Rechte zusätzlich zugewiesen bekommen. Das Menü blendet dynamisch immer nur die Seiten ein, die auch als Recht über die Gruppe oder den angemeldeten Benutzer selbst erteilt wurden. 
  • Das Handling der Parameter wird mit der V2 nochmals etwas überarbeitet. Im großen und ganzen ist es an der V1 angelehnt, bekommt aber einige kleine Optimierungen um es etwas einfacher, übersichtlicher und trotzdem dynamischer zu kriegen. (Weitere Infos folgen, sobald der Umbau der Administration abgeschlossen ist)

 

Hier gibts schon einmal die ersten Vorab-Screenshots. Es wird sich wohl noch so einiges tun (Vieles fehlt eh noch komplett), aber so bekommt Ihr schon einmal einen ersten Eindruck von der neuen Oberfläche. Im großen und ganzen ändert sich nicht viel. Aber in Sachen Übersichtlichkeit versuche ich auch weiterhin noch nachzubessern. Falls Ihr weitere Vorschläge oder andere Ideen/Anregungen habt, immer her damit.  😉 

Ohne einen Termin zu nennen den ich dann eh wieder nicht halten kann, werde ich aber trotzdem versuchen im ersten Quartal 2018 zumindest schon mal eine Beta der V2 bereit zu stellen. Ob es klappt? Wir werden sehen. 😉 

Ich halte euch auf dem laufenden.

Vielen Dank an alle für eure Geduld, ich hoffe, dass Euch die Neuerungen gefallen und Ihr genau so gespannt auf die fertige V2 seid wie ich.  Ich wünsche euch erst einmal nun eine gemütliche und besinnliche Weihnachtszeit. Lasst es Euch gut gehen und genießt die Zeit mit euren Freunden und Verwandten. 

 

Lieben Gruß und frohes basteln

Daniel

 

V1.0 Release

V1.0 Release

Es ist so weit die neue Version (V1.0) des SmartHome yourself Systems steht nun endlich bereit.

Im Downloadbereich der Projekt-Homepage findet Ihr einen Link zum aktuellen SD-Karten Image, welches eine vorinstallierte Haussteuerung incl. aller neuen Features beinhaltet. Das Image habe ich zwar mit einer 8GB-SD Karte erstellt, da dies aber bei einigen Usern beim Beta-Image öfter zu Problemen geführt hat, da es für viele 8GB-Karten scheinbar zu groß ist, rate ich der Einfachheit halber zur Verwendung einer mindestens 16GB großen SD-Karte. Sobald die PI-Cam bei Abwesenheit als Überwachungskamera dienen soll, macht es eh Sinn, etwas mehr freien Speicher einzuplanen.

Das meiste der Neuerungen habe ich ja bereits im „500-Abos Video“ grob vorgestellt und im letzten Posting auch noch mal aufgelistet. Ich werde hier aber trotzdem noch einmal auf alle Punkte im Detail eingehen.

Wem das alles zu viel zu lesen ist, der findet am Ende dieses Beitrags auch das Video zum Release, in dem ich alles noch einmal zusammengefasst vorstelle.

 

Zuerst einmal, was gibt es neues?

– Neue dynamische Parameter
Klingt erst mal gut, aber was ist damit gemeint? Bisher waren eigentlich nur zwei Parameter zum Schalten von Geräten möglich. Und zwar die von meinen Funksendern verwendeten Parameter  „schalte“ für die Geräte-ID und „dimm“ für die Helligkeitsstufe der Dimmer (falls fürs Gerät aktiviert).

Ich habe mir einige Gedanken dazu gemacht, wie man das ganze so erweitern kann, dass man nahezu jede eurer Ideen dynamisch ohne neuen Programmieraufwand ins System integrieren kann. Dabei heraus gekommen ist folgender Ansatz.

Zuerst einmal habe ich Parameter-Arten eingeführt, mit denen für jeden Parameter angegeben wird, um was für einen Datentyp es sich handelt (Zahl von/bis, Text, feste Werte…).

Da die benötigten Parameter von den verwendeten Arduino-Sketches (Also den Sendern) vorgegeben werden, und jegliche Variation ermöglicht werden sollte, habe ich dazu noch Sender-Typen eingeführt. Diese definieren, welche Parameter für eine bestimmte Art von Sender notwendig sind und welchen Datentyp diese erwarten. Diese Sender-Typen kann man nun in den Sender-Einstellungen im Bereich „Einstellungen-Basis“ den einzelnen Sendern zuweisen, und somit bestimmen, welche Parameter an das Gerät übertragen werden. Gleichzeitig legt man dadurch fest, welche Einstellungsmöglichkeiten für die Geräte in den Geräte-Einstellungen bzw in der Steuerung zur Verfügung stehen sollen.

Diese Sender-Typen könnt Ihr natürlich beliebig viele selber im System hinzufügen und das System somit jeder Zeit erweitern, wenn die existierenden Parameter-Kombinationen nicht ausreichen. Das ist aber nur notwendig, wenn ein neuer Sender mit anderen Parametern integriert werden soll. Wenn Ihr nur einen zweiten Funksender ins Netz einbinden wollt, da der erste z.B. mit der Reichweite des Funksignals nicht ausreicht, reicht es schon einen zweiten Funksender vom selben Sender-Typ in den Basiseinstellungen anzulegen. Heist, diese Funktionalität richtet sich eher an die User unter Euch, die Ihre eigenen Arduino-Projekte in die Haussteuerung integrieren wollen.

 

– Neue Editoren
Da durch die neue Parameter-Logik beliebige Kombinationen und vor allem auch eine große Anzahl an Parametern je Gerät denkbar sind, wollte ich eine Möglichkeit bieten, hier individuelle Steuerungs-Masken für die Geräte zu ermöglichen. Mein Testobjekt war in dem Fall der RGB-Controller den einige vielleicht auch schon aus meinen Videos kennen.

Dieser erwartet ja z.B. 3 Parameter (red, green, blue vom Typ Zahl 0-255). Diese Auswahl von Zahlen ist aber doch sehr umständlich, wenn man eigentlich ja eine Farbe auswählen möchte. Daher kann man nun für alle Geräte, die mindestens 3 Parameter besitzen die noch keinem Editor zugeordnet sind, diesen RGB-Farbwahl-Editor zuweisen. Diese Zuordnung ist je Gerät individuell möglich. Derzeit werden die Parameter-Arten noch nicht auf korrektheit geprüft. Hier müsstet Ihr selber noch ein wenig aufpassen was Ihr einstellt. Diesbezüglich werde ich aber sicherlich noch die Einstellungen optimieren und auch weitere Editor-Alternativen nachreichen.

Diese Einstellungen sind Anfangs evtl. etwas verwirrend. Daher vielleicht nur als kurze Hilfestellung kurz und knapp formuliert: Editoren und Sender-Typen haben beide unabhängig voneinander frei definierbare Parameter. Die Editoren Senden Ihre Parameter weiter, während hingegen die Sender-Typen die Parameter definieren, die vom Sender in Empfang genommen werden. In den Geräteeinstellungen muss man also bei der Zuordnung eines Editors diese beiden Seiten einander zuordnen, damit die in der Steuerung eingestellten Werte auch richtig an den Sender des Gerätes übermittelt werden können.

Das klingt jetzt erst einmal furchtbar kompliziert. Ich denke aber, wenn man es einmal gemacht hat, geht es danach recht leicht von der Hand. Ansonsten habe ich diese Einstellungen noch mal mit Fallbeispiel in eine Anleitung verpackt in der Ihr das ganze jeder Zeit noch einmal ausführlich nachlesen könnt.

 

– Steuerung, Shortcuts, Zeitplan an neue Logik angepasst.
Die Bereiche Steuerung, Shortcut und die  Zeitplanung wurden in der Desktop- so wie Mobile-Ansicht an die neue Parameter-Logik angepasst. In der Steuerung werden die Daten nun über Objekte in einer Form übergeben und nicht mehr per Link. Dadurch sind die Buttons nicht mehr bunt und etwas kleiner. In den Shortcuts bekommt man bei aufgeklappter Liste der Elemente die hinterlegten Parameter-Werte mit angezeigt. 

 

– Refactoring / Performance
Die meiste Arbeit fand wohl immer noch „unter der Haube“ statt. Ich habe mich bemüht öffentliche Methoden die wesentliche Logik enthielten in Objekte zu packen wo es nur ging. Das ermöglichte gleichzeitig ein Caching von Objekten, um mehrfaches Ermitteln von Daten und Abhängigkeiten zu unterbinden. So wurde das ganze System mMn. noch einmal ein Stück schneller.

Was die Bedienung zusätzlich angenehmer macht, ist dass Schaltvorgänge nun im Hintergrund erfolgen und der Seitenaufbau sich dadurch nicht mehr verzögert bis alle Geräte geschaltet wurden. (Allerdings lassen sich neue Schaltbefehle wärend andere noch laufen derzeit noch nicht hinten einreihen. Da muss ich mir noch etwas zu überlegen)

 

– API vorbereitet und ersten Basis-Aufrufe implementiert
Damit alle, die vielleicht schon einmal darüber nachgedacht haben, eine App oä für die Haussteuerung zu basteln vielleicht schon einmal beginnen können, habe ich eine Schnittstelle vorbereitet, mit der man die ersten Daten aus der Haussteuerung in Form einer XML abfragen kann.

Hier einmal eine kurze Beschreibung von den bisher implementierten Funktionen:

Zuerst wird das ganze unterteilt in die Art der gewünschten Aktion:
– z.B. kann man Werte setzen [set] = sensor
 (zzt nur Sensorwerte, aber später vllt auch Einstellungen etc?)

– dann kann man Daten abrufen [get] = objects / shortcuts / crons / sender

– und es lassen sich Schaltvorgänge auslösen [switch] = object / shortcut

Die API ist erreichbar unter der Adresse: http://IP_DES_PI/api.php
Was man auslösen möchte legt man anhand von URL-Parametern fest.

Zum übermitteln von Sensordaten an den Server ruft man z.B. auf:
http://IP_DES_PI/api.php?set=sensor&sensorId=ID&sensorWert=WERT
Hierbei sind IP_DES_PI, ID und WERT durch die jeweiligen Daten zu ersetzen.

Eine ausführliche Anleitung zur API reiche ich schnellstmöglich nach. 

 

– Sprachsteuerung durch Amazon-Echo Unterstützung (HA-Bridge)
Ein weiteres neues Feature der Haussteuerung ist die integration der Sprachsteuerung über einen Amazon Echo. Dieses Feature war eigentlich erst für eine spätere Version geplant, aber nachdem ich von einem User die HA-Bridge empfohlen bekommen habe und diese zum testen einmal installiert hatte, ging alles andere fast wie von selbst. Daher möchte ich euch diese Funktion auch nicht länger vorenthalten.

Die HA-Bridge ist ein System, welches vom Echo als Philips Hue System erkannt wird. Es ermöglicht uns, eine Liste von Geräten anzulegen und zu jedem Gerät jeweils einen URL-Aufruf für AN, AUS und DIMM zu hinterlegen. Das man damit aber jedes Gerät immer mit der Haussteuerungs-Konfiguration von Hand abgleichen müsste, erschien mir aber etwas zu umständlich. Daher habe ich die Haussteuerung so erweitert, dass sie in der Lage ist, diese Konfiguration der HA-Bridge zu überschreiben. Somit wird, wenn es in den Basiseinstellungen aktiviert ist, die Bridge-Konfiguration mit den Geräten und zugehörigen URLs entsprechend den im System hinterlegten Geräten und deren notwendigen Parameter bei jeder Änderung überschrieben und neu gestartet. Dadurch kann nun jeder mit einem Amazon Echo seine Geräte ab jetzt auch mit einem Sprachkommando wie z.B. “Alexa, schalte Hauptbeleuchtung ein” schalten.

 

– Wie geht es jetzt weiter?
Leider habe ich ja doch nicht alle für die V1.0 geplanten Funktionen fertig bekommen. Eigentlich sollten schon mehr Editoren vorhanden sein, eine Infrarot-Steuerung für TV und Co war auch noch geplant und Meldungen über Schaltvorgänge, Fehler und Infos sollten eigentlich auch nicht mehr fest in der Seite auftauchen und diese verschieben, sondern als Popup-Meldung oder in einem festen Bereich erscheinen.

Da ich diese Punkte aber nicht bis zum Release der V2 verschieben möchte, werde ich wohl mindestens noch eine V1.1 nachliefern sobald die ersten neue Funktionen nach Release umgesetzt sind.

Infos zum aktuellen Stand und der Planung findet Ihr wie immer auf der Status-Seite des Projekts: 
http://status.smarthomeyourself.de

Da Ihr im Januar die Heizung als für euch wichtigstes neues Feature gewählt habt, werde ich parallel zu den kleineren Erweiterungen direkt nach dem Release auch dafür direkt die Arbeit beginnen. Ich werde mich bemühen ab jetzt kürzere Intervalle für neue Releases hin zu kriegen und diese dafür nicht mehr so voll zu packen. So bleibe ich auch etwas flexibler für eure spontanen Wünsche, damit Ihr nicht mehr so lange warten müsst.

 

Ich hoffe Euch gefällt das neue Release trotz des abgespeckten Umfangs und dass die Installationen bei euch Reibungslos verlaufen.

 

Und jetzt wünsche ich euch viel Spaß mit der neuen V1.

 

Hier gibts noch das Video zum Release:

Diese Webseite verwendet Cookies, um die Nutzung der Seite zu verbessern, den Erfolg von Werbemaßnahmen zu messen und interessengerechte Werbung anzuzeigen.
Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen