Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Hilfe Mqtt jason in Datenpunkt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Hilfe Mqtt jason in Datenpunkt

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

      Hallo,
      habe folgendes Problem bekomme irgendwie die Werte aus dem mqtt Datenpunkt

      {"hc1":{"seltemp":21.5,"currtemp":21.6,"mode":"auto"}}
      

      nicht in ein neuen user Datenpunkt geschrieben .
      Hier das Skript dazu:

      
       //MQTT Json to Objekt
      
      
      // Create States
      
      createState('javascript.0.thermostat_date.seltemp',0,{type: 'number',name: 'seltemp', read: true,write: true,role: 'value' })
      
      
      
      // Script beginning
      
      on({id: 'mqtt.0.ems-esp.thermostat_data', change: "any"}, function (obj) {
      
       
         //variabele erstellen objecte
      
              var seltemp;
           
       
         //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
      
         try {obj = JSON.parse(getState("mqtt.0.ems-esp.thermostat_data").val);
      
         } catch (e) {
      
                 console.error('Cannot parse: ' + getState("mqtt.0.ems-esp.thermostat_data").val);
      
                 return;
      
          }
      
          //hier schreiben wir die daten des json strings in die variabelen, links die variable und rechts der name im json. obj bedeuten halt lese den wert nach :
      
        
      
          seltemp = obj.seltemp;
      
         
      setState('javascript.0.thermostat_date.seltemp', (seltemp)); 
      
       
         //jetzt lass uns mal im log zeigen was wir bekommen haben
      
        log(seltemp);
        
      
      });
      

      Habe das gleich skript mit einen anderen Datenpunkt am laufen, da sieht der wert des Datenpunktes so aus :

      {"wWComfort":"Eco","wWSelTemp":55,"wWDesiredTemp":70,"selFlowTemp":75,"selBurnPow":26,"curBurnPow":0,"pumpMod":0,"wWCircPump":0,"outdoorTemp":2.1,"wWCurTmp":56.6,"wWCurFlow":0,"curFlowTemp":36.3,"wWActivated":"on","burnGas":"off","flameCurr":0,"heatPmp":"on","fanWork":"off","ignWork":"off","wWCirc":"off","heating_temp":80,"pump_mod_max":100,"pump_mod_min":10,"wWHeat":"off","wWStarts":4984,"wWWorkM":41526,"UBAuptime":2576775,"burnStarts":17792,"burnWorkMin":547914,"heatWorkMin":506388,"ServiceCode":"0H","ServiceCodeNumber":203}
      

      Ich glaube es liegt an den zusätzlichen Klammern. Weiß aber nicht wie das Skript anpassen muss damit es funktioniert.

      Ich hoffen es kann mir einer helfen.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Iccube last edited by paul53

        @Icube sagte:

        seltemp = obj.seltemp;                                                                                                                                                                            
        
            seltemp = obj.hc1.seltemp;
        
        Iccube 1 Reply Last reply Reply Quote 0
        • Iccube
          Iccube @paul53 last edited by

          @paul53 danke funktioniert.
          Hatte das eigentlich auch so versucht damals ging es nicht 😠

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

          Support us

          ioBroker
          Community Adapters
          Donate

          708
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          javascript
          2
          3
          303
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo