Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] BHKW Status abfragen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    897

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] BHKW Status abfragen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
19 Beiträge 4 Kommentatoren 2.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jgoller
    schrieb am zuletzt editiert von
    #1

    Hallo Forengemeinde,

    ich bin ziemlich neu bei iobroker und hab nun schon ein bisschen rumprobiert. Ich kann meine HM-Lampen steuern, Rollos bewegen und SmartMeter (Hager eHz) abfragen. Jetzt würde ich gerne mein BHKW (Senertec Dachs HKA) abfragen, um die erzeugte Leistung, Temperaturen und Zustände abzugreifen. Nur leider war ich mit javascript bisher überhaupt nicht zu Gange. Auch mit API hab ich keinerlei Erfahrungen. Bisher hab ich das in IP-Symcon mit php gemacht, und auch da nur mit einigem rumprobieren.

    Ein Aufruf bzw. eine Abrage hab ich in ip-symcon bisher so gelöst:

    Damals bin ich nach dieser Anleitung vorgegangen: https://www.symcon.de/forum/threads/158 … n-Ethernet

    Wie lässt sich so etwas nun in iobroker umsetzen? Wer kann mir hier Tipps geben?

    Gruß

    jgoller

    1 Antwort Letzte Antwort
    0
    • ThisoftT Offline
      ThisoftT Offline
      Thisoft
      schrieb am zuletzt editiert von
      #2

      Probier mal das folgende Script:

          var url="http://user:pass@192.168.x.xx:8080/getKey?k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.bWwPumpe&k=Hka_Mw1.Aktor.fFreiAltWaerm&k=Hka_Mw1.Aktor.fUPHeizkreis1&k=Hka_Mw1.Aktor.fUPHeizkreis2";
          var req=require('request');
      
          req.get(url,function(error,response,body){
          if(body){
              log(body,"info");
          }
          else
              {log(error + response,"warn");}
          });
      

      Wenn damit erstmal Daten ins Log geschrieben werden hast du gewonnen…

      22 HM-Geräte; PivCCU2 auf RasPi

      ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        jgoller
        schrieb am zuletzt editiert von
        #3

        Hey Thiesoft,

        perfekt, DANKE. Im Log stehen die Daten vom BHKW. Jetzt muss ich nur mal sehen, wie ich die Abfrage aufdrösel und die Werte in die Objekte? bekomme. Ich bin in Javascript leider ne absolute Null. Vielleicht hast ja noch einen Hinweis oder einen Thread, wo ich so was nachlesen kann??

        1 Antwort Letzte Antwort
        0
        • ThisoftT Offline
          ThisoftT Offline
          Thisoft
          schrieb am zuletzt editiert von
          #4

          Schön dass das erstmal klappt.

          Stell mal ein Beispiel der geloggten Daten hier rein. Das Aufdröseln ist üblicherweise mit wenigen Zeilen erledigt…

          22 HM-Geräte; PivCCU2 auf RasPi

          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            jgoller
            schrieb am zuletzt editiert von
            #5

            Das Log sieht so aus:

            ! smartmeter.0 2017-09-10 12:46:11.207 info Received 7 values, 3 updated javascript.0 2017-09-10 12:46:05.155 info Hka_Mw1.sWirkleistung=0.000 javascript.0 2017-09-10 12:46:05.155 info Hka_Mw1.Temp.sbAussen=1.600 javascript.0 2017-09-10 12:46:05.155 info Hka_Mw1.Aktor.bWwPumpe=0 javascript.0 2017-09-10 12:46:05.155 info Hka_Mw1.Aktor.fUPHeizkreis1=false javascript.0 2017-09-10 12:46:05.155 info script.js.common.BhkwDaten: Hka_Mw1.Aktor.fUPHeizkreis2=false javascript.0 2017-09-10 12:46:05.044 info script.js.common.BhkwDaten: registered 0 subscriptions and 0 schedules javascript.0 2017-09-10 12:46:04.846 info Start javascript script.js.common.BhkwDaten javascript.0 2017-09-10 12:46:04.822 info Stop script script.js.common.BhkwDaten smartmeter.0 2017-09-10 12:45:49.231 info Received 7 values, 3 updated hm-rpc.1 2017-09-10 12:45:44.583 info xmlrpc -> 0 devices hm-rpc.1 2017-09-10 12:45:44.576 info xmlrpc <- listDevices ['hm-rpc.1'] smartmeter.1 2017-09-10 12:45:36.581 info Received 7 values, 3 updated smartmeter.0 2017-09-10 12:45:27.237 info Received 7 values, 3 updated !

            Hab jetzt mal nur den Abschnitt genommen, wenn ich das Skript ausführe. Das sind erstmal die wichtigsten BHKW-Parameter: aktuelle Wirkleistung, Aussentemperatur, Brauchwasser Ladepumpe in %, Heizkreispumpe 1 und 2 true/false. Wenn ich mal verstanden habe, wie es geht, kann ich das ja noch erweitern.

            Gruß

            jgoller

            1 Antwort Letzte Antwort
            0
            • ThisoftT Offline
              ThisoftT Offline
              Thisoft
              schrieb am zuletzt editiert von
              #6

              Ändere mal die Zeile:

                      log(body,"info");
              
              

              in:

              log(body.split("Hka_")[0]);
              

              und poste nochmal das Ergebnis. Da hier offensichtlich Zeilenumbrüche im Rückgabewert sind muss ich mich mal ein wenig "rantasten"…

              22 HM-Geräte; PivCCU2 auf RasPi

              ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                jgoller
                schrieb am zuletzt editiert von
                #7

                Ich habe die Zeile ersetzt, nun kommt folgendes Ergebnis:

                22:42:33.451	[info]	javascript.0 Start javascript script.js.common.BhkwDaten
                22:42:33.452	[info]	javascript.0 script.js.common.BhkwDaten: registered 0 subscriptions and 0 schedules
                22:42:33.590	[info]	javascript.0 script.js.common.BhkwDaten:
                

                Gruß

                1 Antwort Letzte Antwort
                0
                • ThisoftT Offline
                  ThisoftT Offline
                  Thisoft
                  schrieb am zuletzt editiert von
                  #8

                  Hmm - da muss ich noch ein wenig probieren. Bin jetzt nicht an meinem System…

                  Versuchs mal mit der Zeile:

                  log(JSON.stringify(body.split("Hka_")));
                  

                  22 HM-Geräte; PivCCU2 auf RasPi

                  ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                  1 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    jgoller
                    schrieb am zuletzt editiert von
                    #9

                    Guten Morgen

                    nun erhalte ich folgende Ausgabe:

                    08:08:01.228	[info]	javascript.0 Stop script script.js.common.BhkwDaten
                    08:08:01.506	[info]	javascript.0 Start javascript script.js.common.BhkwDaten
                    08:08:01.507	[info]	javascript.0 script.js.common.BhkwDaten: registered 0 subscriptions and 0 schedules
                    08:08:01.701	[info]	javascript.0 script.js.common.BhkwDaten: ["","Mw1.Aktor.fUPHeizkreis2=true\n","Mw1.Aktor.fUPHeizkreis1=true\n","Mw1.Aktor.bWwPumpe=0\n","Mw1.Temp.sbAussen=1.100\n","Mw1.sWirkleistung=0.000\n\n"
                    
                    

                    Ich blicke den Code nicht bzw. nur teilweise. Da muss ich noch einigen Code studieren!

                    Gruß

                    jgoller

                    1 Antwort Letzte Antwort
                    0
                    • ThisoftT Offline
                      ThisoftT Offline
                      Thisoft
                      schrieb am zuletzt editiert von
                      #10

                      Gut, das hilft mir schon weiter. Damit sollte ich dir heute abend was basteln können.

                      Einen Versuch könntest Du trotzdem noch machen - kann aber sein dass Javascript da einen Fehler wirft. So ganz hab ich die Gepflogenheiten von Javascript auch nicht intus, ist nicht direkt meine bevorzugte Programmiersprache…

                      log(JSON.stringify(body.split("\n")));
                      

                      22 HM-Geräte; PivCCU2 auf RasPi

                      ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        jgoller
                        schrieb am zuletzt editiert von
                        #11

                        Keine Fehlermeldungen, folgendes erscheint im Log:

                        10:07:58.499	[info]	javascript.0 Stop script script.js.common.BhkwDaten
                        10:07:58.780	[info]	javascript.0 Start javascript script.js.common.BhkwDaten
                        10:07:58.781	[info]	javascript.0 script.js.common.BhkwDaten: registered 0 subscriptions and 0 schedules
                        10:07:58.875	[info]	javascript.0 script.js.common.BhkwDaten: ["Hka_Mw1.Aktor.fUPHeizkreis2=false","Hka_Mw1.Aktor.fUPHeizkreis1=false","Hka_Mw1.Aktor.bWwPumpe=0","Hka_Mw1.Temp.sbAussen=1.600","Hka_Mw1.sWirkleistung=0.000","",""]
                        
                        

                        Was mir auffällt: zB bei Hka_Mw1.Temp.sbAussen=1.600 , soll natürlich 16.00 sein. Da lässt sich später bestimmt noch irgendwo ein Faktor (hier x10) definieren, oder?

                        Echt Hammer, welche Mühe du dir machst. DANKE!!

                        Gruß

                        1 Antwort Letzte Antwort
                        0
                        • ThisoftT Offline
                          ThisoftT Offline
                          Thisoft
                          schrieb am zuletzt editiert von
                          #12

                          Sehr gut. Machen wir noch einen Versuch. Muss ich heute Abend nicht so viel testen ;)

                          var gesplittet = body.split("\n").split("="));
                          log(JSON.stringify(gesplittet);
                          log(gesplittet[1][0]);
                          

                          22 HM-Geräte; PivCCU2 auf RasPi

                          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                          1 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            jgoller
                            schrieb am zuletzt editiert von
                            #13

                            Okay. Hier kam ne Fehlermeldung:

                            12:31:41.832	[error]	javascript.0 script.js.common.BhkwDaten compile failed: SyntaxError: Unexpected token )
                            

                            In der ersten Zeile ist ein ) zu viel, dafür fehlt es in der zweiten Zeile. Ich hab das mal korrigiert, dann kommt im Logfile:

                            12:35:32.032	[error]	javascript.0 TypeError: body.split(...).split is not a function at Request._callback (script.js.common.BhkwDaten:20:35) at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:188:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1171:10) at emitOne (events.js:77:13) at Request.emit (events.js:169:7) at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1091:12) at IncomingMessage.g (events.js:260:16) at emitNone (events.js:72:20)
                            

                            Hoffe, das hilft dir weiter!

                            Gruß

                            1 Antwort Letzte Antwort
                            0
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #14

                              Versuche es mal so:

                              var gesplittet = body.split("\n");
                              log(JSON.stringify(gesplittet));
                              log(gesplittet[1].split("=")[0]);
                              

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #15

                                Da die Rückgabe in umgekehrter Reihenfolge zum Abfrage-String erfolgt, erhältst Du so die Werte:

                                var list = body.split("\n");
                                var hk2  = toBoolean(list[0].split("=")[1]);
                                var hk1  = toBoolean(list[1].split("=")[1]);
                                var bww  = toBoolean(list[2].split("=")[1]);
                                var at   = 10 * parseFloat(list[3].split("=")[1]);
                                var power = parseFloat(list[4].split("=")[1]);
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • J Offline
                                  J Offline
                                  jgoller
                                  schrieb am zuletzt editiert von
                                  #16

                                  Hey Thisoft und paul53,

                                  ich DANKE euch wie verrückt. Es läuft, die Variablen werden mit (den richtigen) Werten bestückt. Damit kann ich jetzt arbeiten und das mit den mir wichtigen Sachen erweitern.

                                  Ob sich daraus vielleicht sogar ein Adapter für die wichtigen bzw. gebräuchlichsten (verbreitetsten) Heizungen bauen lässt? Vielleicht hat ja mal jemand Lust dazu!

                                  Wenn ich das mal soweit hab, kann ich ja das Skript mal hier noch rein posten!

                                  Gruß

                                  jgoller

                                  1 Antwort Letzte Antwort
                                  0
                                  • ThisoftT Offline
                                    ThisoftT Offline
                                    Thisoft
                                    schrieb am zuletzt editiert von
                                    #17

                                    Ooch - jetzt wird mir doch heut abend langweilig und ihr seid schuld :lol:

                                    Super dass es jetzt läuft. Siehst Du war doch gar nicht schwer…

                                    22 HM-Geräte; PivCCU2 auf RasPi

                                    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von paul53
                                      #18

                                      @jgoller:

                                      Es läuft, die Variablen werden mit (den richtigen) Werten bestückt.

                                      Dann markiere bitte das Thema als gelöst (im ersten Beitrag).

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        sim2
                                        schrieb am zuletzt editiert von
                                        #19

                                        Hallo,

                                        könnte ich mal das ganz Script sehen ?

                                        Gruß

                                        Tim

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        722

                                        Online

                                        32.6k

                                        Benutzer

                                        82.2k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe