Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Datenpunt aus JSON String erstellen und verarbeiten

    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] Datenpunt aus JSON String erstellen und verarbeiten

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      guergen @paul53 last edited by

      @paul53 OK, verstanden...!
      DP wird auch schon angelegt. jetzt muss ich nur noch den alten DP löschen, aber das bekomme ich hin!
      Danke!

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

        @guergen sagte:

        DP wird auch schon angelegt.

        Ist denn schon 23:00 Uhr ?
        Wenn die Sortier-Reihenfolge im Tab "Objekte" stimmen soll, dann verwende das Format "YYYY.MM.DD".

        G 2 Replies Last reply Reply Quote 0
        • G
          guergen @paul53 last edited by

          @paul53 Na ich kann doch schonmal mit einer anderen Uhrzeit testen...
          Habe es eben in YYYY.MM.DD geändert

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

            @paul53 Hmmmh... der soll den Max-Wert danach auf 0 setzen, habe ein Delay benutzt... geht nicht:

            schedule("27 19 * * *", function () {
            
              let datum = formatDate(new Date(), 'YYYY.MM.DD');
            
              createState("PV-Max." + datum, getState("0_userdata.0.PV.Max").val, {type: "number", unit: "W"});
                setStateDelayed("0_userdata.0.PV.Max", 0, 30000);
            });
            

            Ich befürchte, ich habe das mit den geschweiften Klammern noch nicht verstanden
            Es schreibt den blöden Wert nicht in den neuen DP

            1 Reply Last reply Reply Quote 0
            • G
              guergen last edited by guergen

              OK, wenn der neue DP PV-Max heisst geht es nicht, lasse ich das-Max weg, geht es!

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

                @guergen sagte:

                wenn der neue DP PV-Max heisst geht es nicht

                Kann ich nicht nachvollziehen.

                CreateState_PV-Max.JPG

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

                  @paul53 sagte in Datenpunt aus JSON String erstellen und weiter verarbeiten:

                  @pmunz

                  on(idJson, function(dp) {
                      let obj = JSON.parse(dp.state.val);
                      if(obj.idx == 788) {
                          let arr = obj.svalue.split(';');
                          setState(idWert1 , parseFloat(arr[0]), true);
                          setState(idWert2 , parseFloat(arr[1]), true);
                          setState(idWert3 , parseFloat(arr[2]), true);
                      }
                  });
                  

                  @paul53
                  Wie kann ich den in diesem fall dazugehörige Datenpunkte erzeugen ?

                  const idVorraum_BWM1 = "mqtt.0.Vorraum_BWM1.in"; // {"idx":788,"RSSI":8,"nvalue":0,"svalue":"22.9;16.5;2"}
                  
                  const path = 'javascript.' + instance + '.SENSORBWM1.';
                  
                  const idsvalue = path + 'Temp';
                   
                  
                  if(!existsState(idsvalue)) { // Datenpunkte erzeugen
                  
                      createState(idsvalue, 'leer', {type: 'string'});
                  
                  };
                  
                   on(idVorraum_BWM1, function(dp) {
                  
                      let obj = JSON.parse(dp.state.val);
                  
                      if(obj.idx == 788) {
                  
                          let arr = obj.svalue.split(';');
                  
                          setState(idTemp , parseFloat(arr[0]), true);
                  
                          setState(idHum , parseFloat(arr[1]), true);
                          
                          }
                  
                  });
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @pmunz last edited by paul53

                    @pmunz sagte in Datenpunt aus JSON String erstellen und weiter verarbeiten:

                    const idsvalue = path + 'Temp'; if(!existsState(idsvalue)) { // Datenpunkte erzeugen createState(idsvalue, 'leer', {type: 'string'}); };

                    Es müssen die gleichen Bezeichner verwendet werden wie bei setState().

                    const idTemp = path + 'Temperatur';
                    const idHum = path + 'Luftfeuchte';
                     
                    if(!existsState(idTemp)) { // Datenpunkte erzeugen
                        createState(idTemp, 0, {type: 'number', unit: '°C'});
                        createState(idHum, 0, {type: 'number', unit: '%'});
                    };
                    
                    P 1 Reply Last reply Reply Quote 1
                    • P
                      pmunz @paul53 last edited by

                      @paul53
                      Alles bestens es Funktioniert !
                      Danke

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

                        @pmunz sagte:

                        es Funktioniert

                        Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        669
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        blockly communication javascript
                        5
                        33
                        2742
                        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