Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. json teilen

    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 teilen

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @bahnuhr last edited by

      @bahnuhr sagte in json teilen:

      Wie soll es dargestellt werden ?
      welches widget hast du genommen ?
      wie soll es dann aussehen ?

      alle Fragen beantworten !

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @wolfgangkt last edited by

        @wolfgangkt
        Und ändere nicht ständig deine Beiträge.

        7e018fa5-49cb-43d1-b919-b0cfa9e9095c-image.png
        Dies hast du nun schon 3 x geändert.
        Da kommt man irgendwann nicht mehr mit.

        W 1 Reply Last reply Reply Quote 0
        • W
          wolfgangkt @bahnuhr last edited by

          @bahnuhr
          ein wenig Datenschutz muss sein 🙂
          die eine Json Tabelle soll so aufgeteilt werden, das ich sie in VIS nebeneinander in 2 Tabellen angezeigt werden kann.

          bahnuhr wendy2702 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active last edited by

            Das sind doch nur Objekte in einem Array - also einfach das Array aufteilen! ?

            W 1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @wolfgangkt last edited by bahnuhr

              @wolfgangkt sagte in json teilen:

              ein wenig Datenschutz muss sein

              so ein Quatsch.
              damit bin ich raus.

              Viel Erfolg bei der Umsetzung.

              Fazit:
              ohne Infos, keine Hilfe von mir.
              ich weiß immer noch nicht, was du willst.

              1 Reply Last reply Reply Quote 0
              • W
                wolfgangkt @mickym last edited by

                @mickym genau, aber an der Umsetzung in einem Script hapert es halt.

                mickym 1 Reply Last reply Reply Quote 0
                • wendy2702
                  wendy2702 @wolfgangkt last edited by

                  @wolfgangkt sagte in json teilen:

                  ein wenig Datenschutz muss sein 🙂

                  Magst du uns kurz erklären was das beantworten dieser Fragen mit Datenschutz zu tun hat?

                  
                  Wie sieht das JSON aus?
                  Wie soll es dargestellt werden ?
                  welches widget hast du genommen ?
                  wie soll es dann aussehen ?
                  
                  
                  W 1 Reply Last reply Reply Quote 0
                  • W
                    wolfgangkt @wendy2702 last edited by wolfgangkt

                    @wendy2702 das bezog sich auf die json Tabelle die ich nachträglich gekürzt habe

                    wendy2702 1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 @wolfgangkt last edited by

                      @wolfgangkt Und was steht da drin das dem Datenschutz unterliegt?

                      Mit unvollständigen Informationen/Angaben kann man nur schwer bis garnicht helfen.

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @wolfgangkt last edited by mickym

                        @wolfgangkt Ich weiss ja nicht was für eine Logikmaschine du benutzt, aber wenn das ein Array von Objekten ist - dann greifst Du einfach über den Index zu.

                        var obj = JSON.parse('[{"Device":"Wassermelder Geschirrspüler","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"18:53 Uhr","Status":"Online"},{"Device":"Wassermelder Spüle","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"18:30 Uhr","Status":"Online"}]');
                        
                        var teil1 = obj[0];
                        var teil2 = obj[1];
                        console.log(obj);
                        
                        console.log(teil1);
                        console.log(teil2);
                        
                        

                        cfb11de7-3b71-4657-bb10-043b0fe40328-image.png

                        Sprich der Index Deines Objektes bestimmte die Zeilen und welche im Objekt. Sprich Du musst halt einen Pointer machen, der immer x Zeilen ausgibt.

                        Wenn Du halt 5 oder 6 Objekte in einem Array brauchst - dann läufst Du halt in einer Schleife da durch oder Du nutzt JSONATA und machst kleinere Arrays.

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          wolfgangkt @mickym last edited by

                          @mickym Danke. Ich poste nochmals den json-Datenpunkt. Und die ersten 30 Datensätze sollen in einen json-Datenpunkt geschrieben werden. Die Datensätze 31- xxx sollen dann in einen 2. json-Datenpunkt geschrieben werden. Und wie schon geschrieben mit meinen java Kenntnisse ist es nicht weit her.

                          [{"Device":"Wassermelder Geschirrspüler","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:43 Uhr","Status":"Online"},{"Device":"Wassermelder Spüle","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"20:11 Uhr","Status":"Online"},{"Device":"Taster Anwendheit Gang","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:39 Uhr","Status":"Online"},{"Device":"E.Bike","Adapter":"Zigbee","Battery":"43%","Signal strength":"100%","Last contact":"19:44 Uhr","Status":"Online"},{"Device":"Temperatur Keller aussen","Adapter":"Zigbee","Battery":"90%","Signal strength":"100%","Last contact":"19:46 Uhr","Status":"Online"},{"Device":"Wassermelder Waschmaschine","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"18:37 Uhr","Status":"Online"},{"Device":"Wassersensor Keller","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:36 Uhr","Status":"Online"},{"Device":"Schlafzimmerschrank links","Adapter":"Zigbee","Battery":"97%","Signal strength":"100%","Last contact":"19:56 Uhr","Status":"Online"},{"Device":"Bewegungsmelder Küche","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:29 Uhr","Status":"Online"},{"Device":"Nachttisch links","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:45 Uhr","Status":"Online"},{"Device":"Temperatur Gefrierschrank","Adapter":"Zigbee","Battery":"23%","Signal strength":"100%","Last contact":"20:09 Uhr","Status":"Online"},{"Device":"Temperatur Kühlschrank","Adapter":"Zigbee","Battery":"83%","Signal strength":"100%","Last contact":"20:06 Uhr","Status":"Online"},{"Device":"Temperatur Keller","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"20:00 Uhr","Status":"Online"},{"Device":"Gas","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:51 Uhr","Status":"Online"},{"Device":"Nachttisch rechts","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:40 Uhr","Status":"Online"},{"Device":"Schlafzimmerschrank rechts","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:27 Uhr","Status":"Online"},{"Device":"Terasse geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:24 Uhr","Status":"Online"},{"Device":"Wohnzimmerfenster geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:37 Uhr","Status":"Online"},{"Device":"Badfenster links geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:29 Uhr","Status":"Online"},{"Device":"Temperatur Küche","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:54 Uhr","Status":"Online"},{"Device":"Klingel","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"20:05 Uhr","Status":"Online"},{"Device":"Terasse gekippt","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:23 Uhr","Status":"Online"},{"Device":"Badfenster rechts gekippt","Adapter":"Zigbee","Battery":"97%","Signal strength":"100%","Last contact":"20:08 Uhr","Status":"Online"},{"Device":"Wohnzimmerfenster gekippt","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:42 Uhr","Status":"Online"},{"Device":"Wohnungstür","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:28 Uhr","Status":"Online"},{"Device":"Wassermelder Kaffeemaschine","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:49 Uhr","Status":"Online"},{"Device":"Wassermelder Klo","Adapter":"Zigbee","Battery":"100%","Signal strength":"86%","Last contact":"20:01 Uhr","Status":"Online"},{"Device":"Küchenschrank unten","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:56 Uhr","Status":"Online"},{"Device":"Küchenschrank oben rechts","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:38 Uhr","Status":"Online"},{"Device":"Schlafzimmerfenster gekippt","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:54 Uhr","Status":"Online"},{"Device":"Küchenfenster geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:33 Uhr","Status":"Online"},{"Device":"Wassermelder Waschtisch","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:25 Uhr","Status":"Online"},{"Device":"Taster Nas Wohnzimmer","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:23 Uhr","Status":"Online"},{"Device":"Küchenschrank oben links","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:50 Uhr","Status":"Online"},{"Device":"Badfenster links gekippt","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:33 Uhr","Status":"Online"},{"Device":"Badfenster rechts geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"72%","Last contact":"20:08 Uhr","Status":"Online"},{"Device":"Küchenfenster gekippt","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:28 Uhr","Status":"Online"},{"Device":"Haustür","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"18:34 Uhr","Status":"Online"},{"Device":"Schlafzimmerfenster geschlossen","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:55 Uhr","Status":"Online"},{"Device":"Kellerfenster","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:38 Uhr","Status":"Online"},{"Device":"Rauchmelder Keller","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"20:01 Uhr","Status":"Online"},{"Device":"Gaszaehler","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"20:05 Uhr","Status":"Online"},{"Device":"Rauchmelder Küche","Adapter":"Zigbee","Battery":"100%","Signal strength":"83%","Last contact":"20:04 Uhr","Status":"Online"},{"Device":"Kellertuer","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:46 Uhr","Status":"Online"},{"Device":"Bewegungsmelder Gang 2","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:46 Uhr","Status":"Online"},{"Device":"Lichtsensor Wohnzimmer","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:45 Uhr","Status":"Online"},{"Device":"Lichtsensor Küche","Adapter":"Zigbee","Battery":"82%","Signal strength":"100%","Last contact":"19:29 Uhr","Status":"Online"},{"Device":"E1746 Bad","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:11 Uhr","Status":"Online"},{"Device":"TS0044 Wohnzimmer","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:50 Uhr","Status":"Online"},{"Device":"Lichtsensor Bad","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:58 Uhr","Status":"Online"},{"Device":"Lichtsensor Gang","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:59 Uhr","Status":"Online"},{"Device":"WXCJKG13LM","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:25 Uhr","Status":"Online"},{"Device":"E1746 Gang","Adapter":"Zigbee","Battery":" - ","Signal strength":"0%","Last contact":"20:03 Uhr","Status":"Online"},{"Device":"SM-0306E-2W","Adapter":"Zigbee","Battery":" - ","Signal strength":"0%","Last contact":"9 Stunden","Status":"Offline"},{"Device":"Steckdose Eckbank","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:07 Uhr","Status":"Online"},{"Device":"Steckdose Bett","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:09 Uhr","Status":"Online"},{"Device":"Steckdose Küchenschrank oben","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:05 Uhr","Status":"Online"},{"Device":"E1746 Keller","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:10 Uhr","Status":"Online"},{"Device":"TS0044 Keller","Adapter":"Zigbee","Battery":"100%","Signal strength":"100%","Last contact":"19:38 Uhr","Status":"Online"},{"Device":"Fussbodenheizung Küche","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:11 Uhr","Status":"Online"},{"Device":"Fussbodenheizung Wohnzimmer","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:11 Uhr","Status":"Online"},{"Device":"Steckdose Beleuchtung Schlafzimmerschrank","Adapter":"Zigbee","Battery":" - ","Signal strength":"100%","Last contact":"20:10 Uhr","Status":"Online"},{"Device":"Taster Tablet","Adapter":"Zigbee","Battery":"21%","Signal strength":"100%","Last contact":"3 Stunden","Status":"Online"}]
                          
                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @wolfgangkt last edited by paul53

                            @wolfgangkt sagte: die ersten 30 Datensätze sollen in einen json-Datenpunkt geschrieben werden.

                            Versuche mal:

                            const idJson = '...'; // Original
                            const idJson1 = '...'; // Teil 1
                            const idJson2 = '...'; // Teil 2
                            
                            on(idJson, function(dp) {
                                let arr = dp.state.val;
                                const arr2 = [];
                                for(let i = 30; i < arr.length; i++) {
                                    arr2.push(arr[i]);
                                }
                                arr.length = 30;
                                setState(idJson1, JSON.stringify(arr), true);
                                setState(idJson2, JSON.stringify(arr2), true);
                            });
                            

                            EDIT: Zeilen 6 und 8 angepasst.

                            W 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active last edited by

                              Ok dann bin ich raus. 😉 der Meister schreibt.

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

                                @paul53 Erstmal vielen Dank. Das Script läuft fehlerfrei durch aber es wird nichts geschrieben.

                                const idJson = 'device-watcher.0.zigbee.listAll'; // Original
                                const idJson1 = '0_userdata.0.Meine_Datenpunkte.Teil1'; // Teil 1
                                const idJson2 = '0_userdata.0.Meine_Datenpunkte.Teil2'; // Teil 2
                                 
                                on(idJson, function(dp) {
                                    let arr = JSON.parse(dp.state.val);
                                    const arr2 = [];
                                    for(let i = 30; i < arr.length - 30; i++) {
                                        arr2.push(arr[i]);
                                    }
                                    arr.length = 30;
                                    setState(idJson1, JSON.stringify(arr), true);
                                    setState(idJson2, JSON.stringify(arr2), true);
                                });
                                
                                
                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @wolfgangkt last edited by

                                  @wolfgangkt sagte: es wird nichts geschrieben.

                                  Es wird nur bei Änderung im Original-JSON getriggert.

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    wolfgangkt last edited by

                                    @paul53 jetzt hagelt es Fehler

                                    2023-02-21 21:39:49.080 - info: device-watcher.0 (219822) Got terminate signal TERMINATE_YOURSELF
                                    2023-02-21 21:39:49.080 - info: device-watcher.0 (219822) cleaned everything up...
                                    2023-02-21 21:39:49.081 - info: device-watcher.0 (219822) terminating
                                    2023-02-21 21:39:49.081 - info: device-watcher.0 (219822) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                    2023-02-21 21:39:53.468 - info: device-watcher.0 (219989) starting. Version 2.4.0 in /opt/iobroker/node_modules/iobroker.device-watcher, node: v16.19.1, js-controller: 4.0.24
                                    2023-02-21 21:39:53.482 - info: device-watcher.0 (219989) Number of selected adapters: 8. Loading data from: Fritzdect, Harmony, HmiP, Ping, Shelly, Sonoff, Wled, Zigbee ...
                                    2023-02-21 21:39:54.917 - error: javascript.0 (579) Error in callback: SyntaxError: Unexpected token o in JSON at position 1
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at JSON.parse (:null:null)
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at Object. (script.js.Testen.Teilen:6:20)
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5381:56)
                                    2023-02-21 21:39:54.918 - error: javascript.0 (579) at processImmediate (node:internal/timers:466:21)
                                    2023-02-21 21:39:55.327 - error: javascript.0 (579) Error in callback: SyntaxError: Unexpected token o in JSON at position 1
                                    2023-02-21 21:39:55.327 - error: javascript.0 (579) at JSON.parse (:null:null)
                                    2023-02-21 21:39:55.327 - error: javascript.0 (579) at Object. (script.js.Testen.Teilen:6:20)
                                    2023-02-21 21:39:55.327 - error: javascript.0 (579) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                                    2023-02-21 21:39:55.328 - error: javascript.0 (579) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                                    2023-02-21 21:39:55.328 - error: javascript.0 (579) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5381:56)
                                    2023-02-21 21:39:55.328 - error: javascript.0 (579) at processImmediate (node:internal/timers:466:21)
                                    
                                    
                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @wolfgangkt last edited by

                                      @wolfgangkt sagte: Unexpected token o in JSON at position 1

                                      Das Original-JSON lässt sich nicht parsen, da es offenbar fehlerhaft ist.

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

                                        @paul53 schade. Ich danke Dir trotzdem für deine Hilfe.

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

                                          @wolfgangkt
                                          Das JSON, das Du gepostet hast, lässt sich parsen. Teil 2 beginnt mit "Küchenfenster geschlossen".

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

                                            @paul53 in dem Datenpunkt steht eigentlich immer das gleiche.
                                            liegt es vielleicht an dem Datenpunkt selbst ?

                                            {
                                              "type": "state",
                                              "common": {
                                                "name": {
                                                  "en": "List of all devices",
                                                  "de": "Liste aller Geräte",
                                                  "ru": "Список всех устройств",
                                                  "pt": "Lista de todos os dispositivos",
                                                  "nl": "List van alle apparaten",
                                                  "fr": "Liste de tous les dispositifs",
                                                  "it": "Elenco di tutti i dispositivi",
                                                  "es": "Lista de todos los dispositivos",
                                                  "pl": "Lista wszystkich urządzeń",
                                                  "zh-cn": "所有装置清单"
                                                },
                                                "type": "array",
                                                "role": "json",
                                                "read": true,
                                                "write": false
                                              },
                                              "native": {},
                                              "from": "system.adapter.device-watcher.0",
                                              "user": "system.user.admin",
                                              "ts": 1676195799090,
                                              "_id": "device-watcher.0.zigbee.listAll",
                                              "acl": {
                                                "object": 1636,
                                                "state": 1636,
                                                "owner": "system.user.admin",
                                                "ownerGroup": "system.group.administrator"
                                              }
                                            }
                                            
                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            774
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            37
                                            1743
                                            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