zivillian / ism7mqtt

GNU General Public License v3.0
57 stars 11 forks source link

Daten nicht gleichzeitig #107

Open Bongo2 opened 5 months ago

Bongo2 commented 5 months ago

Ich nutze iobroker mit einem MQTT Server Adapter um die von ism7mqtt gesendete Daten weiterzuverarbeiten.

ism7mqtt triggert ja alle 60 Sekunden. Allerdings sehe ich im ioBroker verzögert ca. 3 bis 5 Minuten. Und auch nicht vollständig. Während in den Datenpunkten zum Beispiel beim Heizkreisstatus "Warmwasservorang" steht, ist die Heizkreispumpe auf "Ein". Obwol sie in Wirklichkeit schon aus ist. Erst nach 1 bis 2 Minuten ist sie auch im Datenpunkt auf "Aus".

Kann man da noch was justieren, damit zumindest alle Daten gleichzeitig kommen?

zivillian commented 4 months ago

Bist du sicher, dass die Heizkreispumpe aus ist und sich nicht im Nachlauf befindet? ism7mqtt sendet die Daten ohne Verzögerung weiter - das kannst du auch mit dem Debug Log (--debug) überprüfen.

Das Intervall (60 Sekunden) scheint nur eine Empfehlung zu sein - das ISM7 sendet immer nur Daten, wenn sich die Werte ändern. Wenn sich da mehrere Minuten nix ändert, gibt es auch kein Update im MQTT. In verschiedenen Tests ist auch aufgefallen, dass es keinen Unterschied macht, ob ein kleineres Intervall angegeben wird.

Bongo2 commented 4 months ago

Danke für die Antwort.

Ich habe jetzt den Docker von ism7mqtt mit ISM7_DEBUG=true gestartet. Jetzt sehe ich wann sich etwas verändert. Ich habe mal den Parameter CHA_0x8.Ausgang_A1.value überwacht. Das ist meine Warmwasser Zirkulationspumpe die sich alle 10 Minuten für 2 Minuten einschaltet.

Dabei habe ich festgestellt, dass zwischen ism7mqtt und dem ioBroker MQTT-Server alles 1:1 übertragen und protokolliert wird. Das heißt wenn um 10:52:30 im Debug von ism7mqtt der Parameter auf 1 gesetzt wird dann wird er zur gleichen Zeit auch im ioBroker auf 1 gesetzt. Von daher passen die beiden Systeme zusammen. Hier das Protokoll aus ioBroker: hc_2591

Ich war aber mit der genauen Handyuhr vor der Zirkulationspumpe gestanden und habe es mit protokolliert: 10:50:25 1 10:42:25 0 10:40:25 1 10:32:25 0 10:30:25 1 10:22:25 0 10:20:25 1 10:12:25 0 10:10:25 1 10:02:25 0 10:00:25 1 09:52:25 0 09:50:25 1 09:42:25 0 09:40:25 1 Wenn man mein gestopptes Protokoll mit dem Protokoll des ioBrokers (was das selbe wie im ism7mqtt-Debug ist) vergleicht, sieht man dass es gar nicht zusammen passt. Teilweise werden sogar Werte übersprungen und gar nicht angezeigt.

Woran kann das liegen?

zivillian commented 4 months ago

Ich gehe davon aus, dass die Uhrzeiten zwischen den Systemen (Heizung, Handy, ioBroker) synchron sind. Das würde bedeuten, dass das ISM die Daten erst mit Verzögerung sendet. Du könntest noch einmal schauen, ob das Problem in der Smartset App auch besteht - falls ja könntest du versuchen bei Wolf nachzufragen. Falls nicht, kann ich nochmal schauen, was die App anders macht.

Bongo2 commented 3 months ago

Sorry für die späte Antwort.

Ich habe jetzt meinen ism7mqtt-Docker gestoppt und mich mit der Smartset App lokal verbunden. Zum Testen habe ich die Programmwahl im Bedienmodul von Auto auf Standby geändert.

In der Smartset App war die Änderung nach spätestens 30 Sekunden zu sehen. Das ist akzeptabel.

Das Selbe mit ism7mqtt dauerte 2 Minuten 20 Sekunden. Wie schon erwähnt dauert die Übertragung von anderen Werten oft länger oder werden teilweise gar nicht übertragen. Der umgekehrte Weg, wenn ich im ioBroker über mqtt einen Wert ändere, ist er im Bedienmodul sofort zu sehen.

Die Heizungsanlage ist seit April in betrieb. Vom Wolf-Techniker wurden alle möglichen Softwarestände aktualisiert. Ich glaube auch die ism7-Karte. Weiß aber nicht wo man die Versionen nachsehen kann. Könnte es daran liegen?

Wenn du nochmal schauen könntest wäre ich sehr dankbar.