ioBroker / ioBroker.wolf

Connect WOLF heating, solar and domestic ventilation
MIT License
25 stars 16 forks source link

Can't parse DP : xxx, ... - length: 20 #124

Open tobi119 opened 5 months ago

tobi119 commented 5 months ago

ISM8i V 1.80 Adapter V 1.7.0 mit Änderungen aus Issue #99 CHA 07

Fehler z.B. Can't parse DP : 345, type DPT_Unknown2 - data: 0620f080001404000000f0060159000101590300 - length: 20

Kommt mit verschiedenen Datenpunkten vor, besonders (ausschließlich?) den Unknown Allen Fehlermeldungen gemeinsam ist "lenght: 20"

Nach meiner Analyse des Protokollaufbaus in der Betriebsanleitung zum ISM8 bin ich darauf gestoßen, dass dieses Telegramm selbst eine Datenlänge von 0 Byte angibt. Ob diese Telegramme dann Sinn machen kann man natürlich fragen, aber sie werden vom ISM8i nun mal generiert. Der Code von main.js wertet dies nicht aus. Daher wird beim Setzen des DP ein Fehler generiert. Ich habe den Code modifiziert durch Einfügen einer Abfrage in function setState try { if ( data.length <= 20 ) { //ignorieren, da Fehler ausgelöst wird //dp == 353 || dp == 344 || dp == 345 } else {

Seit dieser Modifikation habe ich keine Warnings mehr Bei dem Code bin ich von der Modifikation laut Issue #99 ausgegangen. anbei die modifizierte Date

Modifiziertes File: main.js.txt

Apollon77 commented 5 months ago

Cool danke, in welchem Feld der Nachricht steht denn die länger von 0?

tobi119 commented 5 months ago

Cool danke, in welchem Feld der Nachricht steht denn die länger von 0?

Protokollaufbau siehe Anlage Seite 20

in meinem Beispieltelegramm 0620 f080 0014 0400 0000 f0 06 0159 0001 0159 03 00 die letzten 8 Byte: 0159 First DP ID / Adresse DP 03 First DP command 00 First DP length / hier eben 00

Man kann es auch an der "Frame size" hier 0014 (3. Gruppe) erkennen, dass keine Daten (ab 20. Byte bei Zählung ab 0) folgen oder im Code: val = decode(datapoints[dp].type, data.slice(20), dp); Dieses slice(20) gibt's nicht mehr

ISM8i_-_eBus___Ethernet-Schnittstelle_Montageanleitung_und_Bedienungsanleitung_09_2022.pdf