bertmelis/VitoWiFi

Errors on high MQTT request rate

GnomiBerlin opened this issue · 9 comments

Installation specifics
Heating type: Vitotronic 200 KW2
Protocol: KW
Board: ESP8266 Wemos D1 mini
Hardware: own IR components

Issue: errors on high MQTT request rate

I used the new common developed [;-)] conv8_1_Timer for the setting of the weekday on/off timing of heating, water and circulation pump.
If I set the 4 periods for a single week day all is working (one 8 Byte command)
If I send 5 commands (Monday-Friday) from NodeRed with MQTT directly to VitoWifi, only Monday is correct and the others contain "FFFFFFFFFFFFFFFF". This is also seen in the Debug WRITE output from VitoWifi.
If I put 1 second delay in NodeRed between each weekday setting command, all is working.

I expected a queued handling of the set commands without errors.

Any idea?

Which mqtt client you're using?

Mosquitto

Mosquitto

on the esp

No, on a Raspberry Pi 4 with enough load capacity.

How does your esp communicate? And which library do you use for communication?

First I did not fully understand your question but maybe this is the point where I have to ask for the errors? #77,#78

I started with: https://github.com/Schnup89/OpenV_NodeMCU

Arduino IDE:
Using board 'd1_mini' from platform ...esp8266\3.0.2
Using core 'esp8266' from platform .... esp8266\3.0.2

Bibliothek ESP8266WiFi in Version 1.0
Bibliothek Ticker in Version 1.0
Bibliothek VitoWiFi-master in Version 1.0.2 i
Bibliothek async-mqtt-client-develop in Version 0.9.0
Bibliothek ESPAsyncTCP-master in Version 1.2.2
Bibliothek ESP8266WebServer in Version 1.0
Bibliothek ESP8266mDNS in Version 1.2
Bibliothek ESP8266HTTPUpdateServer in Version 1.0
Bibliothek RemoteDebug-2.1.1 in Version 2.1.1

I don't have a Viessmann boiler at the moment so I can't test myself. You didn't give me any code to look into. Yes, the error may be in VitoWiFi but it can also be somewhere else. You also didn't give me any debug output. I don't have a crystal ball.

first the debug information. Only difference is the delay between the messages in NodeRed:
image

Debug with delay:

(D) READ gettimerzirkusa
(D) READ f7222808
(D) ok
(D) 30428093ffffffff
(D) DP gettimerzirkusa success
(D) READ gettimerzirkusa
(D) WRITE f422280830438093ffffffff
(D) ok
(D) 00
(D) DP settimerzirkusa success
(D) [GlobalCallback] on_request - settimerzirkusa is 18446744071889
(D) READ f7222808
(D) ok
(D) 30438093ffffffff
(D) DP gettimerzirkusa success
(D) WRITE f422300830438093ffffffff
(D) ok
(D) 00
(D) DP settimerzirkuso success
(D) [GlobalCallback] on_request - settimerzirkuso is 18446744071889
(D) READ gettimerzirkuso
(D) READ f7223008
(D) ok
(D) 30438093ffffffff
(D) DP gettimerzirkuso success

Debug without delay: second value for Sunday changes to "ffffffffffffffff" instead of "30428093ffffffff"


(D) READ gettimerzirkusa
(D) WRITE f422280830428093ffffffff
(D) ok
(D) 00
(D) DP settimerzirkusa success
(D) [GlobalCallback] on_request - settimerzirkusa is 18446744071889
(D) READ f7222808
(D) ok
(D) 30428093ffffffff
(D) DP gettimerzirkusa success
(D) WRITE f4223008ffffffffffffffff
(D) ok
(D) 00
(D) DP settimerzirkuso success
(D) [GlobalCallback] on_request - settimerzirkuso is 18446744073709
(D) READ gettimerzirkuso
(D) READ f7223008
(D) ok
(D) ffffffffffffffff
(D) DP gettimerzirkuso success