wie im HomeHub Thread bereits angekündigt, arbeite ich momentan daran die HomeHub Konfiguration zu überarbeiten. Im Laufe der Entwicklung habe ich festgestellt, dass die momentane Konfiguration zwar recht simpel zu verstehen ist, aber praktisch keine Möglichkeit für Erweiterungen bietet. Auch aufgrund verschiedenster User Wünsche, die sich mit der momentanen Konfiguration nicht umsetzen lassen, habe ich mich deshalb dazu entschieden HomeHub auf solidere Füße zu stellen.
Was bedeutet das konkret?
Bisher waren die Konfigurationsdateien im CSV Stil aufgebaut. D.h. die Dateien waren Zeilenweise aufgebaut und innerhalb einer Zeile wurden die verschiedenen Parameter mit einem | voneinander getrennt. Die einzelnen Parameter mussten immer an der selben Stelle innerhalb der Zeile stehen. Habe ich neue Parameter eingebaut, so wurden sie ans Ende der Zeile geschrieben. User hatten keine Möglichkeit eigene Parameter für Custom Komponenten einzubauen.
Zukünftig wird es so sein, dass JSON innerhalb der Konfigurationsdateien genutzt wird. Das hat den Vorteil, dass die Konfigurationsdateien nicht erst umständlich eingelesen werden müssen und zusätzliche Paramter von mir oder den Usern problemlos aufgenommen werden können. Leider gehen diese Vorteile zu Lasten der Einfachheit für die User.
Was funktioniert bereits?
- Die Konfigurationsdatei (categories.json, mapping.json und custom.json) wurden auf JSON umgestellt.
- Beim Import (export.json) werden die Informationen im JSON Format abgelegt.
- Wird eine Kategorie anhand der mapping.json ausgegeben, werden Kanäle, Systemvariablen und Programme alphabetisch sortiert.
- Wurde eine Kategorie in der custom.json konfiguriert, wird die Sortierung aus der custom.json genommen um Kanäle, Systemvariablen und Programme anzuzeigen.
- Es ist möglich in der custom.json sogenannte "Anzeigenamen" zu definieren. D.h. heißt ein Kanal in der CCU z.B. "Einfahrt Carport Steckdosen:2", dann kann man ihn anzeigen lassen als "Carport Steckdosen".
- In der custom.json können an Custom Komponenten Parameter übergeben werden. Damit ist es z.B. möglich eine Custom Komponente zu haben, die einen iFrame anzeigt. Über einen Paramter kann die anzuzeigende URL übergeben werden. Abhängig vom Parameter kann die Custom Komponente dann mehrfach angezeigt werden.
Da meine HomeMatic Installation eher klein ist und ich nur wenige Geräte selber besitze, suche ich HomeHub User, die mir helfen die neue Version zu testen. Im Gegenzug erhalten die Tester die Möglichkeit Änderungswünsche zu äußern und Verbesserungsvorschläge zu machen und damit stärker als bisher an der Weiterentwicklung von HomeHub teilzuhaben.
Wie stelle ich mir das vor?
Im ersten Schritt möchte ich ganz sicher gehen, dass ich mit den bereits gemachten Änderungen, außer vielleicht Custom Komponenten, nichts kaputt mache. Es geht also darum die unter "Was funktioniert bereits?" genannten Punkte zu testen und Feedback zu bekommen, ob die JSON Konfiguration auch für andere User verständlich ist. Schritt zwei beinhaltet dann sehr wahrscheinlich eine Umprogrammierung aller unterstützten Komponenten um dadurch eine deutliche Vereinfachung der script.js zu erzielen.
Ich würde mich sehr freuen, wenn Ihr auf diesen Post antworten würdet und Änderungswünsche äußert und Verbesserungsvorschläge macht. Noch mehr freue ich mich aber über jeden, der mir mit Tests helfen möchte.