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. JSON zu Objekte

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    221

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

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

JSON zu Objekte

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
26 Beiträge 3 Kommentatoren 1.9k Aufrufe 2 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.
  • K Kellerassel75

    Hallo.
    Ich bin Falko und habe schon eine Menge Zeit hier verbracht.

    Ich bin vor einem Jahr von FHEM zu ioBroker gewechselt. Die Umstellung hat eine Weile gedauert.
    Mit Blockly komme ich schon ganz gut zurecht. Java ist schwer für mich.

    Ich versuche aus einer JSON Tabelle Werte in Objekte zu schreiben.
    Einige Beispiele aus diesem Forum konnte ich ganz gut nachstellen bei mir.
    Aber mit meiner Tabelle funktioniert das alles nicht.

    Hier mal meine JSON:

    [{"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"},{"id":4096,"type":"2","caller":"******","called":"SIP: ****","callednumber":"*******","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 22:21","duration":"0:00","count":"","path":"","sym":"x","external":"******"},{"id":4083,"type":"2","caller":"*****","called":"SIP: *****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"21.01.21 11:38","duration":"0:00","count":"","path":"","sym":"x","external":"******"}]
    

    Das ist die JSON von tr-064. Dort möchte ich gerne die caller, date und name in Objekte schreiben.

    Solange nur ein Anruf ist:

    {"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"}
    

    Bekomme ich das hin. Sobald die"[ ]"dazu kommt und noch weitere Anrufe geht nichts.

    Beispiel:

    //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";
    
    on(json, function(dp) {
    
       var obj = JSON.parse(dp.state.val);
    
       setState(Nummer, parseFloat(obj.caller));
    
       setState(Datum, parseFloat(obj.date)); 
    
       setState(Name, parseFloat(obj.name));  
    
    });
    

    Wer kann helfen dass meine Objekte (jeder Anruf einzeln) erstellt werden.

    Vielen Dank!
    Falko

    E Offline
    E Offline
    ente34
    schrieb am zuletzt editiert von
    #2

    @kellerassel75
    Macht nichts, ich bin auch noch nicht lange dabei.

    Jeder Anruf einzeln, Du hast aber nur drei DP für einen Anruf.
    Hier mein Script, dass die verpassten Anrufe heute ausfiltert:

    'use strict';
    
    const id_telefon_missed = 'tr-064.0.calllists.missed.json';
    const id_telefon_today  = 'javascript.0.telefon.missed_today.json';
    
    function filterJsonByDate(state) {
        console.debug("filterJsonByDate");
        if (state && state.val) {
            const tab = state.val;
            console.debug(tab);
            try {
                let obj = JSON.parse(tab);
                let date = formatDate(new Date(), 'DD.MM.YY');
                let result = [];
                for (const el of obj) {
                    const el_date = el.date.toString().substring(0, 8);
                    console.debug(el_date + " === " + date + " ?");
                    if (el_date === date) {
                        console.debug(el);
                        result.push(el);
                    }
                }
                let json = JSON.stringify(result);
                setState(id_telefon_today, json);
                console.debug(json);
            } catch (e) {
                console.error(e);
            }
        }
    }
    
    //Script Start
    if (!existsState(id_telefon_today)) {
        createState(id_telefon_today, JSON.stringify([]), () => {
            filterJsonByDate(getState(id_telefon_missed));
        });
    } else {
        filterJsonByDate(getState(id_telefon_missed));
    }
    
    
    on({ id: id_telefon_missed, change: "ne" }, function (obj) {
        console.warn(obj.state);
        filterJsonByDate(obj.state);
    });
    
    
    //00:00 Neuer Tag, Telefonliste updaten
    schedule("00 00 * * *", function () {
        filterJsonByDate(getState(id_telefon_missed));
    });
    

    Wenn Du willst, kann ich Dir das vis-Widget auch raussuchen.

    1 Antwort Letzte Antwort
    0
    • K Kellerassel75

      Hallo.
      Ich bin Falko und habe schon eine Menge Zeit hier verbracht.

      Ich bin vor einem Jahr von FHEM zu ioBroker gewechselt. Die Umstellung hat eine Weile gedauert.
      Mit Blockly komme ich schon ganz gut zurecht. Java ist schwer für mich.

      Ich versuche aus einer JSON Tabelle Werte in Objekte zu schreiben.
      Einige Beispiele aus diesem Forum konnte ich ganz gut nachstellen bei mir.
      Aber mit meiner Tabelle funktioniert das alles nicht.

      Hier mal meine JSON:

      [{"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"},{"id":4096,"type":"2","caller":"******","called":"SIP: ****","callednumber":"*******","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 22:21","duration":"0:00","count":"","path":"","sym":"x","external":"******"},{"id":4083,"type":"2","caller":"*****","called":"SIP: *****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"21.01.21 11:38","duration":"0:00","count":"","path":"","sym":"x","external":"******"}]
      

      Das ist die JSON von tr-064. Dort möchte ich gerne die caller, date und name in Objekte schreiben.

      Solange nur ein Anruf ist:

      {"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"}
      

      Bekomme ich das hin. Sobald die"[ ]"dazu kommt und noch weitere Anrufe geht nichts.

      Beispiel:

      //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";
      
      on(json, function(dp) {
      
         var obj = JSON.parse(dp.state.val);
      
         setState(Nummer, parseFloat(obj.caller));
      
         setState(Datum, parseFloat(obj.date)); 
      
         setState(Name, parseFloat(obj.name));  
      
      });
      

      Wer kann helfen dass meine Objekte (jeder Anruf einzeln) erstellt werden.

      Vielen Dank!
      Falko

      E Offline
      E Offline
      ente34
      schrieb am zuletzt editiert von
      #3

      @kellerassel75
      Hier das widget
      JSON als Tabelle ist hier beschrieben

      K 1 Antwort Letzte Antwort
      0
      • E ente34

        @kellerassel75
        Hier das widget
        JSON als Tabelle ist hier beschrieben

        K Offline
        K Offline
        Kellerassel75
        schrieb am zuletzt editiert von
        #4

        @ente34
        Danke für die schnelle Antwort!

        Fehler:

        javascript.0	2021-01-31 14:45:21.675	warn	(27920) script.js.test: {'val':'[{\'id\':4097,\'type\':\'2\',\'caller\':\'****\',\'called\':\'SIP: ****\',\'callednumber\':\'****\',\'name\':\'\',\'numbertype\':\'sip\',\'device\':\'\',\'port\':\'-1\
        javascript.0	2021-01-31 14:43:58.384	error	(27920) script.js.test: Please disable that setting or use "getState" with a callback, e.g.: getState("tr-064.0.calllists.missed.json", (err, state) => { ... });
        javascript.0	2021-01-31 14:43:58.383	error	(27920) script.js.test: The "getState" method cannot be used synchronously, because the adapter setting "Do not subscribe to all states on start" is enabled.
        

        Und ich wollte richtige Datenpunte - Zahlen nicht JSON!

        Falko

        E paul53P 3 Antworten Letzte Antwort
        0
        • K Kellerassel75

          @ente34
          Danke für die schnelle Antwort!

          Fehler:

          javascript.0	2021-01-31 14:45:21.675	warn	(27920) script.js.test: {'val':'[{\'id\':4097,\'type\':\'2\',\'caller\':\'****\',\'called\':\'SIP: ****\',\'callednumber\':\'****\',\'name\':\'\',\'numbertype\':\'sip\',\'device\':\'\',\'port\':\'-1\
          javascript.0	2021-01-31 14:43:58.384	error	(27920) script.js.test: Please disable that setting or use "getState" with a callback, e.g.: getState("tr-064.0.calllists.missed.json", (err, state) => { ... });
          javascript.0	2021-01-31 14:43:58.383	error	(27920) script.js.test: The "getState" method cannot be used synchronously, because the adapter setting "Do not subscribe to all states on start" is enabled.
          

          Und ich wollte richtige Datenpunte - Zahlen nicht JSON!

          Falko

          E Offline
          E Offline
          ente34
          schrieb am zuletzt editiert von
          #5

          @kellerassel75
          Wo startest Du Dein Script?
          Was für eine Hardware verwendest Du? Version IoBroker?

          Bei mir kommt die Ausgabe unter dem javascript adapter:

          javascript.0	2021-01-31 15:05:09.774	info	(16568) script.js.Anruf: registered 1 subscription and 1 schedule
          javascript.0	2021-01-31 15:05:09.758	info	(16568) Start javascript script.js.Anruf```
          1 Antwort Letzte Antwort
          0
          • K Kellerassel75

            @ente34
            Danke für die schnelle Antwort!

            Fehler:

            javascript.0	2021-01-31 14:45:21.675	warn	(27920) script.js.test: {'val':'[{\'id\':4097,\'type\':\'2\',\'caller\':\'****\',\'called\':\'SIP: ****\',\'callednumber\':\'****\',\'name\':\'\',\'numbertype\':\'sip\',\'device\':\'\',\'port\':\'-1\
            javascript.0	2021-01-31 14:43:58.384	error	(27920) script.js.test: Please disable that setting or use "getState" with a callback, e.g.: getState("tr-064.0.calllists.missed.json", (err, state) => { ... });
            javascript.0	2021-01-31 14:43:58.383	error	(27920) script.js.test: The "getState" method cannot be used synchronously, because the adapter setting "Do not subscribe to all states on start" is enabled.
            

            Und ich wollte richtige Datenpunte - Zahlen nicht JSON!

            Falko

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

            @kellerassel75 sagte: because the adapter setting "Do not subscribe to all states on start" is enabled.

            Haken in der Konfiguration der Javascript-Instanz entfernen!

            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

            E 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @kellerassel75 sagte: because the adapter setting "Do not subscribe to all states on start" is enabled.

              Haken in der Konfiguration der Javascript-Instanz entfernen!

              E Offline
              E Offline
              ente34
              schrieb am zuletzt editiert von
              #7

              @paul53
              Danke!
              Was bewirkt der Haken?

              paul53P 1 Antwort Letzte Antwort
              0
              • E ente34

                @paul53
                Danke!
                Was bewirkt der Haken?

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

                @ente34 sagte: Was bewirkt der Haken?

                Der Haken bewirkt, dass Zustände nicht in der JS-Instanz gepuffert werden, und deshalb die synchrone Version von

                var state = getState(id); // synchrone Version ohne Callback
                

                nicht verwendet werden kann.

                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
                • E Offline
                  E Offline
                  ente34
                  schrieb am zuletzt editiert von
                  #9

                  @paul53
                  Fast verstanden, wofür könnte das gut sein (Speicherplatz sparen?)

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • E ente34

                    @paul53
                    Fast verstanden, wofür könnte das gut sein (Speicherplatz sparen?)

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

                    @ente34 sagte: wofür könnte das gut sein (Speicherplatz sparen?)

                    Ja.
                    Bisher ist mir hier im Forum noch kein Script aufgefallen, das die asynchrone Version von getstate(id, callback) verwendet.

                    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 Kellerassel75

                      @ente34
                      Danke für die schnelle Antwort!

                      Fehler:

                      javascript.0	2021-01-31 14:45:21.675	warn	(27920) script.js.test: {'val':'[{\'id\':4097,\'type\':\'2\',\'caller\':\'****\',\'called\':\'SIP: ****\',\'callednumber\':\'****\',\'name\':\'\',\'numbertype\':\'sip\',\'device\':\'\',\'port\':\'-1\
                      javascript.0	2021-01-31 14:43:58.384	error	(27920) script.js.test: Please disable that setting or use "getState" with a callback, e.g.: getState("tr-064.0.calllists.missed.json", (err, state) => { ... });
                      javascript.0	2021-01-31 14:43:58.383	error	(27920) script.js.test: The "getState" method cannot be used synchronously, because the adapter setting "Do not subscribe to all states on start" is enabled.
                      

                      Und ich wollte richtige Datenpunte - Zahlen nicht JSON!

                      Falko

                      E Offline
                      E Offline
                      ente34
                      schrieb am zuletzt editiert von
                      #11

                      @kellerassel75
                      In Zeile 19 hast Du das obj in der Hand:

                      setState(Nummer,el.caller)
                      ....
                      setState(Name,el.name)
                      

                      kannst Du Dir einen Anruf ausfiltern

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Kellerassel75
                        schrieb am zuletzt editiert von Kellerassel75
                        #12

                        @ente34
                        Also Haken ist raus! Fehler ist behoben!
                        Hardware ist Raspi4. Versin ioBroker.admin 4.1.11!
                        Falko

                        16:06:40.026	info	javascript.0 (12175) Start javascript script.js.test
                        16:06:40.064	info	javascript.0 (12175) script.js.test: registered 1 subscription and 1 schedule
                        

                        Unter Objekt ist dann nur "[]"!

                        E 1 Antwort Letzte Antwort
                        0
                        • K Kellerassel75

                          @ente34
                          Also Haken ist raus! Fehler ist behoben!
                          Hardware ist Raspi4. Versin ioBroker.admin 4.1.11!
                          Falko

                          16:06:40.026	info	javascript.0 (12175) Start javascript script.js.test
                          16:06:40.064	info	javascript.0 (12175) script.js.test: registered 1 subscription and 1 schedule
                          

                          Unter Objekt ist dann nur "[]"!

                          E Offline
                          E Offline
                          ente34
                          schrieb am zuletzt editiert von
                          #13

                          @kellerassel75
                          Na ja, hast Du verpasste Anrufe heute?
                          Sonst Zeile 18:

                          if (1 || el_date === date)
                          
                          K 1 Antwort Letzte Antwort
                          0
                          • E ente34

                            @kellerassel75
                            Na ja, hast Du verpasste Anrufe heute?
                            Sonst Zeile 18:

                            if (1 || el_date === date)
                            
                            K Offline
                            K Offline
                            Kellerassel75
                            schrieb am zuletzt editiert von Kellerassel75
                            #14

                            16:17:09.144 error javascript.0 (12519) script.js.test compile failed: at script.js.test:45

                            Sorry mein Fehler { vergessen!

                            Nun schreibt er mir die ganze Tabelle nach javascript.0.telefon.missed_today.json!

                            Im Log steht:

                            javascript.0	2021-01-31 16:17:09.150	error	(12519) at processTicksAndRejections (internal/process/task_queues.js:97:5)
                            javascript.0	2021-01-31 16:17:09.150	error	(12519) at runMicrotasks (<anonymous>)
                            javascript.0	2021-01-31 16:17:09.150	error	(12519) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                            javascript.0	2021-01-31 16:17:09.149	error	(12519) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                            javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17
                            javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17
                            javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17
                            javascript.0	2021-01-31 16:17:09.146	error	(12519) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
                            javascript.0	2021-01-31 16:17:09.146	error	(12519) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
                            javascript.0	2021-01-31 16:17:09.146	error	(12519) at Object.createScript (vm.js:261:10)
                            javascript.0	2021-01-31 16:17:09.146	error	(12519) at new Script (vm.js:88:7)
                            javascript.0	2021-01-31 16:17:09.145	error	(12519) SyntaxError: Missing catch or finally after try
                            javascript.0	2021-01-31 16:17:09.145	error	(12519) ^
                            javascript.0	2021-01-31 16:17:09.145	error	(12519) }
                            javascript.0	2021-01-31 16:17:09.144	error	at script.js.test:45
                            javascript.0	2021-01-31 16:17:09.144	error	(12519) script.js.test compile failed: 
                            
                            E 1 Antwort Letzte Antwort
                            0
                            • K Kellerassel75

                              16:17:09.144 error javascript.0 (12519) script.js.test compile failed: at script.js.test:45

                              Sorry mein Fehler { vergessen!

                              Nun schreibt er mir die ganze Tabelle nach javascript.0.telefon.missed_today.json!

                              Im Log steht:

                              javascript.0	2021-01-31 16:17:09.150	error	(12519) at processTicksAndRejections (internal/process/task_queues.js:97:5)
                              javascript.0	2021-01-31 16:17:09.150	error	(12519) at runMicrotasks (<anonymous>)
                              javascript.0	2021-01-31 16:17:09.150	error	(12519) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                              javascript.0	2021-01-31 16:17:09.149	error	(12519) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                              javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17
                              javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17
                              javascript.0	2021-01-31 16:17:09.149	error	(12519) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17
                              javascript.0	2021-01-31 16:17:09.146	error	(12519) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
                              javascript.0	2021-01-31 16:17:09.146	error	(12519) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
                              javascript.0	2021-01-31 16:17:09.146	error	(12519) at Object.createScript (vm.js:261:10)
                              javascript.0	2021-01-31 16:17:09.146	error	(12519) at new Script (vm.js:88:7)
                              javascript.0	2021-01-31 16:17:09.145	error	(12519) SyntaxError: Missing catch or finally after try
                              javascript.0	2021-01-31 16:17:09.145	error	(12519) ^
                              javascript.0	2021-01-31 16:17:09.145	error	(12519) }
                              javascript.0	2021-01-31 16:17:09.144	error	at script.js.test:45
                              javascript.0	2021-01-31 16:17:09.144	error	(12519) script.js.test compile failed: 
                              
                              E Offline
                              E Offline
                              ente34
                              schrieb am zuletzt editiert von
                              #15

                              @kellerassel75
                              Schon klar, mein Script filtert ja die verpassten Anrufe heute aus. Mit der "1||" bekommst Du wieder alle, um zu kontrollieren, ob alles soweit funktioniert.
                              Alternativ kannst Du Dich auch selbst anrufen (nicht abheben!).

                              K 1 Antwort Letzte Antwort
                              0
                              • E ente34

                                @kellerassel75
                                Schon klar, mein Script filtert ja die verpassten Anrufe heute aus. Mit der "1||" bekommst Du wieder alle, um zu kontrollieren, ob alles soweit funktioniert.
                                Alternativ kannst Du Dich auch selbst anrufen (nicht abheben!).

                                K Offline
                                K Offline
                                Kellerassel75
                                schrieb am zuletzt editiert von
                                #16

                                @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 paul53P 2 Antworten Letzte Antwort
                                0
                                • K Kellerassel75

                                  @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 Offline
                                  E Offline
                                  ente34
                                  schrieb am zuletzt editiert von
                                  #17

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Kellerassel75

                                    @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

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

                                    @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?

                                    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

                                      @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 Offline
                                      K Offline
                                      Kellerassel75
                                      schrieb am zuletzt editiert von
                                      #19

                                      @paul53
                                      Ich denke 4 Anrufe sollte reichen!

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Kellerassel75

                                        Hallo.
                                        Ich bin Falko und habe schon eine Menge Zeit hier verbracht.

                                        Ich bin vor einem Jahr von FHEM zu ioBroker gewechselt. Die Umstellung hat eine Weile gedauert.
                                        Mit Blockly komme ich schon ganz gut zurecht. Java ist schwer für mich.

                                        Ich versuche aus einer JSON Tabelle Werte in Objekte zu schreiben.
                                        Einige Beispiele aus diesem Forum konnte ich ganz gut nachstellen bei mir.
                                        Aber mit meiner Tabelle funktioniert das alles nicht.

                                        Hier mal meine JSON:

                                        [{"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"},{"id":4096,"type":"2","caller":"******","called":"SIP: ****","callednumber":"*******","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 22:21","duration":"0:00","count":"","path":"","sym":"x","external":"******"},{"id":4083,"type":"2","caller":"*****","called":"SIP: *****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"21.01.21 11:38","duration":"0:00","count":"","path":"","sym":"x","external":"******"}]
                                        

                                        Das ist die JSON von tr-064. Dort möchte ich gerne die caller, date und name in Objekte schreiben.

                                        Solange nur ein Anruf ist:

                                        {"id":4097,"type":"2","caller":"****","called":"SIP: ****","callednumber":"****","name":"","numbertype":"sip","device":"","port":"-1","date":"23.01.21 23:01","duration":"0:00","count":"","path":"","sym":"x","external":"*****"}
                                        

                                        Bekomme ich das hin. Sobald die"[ ]"dazu kommt und noch weitere Anrufe geht nichts.

                                        Beispiel:

                                        //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";
                                        
                                        on(json, function(dp) {
                                        
                                           var obj = JSON.parse(dp.state.val);
                                        
                                           setState(Nummer, parseFloat(obj.caller));
                                        
                                           setState(Datum, parseFloat(obj.date)); 
                                        
                                           setState(Name, parseFloat(obj.name));  
                                        
                                        });
                                        

                                        Wer kann helfen dass meine Objekte (jeder Anruf einzeln) erstellt werden.

                                        Vielen Dank!
                                        Falko

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

                                        @kellerassel75 sagte: Solange nur ein Anruf ist:

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

                                        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

                                          @kellerassel75 sagte: Solange nur ein Anruf ist:

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

                                          K Offline
                                          K Offline
                                          Kellerassel75
                                          schrieb am zuletzt editiert von
                                          #21

                                          @paul53
                                          Nein das habe ich so geändert!

                                          E paul53P 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          604

                                          Online

                                          32.7k

                                          Benutzer

                                          82.5k

                                          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