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

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    328

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

[Gelöst] Diverse Werte aus einem Objekt auslesen

Geplant Angeheftet Gesperrt Verschoben Blockly
ventilation
57 Beiträge 7 Kommentatoren 18.5k Aufrufe 7 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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • ChaotC Chaot

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

                  K Offline
                  K Offline
                  kratzsch
                  schrieb am zuletzt editiert von
                  #36

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

                  ChaotC 1 Antwort Letzte Antwort
                  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.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #37

                    @kratzsch sagte:

                    Fehler erkennen.

                    Laut Bild:

                    const OutTemp = '0_userdata.0.javascript.0.Heizung.OutTemp';
                    

                    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
                    • K kratzsch

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

                      ChaotC Offline
                      ChaotC Offline
                      Chaot
                      schrieb am zuletzt editiert von Chaot
                      #38

                      @kratzsch Ist der Wert den du abfragen willst überhaupt in der json drin? Die Heizungen liefern alle ganz unterschiedliche Werte, je nach Modell.
                      Versuche doch mal Druck oder Vorlauftemperatur abzufragen.
                      Stimmt der Datenpunkt aus der json auch überein oder hast du von mir die Namen übernommen? Auch hier kann es Unterschiede geben.
                      Du könntest ja man die json hier posten damit man eventuell das Script entsprechend entwerfen kann.
                      Bitte keinen Screenshot sondern in Code Tags packen.

                      @paul53 Das ist mir ja gar nicht aufgefallen. Logisch das das nicht gehen kann.

                      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 Antwort Letzte Antwort
                      0
                      • ChaotC Chaot

                        @kratzsch Ist der Wert den du abfragen willst überhaupt in der json drin? Die Heizungen liefern alle ganz unterschiedliche Werte, je nach Modell.
                        Versuche doch mal Druck oder Vorlauftemperatur abzufragen.
                        Stimmt der Datenpunkt aus der json auch überein oder hast du von mir die Namen übernommen? Auch hier kann es Unterschiede geben.
                        Du könntest ja man die json hier posten damit man eventuell das Script entsprechend entwerfen kann.
                        Bitte keinen Screenshot sondern in Code Tags packen.

                        @paul53 Das ist mir ja gar nicht aufgefallen. Logisch das das nicht gehen kann.

                        K Offline
                        K Offline
                        kratzsch
                        schrieb am zuletzt editiert von
                        #39

                        @Chaot said in [Gelöst] Diverse Werte aus einem Objekt auslesen:

                        Code Tags

                        Die Werte die ich abfragen möchte stehen im Mqtt Adapter. Wie das mit den Code Tags geht weis ich leider nicht.
                        Ich bin dabei mir vieles anzueignen da ich jetzt in Rente bin und eine beschäftigung brauche.
                        Allso hier noch mal ein Screenshot leider.Aber vielicht möchte ich etwas machen das nicht möglich ist.Unbenannt3.PNG
                        Unbenannt4.PNG

                        paul53P ChaotC 2 Antworten Letzte Antwort
                        0
                        • K kratzsch

                          @Chaot said in [Gelöst] Diverse Werte aus einem Objekt auslesen:

                          Code Tags

                          Die Werte die ich abfragen möchte stehen im Mqtt Adapter. Wie das mit den Code Tags geht weis ich leider nicht.
                          Ich bin dabei mir vieles anzueignen da ich jetzt in Rente bin und eine beschäftigung brauche.
                          Allso hier noch mal ein Screenshot leider.Aber vielicht möchte ich etwas machen das nicht möglich ist.Unbenannt3.PNG
                          Unbenannt4.PNG

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #40

                          @kratzsch sagte:

                          Wie das mit den Code Tags geht weis ich leider nicht.

                          Oben </> anklicken und dann den Text (Code, Logs) hinein kopieren.

                          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

                          K 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @kratzsch sagte:

                            Wie das mit den Code Tags geht weis ich leider nicht.

                            Oben </> anklicken und dann den Text (Code, Logs) hinein kopieren.

                            K Offline
                            K Offline
                            kratzsch
                            schrieb am zuletzt editiert von
                            #41

                            @paul53 Also ich bin schon sehr überrascht über eure hielfbereitschaft das ist einfach Klasse.
                            Und hier noch die Daten die in Mqtt geschrieben werden als beispiel die Boiler Daten.```
                            {"heatingActive":"off","tapwaterActive":"off","wWComfort":"Hot","wWSelTemp":60,"wWSetTemp":60,"wWDisinfectionTemp":70,"selFlowTemp":31,"selBurnPow":100,"curBurnPow":0,"pumpMod":100,"wWType":"buffer","wWChargeType":"charge pump","wWCircPump":"on","wWCircPumpMode":"continuous","wWCirc":"on","outdoorTemp":9.1,"wWCurTemp":58.2,"wWCurFlow":0,"curFlowTemp":31,"boilTemp":31,"wwStorageTemp1":58.2,"wWActivated":"on","wWOneTime":"off","wWDisinfecting":"off","wWCharging":"off","wWRecharging":"off","wWTempOK":"on","wWActive":"off","burnGas":"off","flameCurr":0,"heatPump":"on","fanWork":"off","ignWork":"off","wWHeat":"off","heatingActivated":"on","heatingTemp":48,"pumpModMax":100,"pumpModMin":100,"pumpDelay":7,"burnMinPeriod":10,"burnMinPower":0,"burnMaxPower":100,"boilHystOn":-6,"boilHystOff":6,"wWStarts":13087,"wWWorkM":65127,"UBAuptime":6548566,"burnStarts":112008,"burnWorkMin":389687,"heatWorkMin":324763,"serviceCode":"0Y","serviceCodeNumber":0}

                            Hier mein versuchs Script
                            

                            var json = "mqtt.0.ems-esp.boiler_data"/BoilerDaten/;
                            var OutTemp = "javascript.0.Heizung.OutTemp"/Aussentemperatur/;
                            var BoilTemp = "javascript.0.Heizung.BoilTemp"/Boilertemperatur/
                            var Vorl = "javacript.0.Heizung.Vorlauf"/Vorlauf/;
                            var Activehet = "javacript.0.Heizung.activehet"/Activ/;

                            on(json, function(dp) {
                            var obj = JSON.parse(dp.state.val);
                            setState(OutTemp, obj.outdoorTemp);

                            });

                            1 Antwort Letzte Antwort
                            0
                            • K kratzsch

                              @Chaot said in [Gelöst] Diverse Werte aus einem Objekt auslesen:

                              Code Tags

                              Die Werte die ich abfragen möchte stehen im Mqtt Adapter. Wie das mit den Code Tags geht weis ich leider nicht.
                              Ich bin dabei mir vieles anzueignen da ich jetzt in Rente bin und eine beschäftigung brauche.
                              Allso hier noch mal ein Screenshot leider.Aber vielicht möchte ich etwas machen das nicht möglich ist.Unbenannt3.PNG
                              Unbenannt4.PNG

                              ChaotC Offline
                              ChaotC Offline
                              Chaot
                              schrieb am zuletzt editiert von
                              #42

                              @kratzsch
                              Du hast in der Zeile 2,3 und 4 die Position der Datenpunkte angegeben:

                              'javascript.0.Heizung.OutTemp'
                              

                              Laut deinem Bild darüber mit den von dir angelegten Datenpunkten sind die aber bei

                              '0_userdata.0.javascript.0.Heizung.OutTemp'
                              

                              Also entweder die Datenpunkte richtig anlegen und dann das Script an die richtige Stelle verweisen, oder das Script jetzt an die aktuellen Datenpunkte verweisen.
                              Aber ich würde das ehrlich gesagt so machen das es dauerhaft so bleiben kann. Also den Ordner javascript.0 den du unter 0_userdata.0 angelegt hast wieder löschen und dort mit der richtigen oder sinnvollen Ordner und Datenstruktur anfangen.

                              1. Unter 0_userdate.0 einen neuen Ordner anlegen - Heizung wäre eine gute Wahl.
                              2. Unter dem neuen Ordner Heizung die benötigten Datenpunkte erstellen.
                              3. im Script die Zeilen 2 bis 4 auf diese Datenpunkte verweisen
                              '0_userdata.0.Heizung.******'
                              

                              Dann sollte das klappen.

                              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 Antwort Letzte Antwort
                              0
                              • ChaotC Chaot

                                @kratzsch
                                Du hast in der Zeile 2,3 und 4 die Position der Datenpunkte angegeben:

                                'javascript.0.Heizung.OutTemp'
                                

                                Laut deinem Bild darüber mit den von dir angelegten Datenpunkten sind die aber bei

                                '0_userdata.0.javascript.0.Heizung.OutTemp'
                                

                                Also entweder die Datenpunkte richtig anlegen und dann das Script an die richtige Stelle verweisen, oder das Script jetzt an die aktuellen Datenpunkte verweisen.
                                Aber ich würde das ehrlich gesagt so machen das es dauerhaft so bleiben kann. Also den Ordner javascript.0 den du unter 0_userdata.0 angelegt hast wieder löschen und dort mit der richtigen oder sinnvollen Ordner und Datenstruktur anfangen.

                                1. Unter 0_userdate.0 einen neuen Ordner anlegen - Heizung wäre eine gute Wahl.
                                2. Unter dem neuen Ordner Heizung die benötigten Datenpunkte erstellen.
                                3. im Script die Zeilen 2 bis 4 auf diese Datenpunkte verweisen
                                '0_userdata.0.Heizung.******'
                                

                                Dann sollte das klappen.

                                K Offline
                                K Offline
                                kratzsch
                                schrieb am zuletzt editiert von
                                #43

                                @Chaot So ich habe es nochmal versucht leider ohner erfolg.Hier noch mal mein Script und der Datenpunkt.

                                var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                                var outdoorTemp = "0_userdata.0.Heizung.outdoorTemp"/*outdoorTemp*/;
                                
                                
                                
                                on(json, function(dp) {
                                   var obj = JSON.parse(dp.state.val);
                                setState(outdoorTemp, obj.outdoorTemp);
                                
                                });```
                                Objekt bearbeiten 0_userdata.0.Heizung.outdoorTemp
                                Name
                                Typ
                                
                                    Allgemein
                                    Nativ
                                    Zugriffskontrolle
                                    Weitere (nur lesend)
                                    Raw (nur Experten)
                                
                                Rolle
                                Art
                                Beschreibung
                                Maßeinheit
                                minimaler Wert 
                                
                                paul53P 2 Antworten Letzte Antwort
                                0
                                • K kratzsch

                                  @Chaot So ich habe es nochmal versucht leider ohner erfolg.Hier noch mal mein Script und der Datenpunkt.

                                  var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                                  var outdoorTemp = "0_userdata.0.Heizung.outdoorTemp"/*outdoorTemp*/;
                                  
                                  
                                  
                                  on(json, function(dp) {
                                     var obj = JSON.parse(dp.state.val);
                                  setState(outdoorTemp, obj.outdoorTemp);
                                  
                                  });```
                                  Objekt bearbeiten 0_userdata.0.Heizung.outdoorTemp
                                  Name
                                  Typ
                                  
                                      Allgemein
                                      Nativ
                                      Zugriffskontrolle
                                      Weitere (nur lesend)
                                      Raw (nur Experten)
                                  
                                  Rolle
                                  Art
                                  Beschreibung
                                  Maßeinheit
                                  minimaler Wert 
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #44

                                  @kratzsch sagte:

                                  on(json, function(dp) { 
                                     var obj = JSON.parse(dp.state.val); 
                                     setState(outdoorTemp, obj.outdoorTemp);
                                  });
                                  

                                  Es wird nur getriggert, wenn sich der Inhalt des JSON-Datenpunktes ändert. Vorher passiert nichts.

                                  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

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @kratzsch sagte:

                                    on(json, function(dp) { 
                                       var obj = JSON.parse(dp.state.val); 
                                       setState(outdoorTemp, obj.outdoorTemp);
                                    });
                                    

                                    Es wird nur getriggert, wenn sich der Inhalt des JSON-Datenpunktes ändert. Vorher passiert nichts.

                                    K Offline
                                    K Offline
                                    kratzsch
                                    schrieb am zuletzt editiert von
                                    #45

                                    @paul53 Ok Danke schön aber ich denke das ich auf denn richtigen weg bin dank deiner Grossen Hielfe,

                                    ChaotC 1 Antwort Letzte Antwort
                                    0
                                    • K kratzsch

                                      @paul53 Ok Danke schön aber ich denke das ich auf denn richtigen weg bin dank deiner Grossen Hielfe,

                                      ChaotC Offline
                                      ChaotC Offline
                                      Chaot
                                      schrieb am zuletzt editiert von
                                      #46

                                      @kratzsch Kleiner Tip: Den MQTT Adapter kurz anhalten und neu starten. Dann sollte der Datenpunkt neu geschrieben werden.

                                      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 Antwort Letzte Antwort
                                      0
                                      • ChaotC Chaot

                                        @kratzsch Kleiner Tip: Den MQTT Adapter kurz anhalten und neu starten. Dann sollte der Datenpunkt neu geschrieben werden.

                                        K Offline
                                        K Offline
                                        kratzsch
                                        schrieb am zuletzt editiert von
                                        #47

                                        @Chaot Leider immer noch nicht geklappt.Muss für die Zeile 1 auch ein datenpunkt erstellt werden.

                                        1 Antwort Letzte Antwort
                                        0
                                        • K kratzsch

                                          @Chaot So ich habe es nochmal versucht leider ohner erfolg.Hier noch mal mein Script und der Datenpunkt.

                                          var json = "mqtt.0.ems-esp.boiler_data"/*BoilerDaten*/;
                                          var outdoorTemp = "0_userdata.0.Heizung.outdoorTemp"/*outdoorTemp*/;
                                          
                                          
                                          
                                          on(json, function(dp) {
                                             var obj = JSON.parse(dp.state.val);
                                          setState(outdoorTemp, obj.outdoorTemp);
                                          
                                          });```
                                          Objekt bearbeiten 0_userdata.0.Heizung.outdoorTemp
                                          Name
                                          Typ
                                          
                                              Allgemein
                                              Nativ
                                              Zugriffskontrolle
                                              Weitere (nur lesend)
                                              Raw (nur Experten)
                                          
                                          Rolle
                                          Art
                                          Beschreibung
                                          Maßeinheit
                                          minimaler Wert 
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #48

                                          @kratzsch sagte:

                                          var json = "mqtt.0.ems-esp.boiler_data"/BoilerDaten/;

                                          Wenn ich das mit dem Bild oben vergleiche, ist die ID falsch. Laut Bild richtig:

                                          var json = "mqtt.0.boiler_data";
                                          

                                          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

                                          ChaotC 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

                                          496

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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