b3nn0 / hassio-addon-ism7mqtt

HomeAssistant Addon for running ism7mqtt to fetch data from Wolf heaters
Apache License 2.0
18 stars 3 forks source link

Probleme (vermutlich) seit Version 0.0.15: ISM unbekanntes Geräte bei MQTT und Regler/Steuerelemente funktionieren nicht mehr #39

Closed JimGermany closed 5 months ago

JimGermany commented 6 months ago

Aktuelle Versionen:

Vor drei Wochen habe ich ein Update auf Ism7MQTT v.0.0.15 gemacht und gleich im Anschluss auch ein HA Core Update von 2023.09.x auf 2013.11.3.

Leider erst heute - als ich 1 x Warmwasser über HA schalten wollte - ist mir aufgefallen das es jetzt Probleme gibt:

Problem 1: Bei der HA MQTT Client Integration taucht jetzt ein Wolf ISM Gerät auf HA_Wolf_MQTT das es da vorher eigentlich nicht gab. Bei dem ISM Gerät sind dann allerdings auch alle Sensoren unbekannt. HA_ISM_Neu_Unbekannt Vermutlich hängt das mit der multiple instances ab 0.0.15 zusammen, allerdings habe ich bei der Ism7MQTT Addon Konfiguration nichts geändert und dort natürlich unter Weitere ISM7 Geräte nichts eingetragen.

Frage: Ist das normal das das Wolf ISM Gerät jetzt bei der HA MQTT Integration auftaucht und wenn ja ist es normal das dort alle Sensoren unbekannt sind, oder wo liegt der Fehler?

Problem 2: Was gravierender ist ist das Steuerelemente jetzt nicht mehr funktionieren. Wie bereits erwähnt wollte ich eben das Steuerelement 1 x Warmwasser benutzen HA_Wolf_WW_Regler Der Schieberegler lässt sich dann zwar bewegen und welchselt seinen Status von grau auf blau, aber springt dann sofort wieder zurück in den Urzustand und 1 x Warmwasser wir bei der Heizung wird nicht ausgelöst. Weder im Logbuch, noch im HA Protokoll, oder im Ism7MQTT Addon Protokoll gibt es irgendwelche (Fehler)Meldungen dazu.

Das Ism7MQTT Addon Protokoll sieht mir ansonsten auch so aus als wenn eigentlich alles i.O. sein sollte. s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started Reading config from MQTT broker add-on: core-mosquitto/addons Setting up ism7mqtt Wolf 192.168.100.2 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.100.2 -t /config/ism7-parameters-Wolf.json

Ein Reboot von Host oder HA ändert an der Situation und den Problemen nichts. Außer das nach einem Reboot dann eben der Schieberegler für 1 x Warmwasser auf blau - also aktiv - stand. Allerdings wurde 1 x Warmwasser trotzdem nicht ausgelöst und auch da passiert dann wieder das gleiche, sprich wenn ich den Schieberegler dann von blau (aktiv) auf grau (inaktiv) schalte springt dieser sofort wieder zurück, sprich auf blau (aktiv). Ergo irgendetwas liegt da ziemlich im Argen. :-(

Bevor ich jetzt per Ism7MQTT Downgrade versuche ob dann wieder alles wie vorher funktioniert, hat hier ja vielleicht jemand eine Idee was jetzt die Ursachen für die Problemen sind. Bei den aktuellen oder alten Issues hier oder bei zivillian konnte ich nichts Passendes dazu finden.

Anm.: Das "vermutlich" in der Betreffzeile habe ich geschrieben da ich natürlich nicht mit Sicherheit sagen kann das die Probleme mit/durch v0.0.15 aufgetaucht sind, aber sicher ist das die Steuerung nach der Ersteinrichtung und über Monate hinweg, problemlos funktioniert hat.

VG Jim

zivillian commented 6 months ago

Kannst du mal schauen was im MQTT gesendet wird, wenn du 1x Warmwasser anschaltest? Eigentlich müsste im ism7mqtt Log was auftauchen, wenn eine MQTT Nachricht empfangen wird (kann aber sein, dass dafür das Debugging aktiviert werden muss).

JimGermany commented 6 months ago

Das Log vorher ohne Debug Logging aktiviert: s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started Reading config from MQTT broker add-on: core-mosquitto/addons Setting up ism7mqtt Wolf 192.168.1.2 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex') at ism7mqtt.Converter.FromHex(String hex) in /app/ism7mqtt/ISM7/Converter.cs:line 11 at ism7mqtt.Ism7Config.<>c__DisplayClass13_0.<ProcessData>b__3(RunningDevice x) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 115 at System.Linq.Enumerable.WhereEnumerableIterator1.ToList() at ism7mqtt.Ism7Config.ProcessData(IEnumerable1 data) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 112 at ism7mqtt.Ism7Client.OnWriteResponse(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 151 at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32 at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json

Anm.: Warum nach einen Reboot jetzt der System.ArgumentException Fehler dort auftaucht weiß ich nicht. Der war vorher nicht vorhanden.

Nach dem 1 x Warmwasser Steuerelement betätigen sieht das Protokoll dann kompl. so aus: s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started Reading config from MQTT broker add-on: core-mosquitto/addons Setting up ism7mqtt Wolf 192.168.1.2 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex') at ism7mqtt.Converter.FromHex(String hex) in /app/ism7mqtt/ISM7/Converter.cs:line 11 at ism7mqtt.Ism7Config.<>c__DisplayClass13_0.<ProcessData>b__3(RunningDevice x) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 115 at System.Linq.Enumerable.WhereEnumerableIterator1.ToList() at ism7mqtt.Ism7Config.ProcessData(IEnumerable1 data) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 112 at ism7mqtt.Ism7Client.OnWriteResponse(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 151 at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32 at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex') at ism7mqtt.Converter.FromHex(String hex) in /app/ism7mqtt/ISM7/Converter.cs:line 11 at ism7mqtt.Ism7Config.<>c__DisplayClass13_0.<ProcessData>b__3(RunningDevice x) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 115 at System.Linq.Enumerable.WhereEnumerableIterator1.ToList() at ism7mqtt.Ism7Config.ProcessData(IEnumerable1 data) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 112 at ism7mqtt.Ism7Client.OnWriteResponse(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 151 at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32 at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212 System.IO.IOException: Unable to read data from the transport connection: Operation canceled. ---> System.Net.Sockets.SocketException (125): Operation canceled --- End of inner exception stack trace --- at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token) at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter) at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory1 buffer) at ism7mqtt.Ism7Client.FillPipeAsync(PipeWriter target, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 166 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json `

Hier dann der m.M.n. relevante Part aus dem Protokoll mit aktivierten Debug logging. Das kompl. Debug Protokoll würde hier wohl etwas den Rahmen sprengen. :-=)

`received mqtt with topic 'Wolf/192.168.1.2/BM-2_0x35/set/1x_Warmwasser/text' 'Aus'

<?xml version="1.0" encoding="utf-16"?> < <?xml version="1.0" encoding="utf-8"?> System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex') at ism7mqtt.Converter.FromHex(String hex) in /app/ism7mqtt/ISM7/Converter.cs:line 11 at ism7mqtt.Ism7Config.<>c__DisplayClass13_0.b__3(RunningDevice x) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 115 at System.Linq.Enumerable.WhereEnumerableIterator1.ToList() at ism7mqtt.Ism7Config.ProcessData(IEnumerable1 data) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 112 at ism7mqtt.Ism7Client.OnWriteResponse(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 151 at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32 at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json -d`

BTW: Warum hier trotz Code-Einfügung der Code jetzt ohne Leerzeilen und teils anderer Formatierung dargestellt wird weiß ich nicht.

Nicht wundern das da jetzt eine andere IP als im Ursprungsposting angezeigt wird. Diese hatte ich vorhin geändert. ;-)

Im MQTT Broker Protokoll taucht dann sobald ich das 1 x Warmwasser Steuerelement betätige ein Eintrag auf und zwar: 2023-12-20 18:14:55: Client Wolf_19216812 closed its connection. 2023-12-20 18:15:05: New connection from 172.30.33.3:41002 on port 1883. 2023-12-20 18:15:05: New client connected from 172.30.33.3:41002 as Wolf_19216812 (p2, c1, k15, u'addons').

Das dürfte doch eigentlich auch nicht normal sein, sprich das der Wolf Client 192.168.1.2 die Verbindung in dem Moment getrennt hat?

Unabhängig von dem Wolf Problemen hatte ich zwischenzeitlich der HA Host auch neu gestartet. Im Moment verhält es sich so das der Schieberegler für das Steuerelement 1 x Warmwasser dauerhaft auf blau (aktiv) steht und das es sogar irgendwelche Logbucheinträge zu 1 x Warmwasser gibt HA_Wolf_WW_Test_Neu nur das 1 x Warmwasser nie bei der Heizung eingeschaltet wurde, sondern diese weiterhin im Standby-Mode mit Brenner aus läuft. HA_Wolf_Brenner_aus

Ich hatte vorhin auch Ism7MQTT temporär deaktiviert und dann per Wolf Smarthome App getestet, um eine evtl. Verbindungsproblem mit dem ISM7 auszuschließen. Per Wolf Smarthome App funktioniert es.

Falls Du noch weitere/andere Infos brauchst sag einfach Bescheid.

Edit: Nachdem ich das Debug logging ausgeschaltet und das Addon somit neu gestartet wurde, sieht das Protokoll wieder so aus: s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started Reading config from MQTT broker add-on: core-mosquitto/addons Setting up ism7mqtt Wolf 192.168.1.2 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex') at ism7mqtt.Converter.FromHex(String hex) in /app/ism7mqtt/ISM7/Converter.cs:line 11 at ism7mqtt.Ism7Config.<>c__DisplayClass13_0.<ProcessData>b__3(RunningDevice x) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 115 at System.Linq.Enumerable.WhereEnumerableIterator1.ToList() at ism7mqtt.Ism7Config.ProcessData(IEnumerable1 data) in /app/ism7mqtt/ISM7/Ism7Config.cs:line 112 at ism7mqtt.Ism7Client.OnWriteResponse(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 151 at ism7mqtt.ResponseDispatcher.DispatchAsync(IResponse response, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/ResponseDispatcher.cs:line 32 at ism7mqtt.Ism7Client.ReadPipeAsync(PipeReader source, CancellationToken cancellationToken) in /app/ism7mqtt/ISM7/Ism7Client.cs:line 212 Starting ism7mqtt --hass-id=Wolf --interval=60 --ipAddress=192.168.1.2 -t /config/ism7-parameters-Wolf.json

1 x Warmwasser wurde dann aber jetzt auch nicht betätigt.

zivillian commented 6 months ago

Der Teil sieht nach einem Bug in ism7mqtt aus:

received mqtt with topic 'Wolf/192.168.1.2/BM-2_0x35/set/1x_Warmwasser/text' 'Aus'
< System.ArgumentException: '0xFFFFFFFB' is not a hex value (Parameter 'hex')

Leider komme ich in den zwei nächsten Wochen nicht dazu mir das genauer anzuschauen. Kannst du ein Issue im ism7mqtt projekt aufmachen und dann dein parameter.json und den Debug log (ohne Passwort) als attachment hochladen?

JimGermany commented 6 months ago

OK werde ich dann machen. Danke schon mal vorab für die dann irgendwann kommende Problemlösung.

Dieser Bug hat dann auch nichts mit dem Update auf v.0.0.15 zu tun, sondern liegt dann eher an Core-Änderungen bei HA? Sprich ein Restore auf v.0.0.14 würde dann auch nichts bringen?

Kannst Du noch etwas zu meiner ersten Frage sagen, sprich das bei mir jetzt bei der HA MQTT Client Integration ein Wolf ISM Gerät auftaucht, bei dem dann alle Sensoren Unbekannt sind und das es da vorher gar nicht gab? Hängt das mit den multiple instances ab v.0.0.15 zusammen und wenn ich z.B. ein zweites ISM7 eingebunden hätte würden dessen Daten dort bei dem Wolf ISM Gerät auftauchen? Oder müsste ich ggf. meine parameter.json jetzt anpassen, oder gar neu erstellen lassen, damit dieses Wolf ISM Gerät "mit Leben erfüllt wird" und Sensordaten anzeigt? Der MQTT Broker bekommt für das Wolf ISM Gerät jedenfalls keine Daten, zumindest nicht lt. MQTT Explorer MQTT_Explorer_Wolf

Oder ist das eher eine Frage die ggf. Andrian beantworten könnte/sollte? :-)

JimGermany commented 6 months ago

Sorry das ich mich jetzt erst wieder melde aber mich hat in den letzten zwei Wochen eine Grippe ziemlich außer Gefecht gesetzt. :-(

Ich habe jetzt mal ein Restore auf die Version v0.0.14 gemacht und aktuell taucht der Fehler nicht mehr auf, sprich im Ism7mqtt und MQTT Broker Protokoll taucht kein Fehler mehr auf. Ich muss mir das in den nächsten Tagen aber noch einmal genauer anschauen und ein paar weitere Tests machen. Sobald ich das gemacht habe werde ich mich hier noch einmal mit den Ergebnissen melden.

JimGermany commented 5 months ago

So ich habe jetzt endlich mal Zeit gehabt mir das noch einmal anzuschauen. In den letzten Tagen und bei den letzten HA Core Versionen (aktuell nutze ich HA Core 2024.1.5) sind mir keine Fehler oder Probleme mehr aufgefallen und es scheint mit der Version v0.0.14 und den HA Core Versionen aus 2024, keine Fehler/Probleme zu geben. Ab und an taucht im ism7mqtt Protokoll noch mal eine zusätzliche Meldung zu einem Sensor auf, aber bei über 200 Topics und da im ism7mqtt Protokoll kein Datum und keine Uhrzeit stehen, ist es etwas schwierig da irgendwelche möglichen Zusammenhänge zu erkennen.

Was auf jeden Fall jetzt wieder problemlos funktioniert und was für mich ja hauptsächlich der Auslöser für diese Issues-Meldung war, ist das Thema 1 x Warmwasser aktivieren und das funktioniert jetzt wieder vollkommen problemlos. D.h. der Schalter dafür verhält sich so wie er soll, sprich 1 x Warmwasser wird gestartet und der Schiebregler wechelt von grau auf blau und bleibt dann auch aktiv. Im Logbuch des BM-2 und der CGB-2 ist dann auch zu sehen wie 1 x Warmwasser gestartet wurde.

BM-2 HA_ism7mqtt_1_x_Warmwasser_BM2

CGB_2 HA_ism7mqtt_1_x_Warmwasser_CGB_2

Also alles wieder so wie es auch vorher war und funktioniert hat. Lediglich das ISM-Gerät, das jetzt zusätzlich bei den MQTT-Geräten auftaucht und dort ohne irgendwelche Werte/Daten dargestellt wird, ist weiterhin vorhanden. HA_Wolf_ISM Das dürfte aber vermutlich daran liegen das im HA Core etwas verändert wurde was dafür sorgt das das ISM7 irgendwie per HA autodiscover erkannt wird. Warum auch immer.

Da bei mir mit HA Core 2024.x und ism7mqtt Version v0.0.14 wieder alles funktioniert wie vorher, hoffe ich das es ok ist wenn ich jetzt nicht noch weitere Tests mit der Version v0.0.15 mache. Sollte bei einem User ein ähnliches Problem wie bei mir mit dieser 0xFFFFFFFB' is not a hex value Meldung auftauchen wird er dies hier ja dann sicherlich melden/posten. Da mein Problem aktuell weg ist werde ich diese Meldung hier dann jetzt auch als erledigt schließen.

VG Jim

JimGermany commented 5 months ago

Problem mit HA Core 2024.x und ism7mqtt Version v0.0.14 nicht mehr vorhanden.