Hauptmenü

ACK Verständnisfrage

Begonnen von KarlHeinz2000, 30 September 2020, 15:16:27

Vorheriges Thema - Nächstes Thema

Beta-User

#15
Puh, dickes Brett, aber m.E. war das mit den Timern der entscheidende Hinweis. Kann zwar sein, dass das jetzt erst mal noch eine Regression gibt, aber im Prinzip sollte es zielführend sein, alles in den Timer-Erneuerungen abzuklären und (im Prinzip) auch nur da die Events zu erzeugen. Da das ganze jetzt auf ein paar Stellen verteilt ist, das ganze Packet anbei.

Was die Queue angeht: Das Modul versucht - in immer größeren Abständen - zuzustellen, solange, bis es eine Bestätigung gibt (oder einen neuen Content, der an das Noce/Child-Paar gehen soll). Erst mit der Bestätigung fliegt das aus der Queue (oder mit einem FHEM-Restart).
Konkret auf dein Beispiel bedeutet es, dass die 2. und 3. Nachricht "ewig" wiederholt wird. Die Größe der Warteschlange insgesamt steht auch irgendwo (aus dem Gedächtnis: beim GW, bitte ggf. in die Internals und lists schauen).

(EDIT: gleich noch eine etwas erweiterte Meta-Unterstützung eingebaut).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KarlHeinz2000

Moin,
habe das heute noch mal getestet und es funktioniert.

Beta-User

Danke für die Rückmeldung, dann checke ich das bei Gelegenheit ein :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KarlHeinz2000

Mir ist noch was aufgefallen. Wenn ich von FHEM aus ohne payload sende, dann wird das vom node kommende ECHO nicht erkannt und zyklisch wiederholt gesendet.
Ich habe eine "0" dann "" dann "0" gesendet
Das ECHO bei "" wurde nicht erkannt und deswegen 3 Mal wiederholt.

2020.11.10 21:36:47 4: MYSENSORS/RAW: /0;255
2020.11.10 21:36:47 4: MYSENSORS/RAW: 0;255/;3;0;9;53010
2020.11.10 21:36:47 4: MYSENSORS/RAW: 0;255;3;0;9;53010/0657
2020.11.10 21:36:47 4: MYSENSORS/RAW: 0;255;3;0;9;530100657 /TSF:SAN:OK

2020.11.10 21:36:47 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530100657 TSF:SAN:OK'

2020.11.10 21:36:47 5: MYSENSORS gateway gateway: 530100657 TSF:SAN:OK
2020.11.10 21:36:49 5: MYSENSORS send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:49 5: SW: 37303b303b313b313b34373b300a
2020.11.10 21:36:49 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:49 5: MYSENSOR_70: Ack timeout timer set at 1605040609.34201
2020.11.10 21:36:49 5: MYSENSOR_70 is not sleeping, sending message!
2020.11.10 21:36:49 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:49 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:36:49 4: MYSENSOR_70: timeoutAck called, outstanding: 1
2020.11.10 21:36:49 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:49 4: MYSENSORS/RAW: /0;255;3;0;9;530102025 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0
0;255;3;0;9;530102046 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=0:0
0;255;3;0;9;530102066 TSF:MSG:ECHO
70;0;1;1;47;0

2020.11.10 21:36:49 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530102025 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:36:49 5: MYSENSORS gateway gateway: 530102025 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:36:49 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530102046 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=0:0'

2020.11.10 21:36:49 5: MYSENSORS gateway gateway: 530102046 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=0:0
2020.11.10 21:36:49 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530102066 TSF:MSG:ECHO'

2020.11.10 21:36:49 5: MYSENSORS gateway gateway: 530102066 TSF:MSG:ECHO
2020.11.10 21:36:49 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:49 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:36:49 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:49 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:49 5: MYSENSOR_70: Ack timeout timer set at 1605040609.55885
2020.11.10 21:36:49 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:36:49 4: MYSENSOR_70: timeoutAck called, no outstanding Acks at all
2020.11.10 21:36:53 5: MYSENSORS send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 ''

2020.11.10 21:36:53 5: SW: 37303b303b313b313b34373b0a
2020.11.10 21:36:53 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:53 5: MYSENSOR_70: Ack timeout timer set at 1605040613.70833
2020.11.10 21:36:53 5: MYSENSOR_70 is not sleeping, sending message!
2020.11.10 21:36:53 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:53 4: MYSENSORS/RAW: /0;255;3;0;9;530106392 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
0;255;3;0;9;530106415 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:
2020.11.10 21:36:53 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530106392 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:36:53 5: MYSENSORS gateway gateway: 530106392 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:36:53 4: MYSENSORS/RAW: 0;255;3;0;9;530106415 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:/0
0;255;3;0;9;53
2020.11.10 21:36:53 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530106415 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0'

2020.11.10 21:36:53 5: MYSENSORS gateway gateway: 530106415 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0
2020.11.10 21:36:53 4: MYSENSORS/RAW: 0;255;3;0;9;53/0106434 TSF:MSG:ECHO

2020.11.10 21:36:53 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530106434 TSF:MSG:ECHO'

2020.11.10 21:36:53 5: MYSENSORS gateway gateway: 530106434 TSF:MSG:ECHO
2020.11.10 21:36:53 4: MYSENSORS/RAW: /70;0;1;1;47;0

2020.11.10 21:36:53 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:53 4: MYSENSORS Read: unexpected ack Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:53 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:36:53 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:53 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:53 5: MYSENSOR_70: Ack timeout timer set at 1605040613.81766
2020.11.10 21:36:53 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:36:53 4: MYSENSOR_70: timeoutAck called, outstanding: 1
2020.11.10 21:36:53 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:55 5: MYSENSORS outstanding ack, re-send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 ''

2020.11.10 21:36:55 5: SW: 37303b303b313b313b34373b0a
2020.11.10 21:36:55 4: MYSENSORS/RAW: /0;25
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;25/5;3;0;
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;/9;530
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530/107787
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787/ TSF:
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:/MSG:SE
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SE/ND,0-
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-/0-70-7
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-7/0,s=0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0/,c=1,t
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t/=47,pt
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt/=1,l=
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=/1,sg=0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0/,ft=0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0/,st=OK
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK/:0
0
2020.11.10 21:36:55 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:36:55 5: MYSENSORS gateway gateway: 530107787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0/;255;3
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3/;0;9;5
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;5/30107
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107/809 TS
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TS/F:MSG
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG/:READ,
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,/70-70
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70/-0,s=0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70-0,s=0/,c=1,
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70-0,s=0,c=1,/t=47,p
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,p/t=1,l=
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=/1,sg=
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107809 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=/0:0
0
2020.11.10 21:36:55 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530107809 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0'

2020.11.10 21:36:55 5: MYSENSORS gateway gateway: 530107809 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0/;255;3
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3/;0;9;5
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;5/30107
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107/828 TS
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107828 TS/F:MSG
2020.11.10 21:36:55 4: MYSENSORS/RAW: 0;255;3;0;9;530107828 TSF:MSG/:ECHO

2020.11.10 21:36:55 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530107828 TSF:MSG:ECHO'

2020.11.10 21:36:55 5: MYSENSORS gateway gateway: 530107828 TSF:MSG:ECHO
2020.11.10 21:36:55 4: MYSENSORS/RAW: /70;0
2020.11.10 21:36:55 4: MYSENSORS/RAW: 70;0/;1;1;4
2020.11.10 21:36:55 4: MYSENSORS/RAW: 70;0;1;1;4/7;0

2020.11.10 21:36:55 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:55 4: MYSENSORS Read: unexpected ack Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:55 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:36:55 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:55 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:55 5: MYSENSOR_70: Ack timeout timer set at 1605040615.18579
2020.11.10 21:36:55 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:36:55 4: MYSENSOR_70: timeoutAck called, outstanding: 1
2020.11.10 21:36:55 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:58 5: MYSENSORS outstanding ack, re-send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 ''

2020.11.10 21:36:58 5: SW: 37303b303b313b313b34373b0a
2020.11.10 21:36:58 4: MYSENSORS/RAW: /0;25
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;25/5;3;0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0/;9;530
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530/110787
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787/ TSF:
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:/MSG:SE
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SE/ND,0-
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-/0-70-7
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-7/0,s=0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0/,c=1,t
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t/=47,p
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,p/t=1,l=
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=/1,sg=
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=/0,ft=0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0/,st=OK
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK/:0
0
2020.11.10 21:36:58 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:36:58 5: MYSENSORS gateway gateway: 530110787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0/;255;3
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3/;0;9;
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;/530110
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110/810 T
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 T/SF:MSG
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG/:READ,
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,/70-70
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70/-0,s=0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70-0,s=0/,c=1,
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70-0,s=0,c=1,/t=47,p
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,p/t=1,l
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l/=1,sg=
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=/0:0
0
2020.11.10 21:36:58 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530110810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0'

2020.11.10 21:36:58 5: MYSENSORS gateway gateway: 530110810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0/;255;3
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3/;0;9;
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;/530110
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110/828 TS
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110828 TS/F:MSG
2020.11.10 21:36:58 4: MYSENSORS/RAW: 0;255;3;0;9;530110828 TSF:MSG/:ECHO

2020.11.10 21:36:58 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530110828 TSF:MSG:ECHO'

2020.11.10 21:36:58 5: MYSENSORS gateway gateway: 530110828 TSF:MSG:ECHO
2020.11.10 21:36:58 4: MYSENSORS/RAW: /70;0
2020.11.10 21:36:58 4: MYSENSORS/RAW: 70;0/;1;1;4
2020.11.10 21:36:58 4: MYSENSORS/RAW: 70;0;1;1;4/7;0

2020.11.10 21:36:58 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:58 4: MYSENSORS Read: unexpected ack Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:36:58 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:36:58 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:36:58 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:36:58 5: MYSENSOR_70: Ack timeout timer set at 1605040618.18538
2020.11.10 21:36:58 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:36:58 4: MYSENSOR_70: timeoutAck called, outstanding: 1
2020.11.10 21:36:58 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:37:01 5: MYSENSORS outstanding ack, re-send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 ''

2020.11.10 21:37:01 5: SW: 37303b303b313b313b34373b0a
2020.11.10 21:37:01 4: MYSENSORS/RAW: /0;2
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;2/55;3;
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;/0;9;53
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;53/01137
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;5301137/87 TSF
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF/:MSG:S
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:S/END,0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0/-0-70-
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-/70,s=
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=/0,c=1,
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,/t=47,
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,/pt=1,l
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l/=1,sg
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg/=0,ft=
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=/0,st=O
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=O/K:0

2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530113787 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:37:01 4: MYSENSORS/RAW: /0;255
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255/;3;0;
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;/9;5301
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;5301/13810
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810/ TSF:M
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:M/SG:REA
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:REA/D,70-
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-/70-0,s
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s/=0,c=
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s=0,c=/1,t=47
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47/,pt=1
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1/,l=1,s
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,s/g=0:0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0/
0;25
2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530113810 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;25/5;3;0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0/;9;530
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530/113828
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113828/ TSF:
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113828 TSF:/MSG:EC
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530113828 TSF:MSG:EC/HO
7
2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530113828 TSF:MSG:ECHO'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530113828 TSF:MSG:ECHO
2020.11.10 21:37:01 4: MYSENSORS/RAW: 7/0;0;1;
2020.11.10 21:37:01 4: MYSENSORS/RAW: 70;0;1;/1;47;
2020.11.10 21:37:01 4: MYSENSORS/RAW: 70;0;1;1;47;/0

2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:37:01 4: MYSENSORS Read: unexpected ack Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:37:01 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:37:01 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:37:01 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:37:01 5: MYSENSOR_70: Ack timeout timer set at 1605040621.18625
2020.11.10 21:37:01 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:37:01 4: MYSENSOR_70: timeoutAck called, outstanding: 1
2020.11.10 21:37:01 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:37:01 5: MYSENSORS send: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:37:01 5: SW: 37303b303b313b313b34373b300a
2020.11.10 21:37:01 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:37:01 5: MYSENSOR_70: Ack timeout timer set at 1605040621.95284
2020.11.10 21:37:01 5: MYSENSOR_70 is not sleeping, sending message!
2020.11.10 21:37:01 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:37:01 4: MYSENSORS/RAW: /0;255;3;0;9;530114635 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0
0;255;3;0;9;530114658 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=
2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530114635 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530114635 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=1,sg=0,ft=0,st=OK:0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530114658 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=/0:0
0;255;3;0;9;
2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530114658 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=0:0'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530114658 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=1,sg=0:0
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;/530114677 TSF:MSG:ECHO
2020.11.10 21:37:01 4: MYSENSORS/RAW: 0;255;3;0;9;530114677 TSF:MSG:ECHO/
70;0
2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=009(I_LOG_MESSAGE   ) ack=0 '530114677 TSF:MSG:ECHO'

2020.11.10 21:37:01 5: MYSENSORS gateway gateway: 530114677 TSF:MSG:ECHO
2020.11.10 21:37:01 4: MYSENSORS/RAW: 70;0/;1;1;47;0

2020.11.10 21:37:01 4: MYSENSORS Read: Rx: fr=070 ci=000 c=001(C_SET         ) st=047(V_TEXT          ) ack=1 '0'

2020.11.10 21:37:01 5: MYSENSOR_70: refreshInternalMySTimer called (Alive)
2020.11.10 21:37:01 5: gateway: getFirmwareTypes - list contains:
2020.11.10 21:37:01 5: MYSENSOR_70: refreshInternalMySTimer called (Ack)
2020.11.10 21:37:01 5: MYSENSOR_70: Ack timeout timer set at 1605040622.06195
2020.11.10 21:37:02 5: MYSENSOR_70: timeoutAck called
2020.11.10 21:37:02 4: MYSENSOR_70: timeoutAck called, no outstanding Acks at all

Beta-User

Boa, nicht so einfach, nichts von nichts zu unterscheiden; kann ggf. unerwünschte Nebenwirkungen haben...

Kannst du mal testweise in 00_MYSENSORS folgende Zeile zum Ergänzen der fehlenden payload was reinbasteln:

sub onAcknowledge {
  my ($hash,$msg) = @_;
  my $ack;
  $msg->{payload} = '' if !defined $msg->{payload};
  if (defined (my $outstanding = $hash->{messagesForRadioId}->{$msg->{radioId}}->{messages})) {


Irgendwann muß ich auch das mit den firmware-update-Nachfragen fixen, das ist irgendwie unschön...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KarlHeinz2000

Funktioniert leider nicht. Wobei ich mir immer noch nicht im klaren bin, was FHEM bei "" wirklich sendet. Ist das wirklich nichts/leer/... oder doch irgendein Zeichen? NULL? Wie bekommt man da ran? Auf dem RX vom GW mitmessen?

Wenn ich mit FHEM "" sende steht im log vom node


22:45:26.259 -> 816348 TSF:MSG:SEND,70-70-0-0,s=0,c=1,t=47,pt=1,l=1,sg=0,ft=0,st=OK:0
22:45:26.259 -> ID: 0, Data:
22:45:26.259 -> ret is <null>


Parallel mit einem anderen GW am MYSController

11.11.2020 22:45:26 RX 0;255;3;0;9;2103425 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=1,l=1,sg=0:0
11.11.2020 22:45:26 RX 0;255;3;0;9;2103443 TSF:MSG:ACK
11.11.2020 22:45:26 RX 70;0;1;1;47;0


Beides mal wird "0" angezeigt, wobei der Node das als NULL /0 erkennt. Das scheint keine normale 0 zu sein.

Sende ich vom Node "" zu FHEM sieht das so aus

11.11.2020 22:50:00 RX 0;255;3;0;9;2377205 TSF:MSG:READ,70-70-0,s=0,c=1,t=47,pt=0,l=0,sg=0:
11.11.2020 22:50:00 RX 70;0;1;0;47;

Und "" von MYSController zum node
11.11.2020 22:57:07 TX 70;0;1;0;47;
11.11.2020 22:57:07 RX 0;255;3;0;9;2803834 TSF:MSG:SEND,0-0-70-70,s=0,c=1,t=47,pt=0,l=0,sg=0,ft=0,st=OK:


Beides mal richtig leer/kein Zeichen. Auch das ECHO funktioniert zwischen MYSController und Node.
Siehe auch https://forum.mysensors.org/post/108080
Das habe ich mittlerweile auch so selbst testen können.


KarlHeinz2000

Nachgemessen. FHEM und MYSController versenden die gleiche Nachricht zum GW. Payload fehlt. Warum der Node das unterschiedlich darstellt???

Beta-User

Bin grade auch noch am gedanklichen Puzzeln.

Habe mir auch nochmal die Vorgeschichte angesehen...
Es ist jedenfalls ein Problem, wenn was anderes zurückkommt, als versendet wurde, zumindest liegt es dann schon mal nicht an der onAcknowledge().

Aber warum versendet MYSController da auch (zusätzlich...?!?) was mit I_NONCE...?!? (Log Parser Auswertung von dem, was frits gepostet hatte)

Es gibt in jedem Fall auch ein Problem in onSetMessage() in DEVICE: Da wird vorausgesetzt, dass es eine Payload gibt, sonst wird auch das ack nicht richtig verarbeitet. Das muss ich mir wohl in jedem Fall mal anschauen, aber das hat mit deinem Problem erst mal nichts zu tun. Das mit dem I_NONCE muss ich mir wohl auch mal ansehen, bisher hatte ich nicht die leiseste Idee, für was das da sein könnte; aber evtl. geht es da tatsächlich um die Option, Inhalte mit NULL zu belegen? (Falls du eine Quelle dazu findest: her damit...)

Ansonsten bastelt FHEM bei jeder ausgehenden Message eine "Zwangspayload" mit "". Vielleicht wäre hier ein () besser (Zeile 937) (Merker für mich: abgekupfert von https://www.tutorialspoint.com/using-null-values-in-perl-database-operation).
Was anderes fällt mir grade nicht ein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KarlHeinz2000

Entwarnung in gewisser Weise.
Nach einer Menge Testen sieht es für mich so aus, dass der Fehler in der aktuellen MySensor lib liegt.
Wenn das GW mit 2.2.0 läuft ist alles gut. ECHO wird sofort erkannt.
Mit der 2.3.2 auf dem GW gibt es die Probleme, da das GW beim ECHO anstelle "" eine 0 an FHEM sendet.

Beta-User

Hm, ok, dann lege ich das Thema mal auf die Seite.

Ich nehme an, du hast/wirst das als PR bei MySensors einkippen, oder?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Zitat von: Beta-User am 05 Oktober 2020, 09:50:04
Danke für die Rückmeldung, dann checke ich das bei Gelegenheit ein :) .
Done!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files