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:

V1.0 Release Aussichten & Forum

Einen schönen guten Abend an alle Follower des SmartHome yourself Projekts.

Die letzten Vorbereitungen für das V1-Release sind in vollem Gange und ich hoffe, dass ich auch noch alles bis zum 4.3.2017 fertig bekomme. Neue Punkte werde ich nun nicht mehr anfangen. Ich habe diesbezüglich das Ticketsystem (http://status.smarthomeyourself.de) schon einmal aktualisiert, damit Ihr einen Überblick habt was euch erwartet, bzw worauf man leider noch etwas warten muss.

Es wird auf jeden Fall ein neues Image mit dem aktuellen Entwicklungsstand der V1.0 geben. Dieser enthält im Gegensatz zur Beta folgende Punkte:
– Dynamische Parameter in Abhängigkeit zum Sender-Typ
– Neue Editoren Individuell je Gerät definierbar (Bisher nur ein RGB-Color-Chooser. Slider und Checkbox sind in Arbeit. Wer weitere Ideen hat, immer her damit.)
– Shortcuts, Schaltung, Zeitsteuerung in Desktop- so wie Mobile-View an neue Parameter-Logik angepasst.
– bessere Performance
– API vorbereitet und ersten Basis-Aufrufe/Abfragen implementiert (Bisher nur im Code dokumentiert)
– eine Überraschung die sich mehr oder minder zufällig ergeben hat enthülle ich im Video. 

Dieser Stand wird natürlich auch wieder manuell installierbar sein. Die Anleitungen passe ich bis Samstag noch so weit ich es schaffe entsprechend an. Ob ich allerdings schon alle Anleitungen bzgl der Bedienung fertig gestellt bekomme, kann ich derzeit noch nicht sagen. Aber die Installation hat für mich an dieser Stelle erst mal Priorität. Informationen zu den neuen Einstellungen etc. liefere ich sonst aber schnellstmöglich nach.

Bzgl nachliefern. Ich denke, ich werde euch diesmal nicht so lange auf ein neues Release warten lassen. Gerade, weil ich doch noch einige Punkte aus der V1 heraus nehmen musste. Sonst hätte ich den Termin wieder verschieben müssen. Da es aber bei mir zu Hause schon alles einen stabilen Eindruck macht, möchte ich euch das was schon fertig ist auch nicht länger vorenthalten. Die V2 soll als Haupt-Feature ja die Heizungssteuerung erhalten, aber ich denke es gibt noch genug kleinere Punkte, die ich auch nachträglich noch in die V1 schieben kann.
Somit ist mein derzeitiger Plan, euch sobald im Anschluss an das Release einige nützliche Erweiterungen fertig gestellt sind, eine V1.1 mit diesen neuen Features nachzuliefern.
Welche das genau sein werden muss man dann mal sehen. Das mache ich denke ich vom Aufwand und Nutzen abhängig und wie viele Fehler ihr mir nach dem Release meldet 😉 Falls euch etwas besonders wichtig ist, könnt Ihr das auch gerne im Forum diskutieren. So bekomme ich auch einen Überblick, was mehr oder eben weniger gefragt ist und werde mich daran auch bestmöglich orientieren. 

Apropos Forum, da wurde ich von einem User darauf hingewiesen, dass das Forum (http://forum.smarthomeyourself.de) bisher doch nicht so nutzbar war, wie ich bis dahin gedacht hatte. Durch diese Info fiel mir ebenfalls auf, dass einige von Euch bereits vor einigen Wochen versucht hatten etwas zu Posten, ich aber keine Benachrichtigungen darüber erhalten habe. Dadurch ist es mir leider völlig durch gegangen, die Beiträge freizugeben. Entschuldigung dafür! Ab jetzt werde ich aber auch über neue Einträge per Mail informiert, so dass mir nun auch dort nichts mehr durch gehen sollte. Die Freigabe durch die Foren-Moderation habe ich direkt deaktiviert und die Foren-Rechte nachgebessert. Dann habe ich das Forum noch so eingerichtet, dass Ihr euch direkt mit einem eurer Social-Media Logins (G+, YouTube, Twitter, Steam oder GitHub) anmelden könnt, wodurch jegliche Registrierung weg fällt. (Eine manuelle Registrierung ist natürlich trotzdem weiterhin möglich)
Bei der Gelegenheit habe ich das Forum auch noch um >3500 Spam-Einträge erleichtert, die User-Postings endlich freigegeben und auch beantwortet. Ich hoffe, dass nun endlich alles so nutzbar ist und freue mich darauf, dort demnächst mit Euch über eure Probleme, Fragen und Ideen plaudern zu können. Sollten doch noch Probleme auftreten schreibt mir einfach eine Mail an support@smarthomeyourself.de. Ich werde mich dann schnellstmöglich darum kümmern und mich diesbezüglich bei euch melden.

Ich gebe mich jetzt direkt wieder dran, das Release weiter vorzubereiten, Anleitungen zu erstellen bzw anzupassen und noch einmal alles durch zu testen. Dann heißt es noch einmal Video drehen, schneiden und alles hoch laden und dann hoffe ich euch am Samstag eine stabile neue Version des SmartHome yourself Systems präsentieren zu können. 

Bis dahin verabschiede ich mich erst einmal und wünsche Euch noch einen schönen Abend und eine angenehme restliche Woche. 

Gruß
Daniel

Umfrage zum weiteren Verlauf der Entwicklung

Wie angekündigt gibt es auch direkt die Umfrage zum weiteren Verlauf der Entwicklung, damit Ihr mit entscheiden könnt, in welcher Reihenfolge die kommenden Features ins System integriert werden sollen.