Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus Adapter mit Ökofen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Modbus Adapter mit Ökofen

Scheduled Pinned Locked Moved ioBroker Allgemein
28 Posts 8 Posters 7.9k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mangid
    wrote on last edited by
    #19

    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
    0
    • M Offline
      M Offline
      Mangid
      wrote on last edited by
      #20

      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
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #21

        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
        0
        • E Offline
          E Offline
          eifeladmin
          wrote on last edited by
          #22

          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
          0
          • E Offline
            E Offline
            eifeladmin
            wrote on last edited by
            #23

            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
            0
            • E Offline
              E Offline
              eifeladmin
              wrote on last edited by eifeladmin
              #24

              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
              0
              • T Offline
                T Offline
                tibs
                wrote on last edited by
                #25

                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. :face_with_rolling_eyes: 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
                0
                • R Offline
                  R Offline
                  rakoe
                  wrote on last edited by rakoe
                  #26

                  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
                  0
                  • O Offline
                    O Offline
                    OliWit82
                    wrote on last edited by
                    #27

                    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
                    0
                    • O OliWit82

                      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 Offline
                      A Offline
                      AndaleR
                      wrote on last edited by
                      #28

                      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
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

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

                      872

                      Online

                      32.4k

                      Users

                      81.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe