Helios KWL (easycontrols) über modbus tcp einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • uli
    LoxBus Spammer
    • 30.08.2015
    • 225

    #76
    Meinst Du Fehler welche unter Debug-Info, Monitor angezeigt werden?

    Dort werden mir nur die normalen Abrufe (z.B. v00349) angezeigt. Oder könnte eine Fehlermeldung auch nur nach einem Neustart erfolgen?

    Kommentar

    • uli
      LoxBus Spammer
      • 30.08.2015
      • 225

      #77
      Habe nun nochmal geschaut.

      Sehr oft (900x pro Tag!) habe ich den Fehler: modbusTCP request for v00102=1 failed (0 bytes read) !

      Sehr selten diese: modbusTCP answer too short, only i Bytes, <XXX>

      Werde nun mal die Anlage neu starten und nochmal schauen. Kann man zumindest den ersten Fehler wegbekommen?

      Kommentar

      • Jan W.
        Lox Guru
        • 30.08.2015
        • 1369

        #78
        Bei mir sind es seit Jahresanfang 15 Fehler mit der Meldung "modbusTCP request for v01035 failed (0 bytes read)" aufgelaufen. Die Variable ist dabei meist unterschiedlich. Bei 900 Fehlern am Tag gibt es ein Problem. Dieser Fehler entsteht, wenn innerhalb der vorgegebenen Zeit von 500 ms keine Antwort von der Helios-Lüftung kommt. Vielleicht den Wert mal erhöhen?

        Für eine genauere Prüfung, ob überhaupt eine Antwort kommt, ob diese zu spät kommt, ob der Request richtig und vollständig war etc. müsste man mal die Pakete mit Wireshark aufzeichnen. Das geht z.B. über eine Fritzbox mit der URL http://fritz.box/html/capture.html, alternativ über eine Portspiegelung auf dem LAN Switch.

        Bei der Fritz-Box Variante müssen natürlich entweder die Helios-Lüftungsanlage oder der Loxone MS direkt an der Fritzbox angeschlossen sein, damit alle Pakete über die Fritzbox laufen.
        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

        • uli
          LoxBus Spammer
          • 30.08.2015
          • 225

          #79
          Hallo Jan,

          mir ist noch etwas ein- bzw. aufgefallen. Der Fehler tritt meist nur nachts auf. Das heißt es hängt ziemlich sicher mit der Funktion Intensivlüften aus Deinem Beitrag #62 zusammen.

          Fällt Dir da etwas am Code auf, was das verursachen könnte?

          Ansonsten wäre Wireshark kein Problem...

          VG

          Kommentar

          • Jan W.
            Lox Guru
            • 30.08.2015
            • 1369

            #80
            Hallo Uli,

            die Variante mit der Funktion "Intensivlüften" hatte ich bisher nicht verwendet. Ich habe mir den Code angesehen und ein paar mögliche Probleme gefunden. Die Stufe wird immer eingestellt, auch wenn diese bereits gesetzt ist. Es kann gut sein, dass die Anlage damit ein Problem hat. Bei dem neuen Code wird die Lüfterstufe nicht mehr ausgelesen, sondern nur geschrieben, aber nur noch wenn es erforderlich ist, d.h. nur wenn diese sich ändern soll. Insgesamt ist der Code dadurch noch etwas kürzer geworden.

            Ich werde den Code auch bei mir verwenden, da ich mittlerweile einen CO2 Sensor habe. Bisher lief die Lüftung fast immer auf der Stufe 2 (Normal), aber durch eine Reduzierung auf die Stufe 1 und Erhöhung, sobald der CO2 Sensor höhere Werte meldet, könnte man gerade im Winter die Heizkosten vielleicht noch etwas reduzieren.

            Code:
            am Anfang die Variable definieren, ggf. Eingang AI6 beschreiben:
            int intensivlueften;
            int luefterStufeNormal;
            ...
            
            // Lüfterstufe für Normalbetrieb lesen (Wertebereich 0...4)
            luefterStufeNormal = (int)getinput(1);
            // Funktion Stoßlüften: maximale Stufe einstellen (=4)
            stosslueften = (int)getinput(2);
            // Funktion Intensivlüften: Lüfterstufe um 1 erhöhen, wenn z.B. CO2 Sensor eine Verschlechterung der Luftqualität feststellt
            intensivlueften = (int)getinput(5);
            
            // aktuelle Lüfterstufe einstellen
            if (stosslueften == 1) {
                luefterStufe = 4;
            } else {
                if (intensivlueften == 1) {
                    luefterStufe = luefterStufeNormal+1;
                } else {
                    luefterStufe = luefterStufeNormal;
                }
            }
            // neue Lüfterstufe nur schreiben, wenn sich diese geändert hat
            if (luefterStufe != luefterStufeLast) {
                heliosWriteInt("v00102", luefterStufe);
                luefterStufeLast = luefterStufe;
            }
            setoutput(10, luefterStufeNormal); // Lüfterstufe für Normalbetrieb
            setoutput(11, luefterStufe); // akutelle Lüfterstufe
            
            sleep(50);

            Berichte mal, ob's besser funktioniert. Wenn es auch bei mir keine Probleme gibt, dann werde ich eine neue Version in das Wiki stellen.
            Zuletzt geändert von Jan W.; 24.02.2018, 22:14.
            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

            • uli
              LoxBus Spammer
              • 30.08.2015
              • 225

              #81
              Hallo Jan,

              das ist super, vielen Dank für Deine Bemühungen.

              Ich komme erst in einer Woche dazu, werde dann aber berichten wie die Version läuft. Es gibt übrigens auch eine neue Firmware die die externen Fühler schneller auslesen soll. Das würde ich dann gleich mal mit erledigen.

              Danke...

              Kommentar

              • Jan W.
                Lox Guru
                • 30.08.2015
                • 1369

                #82
                Hallo Helios EasyControls Anwender,

                ich habe eine neue Version 5.3 des Skriptes in der Loxwiki hochgeladen. Die folgenden Features sind neu:

                Es gibt eine neue Funktion Intensivlüften, bei der die Lüfterstufe um 1 erhöht wird. Dies kann z.B. über einen CO2 Sensor gesteuert werden oder zeitgesteuert über eine Schaltuhr. Ziel der Funktion ist es, eine gute Luftqualität zu gewährleisten, ohne die Lüftung ständig auf einer höheren Stufe betreiben zu müssen. Gerade im Winter kann dies helfen, die Heizkosten zu reduzieren. Gesteuert wird dies über den Eingang AI7.

                Die Anzahl der Fehler, die auf der SD Karte im Loxone Log protokolliert werden, kann über zwei neue Parameter massiv reduziert werden. Der Parameter AI8 gibt die maximale Anzahl der Fehlermeldungen pro Zeitspanne an (Default: 10) und AI9 das Zeitintervall für den Zähler der Fehlermeldungen in Minuten (Default: 60 min). Wenn mehr Fehler produziert werden, dann gibt es am Ende des Intervalls für die zusätzlichen Fehler nur eine Sammelmeldung mit der Anzahl. Auf diese Weise werden weiterhin Probleme im Log festgehalten, aber die Menge der Meldungen deutlich reduziert. Wer seine SD Karte besonders schonen möchte, kann z.B. 10 Fehler pro Tag (= 1440 Minuten) einstellen.

                Außerdem wurde die Anzahl der Lese- und Schreibzugriffe per Modbus/TCP noch weiter reduziert, weil nur geänderte Werte geschrieben werden. Da eine parallele Steuerung zwischen EasyControls und Loxone in der Praxis wenig sinnvoll ist, werden die Parameter Lüfterstufe und Bypass nur noch geschrieben und nicht mehr ausgelesen. Damit kann die Lüfterstufe zwar weiterhin über EasyControls geändert werden, aber mit der nächsten Änderung seitens Loxone wird der dort eingestellte Wert gesetzt. Logiken, wie das zeitliche oder dynamische Ändern der Lüfterstufe (Intensivlüften, Stoßlüften, Sommerbetrieb) sind dadurch einfacher realisierbar.

                Bereits in v5.2 von Hartwig Holzapfel wurde über den Parameter AI6 die Abfragehäufigkeit in Sekunden angegeben, in der die Werte aus der Helios Anlage ausgelesen werden. Eine höherer Wert verringert die CPU Belastung auf dem MS. Analysen mit Wireshark haben gezeigt, dass das Auslesen aller Werte aus der Helios Anlage mit knapp 10 Sekunden relativ lange dauert. Das war mir neu, denn ich dachte, dass lediglich die "sleep" Statements plus ein paar ms für die Befehle die Zeitdauer ausmachen. Es hat sich herausgestellt, dass vor allem das Timeout bei den TCP Stream Read Funktionen von 500 ms maßgeblich für die gesamte Zeitdauer ist. Tests mit kürzeren Werten führten bei mir zu einer höheren Fehlerhäufigkeit , so dass ein Abfrageintervall von mindestens 15 Sekunden empfohlen wird. Kürzere Werte stellen kein Problem dar - es wird dann nach einem Schleifendurchlauf lediglich keine Pause eingelegt. Sollte in Loxone ein Parameter geändert werden, z.B. die Lüfterstufe, dann werden sofort alle geänderten Werte geschrieben und auch alle Werte gelesen.

                Das Skript läuft bei mir seit einem Tag ohne Probleme.

                Viele Grüße,

                Jan
                Zuletzt geändert von Jan W.; 28.02.2018, 01:26.
                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

                • Fuxi
                  LoxBus Spammer
                  • 26.08.2015
                  • 256

                  #83
                  Hallo, habe ich das so richtig verstanden, dass die aktuelle Lüfterstufe jetzt nicht mehr abgefragt wird? Grüße

                  Kommentar

                  • Jan W.
                    Lox Guru
                    • 30.08.2015
                    • 1369

                    #84
                    Hallo Fuxi,

                    ja genau. Ich verwende easyControls eigentlich gar nicht mehr - höchstens, um bei Fehlern/Warnungen/Infos Details zu sehen. Ein Fernbedienelement im Wohnraum habe ich nicht.

                    Im Programm gibt es weiterhin die Ausgänge AQ11 und AQ12 (Variable luefterStufe), aber zumindest AQ11 (= Lüfterstufe für Normalbetrieb) entspricht 1:1 dem Eingang AI2 und könnte daher entfallen. AQ12 ist als Info in der App gedacht, aber gibt den durch Loxone aktuell eingestellten Wert zurück. Dieser Wert wurde zur Helios Anlage geschrieben (Variable v00102).

                    Falls Du die Werte über easyControls oder eine Fernbedienung für den Wohnraum änderst, dann stimmt die Ausgabe über Loxone nicht mehr. Den Fall habe ich bei mir in der Praxis nicht, aber es wäre kein Problem das Programm zu ändern, so dass die Variable v00102 beim "Lesezyklus" ebenfalls gelesen wird.


                    Gruß Jan
                    Zuletzt geändert von Jan W.; 01.03.2018, 22:51.
                    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

                    • lighthouse123456
                      Smart Home'r
                      • 28.01.2016
                      • 48

                      #85
                      Hallo Jan, und anderweitige Experten….

                      Ich benötige Eure Hilfe. Ich sitze schon seit Monaten an der Einbildung meiner Helios Anlage KWL 500 und meinem Loxone System, jedoch ohne Erfolg: Die Helios Anlage lässt sich nicht über loxone steuern !

                      Vorab meine Ausgangssituation:
                      Loxone Miniserver Software: 7.3.2.24 -> Pico sollte noch funktionieren -> IP Adresse 192.168.0.77:7777 (Port 7777)
                      Helios KWL EC 500W L: Software: v2.26 -> manueller Betrieb eingestellt -> IP Adresse 192.168.0.199:80 (Port 80 Standard). Im Easycontrol „modbus“ aktiviert.
                      Beide Geräte befinden sich im gleichen Netzwerk: 225.225.255.0
                      Ich habe das Programm Helios-modbusTCP-v5.1.picoc.txt in den Programmbaustein kopiert und habe die IP Adresse geändert:


                      Config:
                      Wenn ich über die App die Lüfterstufe hochfahre, geht AI2 im Programmbaustein hoch, jedoch ändert sich kein Q Wert beim Liveview.

                      APP: Die App oberfläche stimmt, jedoch werden keine „Daten" angezeigt. Z.B.: Modell etc.

                      Meine Fragen:
                      1. Bei Jan sehen die Merker rechts nehmen den Programmbaustein anders (kleiner) aus, als meine. -> Warum ist das so, habe ich etwas falsch gemacht?
                      2. Woran könnte es liegen, dass ich keine Daten empfange?
                      3. Müssen Ihrendwelche anderen Sachen verändert werden, ausser IP adresse?


                      Vielen Dank für Tipps

                      Gruß vom Bodesee Olaf

                      Anlage:
                      1) Auszug aus dem Programmbausein.
                      2) Meine Logik die Jan bereit gesellte hat.
                      Zuletzt geändert von lighthouse123456; 03.03.2018, 10:25.

                      Kommentar

                      • Jan W.
                        Lox Guru
                        • 30.08.2015
                        • 1369

                        #86
                        Die Adresse für den Stream muss so aussehen: STREAM* stream = stream_create("/dev/tcp/192.168.0.199/502", 1, 0); (ohne HTTP !)

                        Damit müsste es eigentlich passen, denn außer der IP-Adresse gibt es keine spezifischen Werte, die angepasst werden müssen.Ich denke, dass der Unterschied bei den Merkern durch v8 vs. v7 kommt.

                        Wenn's noch nicht geht, einfach noch mal melden.

                        Gruß Jan
                        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

                        • LoxFFB
                          Extension Master
                          • 29.08.2015
                          • 197

                          #87
                          Hallo Jan,

                          gibts schon Neuigkeiten bezüglich der Version 9 der Loxone Config ?
                          hab gerade deine Version 5.3 eingespielt unter der Loxone Public Beta und es funktioniert wieder.

                          Vielen Dank für die Info

                          Zuletzt geändert von LoxFFB; 03.03.2018, 17:54.

                          Kommentar


                          • lighthouse123456
                            lighthouse123456 kommentierte
                            Kommentar bearbeiten
                            Hallo Jan, chapeau !!!!!! Es funktioniert, Danke !!!!! Das Gute kann so nah sein:-)

                          • Jan W.
                            Jan W. kommentierte
                            Kommentar bearbeiten
                            Gerne Olaf - auch wenn der Kommentar zu dem vorhergehenden Beitrag gehört ;-)

                          • Jan W.
                            Jan W. kommentierte
                            Kommentar bearbeiten
                            @LoxFFB: Da ich noch v8 verwende, kann ich nicht viel zu v9 sagen.
                        • Jan W.
                          Lox Guru
                          • 30.08.2015
                          • 1369

                          #88
                          Es gibt schon wieder eine neue Version 5.4. Die aktuelle Lüfterstufe wird jetzt wieder ausgelesen, so dass der richtige Wert angezeigt wird, falls man über easyControls oder ein Fernbedienelement die Stufe ändert. Wer keine Fernbedienung hat und auch über easyControls die Stufe nicht ändert, kann v5.3 weiterverwenden. Danke an Fuxi für den Hinweis.

                          Ein paar Anmerkungen noch zur Einbindung in Loxone: Ich habe bei mir Remanenz für den Baustein Radiotasten aktiviert, so dass die Lüfterstufe bei Neustart richtig eingestellt ist. Der Ausgang AQ11 des Programmbausteins ist bei mir offen.
                          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

                          • Fuxi
                            LoxBus Spammer
                            • 26.08.2015
                            • 256

                            #89
                            Ich habe gerade bei mir entdeckt, dass die Lüfterstufe in Loxone nicht "immer" korrekt ist. Hier die Fehlerbeschreibung:
                            Aktuell läuft zum Beispiel in Wirklichkeit Lüfterstufe 3. In Loxone wechselt bei mir die Anzeige von 1(Lüfterstufe normal) zu 3(Lüfterstufe aktuell) hin und her.

                            Grüße Fuxi

                            Achja, benutze neue 5.4 Version.
                            Zuletzt geändert von Fuxi; 04.03.2018, 19:07.

                            Kommentar

                            • Jan W.
                              Lox Guru
                              • 30.08.2015
                              • 1369

                              #90
                              Hallo Fuxi,

                              ich habe den Fehler gefunden und behoben. Die aktuelle Version v5.4.1 ist jetzt in der Loxwiki.

                              Gruß Ja
                              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

                              Lädt...