Helios EasyControls 3.0 - Modbus RTU (Seriell) in Loxone einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Helmi
    Smart Home'r
    • 21.08.2021
    • 46

    #1

    Helios EasyControls 3.0 - Modbus RTU (Seriell) in Loxone einbinden

    Servus zusammen,

    im anderen Thread zum PicoC Script von Jan (https://www.loxforum.com/forum/germa...-tcp-einbinden) wurde ja schon darüber diskutiert, dass Helios bei den neueren KWL mit EasyControls 3.0 die Modbus-TCP-Schnittstelle entfernt hat und damit die einzige TCP-Schnittstelle überhaupt.

    Ich wollte das Thema mal aus dem anderen Thread herausziehen, weil es ja nicht wirklich um das Script geht und die Themen so etwas vermischen und verschwinden.

    Ich hab mir die Frage gestellt, was nun der beste Weg ist um eine Helios KWL in Loxone oder generell ins eigene SmartHome zu integrieren und wollte mal die verschiedenen Optionen hier diskutieren. Ich muss dazu sagen, dass ich bisher keine praktischen Modbus-Erfahrungen habe - alles was ich dazu sage ist theoretisch und angelesen - verbessert mich also gern.

    Option 1: KNX

    Helios bietet weiterhin eine KNX-Schnittstelle, die jedoch nur für diejenigen interessant sein dürfte, die bereits KNX nutzen. Für Loxone (ausgenommen Miniserver Gen 1) bräuchte es dafür die KNX-Extension (~700€) und das dürfte alleine für diesen Fall kaum interessant sein

    Option 2: Modbus RTU direkt

    Ähnlich zu Option 1 wäre der Kauf einer Modbus-Extension für Loxone. Sofern nicht ohnehin vorhanden dürfte das kaum sinnvoll sein.

    Option 3: Modbus RTU to Modbus TCP

    Es gibt diverse Modbus RTU to TCP Wandler - wahlweise als fertige Bausteine mit Hutschienenmontage, oder aber als Eigenbaulösung. Im Eigenbau lassen sich da wohl recht "einfach" Sachen mit ESP8266 / ESP32 realisieren. Das dürfte eine sehr günstige Lösung sein, die dann ermöglicht mit dem Script von Jan weiterzuarbeiten. Ich hab das "einfach" aber bewusst in Anführungszeichen gesetzt - keine Ahnung wie kompliziert es ist die Umsetzung vorzunehmen und welche Hürden da warten.

    Links:

    - https://github.com/emelianov/modbus-esp8266
    - https://github.com/eModbus/eModbus

    Option 4: Modbus RTU to MQTT

    Die Option die mir erstmal eigentlich am besten gefällt wäre Modbus RTU direkt nach MQTT umzusetzen. Das erspart ein weiteres Script das eigentlich dafür da ist die Inkompatibilitäten zwischen Helios Modbus und Loxone zu lösen. Auch für RTU zu MQTT gibt es fertige Lösungen und alles am Ende auf einem MQTT-Broken parat zu haben erscheint mir als sehr ordentliche Lösung.

    Links:

    - https://github.com/gmasse/esp-modbus-mqtt
    - https://github.com/Instathings/modbus2mqtt / https://medium.com/instathings/integ...y-4edc8f1f2990


    Hat jemand von euch schon eine EasyControls 3.0 eingebunden oder evtl. für andere Projekte Modbus RTU nach TCP oder sogar MQTT umgesetzt? Wie gesagt fehlt mir bisher jegliche Modbus-Erfahrung und ich kann nicht sagen wie komplex diese Seite ist. Nachdem es aber so oder so wohl nicht vermeidbar ist damit zu dealen, wenn man eine Helios KWL integrieren und kein KNX verwenden kann/möchte, dann wäre Option 4 eigentlich die beste Wahl.

    Freue mich auf eure Kommentare dazu.

    Im Anhang noch die offizielle Modbus RTU Doku von Helios.
    Angehängte Dateien
  • SammyWhite
    Extension Master
    • 27.11.2022
    • 120

    #2
    Bei Option 1 kommt noch hinzu, dass man das KNX-Gateway auch noch kaufen muss - für ca. 400 Euro.
    da wäre Option 2 also auf jeden Fall noch Mal günstiger

    Kommentar

    • Noschvie
      LoxBus Spammer
      • 24.09.2018
      • 477

      #3
      Meine Wahl wäre Option 3, Modbus RTU to TCP, siehe zB "Waveshare RS485 to RJ45 Ethernet Converter Module". Und in der Loxone auf die entsprechenden Register zugreifen.
      Habe auf diesem Wege eine KL Lüftung eingebunden.
      Habe beim Helios Support wegen eines Loxone Modbus Templates angefragt, leider noch keines in der Loxone Library...

      Kommentar


      • Helmi
        Helmi kommentierte
        Kommentar bearbeiten
        Auf die Waveshare-Dinger bin ich auch gestoßen und hab mir mal eines bestellt. Mit PoE für nicht mal 30€ ist das eine recht günstige Option. Würde damit aber dennoch eher zu Option 4 tendieren - aber mit der Hardware ist ja beides möglich.
    • Helmi
      Smart Home'r
      • 21.08.2021
      • 46

      #4
      Ich muss gestehen, dass ich noch keinen Zugriff auf die Anlage habe (ist zwar schon eingebaut im noch nicht bezogenen Haus, aber noch nicht in Betrieb) bin aber beim durchsehen des oben angehefteten Modbus-Dokuments etwas schockiert über die überaschaubaren Möglichkeiten selbst über die Modbus-Schnittstelle.

      Bin ich blind oder lassen sich da nur vordefinierte Profile einstellen und ändern und sonst quasi nichts? Nicht mal das manuelle setzen der Lüftungsstufe scheint möglich zu sein?

      Kommentar

      • Jan W.
        Lox Guru
        • 30.08.2015
        • 1369

        #5
        Helmi: Es gibt die Variable HOME_SPEED_ SETTING, ebenso für „away“. Wenn ich eine Lüftung mit v3.0 hätte, würde ich wahrscheinlich Option 3 versuchen. Mein Skript braucht man nicht mehr. Der Hauptgrund für das Skript war die vermurkste Modbus TCP Implementation von Helios. Statt einfach ein Register zu lesen, z.B. für Lüfterstufe oder Temperatur, musste man zunächst die gewünschte Variable als STRING schreiben, um dann das Ergebnis zu lesen.

        In diversen Foren wurde die Modbus TCP Implementation für EasyControls v2 ziemlich zerrissen. Vielleicht ist das der Grund, warum Helios im Zeitalter von IoT und REST-Schnittstellen einen Dinosaurier, wie Modbus seriell entwickelt? Vielleicht hat Helios bei der heutigen Personalknappheit keine jungen Programmierer gefunden und einen Rentner eingestellt, der nur den alten Kram kennt? Echt unfassbar.
        Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
        Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
        Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
        Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
        Node-RED: IKEA Tradfri

        Kommentar


        • Helmi
          Helmi kommentierte
          Kommentar bearbeiten
          Du hast natürlich recht, über das Standard "Zuhause"-Profil lässt sich die Geschwindigkeit dann auch setzen. Da hatte ich wohl einen knoten im Kopf.

          "Unfassbar" trifft es ansonsten ziemlich gut. Es ist wirklich ärgerlich. Eine Rest-Schnittstelle wäre - v.a. in Anbetracht des vorhandenen Webservers wirklich eine Leichtigkeit. Dass sie sich am Ende noch selbst für die Modernität von EasyControl 3.0 loben setzt dem ganzen die Krone auf...
      • Jan W.
        Lox Guru
        • 30.08.2015
        • 1369

        #6
        Ich habe mir gerade einmal die Montageanleitung für ein Gerät mit EasyControls v3.0 angesehen: Es gibt weiterhin einen lokalen Webserver und eine Ethernet / IP-Schnittstelle auf den Geräten. Man kann wohl auch (wie bisher) easycontrols.net aktivieren und die Daten in die Cloud hochladen, um sie ohne VPN von unterwegs anzusehen. Das Webinterface in der Cloud war zumindest mit den Graphen ganz nett und besser, als das lokale Webinterface.

        Auch wenn es noch keine gute und dokumentierte Schnittstelle gibt, um diese IP-Schnittstelle anzuzapfen, sehe ich zwei weitere Optionen, die evtl. zukünftig durch eine Community erkundet und analysiert werden:

        Option 5: Parsen der Webschnittstelle
        Leider geht aus der Montageanleitung der neuen KWLs nicht hervor, ob die Webschnittstelle HTTPS/TLS oder auch plain HTTP unterstützt. In der alten "v2.x" war ein "POST" notwendig, um Werte zu lesen, d.h. direkt mit dem Miniserver (unterstützt nur HTTP GET beim Lesen) konnte man Werte nicht auslesen. Ohne offizielle Dokumentation wird es aber wahrscheinlich noch eine Weile dauern, bis es hier von einer Community bzw. findigen Benutzern etwas gibt. In der alten Webschnittstelle gab es eine Datei "csv.htm", die viele Variable aufgelistet hat und dafür den nachfolgenden POST Aufruf verwendet hat, um die zugehörigen Werte zu lesen.

        Code:
        curl -X POST -d "xml=/data/werte8.xml" http://192.168.128.11/data/werte8.xml
        <?xml version="1.0" encoding="UTF-8"?>
        <PARAMETER>
        <LANG>de</LANG>
        <ID>v01306</ID>
        <VA>00011000000000000000000010000001</VA>
        <ID>v00024</ID>
        <VA>0</VA>
        ...
        <VA>0</VA>
        <ID>v00101</ID>
        <VA>1</VA>
        <ID>v00102</ID>
        <VA>2</VA>
        <ID>v00103</ID>
        <VA>38</VA>
        <ID>v00104</ID>
        <VA>11.7</VA>
        <ID>v00105</ID>
        <VA>21.2</VA>​

        Die lDs entsprechen den Modbus Registern und sind in der alten Modbus TCP Doku aufgeführt. Die Werte danach sind die zugehörigen Werte. Da ich keine KWL mit v3.0 habe, kann ich beim Dekodieren nicht viel helfen und die o.a. Infos helfen nur, wenn Helios in v3.0 den Webserver ähnlich aufgebaut hat. Mit einem Browser mit Webentwickler Tools und Wireshark kommt man vielleicht weiter und ein Versuch kostet nur etwas Zeit.

        Option 6: Eigene REST-API entwickeln
        Da Helios damit wirbt, dass sie eine Webschnittstelle haben, die universeller ist, als eine App auf einem Handy, wird Helios wahrscheinlich keine eigene REST-API liefern. Dieser Weg ist daher mit vielen Fragezeichen behaftet und nur etwas für Anwender, die Erfahrung mit Programmierung von (Web-)Anwendungen auf Systemen, wie z.B. Raspberry PI haben. Die "alten" Systeme mit EasyControls v2.x hatten eine Micro-SD Karte, die kompatibel zu einem Raspberry PI war. Man konnte also mit moderatem Aufwand, den Inhalt der Karte lesen. Bei der KWL EC 370W ET, die ich habe sind mehr als 1600 Dateien auf der Flash Card und die HTML Seiten, JS-Skripte durchaus lesbar, so dass man mit etwas Aufwand etwas entwickeln könnte. Da ich keine neue KWL habe, kann ich nur vermuten, dass es in einer neueren KWL ähnlich ist. Vielleicht hilft das Auslesen der Daten auch bei Option 5 weiter, um eigene Webseiten aus den vorhandenen zu entwickeln, die z.B. leicht zu parsen sind und keine Anmeldung erfordern. Man muss allerdings bedenken, dass hierbei die Flash Karte modifiziert wird bzw. die vorhandene Karte kopiert werden sollte und dann Änderungen an der kopierten Karte gemacht werden sollten.

        Beide Optionen sind sicherlich nichts für jemanden, der jetzt eine fertige Lösung sucht, aber man benötigt keine weitere Hardware. Sie sind daher nur als weitere Ideen zu verstehen. Es ist wirklich Schade, dass Helios keine moderne und einfach ohne Mehrkosten zu nutzende Anbindung an Hausautomationssysteme mit den neuen Geräten mitliefert.
        Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
        Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
        Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
        Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
        Node-RED: IKEA Tradfri

        Kommentar


        • Helmi
          Helmi kommentierte
          Kommentar bearbeiten
          Scrapen/Parsen des Webinterfaces stand tatsächlich noch auf meiner Kopfinternen Liste, allerdings habe ich genau aus dieser Unkenntnis heraus das noch verworfen. Ich hab die Anlage auch noch nicht im Betrieb und weiß daher nicht was sie da so ausspucken und wie gut das über einen Scraper zu bedienen wäre. Außerdem ist die Frage ob es sich wirklich lohnt was die zur Verfügung stehenden Funktionen angeht. Sind die identisch mit der Modbus-Schnittstelle würde ich fast sagen, dass es den Aufwand nicht wert ist.

          Bei Option 6 binüberfragt, aber ich kenne auch die EasyControls 2 Historie nicht. Wenn da wirklich signifikante Funktion des Webservers über auf einer SD-Karte befindliche HTML/JS-Dateien modifizierbar war ist das ja schon fast abenteuerlich. Das wäre eine sehr überraschende Herangehensweise, aber wir werden sehen. Sobald ich Zugriff auf das laufende Gerät habe (in wenigen Wochen), werde ich mir das mal genauer ansehen.
      • LoxMeUp
        Extension Master
        • 09.04.2022
        • 172

        #7
        Hallo Helmi , hast du es mittlerweile geschafft die Lüftungsanlage einzubinden?
        Wenn ja, wie hast du es gemacht?

        Kommentar


        • schwen
          schwen kommentierte
          Kommentar bearbeiten
          Das würde mich auch wohl interessieren, ob das geklappt hat :-)
      • LoxMeUp
        Extension Master
        • 09.04.2022
        • 172

        #8
        Edit: Hat sich erledigt
        Zuletzt geändert von LoxMeUp; 12.10.2024, 17:39.

        Kommentar

        • Jan W.
          Lox Guru
          • 30.08.2015
          • 1369

          #9
          Aus Interesse habe ich mal in den Montageplan geschaut, der auf der Helios Webseite verlinkt war (1. Treffer der Google Suche). Dort steht in Kapitel 5.2.1 Netzwerk anschließen:
          Der Anschluss des Netzwerkes erfolgt über das aus der Kabeldurchführung herausgeführte Netzwerkkabel mit Stecker. 1. Netzwerkkabel an Router oder PC/Laptop anschließen.

          Der RJ-45 Anschluss scheint nur auf der Platine zu sein und nicht wie bei den älteren Geräten auf der Oberseite.
          Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
          Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
          Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
          Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
          Node-RED: IKEA Tradfri

          Kommentar

          • LoxMeUp
            Extension Master
            • 09.04.2022
            • 172

            #10
            Danke dir - das war auch die Lösung.
            Ich hatte in der Anleitung immer nach RJ45 gesucht und war von dem Schaltplan verwirrt.
            Der RJ45-Stecker wurde in einen Kabelkanal gezogen. Daher habe ich diesen nicht gefunden.

            Kommentar

            Lädt...