Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON zu Objekte

    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

    JSON zu Objekte

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kellerassel75 @ente34 last edited by

      @ente34
      Gut! Er schreibt nun die Anrufe von heute! Das funktioniert!

      Aber ich wollte richtige Datenpunte - Zahlen nicht JSON!

      Also:
      Datenpunt letzter - caller
      Datenpunt letzter - date
      Datenpunt letzter - name

      Datenpunt vorletzter- caller
      Datenpunt vorletzter- date
      Datenpunt vorletzter- name

      Falko

      E paul53 2 Replies Last reply Reply Quote 0
      • E
        ente34 @Kellerassel75 last edited by

        @kellerassel75
        wie bereits oben gesagt, in Zeile 19 hast Du das obj in der Hand ...

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

          @kellerassel75 sagte: richtige Datenpunte - Zahlen nicht JSON!

          Du meinst Zeichenketten?

          @kellerassel75 sagte in JSON zu Objekte:

          Datenpunt vorletzter- caller
          Datenpunt vorletzter- date
          Datenpunt vorletzter- name

          Wieweit sollen sie zurück reichen?

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

            @paul53
            Ich denke 4 Anrufe sollte reichen!

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

              @kellerassel75 sagte: Solange nur ein Anruf ist:

              Ist es wirklich so, dass es dann nur ein Objekt ohne Array-Klammern ist ?

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

                @paul53
                Nein das habe ich so geändert!

                E paul53 2 Replies Last reply Reply Quote 0
                • E
                  ente34 @Kellerassel75 last edited by

                  @kellerassel75

                  Kannst Du es dann selber erweitern?

                  //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
                  //Idee: Chaot
                  // Umsetzung: paul53
                  
                  var json = "tr-064.0.calllists.missed.json";
                  var Nummer = "javascript.0.Nummer";
                  var Datum = "javascript.0.Datum";
                  var Name = "javascript.0.Name";
                  const MaxAnrufe = 4;
                  
                  on(json, function(dp) {
                     var obj = JSON.parse(dp.state.val);
                     const i_end = obj.length < MaxAnrufe ? obj.length : MaxAnrufe;
                     for (let i=0; i<i_end; i++) {
                         const o = obj[i];
                         console.warn(o);
                         const dp_nummer = Nummer+"_"+i;
                         console.warn(dp_nummer);
                         setState(dp_nummer,o.caller);
                     }
                  //    setState(Nummer, parseFloat(obj.caller));
                  //    setState(Datum, parseFloat(obj.date)); 
                  //    setState(Name, parseFloat(obj.name));  
                  
                  });
                  
                  for (let i=0; i<MaxAnrufe; i++) {
                      const dp_nummer = Nummer+"_"+i;
                      createState(dp_nummer);
                  }
                  
                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kellerassel75 @ente34 last edited by

                    @ente34
                    Danke! Ich werde es Versuchen!

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

                      @kellerassel75 sagte: 4 Anrufe sollte reichen!

                      Vorschlag (nicht getestet):

                      const idJson = "tr-064.0.calllists.missed.json";
                      const path = "0_userdata.0.Telefon.verpasst-";
                      
                      if(!existsState(path + '0.Nummer')) {
                          for(let i = 0; i < 4; i++) {
                              createState(path + i + '.Nummer', '', {type: 'string', name: 'Nummer', role: 'info'});
                              createState(path + i + '.Datum', '', {type: 'string', name: 'Datum, Uhrzeit', role: 'info'}); 
                              createState(path + i + '.Name', '', {type: 'string', name: 'Name', role: 'info'});
                          }
                      }
                       
                      on(idJson, function(dp) {
                          let arr = JSON.parse(dp.state.val);
                          let anzahl = arr.length;
                          if(anzahl > 4) anzahl = 4;
                          for(let i = 0; i < anzahl; i++) {
                              setState(path + i + '.Nummer', arr[i].caller, true);
                              setState(path + i + '.Datum', arr[i].date, true); 
                              setState(path + i + '.Name', arr[i].name, true);
                          }
                      });
                      
                      E K 2 Replies Last reply Reply Quote 0
                      • E
                        ente34 @paul53 last edited by

                        @paul53
                        Mir gefällt es ...

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

                          @paul53
                          Danke passt!

                          Echt Super! Ich bin begeistert! Danke an alle!
                          Ich hätte nicht gedacht das ich so schnell Hilfe bekomme!
                          Ihr seid Super! Macht weiter so!

                          👏

                          Ich werde hier noch viel lernen hoffe ich!

                          😀

                          Falko

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          419
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          3
                          26
                          856
                          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