Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't parse DP : 57 - data: 0620f080001504000000f006003900010039030106 - length: 21 #92

Open
JarlMorgennebel opened this issue Jan 2, 2023 · 13 comments
Labels

Comments

@JarlMorgennebel
Copy link

Fehlermeldung im Logfile:

Can't parse DP : 57 - data: 0620f080001504000000f006003900010039030106 - length: 21

Umgebung:

Plattform: docker
Betriebssystem: linux
Architektur: x64
CPUs: 4
Geschwindigkeit: 799 MHz
Modell: Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
RAM: 7.3 GB
System-Betriebszeit: 41 T. 07:36:53
Node.js: v16.19.0
time: 1672599141915
timeOffset: -60
Adapter-Anzahl: 450
NPM: 8.19.3
Datenträgergröße: 58.4 GB
Freier Festplattenspeicher: 44.9 GB
Betriebszeit: 20:33:01
Aktive Instanzen: 21
Pfad: /opt/iobroker/

Wolf-Adapter v1.5.0

Danke, -JMN

@Apollon77
Copy link
Contributor

please try again with 1.6.0 from Beta and poszt log if it happens again

@Claus1985
Copy link

Got a similar error for another data point also consists in v1.6:
Can't parse DP : 149, type DPT_HVACMode - data: 0620f080001504000000f0060095000100950301c2 - length: 21

@Apollon77
Copy link
Contributor

Ok, das bringt mich weiter ... Irgendeine Idee was das ist? Das erste Byte ist 6 ... der Adapter unterstützt aktuell nur 0,1 und 3 ... deswegen der Fehler.

Brauche hier entweder Specs oder was auch immer :-)

Es geht um "Programmwahl CWL" ...

Das kann der Adapter aktuell ...

ioBroker.wolf/main.js

Lines 279 to 288 in e715c4f

} else if (datapoints[dp].name === 'Programmwahl CWL') {
if (_data === 0) {
return 'Automatikbetrieb';
} else if (_data === 1) {
return 'Nennlüftung';
} else if (_data === 3) {
return 'Reduzierte Lüftung';
} else {
throw '';
}

@schweigel
Copy link
Contributor

Nach https://www.wolf-heiztechnik.at/download/?file=842.pdf würde ich sagen das der Datenpunkt nicht 6 sondern c2 ist, nur sollte es nur Werte von 0 bis 4 geben. Laut der PDF für 149 DPT_HVACMode, wobei für die CWL DPT_DHWMode mehr Sinn macht. Vielleicht ein Fehler in der PDF?

@Apollon77
Copy link
Contributor

Ich habe nicht "Datenpunkt 06" gemeint ... der ist 57 - 039h ... das sagt das log ja schon. Da würde ich jetzt nicht anfangen anzunehmen das da ein Fehler ist. Aber im folgenden Datenstring ist das erste byte "06" und das wird für den "Modus" gelesen ... aber ja 06 ist nirgends definiert ... Wollt Ihr ggf mal den hersteller anschreiben um Infos zu bekommen? :-)

@schweigel
Copy link
Contributor

Ah, da haben wir hier zwei Datenpakete miteinander vermixt 🙈

Meine Aussagen haben sich auf den Datenpunkt 149 bezogen, der hier ebenfalls genannt wurde.

Inzwischen habe ich auch mehrere Versionen der Doku dazu gefunden:

Also zusammenfassend:

DP57

Can't parse DP : 57 - data: 0620f080001504000000f006003900010039030106 - length: 21

Datenpunkt: 57 (0x39)
Bedeutung: Programmwahl Heizkreis
übertragener Wert: 0x06
Nach PDF von 202202 vom Typ: DPT_HVACMode
Nach PDF von 201611 vom Typ: DPT_HVACMode
Nach PDF von 201508 vom Typ: DPT_HVACMode

DP149

Can't parse DP : 149, type DPT_HVACMode - data: 0620f080001504000000f0060095000100950301c2 - length: 21

Datenpunkt: 149 (0x95)
Bedeutung: Programm CWL
übertragener Wert: 0xc2
Nach PDF von 202202 vom Typ: DPT_HVACMode
Nach PDF von 201611 vom Typ: DPT_HVACMode
Nach PDF von 201508 vom Typ: DPT_DHWMode

Dabei haben sowohl DPT_DHWMode als auch DPT_HVACMode gültige Werte von 0 bis 4.

Von der Bezeichnung her scheint mir auch DPT_DHWMode für DP149 plausibler, aber scheinbar wurde das auf DPT_HVACMode korrigiert.

Somit ergeben sich hier für mich zwei Punkte:

  • Im Code sind aktuell nur 0, 1 und 3 beschrieben, es gibt aber auch noch 2 und 4
  • In den Datenpaketen werden 0x06 und 0xc2 übertragen die größer als 4 sind

@schweigel
Copy link
Contributor

Habe bei mir mal alle verfügbaren Modi der CWL durchgespielt. In den ersten beiden Spalten steht was ich an der Anlage eingestellt habe und in den letzten beiden Spalten steht was ioBroker daraus gemacht hat.

gewählter Modus mit Zeitangabe? Anzeige ioBroker DP149 Fehlermeldung im Log
Automatikbetrieb nein Automatikbetrieb
zeitw. Feuchteschutz ja was bereist zuvor da stand, macht es aber nicht
Feuchteschutz nein was bereist zuvor da stand, macht es aber nicht Can't parse DP : 149 - data: 0620f080001504000000f0060095000100950301ff - length: 21
reduz. Lüftung nein Reduzierte Lüftung
Nennlüftung nein Nennlüftung
zeitw. Intensivlüft. ja was bereist zuvor da stand, macht es aber nicht Can't parse DP : 149 - data: 0620f080001504000000f0060095000100950301ff - length: 21

ISM8i FW Version: 1.50
ioBroker-Adapter Version: 1.5.0

Bekomme somit also auch noch 0xff als Wert.

Im Adapter wird hvacmode für DP57 und DP149 verwendet, wie es auch in der PDF erklärt wird, jedoch passen dann die aktuell im Adapter verwendeten Bezeichnungen nicht, da DP57 ja das Heizprogramm ist und DP149 das CWL-Programm.

In der PDF stehen allgemeinere Bezeichnungen, die man durchaus für Heizen und Lüften verwenden könnte.

@JarlMorgennebel
Copy link
Author

Neuer Fehler:

wolf.0 | 2023-01-09 19:37:49.559 | error | Can't parse DP : 58, type DPT_DHWMode - data: 0620f080001504000000f006003a0001003a0301c4 - length: 21

Wolf Adapter v1.60 von GitHub.

Ciao, -JMN

@Apollon77
Copy link
Contributor

beim Wert kommt er gar nicht an. Der Adapzer liesst von reinkommenden Datenstring das ERSTE Byte wenn es um den Wert geht...

_data = data.readInt8(0);

Und das ist hier in allen Fällen 0x06, also 6 ... aber ja genau es ist nur 0,1,3 beschrieben in den Specs daher gibt es aktuell den Fehler das es nicht verarbeitet werden kann ... es sei denn der Datenpunkt wird falsch ermittelt.

Der wird von Position 12 des strings gelesen

dp = data.readUInt16BE(12);

ist bei denen wo 149 rauskommt "9500"als 16 bit Integer Big endian ist das genau die 149 ... das ist DPT_HVACMode ... also generell alles so wie es soll in meinen Augen ... warum das ein wert 6ist und was das ist und herkommt ist die Frage

@schweigel
Copy link
Contributor

Ich schlüssel das hier nochmal ganz genau auf, da ich weiterhin das Gefühl habe das wir aneinander vorbein reden.

STELLE: 01  02  03  04  05  06  07  08  09  10  11  12  13  14  15  16  17  18  19  20  21
 DATEN: 06  20  f0  80  00  15  04  00  00  00  f0  06  00  39  00  01  00  39  03  01  06
 DATEN: 06  20  f0  80  00  15  04  00  00  00  f0  06  00  95  00  01  00  95  03  01  c2

Bedeutung der Stellen nach der PDF:

Stellen Bedeutung Wert Interpretation
01 Header size 06 Header ist 6 Byte lang
02 Version 20 Es wird Version 20 verwendet
03 04 ObjectServer request F0 80
05 06 Frame size 00 15
07 Structure length 04
08 09 10 reseved 00 00 00
11 Main Service F0
12 Sub Service 06
13 14 Start Datapoint 00 95 Startdatenpunkt 157
15 16 Number of Datapoints 00 01 Anzahl der Datenpunkte ist 1
17 18 First DP ID 00 95 die erste Datenpunkt ID ist 157
19 First DP command 03
20 First DP length 01 der erste Wert des Datenpunktes hat die Länge 1
21 First DP value c2 Der Wert des Datenpunktes ist 0xc2

Das bedeutet für mich das der Wert des Datenpunktes nicht an 12 Stelle sondern an der 21 Stelle zu finden ist. An der 12 Stelle steht natürlich immer eine 0x06. Aber an der 21 Stelle stehen unterschiedliche Werte. Nur eben auch andere als nur 0,1 oder 3.

@Apollon77
Copy link
Contributor

Ahhh ... ja man muss den cde korrekt lesen :-)
Data wird ab Stelle 20 genutzt ....

0620f080001504000000f006003a0001003a0301c4

Und ja damit reden wir nur über c2 (bzw oben c4) ... was ja am Ende noch weniger sinn macht bei DP 149 ... sorry für die Verwirrung

@stale
Copy link

stale bot commented May 9, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions.
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.

@stale stale bot added the wontfix label May 9, 2023
@franks06347
Copy link

Hallo,
ich habe eine Wolf Wärmepumpe BWL-1S-07 mit ISM8i.
Leider erhalte ich auch viele Fehler "Can't parse DP" siehe log.

Viele Grüße
Frank

iobroker_log_error_wolf_20231112.log

Handbuch ISM8i
ba-ism8i_3064356_201611.pdf

Handbuch BWL-1S-07
Wolf-Waermepumpe-BWL-1SB-07-230V-Montage-und-Bedienungsanleitung.pdf

@stale stale bot removed the wontfix label Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants