Skip to content
63chris edited this page Jun 2, 2024 · 4 revisions

Änderungen an custom.json/categories.json

Homehub reagiert „sensibel“ auf Syntax-Fehler in der custom.json oder categories.json, insbesondere 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 Seite https://jsonformatter.curiousconcept.com/

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.


Umlaute & Sonderzeichen

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 Ä '&Auml' Ä
ä Deutscher Umlaut ä '&auml' ä
Ü Deutscher Umlaut Ü '&Uuml' Ü
ü Deutscher Umlaut ü '&uuml' ü
Ö Deutscher Umlaut Ö '&Ouml' Ö
ö Deutscher Umlaut ö '&ouml' ö
ß Scharfes S '&szlig' ß

Diese und weitere Sonderzeichen:

html-php.de

http://www.sonderzeichen.de/Latein-1/Unicode-00DC.html


ISE-IDs

Diese werden an verschiedener Stelle gebraucht. Möglichkeiten, diese für das jeweilige Gerät/Systemvariablezu finden sind:

  • im homehub-Verzeichnis:

Status: 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

Neue / fehlende Geräte

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" noch anpassen. Im Bereich "components" die Zeile mit "case 'HmIP-BBL':" kopieren und als "case 'HmIP-BBL-2':" darunter einfügen.
  • 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