Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus Adapter mit Ökofen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Modbus Adapter mit Ökofen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mangid last edited by

      Habe jetzt den Modbus nochmal gestartet und siehe da alle Werte werden gelesen!

      lg

      Mangid

      1 Reply Last reply Reply Quote 0
      • M
        Mangid last edited by

        Hallo,

        es gibt News! Habe bei Ökofen nachgefragt was es denn so neues gibt!

        Ab der Version 2.09 gibt es wohl eine JSON Schnittstelle:

        ` > Hier die gewünschten Kurzinfo zu „JSON“

        Voraussetzung ist die Softwareversion 2.09 die ein Ökofen Techniker oder Servicepartner machen muß!

        Neu ist in dieser Version auch, das kein Portforwarding mehr gemacht werden muß (andere Aufbauweise)

        Einfach die automatische Netzwerkeinrichtung bestätigen.

        In diesem Menü finden sie auch dann die Funktion „JSON“ welche auf ein gestellt werden muß. Weiters wird der Json Port und das Json PW angezeigt.

        Sobald Sie nun im Browser die IP mit Port eingeben wird Ihnen bereits die Erklärung aufgelistet. Damit sollten sie sich soweit mal zurecht finden.

        Wichtig! Es ist wiederum „Neu“ und somit als Testfunktion erstmals anzusehen! Es besteht auch die Möglichkeit das noch Fehler in dieser Funktion auftreten können.
        3790_oekofen.png `

        Dann werde ich mal warten bis der Servicetechniker kommt um die neue Software aufzuspielen!

        lg

        Mangid

        1 Reply Last reply Reply Quote 0
        • L
          looxer01 last edited by

          Hi Mangid,

          scheint ja einiges mehr an Daten rüberzukommen als über Modbus.

          Allerdings gibt es nach wie vor nicht die Möglichkeit der Steuerung. (z.B. Soll-Temperatur setzen)

          Ein update gibt es übrigens nicht zwangsläufig. Nur wenn es Sicherheits-Features gibt.

          Inkl Anreise müsste ich so mind 150 Euro zahlen.

          Das Abrufen der JSON scheint mir dann aber mit Javascript nicht das große Problem. (wenn es denn die neue Funktion einwandfrei funktioniert)

          Andererseits hast du das Risiko, dass deine Modbus Anbindung nicht mehr funktioniert. who knows.

          vG Looxer

          1 Reply Last reply Reply Quote 0
          • M
            Mangid last edited by

            Hi,

            ja da ich sowiso mal eine Wartung machen muss bietet sich das an!

            Naja wie du im unteren Bereich siehst gibt es auch eine set Möglichkeit!

            Also sollte die Steuerung möglich sein! Aber kann es dir dann berichten

            wenns so weit ist!

            Ich habe den Modbus mittlerweile wieder deaktiviert da er nur Fehler wirft

            und teilweise keine Werte liefert!

            Ja anscheinend ist das ganze erstmals nur wieder im Testbetrieb war damals

            beim Modbus in Version HomeAutomation auch so un da ich dann einen Bug

            gefunden habe war das anschließende Update gratis! 😄

            Wenn du willst halte ich dich am laufenden!

            Lg

            Mangid

            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              @Mangid:

              Wenn du willst halte ich dich am laufenden! `

              sehr gerne. Wenn das mit dem set funktioniert, dann würde ich mir ein upgrade ebenfalls überlegen.

              Dann hätte ich ein neues Projekt 😉

              vG Looxer

              1 Reply Last reply Reply Quote 0
              • M
                Mangid last edited by

                Hi,

                so gestern war es so weit! Der Servicetechniker war da und hat die neue Version draufgespielt!

                Im Anhang siehst du einmal die Startseite und die Werte die bei mir zurückkommen!

                Alle Variablen die nicht mit L_ starten kannst du setzen!

                Beispiel zum schreiben einer Variable:

                http://10.0.0.20:4321/xxxx/hk1_temp_setback=180

                Bin erstmal recht zufrieden! Funktioniert für mich besser als mit dem Modbus!

                lg

                Niki
                3790_oekofen_json_werte.txt
                3790_oekofen_json_allg.txt

                1 Reply Last reply Reply Quote 0
                • L
                  looxer01 last edited by

                  Hi Mangid,

                  klingt ja super.

                  Hast du das alles schon mit JS umgesetzt ?

                  Lesen und Schreiben

                  Dann würde ich mir das gerne mal -in Vorbereitung- ansehen.

                  Geht das ?

                  vG

                  Looxer

                  1 Reply Last reply Reply Quote 0
                  • M
                    Mangid last edited by

                    Hi,

                    habs nur mal schnell in javascript gemacht!

                    Schreiben hab ich noch nicht über ioBroker gemacht nur über den Browser und

                    da funktioniert es!

                    var logging = true;
                    var basePath = 'http://10.0.0.20:4321/xxxx/';
                    var allPath = basePath + 'all';
                    
                    schedule("* * * * *",
                        function () {
                            log('Start Ökofen Daten einlesen');
                            objekteAnlegen();
                            readAllAlues();
                        });
                    
                    function readAllAlues() {
                        if (logging) log('Start Ökofen Daten einlesen');
                        var request = require('request');
                    
                        request(allPath, function (error, response, body) {
                            if (!error && response.statusCode == 200) {
                                            var result;
                                try{
                                    result = JSON.parse(body);
                                    var data = JSON.stringify(result, null, 2);
                                    //if (logging) log(data);
                                    //if (logging) log('Kein Fehler :-D');
                                } catch (e) {
                                    if (logging) log('Parse Fehler:' + e);
                                }    
                                if (result) {
                                    setState("Pellematic.Ambient.Aussentemperatur", parseFloat((result.system.L_ambient * 0.1).toFixed(1)));
                    
                                    setState("Pellematic.Heizkreis.Raumtemperatur_ist", parseFloat((result.hk1.L_roomtemp_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Heizkreis.Raumtemperatur_soll", parseFloat((result.hk1.L_roomtemp_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Heizkreis.Absenktemperatur_soll", parseFloat((result.hk1.temp_setback * 0.1).toFixed(1)));
                                    setState("Pellematic.Heizkreis.Vorlauftemperatur_ist", parseFloat((result.hk1.L_flowtemp_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Heizkreis.Vorlauftemperatur_soll", parseFloat((result.hk1.L_flowtemp_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Heizkreis.Status", result.hk1.L_statetext);
                    
                                    setState("Pellematic.Puffer.Temperatur_oben_ist", parseFloat((result.pu1.L_tpo_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Puffer.Temperatur_oben_soll", parseFloat((result.pu1.L_tpo_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Puffer.Temperatur_unten_ist", parseFloat((result.pu1.L_tpm_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Puffer.Temperatur_unten_soll", parseFloat((result.pu1.L_tpm_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Puffer.Ladepumpe", parseFloat(result.pu1.L_pump));
                                    setState("Pellematic.Puffer.Status", result.pu1.L_statetext);
                    
                                    setState("Pellematic.Warmwasser.Temperatur_ist", parseFloat((result.ww1.L_ontemp_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Warmwasser.Temperatur_soll", parseFloat((result.ww1.L_temp_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Warmwasser.Pumpe_an", JSON.parse(result.ww1.L_pump));
                                    setState("Pellematic.Warmwasser.Status", result.ww1.L_statetext);
                                    setState("Pellematic.Warmwasser.Modus", parseFloat(result.ww1.mode_auto));
                    
                                    setState("Pellematic.Ofen.Modulation", parseFloat(result.pe1.L_modulation));
                                    setState("Pellematic.Ofen.Kesseltemperatur_ist", parseFloat((result.pe1.L_temp_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Ofen.Kesseltemperatur_soll", parseFloat((result.pe1.L_temp_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Ofen.Feuerraumtemperatur_ist", parseFloat((result.pe1.L_frt_temp_act * 0.1).toFixed(1)));
                                    setState("Pellematic.Ofen.Feuerraumtemperatur_soll", parseFloat((result.pe1.L_frt_temp_set * 0.1).toFixed(1)));
                                    setState("Pellematic.Ofen.Status", result.pe1.L_statetext);
                                    setState("Pellematic.Ofen.Brennerstarts", parseFloat(result.pe1.L_starts));
                                    setState("Pellematic.Ofen.Brennerlaufzeit", parseFloat(result.pe1.L_runtime));
                                    setState("Pellematic.Ofen.Mittlere_Laufzeit", parseFloat(result.pe1.L_avg_runtime));
                                }
                            } else {
                                log('Fehler:' + error);
                            }
                    
                        });   // Ende request 
                        log('Daten aus Ökofen eingelesen');
                    }
                    
                    function objekteAnlegen () {
                        createState('Pellematic.Ambient.Aussentemperatur', {name: 'Außentemperatur', type: 'number', unit:'°C'});
                    
                        createState('Pellematic.Heizkreis.Raumtemperatur_ist', {name: 'Raumtemperatur ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Heizkreis.Raumtemperatur_soll', {name: 'Raumtemperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Heizkreis.Absenktemperatur_soll', {name: 'Absenktemperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Heizkreis.Vorlauftemperatur_ist', {name: 'Vorlauftemperatur ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Heizkreis.Vorlauftemperatur_soll', {name: 'Vorlauftemperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Heizkreis.Status', {name: 'Status', type: 'string'});
                    
                        createState('Pellematic.Puffer.Temperatur_oben_ist', {name: 'Temperatur oben ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Puffer.Temperatur_oben_soll', {name: 'Temperatur oben soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Puffer.Temperatur_unten_ist', {name: 'Temperatur unten ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Puffer.Temperatur_unten_soll', {name: 'Temperatur unten soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Puffer.Ladepumpe', {name: 'Ladepumpe', type: 'number', unit:'%'});
                        createState('Pellematic.Puffer.Status', {name: 'Status', type: 'string'});
                    
                        createState('Pellematic.Warmwasser.Temperatur_ist', {name: 'Temperatur ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Warmwasser.Temperatur_soll', {name: 'Temperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Warmwasser.Pumpe_an', {name: 'Pumpe an', type: 'boolean'});
                        createState('Pellematic.Warmwasser.Status', {name: 'Status', type: 'string'});
                        createState('Pellematic.Warmwasser.Modus', {name: 'Modus', type: 'number'});
                    
                        createState('Pellematic.Ofen.Modulation', {name: 'Modulation', type: 'number', unit:'%'});
                        createState('Pellematic.Ofen.Kesseltemperatur_ist', {name: 'Kesseltemperatur ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Ofen.Kesseltemperatur_soll', {name: 'Kesseltemperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Ofen.Feuerraumtemperatur_ist', {name: 'Feuerraumtemperatur ist', type: 'number', unit:'°C'});
                        createState('Pellematic.Ofen.Feuerraumtemperatur_soll', {name: 'Feuerraumtemperatur soll', type: 'number', unit:'°C'});
                        createState('Pellematic.Ofen.Status', {name: 'Status', type: 'string'});
                        createState('Pellematic.Ofen.Brennerstarts', {name: 'Brennerstarts', type: 'number'});
                        createState('Pellematic.Ofen.Brennerlaufzeit', {name: 'Brennerlaufzeit', type: 'number', unit:'h'});
                        createState('Pellematic.Ofen.Mittlere_Laufzeit', {name: 'Mittlere Laufzeit', type: 'number', unit:'min'});
                    }
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • M
                      Mangid last edited by

                      Hallo looxer01,

                      und hast du dich schon für ein Update entschieden?

                      Bei mir läuft es stabil! Ich vermisse nur die Info ob die HK-Pumpe läuft oder nicht!

                      Du hast mal erwähnt, dass du:
                      > 1\. Die Messung über eine HM-Schnittstelle. Die wird geschaltet, wenn Strom anliegt. Damit kann ich die Laufzeit der Schnecke gemessen werden.
                      Welche HM-Schnittstelle hast du denn dafür verwendet?

                      Danke!

                      lg

                      Niki

                      1 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        Hi,

                        hatte ich mal im HM Forum beschriebe. Damals gabs noch kein ioBroker. Da hatte ich das mit Homematik gemacht.

                        Das mache ich immer noch zusätzlich so. Redundanz erhöht eben die Zuverlässigkeit. (eines meiner zwei noch laufenden Programme auf der CCU)

                        Link ist hier:

                        https://homematic-forum.de/forum/viewto … %C3%A4hler

                        vG Looxer

                        1 Reply Last reply Reply Quote 0
                        • E
                          eifeladmin last edited by

                          Hallo zusammen,

                          ich wollte hier das Thema nochmals aufgreifen.

                          Ich habe seit einigen Tagen ebenfalls eine Ökofen Heizung und wollte diese in IoBroker integrieren.

                          Hatte bereits Kontakt mit looxer01 für die Konfiguration von ModBus. Bei meiner Anlage scheint das Register etwas anders zu sein, daher bekomme ich nicht alle Werte ausgelesen.

                          Daher habe ich ich es mal mit JSON versucht und das Skript integriert.

                          Leider erhalte ich folgenden Fehler im Log:

                          typeError: Cannot read property 'L_tpo_act' of undefined at Request._callback (script.js.common.Pelletheizung:37:89) at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/no
                          uncaught exception: Cannot read property 'L_tpo_act' of undefined
                          
                          

                          Es werden nur die Werte oberhalb des Befehls eingelesen, danach aber nicht mehr.

                          Habt ihr vielleicht eine Idee woran es liegen könnte?

                          Vielen Dank und

                          Gruß

                          EA

                          1 Reply Last reply Reply Quote 0
                          • E
                            eifeladmin last edited by

                            Hallo Leute,

                            also ich hab den Fehler in JavaScirpt selbst weg bekommen.

                            Kann ich den darüber auch die Laufzeit der Schnecke auslesen um den Verbrauch zu berechnen?

                            VG

                            EA

                            1 Reply Last reply Reply Quote 0
                            • E
                              eifeladmin last edited by eifeladmin

                              Hallo Community,

                              für alle die es interessiert, in der aktuellen Firmware ist der Füllstand des Silos eingebaut.
                              Man kann ebenfalls den Stand des Zwischenlagers sowie die Befüllungen auslesen.

                              Lässt sich auch über JSON auslesen.

                              VG
                              EA

                              1 Reply Last reply Reply Quote 0
                              • T
                                tibs last edited by

                                Hallo zusammen,

                                ich habe seit einigen Monaten einen Ökofen-Kessel mit eben dieser aktuellen Software mit Füllstandsanzeige, und muss leider sagen, dass diese sich zumindest bei meiner Heizung durch mehrere Effekte ziemlich verrechnet. 🙄 Der Fehler wurde mir von der Hotline bestätigt und es wurde eine neue Firmware für Anfang 2020 angekündigt.

                                Eine Anfänger-Frage: wo und wie habt ihr die Verbindung zur Heizung angeschlossen? Direkt über die Netzwerkbuchse in der Heizung oder über einen RS485-Ethernet-Adapter und 2 Drähte an die Schraubanschlüsse?

                                Danke und viele Grüße,
                                tibs

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rakoe last edited by rakoe

                                  Update:
                                  Meine Anfrage hat sich inzwischen erledigt.
                                  Danke an ALLE!


                                  Hallo zusammen,

                                  ich bekomme leider keine Verbindung zu meiner Ökofen.

                                  267812d3-835d-4d34-aa2c-6a4fae22855d-image.png

                                  4411f66a-a56a-476c-ad5f-94e0dc71ed30-image.png

                                  bcba5a83-aceb-47a3-91bb-62dba7073f55-image.png

                                  01422670-ddf5-41c0-88bc-56ad0a5738b3-image.png

                                  Hat jemand eine Idee, woran es liegen mag? In Loxone frage ich die 62 ab und bekomme aktuelle Werte.

                                  Danke für Eure Unterstützung!
                                  Ralf Köster

                                  1 Reply Last reply Reply Quote 0
                                  • O
                                    OliWit82 last edited by

                                    Hallo in die Runde,

                                    Habe seit gestern auch eine laufende Ökofen Pelematic. Software Version 4.00b

                                    Wie binde ich die Anlage denn jetzt am besten in IoBroker an? Über ModBus oder über JSON?

                                    Gruß
                                    Oliver

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      AndaleR @OliWit82 last edited by

                                      Hmm. Bei mir gab es eine neue Modbus-Version in ioBroker - 4.0.4.

                                      Jetzt war ich heute Früh bei der ÖkoFEN-Heizung und habe gestaunt: Solarkreis Betrieb AUS.

                                      Nach einigem hin und her habe ich gesehen: sobald der Modbus mit Heizung verbunden ist, geht Solar aus…

                                      Was kann hier das Problem sein?

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      675
                                      Online

                                      31.7k
                                      Users

                                      79.8k
                                      Topics

                                      1.3m
                                      Posts

                                      8
                                      28
                                      6851
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo