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. Skripten / Logik
  4. Blockly
  5. [Gelöst] Diverse Werte aus einem Objekt auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    400

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

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

[Gelöst] Diverse Werte aus einem Objekt auslesen

Scheduled Pinned Locked Moved Blockly
ventilation
57 Posts 7 Posters 19.0k Views 7 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.
  • haselchenH haselchen

    @Chaot
    @paul53
    @fastfoot

    Eigentlich genau das, was ich gesucht habe.
    Ich bekomme aus meinem Regensensor ein paar Werte. Ich will nur den Regenerkennungswert ON oder OFF haben.

    {"idx":10,"RSSI":10,"command":"switchlight","switchcmd":"Off"}
    

    Script sieht so aus:

    //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
    //Idee: Chaot
    // Umsetzung: paul53
     
    var json = "mqtt.0.Wetterstation.in"/*Regenerkennung*/;
    var Switch = "javascript.0.Wetterstation.Regenerkennung"/*AN oder AUS*/;
    
    
    on(json, function(dp) {
       var obj = JSON.parse(dp.state.val);
       setState(Switch, parseFloat(obj.switchcmd));
    });
    

    Datenpunkt ist angelegt als Logikwert.
    Fehlermeldung im Log und Datenpunkt ist leer.

    2020-11-03 13:08:30.193 - warn: javascript.0 (18363) Wrong type of javascript.0.Wetterstation.Regenerkennung: "number". Please fix, while deprecated and will not work in next versions.
    2020-11-03 13:08:30.194 - warn: javascript.0 (18363) at Object. (script.js.Regenerkennung:11:4)
    

    d10f3f4e-8964-495a-89c3-8493dcdd80c8-image.png

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #17

    @haselchen sagte:

    Datenpunkt ist angelegt als Logikwert.

    Dann:

       setState(Switch, obj.switchcmd == "On", true);
    

    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

    haselchenH 1 Reply Last reply
    0
    • paul53P paul53

      @haselchen sagte:

      Datenpunkt ist angelegt als Logikwert.

      Dann:

         setState(Switch, obj.switchcmd == "On", true);
      
      haselchenH Offline
      haselchenH Offline
      haselchen
      Most Active
      wrote on last edited by haselchen
      #18

      @paul53

      Geändert, aber trotzdem erscheint kein on oder off im Datenpunkt :(

      //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
      //Idee: Chaot
      // Umsetzung: paul53
       
      var json = "mqtt.0.Wetterstation.in"/*Regenerkennung*/;
      var Switch = "javascript.0.Wetterstation.Regenerkennung"/*AN oder AUS*/;
      
      
      on(json, function(dp) {
         var obj = JSON.parse(dp.state.val);
         setState(Switch, obj.switchcmd == "On", true);
      });
      

      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

      paul53P 1 Reply Last reply
      0
      • haselchenH haselchen

        @paul53

        Geändert, aber trotzdem erscheint kein on oder off im Datenpunkt :(

        //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
        //Idee: Chaot
        // Umsetzung: paul53
         
        var json = "mqtt.0.Wetterstation.in"/*Regenerkennung*/;
        var Switch = "javascript.0.Wetterstation.Regenerkennung"/*AN oder AUS*/;
        
        
        on(json, function(dp) {
           var obj = JSON.parse(dp.state.val);
           setState(Switch, obj.switchcmd == "On", true);
        });
        
        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #19

        @haselchen sagte:

        trotzdem erscheint kein on oder off im Datenpunkt

        Ein Datenpunkt vom Typ "Logikwert" kennt nur false und true.
        Wenn Du "On" oder "Off" haben möchtest, muss der Datenpunkt vom Typ "Zeichenkette" sein.

        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

        haselchenH 1 Reply Last reply
        0
        • paul53P paul53

          @haselchen sagte:

          trotzdem erscheint kein on oder off im Datenpunkt

          Ein Datenpunkt vom Typ "Logikwert" kennt nur false und true.
          Wenn Du "On" oder "Off" haben möchtest, muss der Datenpunkt vom Typ "Zeichenkette" sein.

          haselchenH Offline
          haselchenH Offline
          haselchen
          Most Active
          wrote on last edited by
          #20

          @paul53

          Und wie bekomme ich das jetzt hin, dass dort der Wert aus dem Json erscheint (On,Off)?

          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

          paul53P 1 Reply Last reply
          0
          • haselchenH haselchen

            @paul53

            Und wie bekomme ich das jetzt hin, dass dort der Wert aus dem Json erscheint (On,Off)?

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #21

            @haselchen sagte:

            Wert aus dem Json erscheint (On,Off)?

            Datenpunkt-Typ ändern in "Zeichenkette" und

               setState(Switch, obj.switchcmd, true);
            

            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

            haselchenH 1 Reply Last reply
            1
            • paul53P paul53

              @haselchen sagte:

              Wert aus dem Json erscheint (On,Off)?

              Datenpunkt-Typ ändern in "Zeichenkette" und

                 setState(Switch, obj.switchcmd, true);
              
              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              wrote on last edited by
              #22

              @paul53

              Schon der Hammer, wie Du das so aus dem Ärmel schüttelst.
              Noch eine Verständnisfrage, wenn ich den Datenpunkt im Blockly triggern will, ist wahrscheinlich true oder false doch am Sinnvollsten oder?

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

              paul53P 1 Reply Last reply
              0
              • haselchenH haselchen

                @paul53

                Schon der Hammer, wie Du das so aus dem Ärmel schüttelst.
                Noch eine Verständnisfrage, wenn ich den Datenpunkt im Blockly triggern will, ist wahrscheinlich true oder false doch am Sinnvollsten oder?

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #23

                @haselchen sagte:

                wenn ich den Datenpunkt im Blockly triggern will, ist wahrscheinlich true oder false doch am Sinnvollsten oder?

                Man kann innerhalb des Triggers auch einen String-Vergleich machen.

                falls Wert == "On"
                mache ...
                sonst ...
                

                Allerdings sollte Standard sein, dass Datenpunkte, die nur zwei Zustände annehmen können, vom Typ "Logikwert" sind. Es gibt ja noch die Zustandstexte (common.states).

                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

                haselchenH F 2 Replies Last reply
                1
                • paul53P paul53

                  @haselchen sagte:

                  wenn ich den Datenpunkt im Blockly triggern will, ist wahrscheinlich true oder false doch am Sinnvollsten oder?

                  Man kann innerhalb des Triggers auch einen String-Vergleich machen.

                  falls Wert == "On"
                  mache ...
                  sonst ...
                  

                  Allerdings sollte Standard sein, dass Datenpunkte, die nur zwei Zustände annehmen können, vom Typ "Logikwert" sind. Es gibt ja noch die Zustandstexte (common.states).

                  haselchenH Offline
                  haselchenH Offline
                  haselchen
                  Most Active
                  wrote on last edited by
                  #24

                  @paul53

                  Hab mir beide Varianten offen gehalten....true/false on/off.
                  Danke für die schnelle Hilfe.

                  Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                  1 Reply Last reply
                  0
                  • paul53P paul53

                    @haselchen sagte:

                    wenn ich den Datenpunkt im Blockly triggern will, ist wahrscheinlich true oder false doch am Sinnvollsten oder?

                    Man kann innerhalb des Triggers auch einen String-Vergleich machen.

                    falls Wert == "On"
                    mache ...
                    sonst ...
                    

                    Allerdings sollte Standard sein, dass Datenpunkte, die nur zwei Zustände annehmen können, vom Typ "Logikwert" sind. Es gibt ja noch die Zustandstexte (common.states).

                    F Offline
                    F Offline
                    fastfoot
                    wrote on last edited by
                    #25

                    @paul53 sagte in [Gelöst] Diverse Werte aus einem Objekt auslesen:

                    Es gibt ja noch die Zustandstexte (common.states).

                    wozu dienen die genau, soweit ich verstanden habe wirken die sich nur auf die Ansicht im Objektbaum aus? Für eine entsprechende Ansicht/Ausgabe im Skript oder VIS müsste man die extra abfragen(mit getObject())?

                    iobroker läuft unter Docker auf QNAP TS-451+
                    SkriptRecovery: https://forum.iobroker.net/post/930558

                    paul53P 1 Reply Last reply
                    0
                    • F fastfoot

                      @paul53 sagte in [Gelöst] Diverse Werte aus einem Objekt auslesen:

                      Es gibt ja noch die Zustandstexte (common.states).

                      wozu dienen die genau, soweit ich verstanden habe wirken die sich nur auf die Ansicht im Objektbaum aus? Für eine entsprechende Ansicht/Ausgabe im Skript oder VIS müsste man die extra abfragen(mit getObject())?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #26

                      @fastfoot sagte:

                      Für eine entsprechende Ansicht/Ausgabe im Skript oder VIS müsste man die extra abfragen(mit getObject())?

                      Ja.

                      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 Reply Last reply
                      1
                      • ChaotC Chaot

                        @smile Aber wenn ich mir die Sensorik so durchschaue sind das alles ganz normale Sensoren die auch einzeln erhältlich sind und die auch bei mir zum Teil verbaut sind.

                        PMS5003 - ca 25 € - Feinstaub PM1, 2,5, 10
                        BME680 - ca. 3 € - Temp., Druck, Feuchte, VOC, CO2
                        Xadow (Grove) Mutichannel Gas Sensor - ca. 40 € - für verschiedene andere Gase
                        WemosD1 - ca. 3 € - als Basis der ganzen Geschichte mit Tasmota bespielt.

                        Dazu kannst du dir aus der ganzen Liste noch deine Lieblingssensoren (Genauigkeit) auswählen:
                        https://tasmota.github.io/docs/Supported-Peripherals/

                        smileS Offline
                        smileS Offline
                        smile
                        wrote on last edited by
                        #27

                        @Chaot Klar, man kann fast immer mit diversen einzelnen China Sensoren alles günstiger hinbekommen. Wobei ich Sauerstoff Wert jetzt noch bei keinem von den von dir genannten gesehen habe.

                        Für mich ist es aber mittlerweile auch ein gewisser Luxus wenn ich weniger Geräte verwalten / einbinden / pflegen muss. Und wenn ich hier ein Gerät habe, mit einer App dazu, und einer MQTT Anbindung, eine Firmware die geupdatet wird etc.. dann ist das für mich sehr angenehm.
                        Aber natürlich wie immer: Jeder wie er lieber mag / das Budget ermöglicht.


                        io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                        Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                        ChaotC 1 Reply Last reply
                        0
                        • smileS smile

                          @Chaot Klar, man kann fast immer mit diversen einzelnen China Sensoren alles günstiger hinbekommen. Wobei ich Sauerstoff Wert jetzt noch bei keinem von den von dir genannten gesehen habe.

                          Für mich ist es aber mittlerweile auch ein gewisser Luxus wenn ich weniger Geräte verwalten / einbinden / pflegen muss. Und wenn ich hier ein Gerät habe, mit einer App dazu, und einer MQTT Anbindung, eine Firmware die geupdatet wird etc.. dann ist das für mich sehr angenehm.
                          Aber natürlich wie immer: Jeder wie er lieber mag / das Budget ermöglicht.

                          ChaotC Offline
                          ChaotC Offline
                          Chaot
                          wrote on last edited by
                          #28

                          @smile Da hast du natürlich Recht wenn du die Sensorik als AllInOne Gerät haben möchtest ist das eine wohl teure aber elegante Lösung.
                          Ich kann zwar nicht nachvollziehen was der Sauerstoffwert bringt, aber das ist an der Stelle auch nicht so wichtig.
                          Es scheint auch tatsächlich keinen wirklichen Sauerstoffsensor zu geben.

                          In meinem Fall ist es halt so, das ich die Sensoren nur dort einsetze wo sie auch gebraucht werden. Also der Feinstaubsensor oberhalb der Haustür zur Straße hin, der CO Sensor an der Heizungsanlage und diverse Luftqualitätssensoren BME680 bzw. CCS811 in den Wohnräumen.
                          Das wären dann auf die Geräte hochgerechnet so um die knapp 3000 € und das ist mir auch mit Mengenrabatt zu heftig.
                          Zudem ist dann auch der DIY Spaß weg der zum ioBroker nach meiner Meinung zwingend dazugehört :blush:

                          ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                          smileS 1 Reply Last reply
                          1
                          • ChaotC Chaot

                            @smile Da hast du natürlich Recht wenn du die Sensorik als AllInOne Gerät haben möchtest ist das eine wohl teure aber elegante Lösung.
                            Ich kann zwar nicht nachvollziehen was der Sauerstoffwert bringt, aber das ist an der Stelle auch nicht so wichtig.
                            Es scheint auch tatsächlich keinen wirklichen Sauerstoffsensor zu geben.

                            In meinem Fall ist es halt so, das ich die Sensoren nur dort einsetze wo sie auch gebraucht werden. Also der Feinstaubsensor oberhalb der Haustür zur Straße hin, der CO Sensor an der Heizungsanlage und diverse Luftqualitätssensoren BME680 bzw. CCS811 in den Wohnräumen.
                            Das wären dann auf die Geräte hochgerechnet so um die knapp 3000 € und das ist mir auch mit Mengenrabatt zu heftig.
                            Zudem ist dann auch der DIY Spaß weg der zum ioBroker nach meiner Meinung zwingend dazugehört :blush:

                            smileS Offline
                            smileS Offline
                            smile
                            wrote on last edited by
                            #29

                            @Chaot Alles gut, kann ich auch total verstehen die Herangehensweise.
                            Für mich ist das Gesamtpaket hier angenehmer alles in einem zu haben, was nicht heißt dass ich den Preis nicht auch gehoben finde.
                            Der Hersteller hat mir gesagt dass die Summe an Sensoren wirklich nicht günstig in der Produktion sind und sie sollen auch sehr genau sein - hier ein Vergleich zu starten wird aber wohl sicherlich schwierig ;-)

                            Nundenn, trotzdem nun ein Gerät mehr welches mit iobroker wunderbar harmoniert - darüber freue ich mich :-)


                            io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                            Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                            1 Reply Last reply
                            1
                            • ChaotC Chaot

                              @smile Vielleicht hilft dir das Script das ich für meine Heizungsüberwachung verwende.
                              Ich erhalte als Datenpunkt eine JSON (wie scheinbar du auch).
                              der sieht im Original so aus:

                              {"heatingActive":"0","tapwaterActive":"0","selFlowTemp":31,"selBurnPow":100,"curBurnPow":0,"pumpMod":55,"outdoorTemp":16.4,"curFlowTemp":27.5,"retTemp":27.2,"switchTemp":0,"sysPress":1.2,"boilTemp":27.6,"burnGas":"0","flameCurr":0,"heatPump":"1","fanWork":"0","ignWork":"0","heatingActivated":"1","heatingTemp":90,"pumpModMax":100,"pumpModMin":55,"pumpDelay":10,"burnMinPeriod":10,"burnMinPower":0,"burnMaxPower":100,"boilHystOn":-6,"boilHystOff":6,"UBAuptime":4780321,"burnStarts":81276,"burnWorkMin":1793578,"heatWorkMin":1529665,"serviceCode":"0Y","serviceCodeNumber":204}
                              

                              Jetzt wird das Ganze zerlegt und in einzelne Datenpunkte geschrieben die ich dann in der VIS dastelle:

                              //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
                              //Idee: Chaot
                              // Umsetzung: paul53
                              
                              
                              var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                              var Vorl = "javascript.0.Heizung.Vorlauf"/*Vorlauf*/;
                              var Rueckl = "javascript.0.Heizung.Ruecklauf"/*Ruecklauf*/;
                              var Druck = "javascript.0.Heizung.Systemdruck"/*Systemdruck*/;
                              var GasAn = "javascript.0.Heizung.GasAn"/*Gas aktiv*/;
                              var Leistung = "javascript.0.Heizung.Leistung"/*Leistung*/;
                              var OutTemp = "javascript.0.Heizung.OutTemp"/*Aussentemperatur*/;
                              var BoilTemp = "javascript.0.Heizung.BoilTemp"/*Boilertemperatur*/;
                              var BurnStarts = "javascript.0.Heizung.BurnStarts"/*Brennerstarts*/;
                              var LaufzeitBrenner = "javascript.0.Heizung.LaufzeitBrenner"/*LaufzeitBrenner*/;
                              var LaufzeitGesamt = "javascript.0.Heizung.LaufzeitGesamt"/*LaufzeitGesamt*/;
                              var LaufzeitHeizung = "javascript.0.Heizung.LaufzeitHeizung"/*LaufzeitHeizung*/;
                              
                              
                              on(json, function(dp) {
                                 var obj = JSON.parse(dp.state.val);
                                 setState(Vorl, parseFloat(obj.curFlowTemp));
                                 setState(Rueckl, parseFloat(obj.retTemp)); 
                                 setState(Druck, parseFloat(obj.sysPress));  
                                 setState(GasAn, obj.burnGas);
                                 setState(Leistung, obj.curBurnPow);
                                 setState(OutTemp, obj.outdoorTemp);
                                 setState(BoilTemp, obj.boilTemp);
                                 setState(BurnStarts, obj.burnStarts);
                                 setState(LaufzeitBrenner, obj.burnWorkMin);   
                                 setState(LaufzeitGesamt, obj.UBAuptime);
                                 setState(LaufzeitHeizung, obj.heatWorkMin);
                              });
                              

                              var json ist dabei der Datenpunkt wo die Daten liegen. alle anderen var sind die Zielorte der Datenpunkte (die aber manuell erstellt werden müssen).
                              In der zweiten Hälfte erfolgt dann die Zerlegung der json Tabelle. Hier werden die Daten ausgelesen und geschrieben.

                              K Offline
                              K Offline
                              kratzsch
                              wrote on last edited by
                              #30

                              @Chaot Hallo kanst du mir ziegen wie die Datenpunkte konfiguriert werden müßen.
                              Ich habe auch die EMS-ESP von BBQ Kees und Lese über Domoticz aus.
                              Würde aber gern alles im Iobroker haben.
                              Über MQ TT habe ich die Daten im Iobroker.
                              MfG

                              ChaotC 1 Reply Last reply
                              0
                              • K kratzsch

                                @Chaot Hallo kanst du mir ziegen wie die Datenpunkte konfiguriert werden müßen.
                                Ich habe auch die EMS-ESP von BBQ Kees und Lese über Domoticz aus.
                                Würde aber gern alles im Iobroker haben.
                                Über MQ TT habe ich die Daten im Iobroker.
                                MfG

                                ChaotC Offline
                                ChaotC Offline
                                Chaot
                                wrote on last edited by
                                #31

                                @kratzsch Das Problem ist, dass die Daten als json Tabelle über den MQTT Adapter ankommen.
                                Ich zerlege die dann per Script in einzelne Datenpunkte die ich benötige und stelle die dann in VIS dar bzw schreibe die dann auch in die influx DB.

                                Heizung

                                //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
                                //Idee: Chaot
                                // Umsetzung: paul53
                                
                                
                                var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                                var Vorl = "javascript.0.Heizung.Vorlauf"/*Vorlauf*/;
                                var Rueckl = "javascript.0.Heizung.Ruecklauf"/*Ruecklauf*/;
                                var Druck = "javascript.0.Heizung.Systemdruck"/*Systemdruck*/;
                                var GasAn = "javascript.0.Heizung.GasAn"/*Gas aktiv*/;
                                var Leistung = "javascript.0.Heizung.Leistung"/*Leistung*/;
                                var OutTemp = "javascript.0.Heizung.OutTemp"/*Aussentemperatur*/;
                                var BoilTemp = "javascript.0.Heizung.BoilTemp"/*Boilertemperatur*/;
                                var BurnStarts = "javascript.0.Heizung.BurnStarts"/*Brennerstarts*/;
                                var LaufzeitBrenner = "javascript.0.Heizung.LaufzeitBrenner"/*LaufzeitBrenner*/;
                                var LaufzeitGesamt = "javascript.0.Heizung.LaufzeitGesamt"/*LaufzeitGesamt*/;
                                var LaufzeitHeizung = "javascript.0.Heizung.LaufzeitHeizung"/*LaufzeitHeizung*/;
                                
                                
                                on(json, function(dp) {
                                  var obj = JSON.parse(dp.state.val);
                                  setState(Vorl, parseFloat(obj.curFlowTemp));
                                  setState(Rueckl, parseFloat(obj.retTemp)); 
                                  setState(Druck, parseFloat(obj.sysPress));  
                                  setState(GasAn, obj.burnGas);
                                  setState(Leistung, obj.curBurnPow);
                                  setState(OutTemp, obj.outdoorTemp);
                                  setState(BoilTemp, obj.boilTemp);
                                  setState(BurnStarts, obj.burnStarts);
                                  setState(LaufzeitBrenner, obj.burnWorkMin);   
                                  setState(LaufzeitGesamt, obj.UBAuptime);
                                  setState(LaufzeitHeizung, obj.heatWorkMin);
                                });
                                

                                Warmwasser:

                                var json = "mqtt.0.ems-esp.boiler_data_ww"/*BoilerDaten*/;
                                var WWist = "javascript.0.Heizung.WarmwasserIst"/*Warmwasser Ist*/;
                                var WWsoll = "javascript.0.Heizung.WarmwasserSoll"/*Warmwasser Soll*/;
                                var WWAn = "javascript.0.Heizung.WarmwasserAn"/*Warmwasser aktiv*/;
                                var WWFlow = "javascript.0.Heizung.WarmwasserDurchfluss"/*Warmwasser Durchfluss*/;
                                var LaufzeitWW = "javascript.0.Heizung.LaufzeitWW"/*LaufzeitWW*/;
                                
                                on(json, function(dp) {
                                  var obj = JSON.parse(dp.state.val);
                                  setState(WWist, parseFloat(obj.wWCurTemp));
                                  setState(WWAn, obj.wWActivated);
                                  setState(WWFlow, obj.wWCurFlow);   
                                  setState(WWsoll, parseFloat(obj.wWSelTemp));
                                  setState(LaufzeitWW, obj.wWWorkM);
                                });
                                

                                Die Datenpunkte musst du dir manuell anlegen. Entsprechend kannst du sie dann dorthin legen wo sie dir am liebsten sind und du sie schnell erreichst.
                                Normalerweise würde ich sie in den Ordner 0_userdata.0 legen, der ja dafür auch vorgesehen ist. Aber als die Scripte entstanden sind gab es diesen Ordner noch nicht und ich habe noch keine Zeit/Lust gefunden meine Scripte und die VIS entsprechend umzuschreiben.

                                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                K 1 Reply Last reply
                                0
                                • ChaotC Chaot

                                  @kratzsch Das Problem ist, dass die Daten als json Tabelle über den MQTT Adapter ankommen.
                                  Ich zerlege die dann per Script in einzelne Datenpunkte die ich benötige und stelle die dann in VIS dar bzw schreibe die dann auch in die influx DB.

                                  Heizung

                                  //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
                                  //Idee: Chaot
                                  // Umsetzung: paul53
                                  
                                  
                                  var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                                  var Vorl = "javascript.0.Heizung.Vorlauf"/*Vorlauf*/;
                                  var Rueckl = "javascript.0.Heizung.Ruecklauf"/*Ruecklauf*/;
                                  var Druck = "javascript.0.Heizung.Systemdruck"/*Systemdruck*/;
                                  var GasAn = "javascript.0.Heizung.GasAn"/*Gas aktiv*/;
                                  var Leistung = "javascript.0.Heizung.Leistung"/*Leistung*/;
                                  var OutTemp = "javascript.0.Heizung.OutTemp"/*Aussentemperatur*/;
                                  var BoilTemp = "javascript.0.Heizung.BoilTemp"/*Boilertemperatur*/;
                                  var BurnStarts = "javascript.0.Heizung.BurnStarts"/*Brennerstarts*/;
                                  var LaufzeitBrenner = "javascript.0.Heizung.LaufzeitBrenner"/*LaufzeitBrenner*/;
                                  var LaufzeitGesamt = "javascript.0.Heizung.LaufzeitGesamt"/*LaufzeitGesamt*/;
                                  var LaufzeitHeizung = "javascript.0.Heizung.LaufzeitHeizung"/*LaufzeitHeizung*/;
                                  
                                  
                                  on(json, function(dp) {
                                    var obj = JSON.parse(dp.state.val);
                                    setState(Vorl, parseFloat(obj.curFlowTemp));
                                    setState(Rueckl, parseFloat(obj.retTemp)); 
                                    setState(Druck, parseFloat(obj.sysPress));  
                                    setState(GasAn, obj.burnGas);
                                    setState(Leistung, obj.curBurnPow);
                                    setState(OutTemp, obj.outdoorTemp);
                                    setState(BoilTemp, obj.boilTemp);
                                    setState(BurnStarts, obj.burnStarts);
                                    setState(LaufzeitBrenner, obj.burnWorkMin);   
                                    setState(LaufzeitGesamt, obj.UBAuptime);
                                    setState(LaufzeitHeizung, obj.heatWorkMin);
                                  });
                                  

                                  Warmwasser:

                                  var json = "mqtt.0.ems-esp.boiler_data_ww"/*BoilerDaten*/;
                                  var WWist = "javascript.0.Heizung.WarmwasserIst"/*Warmwasser Ist*/;
                                  var WWsoll = "javascript.0.Heizung.WarmwasserSoll"/*Warmwasser Soll*/;
                                  var WWAn = "javascript.0.Heizung.WarmwasserAn"/*Warmwasser aktiv*/;
                                  var WWFlow = "javascript.0.Heizung.WarmwasserDurchfluss"/*Warmwasser Durchfluss*/;
                                  var LaufzeitWW = "javascript.0.Heizung.LaufzeitWW"/*LaufzeitWW*/;
                                  
                                  on(json, function(dp) {
                                    var obj = JSON.parse(dp.state.val);
                                    setState(WWist, parseFloat(obj.wWCurTemp));
                                    setState(WWAn, obj.wWActivated);
                                    setState(WWFlow, obj.wWCurFlow);   
                                    setState(WWsoll, parseFloat(obj.wWSelTemp));
                                    setState(LaufzeitWW, obj.wWWorkM);
                                  });
                                  

                                  Die Datenpunkte musst du dir manuell anlegen. Entsprechend kannst du sie dann dorthin legen wo sie dir am liebsten sind und du sie schnell erreichst.
                                  Normalerweise würde ich sie in den Ordner 0_userdata.0 legen, der ja dafür auch vorgesehen ist. Aber als die Scripte entstanden sind gab es diesen Ordner noch nicht und ich habe noch keine Zeit/Lust gefunden meine Scripte und die VIS entsprechend umzuschreiben.

                                  K Offline
                                  K Offline
                                  kratzsch
                                  wrote on last edited by
                                  #32

                                  @Chaot Hallo und vielen dank für die schnelle Antwort.
                                  Wo ich die datenpunkte anlege habe ich schon heraus gefunden. Aber wie mussen die Datenpunkte Konfiguriert werden. Das bekomme ich noch nicht hin.Vielicht kannst du image
                                  vom Datenpunkten senden .
                                  Vielen Dank im voraus.

                                  ChaotC 1 Reply Last reply
                                  0
                                  • K kratzsch

                                    @Chaot Hallo und vielen dank für die schnelle Antwort.
                                    Wo ich die datenpunkte anlege habe ich schon heraus gefunden. Aber wie mussen die Datenpunkte Konfiguriert werden. Das bekomme ich noch nicht hin.Vielicht kannst du image
                                    vom Datenpunkten senden .
                                    Vielen Dank im voraus.

                                    ChaotC Offline
                                    ChaotC Offline
                                    Chaot
                                    wrote on last edited by
                                    #33

                                    @kratzsch Den Datenpunkt legst du entsprechend der Datenart an.
                                    Also der Datenpunkt "javascript.0.Heizung.Systemdruck" beispielsweise ist eine Zahl mit bar als Einheit.
                                    Type - number
                                    Unit - bar
                                    min -
                                    max - 3

                                    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                    K 1 Reply Last reply
                                    0
                                    • ChaotC Chaot

                                      @kratzsch Den Datenpunkt legst du entsprechend der Datenart an.
                                      Also der Datenpunkt "javascript.0.Heizung.Systemdruck" beispielsweise ist eine Zahl mit bar als Einheit.
                                      Type - number
                                      Unit - bar
                                      min -
                                      max - 3

                                      K Offline
                                      K Offline
                                      kratzsch
                                      wrote on last edited by
                                      #34

                                      @Chaot Nochmal Danke Datenpungt habe ich angelegt dein Script übernommen aber leider werden keine werde in denn Datenpunkt geschrieben.
                                      Ich habe woll noch einen Fehler denn ich noch nicht gefunden habe.
                                      Unbenannt.PNG

                                      Unbenannt1.PNG
                                      Vielicht kannst du hier noch einen Fehler erkennen.

                                      ChaotC paul53P 2 Replies Last reply
                                      0
                                      • K kratzsch

                                        @Chaot Nochmal Danke Datenpungt habe ich angelegt dein Script übernommen aber leider werden keine werde in denn Datenpunkt geschrieben.
                                        Ich habe woll noch einen Fehler denn ich noch nicht gefunden habe.
                                        Unbenannt.PNG

                                        Unbenannt1.PNG
                                        Vielicht kannst du hier noch einen Fehler erkennen.

                                        ChaotC Offline
                                        ChaotC Offline
                                        Chaot
                                        wrote on last edited by
                                        #35

                                        @kratzsch erste Zeile:
                                        mAtt.0.... anstelle von mQtt.0

                                        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                        K 1 Reply Last reply
                                        0
                                        • ChaotC Chaot

                                          @kratzsch erste Zeile:
                                          mAtt.0.... anstelle von mQtt.0

                                          K Offline
                                          K Offline
                                          kratzsch
                                          wrote on last edited by
                                          #36

                                          @Chaot Danke aber ich muss leider wieder nach fehlern suchen klapt noch nicht

                                          ChaotC 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

                                          352

                                          Online

                                          32.7k

                                          Users

                                          82.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