Ankündigung

Einklappen
Keine Ankündigung bisher.

KWL Helios EC 270/370 PRO RS485 Interface

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KWL Helios EC 270/370 PRO RS485 Interface

    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
    Angehängte Dateien
    Zuletzt geändert von mollama; 03.01.2016, 14:29.

    #2
    Frag mal den User JanK hier im Forum, vielleicht kann der weiterhelfen.

    Kommentar


      #3
      Danke, ich habe ihn mal per PM kontaktiert, er scheint schon länger nicht mehr im Forum aktiv gewesen zu sein.
      Gruss Molla

      Kommentar


        #4
        Hallo Zusammen,
        ich habe wohl mit falscher Baudrate gemessen, ich habe auf 192008N1 umgestellt, dann sehen die Präfixe sinvoller aus, auch das Byte für die Lüfterstufe ist eindeutig zu erkennen. Nur der restliche Inhallt bleibt ein Rätsel...

        Kommentar


          #5
          Hallo Zusammen,

          ich denke habe die Temperaturen gefunden. Der Ersatzwert für einen nicht vorhandenen Sensor scheint 0x2709 zu sein (dezimal 9990 also 999,0 °C). Steht das Bedienelement auf Temperaturanzeige, dann wird aus 0x13 0x01 im Präfix eine 0x13 0x00, demenstrechend könnte dieses byte die Senderichtung indizieren (Temp Werte werden von KWL gesendet). Darauf folgen dann noch ein paar Bytes die ich (noch) nicht zuordnen kann.
          Die erste Temperatur ist ein Ersatzwert ( ich habe kein Heizung, keine CO Fühler...)...
          die 1. Temperatur 0x0021 (deziamal 33 -> 3,3°C) müsste die Ansaug Luft sein.
          die 2. Temperatur 0x00c3 (deziamal 195-> 19,5°C) müsste die Abluft sein.
          die 3. Temperatur 0x0051 (deziamal 166-> 16,6°C) müsste die Zuluft sein.
          die 4. Temperatur 0x00a6 (deziamal 81-> 8,1°C) müsste die Fortluft sein.
          alle nachfolgenden Temperaturen sind Ersatzwerte in meiner Konfiguration. Insgesamt also 10 Temperaturen bzw Sensorwerte wie in der Bedieneinheit.

          0.098: 0xff 0xff 0x17 0x1a 0x5 0xc 0xf 0xa 0x27 0x2 0x0 0x0 0x0 0x1 0x0 0xe 0x0 0xa5 0x0 0x14 0x0 0x2 0x3 0x0 0x0 0x3c 0x8c 0x0
          0.100: 0x13 0x0 0x0 0x14 0xc0 0x13 0x0 0x1 0x3a 0x4f 0x0 0x13 0x1 0x15 0x3a 0x6 0x27 0x21 0x0 0xc3 0x0 0x51 0x0 0xa6 0x0 0x6 0x27 0x6 0x27 0x6 0x27 0x6 0x27 0x6 0x27 0x4d 0x00


          hatt jemand Ideen zum Rest ?

          Viele Grüsse Molla
          Zuletzt geändert von mollama; 04.01.2016, 13:03.

          Kommentar


            #6
            Ich denke ich habe den "Algorithmus" die für Checksummen rausgefunden.

            (1+ (byte[0] + byte[1] + ... + byte[n]) % 256
            hat bisher für alle Packete gepasst die ich getestet habe.
            das Erklärt auch die Rahmenpakete:
            0x12 0x0 0x0 0x13

            Gruss Molla
            Zuletzt geändert von mollama; 05.01.2016, 05:35.

            Kommentar


              #7
              Die Modelle vor 2014 haben doch alle das selbe Protokoll, oder?

              https://docs.google.com/document/d/1...B9ercx5NY/edit
              https://github.com/tuxedo0801/HeliosKwlRemote
              https://knx-user-forum.de/forum/%C3%...s-rs485-an-knx
              Zuletzt geändert von tuxedo; 04.01.2016, 20:04.

              Kommentar


                #8
                @tuxedo: nein leider scheint das Protokoll nicht gleich zu sein. Die 270/370er Serie hat auch andere Sensoren sowie Bedienelemente.

                Grüsse molla

                Kommentar


                  #9
                  Gerade mal rein geschaut: Die x70er Reihe sieht auch nicht wie die typischen Helios-Modelle (die die Vallox-Steuerung drin haben) aus. Schade.

                  Vielleicht findest du durch die Google Bildersuche parallelen zwischen den "Herstellern" und findest einen der die Spezifikation des Protokolls heraus gibt? Oder einfach mal Helios anschreiben...? Hat "damals" bei Vallox auch geklappt.

                  Kommentar


                    #10
                    Hi,
                    Ich bin mit Reverse engeneering schon etwas wieter gekommen:
                    .
                    Das 1. Byte scheint die Adresse des "Teilsnehmers" zu sein,
                    Das 2. Byte die Richtung ( 0 von KWL, 1 von Bedienelement/Sensor (Ausnamhe 0xFF 0xFF scheint broadcast von KWL zu sein)
                    Byte 3.Byte ist die Länge des Packetes ohne checksumme.
                    Ganz am Ende noch Checksumme + 0x00

                    Ich kann jetzt die Temperaturen aus der KWL auslesen sowie die Lüfterstufe einstellen.

                    gruss molla

                    You do not have permission to view this gallery.
                    This gallery has 1 photos.

                    Kommentar


                      #11
                      Hallo mollama,

                      darf ich fragen mit welcher Hard-/Software du vorgegangen bist?
                      Ich würde bei meiner KWL auch gerne ein paar Daten auslesen. Ich habe zwar keine Helios aber meine hat eine RJ11-Buchse, die laut Anleitung zum Anschluss an ein GMS (GebäudeManagementSystem) gedacht ist. Ich kenne zwar auch hier das Protokoll nicht aber ich vermute man kann zumindest als ersten Schritt mal Rohdaten auslesen und sich Stück für Stück weiterarbeiten.

                      Kommentar


                        #12
                        hallo mollama,

                        habe auch eine Helios 370 Baujahr 2013. Habe mir inzwischen einen USB RS485 Adapter besorgt und würde gerne mal testen.
                        Würdest Du Deine Software zur Verfügung stellen? Wie Hast Du den Adapter angeschlossen? parallel zum Display, Abschlusswiderstand?
                        Raspi ist vorhanden.
                        gruß, hfr
                        Zuletzt geändert von hfr; 21.01.2016, 23:50.

                        Kommentar


                          #13
                          Zitat von hfr Beitrag anzeigen
                          hallo mollama,

                          habe auch eine Helios 370 Baujahr 2013. Habe mir inzwischen einen USB RS485 Adapter besorgt und würde gerne mal testen.
                          Würdest Du Deine Software zur Verfügung stellen? Wie Hast Du den Adapter angeschlossen? parallel zum Display, Abschlusswiderstand?
                          Raspi ist vorhanden.
                          gruß, hfr


                          Für die "alten" Modelle: Software gibt's hier:

                          http://jenkins.root1.de/job/HeliosKwlRemote/lastStableBuild/de.root1$HeliosKwlRemote/

                          Source:

                          https://github.com/tuxedo0801/HeliosKwlRemote

                          Den Adapter hab ich in der Anschlussbox angeschlossen. Extra Abschlusswiderstand hab ich nicht eingebaut.

                          Kommentar


                            #14
                            Also mit x70 habe ich folgende Modelle gefunden:

                            1) KWL EC x70 Eco
                            2) KWL EC x70 Pro
                            3) KWL EC x70 W (ET)

                            Ich nehme an, es geht um 1 und 2, oder? Denn 3 hat ja Ethernet mit easy control
                            OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                            Kommentar


                              #15
                              Die Netzwerkschnittstelle kam erst mit den 2014er Modellen.

                              Und ich hatte mich eben schon wieder in der Modellnummer vertan....

                              Hab das 300er Modell (ET). Das spricht das mit "HeliosHwlRemote" und dem hier im Forum herumgeisternden Python-Script kompatible Protokoll.

                              Dann gibt's noch pre-2014er Modelle, und da gehört das 370er Modell wohl auch dazu, die nochmal ein anderes RS485 Protokoll haben. Dazu ist mir keine fertige Software bekannt.

                              Kommentar

                              Lädt...
                              X