Ich hab heute testweise von 0.8.0-2245 auf 0.8.0-2254 upgedated, danach war die Verbindung von Homegear und openHAB gestört. Alle Geräte waren in openHAB offline. Inklusive Bridge und Gateway-Extras. Die Kommunikation von Homegear mit den Geräten hat noch funktioniert.
Ein Downgrade auf 0.8.0-2245 hat die Verbindung wieder hergestellt.
da hat ein Fix einen Fehler erzeugt. Wir haben vor ein paar Tagen endlich einmal die Notwendigkeit für eine zweite Verbindung zum Ereignisserver entfernt. Jetzt ist auch das Senden von Ereignissen über die Clientverbindung möglich. Das war eine ziemlich große Änderung, welche letztlich über einen Fix von vorgestern auch zu o. g. Problem geführt hat.
In 0.8.0-2255 sollte es wieder funktionieren.
Ich hoffe, jetzt funktioniert es, denn für mich geht es jetzt ab in den Urlaub ;-).
Viele Grüße
Sathya
Achso: Danke dir !!! Wenn du nicht geschrieben hättest, wär das Problem nicht so schnell gelöst gewesen
Hatte am Wochenende die 2260 installiert und ein ähnliches Fehlerbild im Zusammenhang mit Home-Assistant.
Schnittstelle schien in Ordnung, aber es wurde keine Statusänderungen übertragen.
Eben die 2263 getestet, selbes Ergebnis wie 2260. Zurück auf die 2251 und wieder alles gut…
Sag Bescheid wenn du logs brauchst
Es gibt in den Ereignispaketen in 2263 eine Änderung: Es wird jetzt der Auslöser des Ereignisses mit übertragen (statt vorher im gleichen Parameter die irrelevante ID des Ereignisservers). Vielleicht mag Home-Assistant das nicht?
Das Log auf Loglevel 5 wäre eine große Hilfe. Ich schaue mir das jetzt direkt an.
wird die Schnittstellen-ID benötigt, um das korrekte Array-Element auszuwählen. Das ist total doof, da die Info überflüssig ist. Der Fehler ist also genau durch die o. g. Änderung ausgelöst. Ich muss für Home Assistant also eine Ausnahme einbauen.
Soweit ich die Schnittstelle von homeassistant verstanden habe, unterscheidet sie nicht zwischen CCU2 oder Homegear. Damit wäre die Frage, macht die CCU2 etwas anders als Homegear?
Die CCU sendet offenbar als Schnittstellen-ID immer die ID des Servers, an den sie sendet, mit. Da der Server sich selbst aber eigentlich kennt, aus meiner Sicht keine sinnvolle Information. Das Feld war vermutlich mal so gedacht, wie es jetzt in Homegear verwendet wird: Zum Identifizieren des Absenders, also ob ein Wert z. B. vom Gerät kommt oder welcher Client den Wert verändert hat. Der nächste Commit wird zeigen, ob das tatsächlich das Problem war.
Änderungen sind auf GitHub. Ich habe es getestet, es sollte funktionieren. Ich habe jetzt einfach eine Ausnahme für Home Assistant definiert. Am schönsten wäre, wenn die Jungs von Home Assistant die Ereignisquelle mit berücksichtigen. Das ist ja eine sinnvolle Information.
Der Parameter interface_id gibt die id des Schnittstellenprozesses an, der das Event sendet.
Das interpretiere ich so, dass der Absender des Ereignisses übergeben wird - bzw. werden soll, da die CCU das offenbar nicht tut. Die Interface-ID, welche du bei init() mitübergeben hast, zu übergeben, ist ja eine überflüssige Information, da der empfangende Server sich selbst ja kennt. Daher übergebe ich an der Stelle jetzt den Absender des Ereignisses. So weißt du, ob ein Ereignis vom Gerät, aus Homegear selbst, Skriptengine, Node-BLUE, MQTT oder von einem bestimmten Netzwerkclient kam.