speters / vogod

vogod is a daemon which provides a high-level interface (currently a REST API) to a Viessmann® heating device via Optolink.
8 stars 2 forks source link

Received unexpected byte sequence 05 (expected 6) mit Vitotronic 200 KW #2

Closed GitGramm closed 2 years ago

GitGramm commented 2 years ago

Hallo

Vielen Dank für das tolle Projekt! Ich würde gerne vogod bei meiner Vitotronic 200 KW2 nutzen aber leider schaffe ich das nicht...

Mein Setup ist ein alter raspi mit USB-Optolink. Mit telnet kann ich die Adressen auslesen:

pi@openv:~ $ telnet localhost 3002
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
vctrld>getDevType
V200KW2 ID=2098 Protokoll:KW

mit vogod bekomme ich aber die Meldung: Received unexpected byte sequence 05 (expected 6):

$ ./vogod_raspi -s 8000 -c /dev/ttyUSB0 -d /usr/share/vogod/ecnDataPointType.xml -e /usr/share/vogod/ecnEventType.xml -v
DEBU[2021-12-18T07:12:52Z] Write b='0x04', n=1, err=<nil>
DEBU[2021-12-18T07:12:52Z] State changed: unknown --> resetAck
DEBU[2021-12-18T07:12:53Z] Read b='0x05', n=1, err=<nil>
DEBU[2021-12-18T07:12:53Z] State changed: resetAck --> idle
DEBU[2021-12-18T07:12:53Z] State: idle, WaitingFor: 5, nextState: swP300, failState: reset, failCount: 0
DEBU[2021-12-18T07:12:55Z] Read b='0x05', n=1, err=<nil>
DEBU[2021-12-18T07:12:55Z] State changed: idle --> swP300
DEBU[2021-12-18T07:12:55Z] Write b='0x16 0x00 0x00', n=3, err=<nil>
DEBU[2021-12-18T07:12:55Z] State changed: swP300 --> waitAck
DEBU[2021-12-18T07:12:55Z] State: waitAck, WaitingFor: 6, nextState: wait, failState: swP300, failCount: 0
DEBU[2021-12-18T07:12:57Z] Read b='0x05', n=1, err=<nil>
WARN[2021-12-18T07:12:57Z] Received unexpected byte sequence 05 (expected 6)
DEBU[2021-12-18T07:12:57Z] State changed: waitAck --> swP300
DEBU[2021-12-18T07:12:57Z] Write b='0x16 0x00 0x00', n=3, err=<nil>
DEBU[2021-12-18T07:12:57Z] State changed: swP300 --> waitAck
DEBU[2021-12-18T07:12:57Z] State: waitAck, WaitingFor: 6, nextState: wait, failState: swP300, failCount: 0
DEBU[2021-12-18T07:12:59Z] Read b='0x05', n=1, err=<nil>
WARN[2021-12-18T07:12:59Z] Received unexpected byte sequence 05 (expected 6)
DEBU[2021-12-18T07:12:59Z] State changed: waitAck --> swP300
DEBU[2021-12-18T07:12:59Z] Write b='0x16 0x00 0x00', n=3, err=<nil>
DEBU[2021-12-18T07:12:59Z] State changed: swP300 --> waitAck
DEBU[2021-12-18T07:12:59Z] State: waitAck, WaitingFor: 6, nextState: wait, failState: swP300, failCount: 0
DEBU[2021-12-18T07:13:01Z] Read b='0x05', n=1, err=<nil>
WARN[2021-12-18T07:13:01Z] Received unexpected byte sequence 05 (expected 6)
DEBU[2021-12-18T07:13:01Z] State changed: waitAck --> swP300
DEBU[2021-12-18T07:13:01Z] Write b='0x16 0x00 0x00', n=3, err=<nil>
DEBU[2021-12-18T07:13:01Z] State changed: swP300 --> waitAck
DEBU[2021-12-18T07:13:01Z] State: waitAck, WaitingFor: 6, nextState: wait, failState: swP300, failCount: 0
ERRO[2021-12-18T07:13:02Z] Device not connected

Es steht oft swP300 drin was ja vermutlich nicht das richtige Protokoll wäre? Muss ich das evtl. noch irgendwo setzen? Oder mache ich etwas anderes falsch? Vielen Dank! Ben

speters commented 2 years ago

Probier mal bitte die im Branch fix_issue2_kwfallback eingepflegte Änderung. Dadurch sollte der Fehlerzähler bei unerwarteten Bytesqeuenzen hochgezählt werden, wodurch nach drei Fehlversuchen dann auf KW Protokoll gewechselt wird. Wenn das nicht klappen sollte, dann bitte wieder die Logausgabe wie oben posten, dann müsste ich mich nochmal intensiver dransetzen... Bitte auch die "sys_device_ident" aus der /datapoint info, das enthält Gerätetyp und Version.

speters commented 2 years ago

No Feedback.

GitGramm commented 2 years ago

Sorry dass ich noch kein Feedback gegeben habe! Hatte etwas Probleme mit den Forks & builds in go... Leider hat es nicht geholfen. Habe auch selber noch etwas experimentiert und die Variable canP300 fix auf false gesetzt aber das hat auch nichts gebracht. Da ich mich leider mit go nicht wirklich auskenne habe ich mir jetzt fürs erste ein Skript in python geschrieben.