Hallo zusammen,
ich versuche gerade eine Helios ec 370 pro via RS485 auszulesen/anzusteuern.
Die x70er Modelle scheinen etwas anderst aufgebaut zu sein als die x00er typen. Es handelt sich um ein "älteres" Modell von 2013 also noch ohne easycontrolls.
Das protokoll scheint weder modbus noch das Helios/Vallox Digit Protokoll zu sein.
Was ich bisher herausgefunden habe ist das der RS485 Bus auf Pin 2 und 3 des RJ12 Kabels liegt, Masse auf Pin 6. Ich lese die Daten via RS485 direkt im PC ein, Später soll das ein raspi übernehmen. (ich verwende Linux mit pyserial)
Ich habe ein kleines Script geschrieben das die "Datenpackete" abhängig der empfangen delta Zeiten zusammen in einer Zeile darstellt. Man kann erkennen, dass ca alle 100ms ein Datum auf den Bus gelegt wird (von der KWL). Es scheint das nach dem entprechenden Prefix das Bedienteil seine Daten auf den Bus stellt.
allerdings habe ich schwierigkeiten den Inhalt zu "dekodieren". Hat sich jemand schon einmal daran versucht, oder eine Idee? Bin für jeden Input dankbar ;-)
Edit: ich hatte wohl mit falscher Baudrate gemessen, nach Umstellung der Baudrate auf 19200 8N1 sieht das ganze sinnvoller aus.
im Anhang ein Auszug aus den logs.
In der Bedieneinheit kann die Adresse eingestellt werden (1-4). Das Datum wandert dann entsprechend auf die Adresse 0c10 - 0x13
Kommunitkationssequenz Bedienteil Adresse 4(0x13):
0.097: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x24 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x88 0x0
0.080: 0x10 0x0 0x0 0x11 0x0
0.098: 0x11 0x0 0x0 0x12 0x0
0.085: 0x12 0x0 0x0 0x13 0x0
0.100: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.079: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x25 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x89 0x0
0.082: 0x10 0x0 0x0 0x11 0x0
0.096: 0x11 0x0 0x0 0x12 0x0
0.097: 0x12 0x0 0x0 0x13 0x0
0.097: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.077: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x25 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x89 0x0
Ich habe auch das umschalten der Lüfterstufe aufgezeichnet ( Lufe 4 nach 3):
0.062: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.094: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0xc0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.051: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.098: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.096: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.098: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0x3 0xbb 0xb 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.053: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x3 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8c 0x0
0.097: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.072: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x3 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8c 0x0
0.094: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
Mann kann Erkennen das nach der Sequenz 0x1 0x3 0x35 ein 0xaa gesendet wird, ausser im Moment des umschaltens, dann steht die neue Lüfterstufe an der ensprechenden stelle. In der Antwort der KWL ändert sich auch entsprechend das Byte nach 0xc 0xf 0xa 0x26. Leider ist mir der andere Inhallt immer noch ein grosses Rätsel...
viele Grüße, Molla
ich versuche gerade eine Helios ec 370 pro via RS485 auszulesen/anzusteuern.
Die x70er Modelle scheinen etwas anderst aufgebaut zu sein als die x00er typen. Es handelt sich um ein "älteres" Modell von 2013 also noch ohne easycontrolls.
Das protokoll scheint weder modbus noch das Helios/Vallox Digit Protokoll zu sein.
Was ich bisher herausgefunden habe ist das der RS485 Bus auf Pin 2 und 3 des RJ12 Kabels liegt, Masse auf Pin 6. Ich lese die Daten via RS485 direkt im PC ein, Später soll das ein raspi übernehmen. (ich verwende Linux mit pyserial)
Ich habe ein kleines Script geschrieben das die "Datenpackete" abhängig der empfangen delta Zeiten zusammen in einer Zeile darstellt. Man kann erkennen, dass ca alle 100ms ein Datum auf den Bus gelegt wird (von der KWL). Es scheint das nach dem entprechenden Prefix das Bedienteil seine Daten auf den Bus stellt.
allerdings habe ich schwierigkeiten den Inhalt zu "dekodieren". Hat sich jemand schon einmal daran versucht, oder eine Idee? Bin für jeden Input dankbar ;-)
Edit: ich hatte wohl mit falscher Baudrate gemessen, nach Umstellung der Baudrate auf 19200 8N1 sieht das ganze sinnvoller aus.
im Anhang ein Auszug aus den logs.
In der Bedieneinheit kann die Adresse eingestellt werden (1-4). Das Datum wandert dann entsprechend auf die Adresse 0c10 - 0x13
Kommunitkationssequenz Bedienteil Adresse 4(0x13):
0.097: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x24 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x88 0x0
0.080: 0x10 0x0 0x0 0x11 0x0
0.098: 0x11 0x0 0x0 0x12 0x0
0.085: 0x12 0x0 0x0 0x13 0x0
0.100: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.079: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x25 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x89 0x0
0.082: 0x10 0x0 0x0 0x11 0x0
0.096: 0x11 0x0 0x0 0x12 0x0
0.097: 0x12 0x0 0x0 0x13 0x0
0.097: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.077: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x25 0x1 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x89 0x0
Ich habe auch das umschalten der Lüfterstufe aufgezeichnet ( Lufe 4 nach 3):
0.062: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.094: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0xc0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.051: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.098: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.096: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x4 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8d 0x0
0.098: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0x3 0xbb 0xb 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.053: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x3 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8c 0x0
0.097: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
0.072: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x26 0x3 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8c 0x0
0.094: 0x13 0x0 0x0 0x14 0x0 0x13 0x1 0x3 0x35 0xaa 0xbb 0xb2 0x0 0x13 0x5 0x2 0x35 0x55 0xa5 0x0
Mann kann Erkennen das nach der Sequenz 0x1 0x3 0x35 ein 0xaa gesendet wird, ausser im Moment des umschaltens, dann steht die neue Lüfterstufe an der ensprechenden stelle. In der Antwort der KWL ändert sich auch entsprechend das Byte nach 0xc 0xf 0xa 0x26. Leider ist mir der andere Inhallt immer noch ein grosses Rätsel...
viele Grüße, Molla
Kommentar