-
Notifications
You must be signed in to change notification settings - Fork 8
10 Tips & Tricks
Zur Sicherheit auch hier noch einmal der Hinweis, KEIN Port Forwarding für einen externen Zugriff auf Homehub oder CCU zu nutzen. Zu diesem Thema gibt es im Forum reichlich Warnungen, die man beherzigen sollte. Nutzt z.B. VPN stattdessen!
Wichtig:: zum editieren von HH-Dateien sollte der Editor im UTF-8 Format arbeiten. Sonst gibt es Probleme (leere Seiten, etc.) z.B. beim Verwenden von Sonderzeichen. Alternativ: siehe Kapitel "Umlaute & Sonderzeichen"
Homehub reagiert „sensibel“ auf Syntax-Fehler in den json-Dateien wie custom.json oder categories.json. Häufige Fehler enstehen beim setzen von Klammern oder Kommata. Auswirkungen bei Fehlern gehen im einfachsten Fall von der nicht-Anzeige einer einzelnen Zeile in der UI, über eine komplett leere Kategorie-Seite, bis zu komplett leeren Kategorien. Falls man also in der json-Syntax noch nicht so erfahren ist, empfiehlt es sich, immer erst nur einzelne Blöcke oder Zeilen zu ändern → speichern → kontrollieren. Die Suche nach solchen Fehlern in größeren Blöcken kann mitunter ziemlich zeitraubend werden. Eine gute Hilfe ist z.B. diese Seiten
Seit dem update von März 25 (4.1.4):
- bekommt man jetzt auch einen einfachen Hinweistext angezeigt, das es einen Syntax-Fehler gibt und in welcher Datei dieser ist.
- wurde eine UTF8-Konvertierung eingebaut
Beispiel für fehlendes Komma in der custom.json
In der CCU sollte die Verwendung von Umlauten und Sonderzeichen bei der Namensvergabe von Geräten, Systemvariablen oder Programmen generell vermieden werden. In HomeHub kann die direkte Verwendung von z.B. Umlauten im Parameter „name“ zu einer leeren Seite im UI führen, insbesondere, wenn der Editor nicht im UTF-8 Format arbeitet. Dann sind alle Seiten leer, und selbst der JSON check unter https://jsonformatter.curiousconcept.com/ zeigt diesen Fehler nicht an!
Man kann Umlaute aber auch HTML – kodiert einfügen (ohne die Hoch-Komatas)
Beispiele:
-
Zeichen Beschreibung Name in HTML Unicode Ä Deutscher Umlaut Ä 'Ä' Ä ä Deutscher Umlaut ä 'ä' ä Ü Deutscher Umlaut Ü 'Ü' Ü ü Deutscher Umlaut ü 'ü' ü Ö Deutscher Umlaut Ö 'Ö' Ö ö Deutscher Umlaut ö 'ö' ö ß Scharfes S 'ß' ß
Diese und weitere Sonderzeichen:
http://www.sonderzeichen.de/Latein-1/Unicode-00DC.html
Diese werden an verschiedener Stelle gebraucht. Möglichkeiten, diese für das jeweilige Gerät/Systemvariable zu finden sind:
-
im homehub-Verzeichnis:
Stati: interface.php?statelist.cgi
Systemvariablen: interface.php?sysvarlist.cgi
Geräte: interface.php?devicelist.cgi
Beispiel http://[IP-des-Homehub-Werbserber]/homehub/interface.php?sysvarlist.cgi
-
ioBroker – Objekte - hm-rega.0 – ID
-
SDV von Black
Falls es sich um ein Gerät handelt, dass es schon gibt, nur einen Update seitens EQ3 erfahren hat (damit auch eine andere Bezeichnung), kann wie folgt vorgegangen werden.
Beispiel: HmIP-BBL vorhanden, HmIP-BBL-2 noch nicht
- Die "HmIP-BBL.php" im Verzeichnis /components/ kopieren und als "HmIP-BBL-2.php" speichern.
- In dieser Datei den Funktionsnamen "HmIP_BBL($component)" durch "HmIP_BBL_2($component)" ersetzen (UTF-8 Editor verwenden).
- Im Ordner /js/ die "script.js.php" anpassen. Im Bereich "components" die Zeile mit "case 'HmIP-BBL':" kopieren und als "case 'HmIP-BBL-2':" darunter einfügen.
- in der Datei /config/mapping.json in der passenden Kategorie (Aktoren, Beschattung,...) einen neuen Block für das neue Gerät einfügen. Man kann auch ohne Änderung der mapping.json das "neue" Gerät schon in der custom.json nutzen. Es taucht aber noch nicht in den Standard-Kategorien auf
Hier
{
"name": "HmIP-BBL-2",
"icon": "fts_shutter_40.png"
},
- Fertig.
Siehe auch Forum hier ff
Falls man nicht selber Hand anlegen kann oder möchte: einfach im Homehub-Thread im HM-Forum freundlich fragen. Besonders bei ganz neuen Geräten
..und nicht vergessen: falls man selber hand anlegt, bitte über einen pull request, Github issue oder dem Forum teilen - Danke!
Falls man existierende Greräte aus dem components-Verzeichnis an seine eigenen Bedürfnisse anpasst, so kann man diese unter dem ursprünglichen Dateinamen im Verzeichnis /custom/components ablegen. Dieses Verzeichnis hat Vorrang. Damit ist sichergestellt, das diese Veränderung beim nächsten update nicht überschrieben wird. Siehe auch
Die export.json bildet die Grundlage der Geräte und Ansicht. Für die Bereitstellung von neuen Komponenten, welche man selbst nicht im Besitz hat, oder verändern von bestehenden kann man eine Entwicklungsumgebung nutzen. Diese gibt es in zwei Ausprägungen, für die am besten eine zweite HomeHub Installation (zweiter Ordner z. B. "homehubtest") bereitsteht.
Variante 1 (lite)
Benötigte Dateien aus dem "config"-Ordner:
- export.json
Kopiere die export.json nach "config" und "dev".
Dann kannst du die allgemeinen Links:
- ?seite=Aktoren
- ?seite=Sender
- ?seite=Fenster ...
nutzen. Bei bisher nicht existierenden Komponenten muss noch ein entsprechender Eintrag unter "config/mapping.json" erfolgen, damit die Komponente in der Übersicht angezeigt wird.
Variante 2 (complete)
Benötigte Dateien aus dem "config"-Ordner:
- export.json
- custom.json
- categories.json
- config.php (ohne kennwörter)
Kopiere die export.json nach "dev", sowie alle Dateien nach "config". Somit erhältst du die identische Ansicht wie der Anwender.
Achtung: Die Testumgebung simuliert in teilen die CCU, ist nicht perfekt, aber war bisher immer ausreichend.