justme-1968 / homebridge-fhem

a fhem platform plugin for homebridge
https://wiki.fhem.de/wiki/Homebridge_einrichten
79 stars 16 forks source link

HMCCU-Geräte werden bei best. Konstellationen vergessen und später als neue Geräte wieder hinzugefügt #98

Open RlfSt opened 1 year ago

RlfSt commented 1 year ago

Die Geräte-Serial in Homebridge wird für das Modul HMCCU bei HMCCUCHN und HMCCUDEV grundsätzlich anhand des Internals ccuaddr gebildet. Wenn dieses Internal aber aufgrund des noch nicht erfolgreichen Connects von FHEM zur CCU noch nicht vorhanden ist wenn die Verbindung von Homebridge zu FHEM stattfindet, wird die Geräte-Serial anhand der FUUID gebildet. Wenn dann zu einem späteren Zeitpunkt das Internal ccuaddr vorhanden ist und Homebridge neu startet und darüber dann die Geräte-Serial bildet, sind es "neue" Geräte.

Die Definition von HMCCUCHN- und HMCCUDEV-Geräten erfolgt immer über Channel-Name oder (besser) die Channel-Adresse (HM-Adresse) und ist damit für die CCU, auf die zugegriffen wird, einmalig. Dem folgend sollten sich das Internal DEF und das Internal ccuaddr zumindest dann, wenn man die Definition mittels Adresse nutzt, entsprechen. Das Internal DEF ist im Gegensatz zum Internal ccuaddr aber IMMER in FHEM vorhanden, auch wenn noch kein Connect zur CCU stattgefunden hat. Will man die Serial wirklich ein-eindeutig machen, könnte man sie aus dem Internal IODev und dem Internal DEF zusammensetzen.

Abhilfe:

Zeile 2054 in der index.js entsprechend ersetzen durch this.serial = s.Internals.DEF;

Referenz: https://forum.fhem.de/index.php/topic,128925.0.html

Tobias007 commented 1 year ago

Änderung ist absolut sinnvoll. Habe genau das gleiche Problem - Immer wieder werden alle HM Wired Geräte zurückgesetzt.