Closed Puki5000 closed 8 years ago
Ich habe Tests mit der config.json durchgeführt:
Wie darf ich dann den Vorteil der UUID verstehen, wenn sie zwar das Herausfliegen aus der EVE-Konfig verhindert, aber den neuen Namen aus der config.json nicht weitergibt?
Hallo @Puki5000 ,
der Parameter uuid_base
war eigentlich für die Geräte (Accessories) gedacht, da in der 0.1.x Version von homebridge bzw. hap-nodeJS der eindeutige Schlüssel immer aus dem Namen gewonnen wurde, und damit immer geändert wurde sobald man einen Accessory-Namen anpasst.
Bei den Services ist es so, dass sie eigentlich von Haus aus eine eindeutige Service-Kennung bekommen - bis jemand auf die Idee kam, mehrere Services des gleichen Typs in ein Accessory zu packen - da benötigten die Services eine weitere Kennung, die in homebridge-knx bisher (0.2.x) wieder aus dem Service-Namen gewonnen, mit den bekannten Nachteilen. In Version (0.3.x) wird das anders werden.
Tatsächlich habe ich seit iOS 9.1 nicht mehr getestet ob Homekit die Änderungen überhaupt übernimmt - und das tut es offensichtlich nicht, solange die internen Schlüssel (Accessory: uuid_base ODER Name; Service: Type UND Name) gleich bleiben. Die iOS-Datenbank wird wohl nur noch aktualisiert, wenn ein Gerät oder ein Dienst als "neu" erkannt werden. Vielleicht weil es inzwischen "echte" Homekit-Geräte gibt, deren Name dann immer "Hue 4711" ist, und man bei denen nur in iOS einen vernünftigen Namen vergeben kann (die haben ja keine config.json in der Lampe, die man ändern kann). Ein Überschreiben eines bestehenden Gerätes in der Datenbank durch das Gerät (in unserem Fall durch Homebridge) wäre dann eher uncool. Im Oktober 2015 ging es noch, Original Pull Request
Man kann die Namen in der Homekit-Datenbank nicht mehr ändern, sobald das Gerät hinzugefügt wurde, ohne ein neues Gerät zu erzeugen.
Danke für die Infos!
Grüße Puki
Ich habe folgenden Effekt: ich habe für jedes accessory eine UUID vergeben. Wenn ich nun den Namen des accessory ändere, wird dieser NICHT z.B. in EVE angezeigt. Erst wenn ich eine neue UUID vergebe, wird auch der geänderte Name in EVE beim neuen Gerät aktualisiert angezeigt.
Vielleicht verstehe ich auch nur den Sinn nicht?
Ich dachte, dass der Vorteil gerade darin besteht, dass ich dank der UUID das Gerät in EVE zuordnen kann, und später ohne Probleme einen anderen Namen via config.json übergeben kann?
Oder aber ich bin der Fehleinschätzung aufgesessen, dass sich (aufgrund der ähnlichen Namen) die UUID im Beispiel auf den Namen des accessories bezieht - tatsächlich bezieht sie sich aber vielleicht auf die nachfolgenden services?