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.
    • W
      wolfgangkt last edited by

      Hallo,
      habe folgendes Problem:
      Ich habe einen json Datenpunkt der in der VIS in einer Tabelle dargestellt wird.
      Leider sind es so viele Daten das sie nicht komplett in die VIS passen.
      Meine Idee wäre nun den json Datenpunkt in 2 separate Datenpunkte auf zu teilen.
      Allerdings sind meine java Kenntnisse bescheiden.
      Vielleicht kann mir ja mal ein wenig helfen.
      Danke

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

        @wolfgangkt

        nehm doch einfach ein anderes widget und stell die Spalten dar, die du willst.

        z.B.
        378d01cc-c75c-4c52-96bc-5358f844c4f9-image.png

        Dort kannst du doch die Spalten einstellen.

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

          @bahnuhr Spalten nicht das Problem, sondern die Reihen (vertikal)

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

            @wolfgangkt sagte in json teilen:

            @bahnuhr Spalten nicht das Problem, sondern die Reihen (vertikal)

            Na, dann mehr Infos.

            Wie sieht das JSON aus?
            Wie soll es dargestellt werden ?
            welches widget hast du genommen ?
            wie soll es dann aussehen ?

            Ohne Infos, keine Lösung.

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

              @wolfgangkt sagte in json teilen:

              sondern die Reihen (vertikal)

              du kannst doch scrollen

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

                @bahnuhr

                [{"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"},}]
                

                Also Widget habe ich die json Table verwendet. die json soll aufgeteilt werden damit ich sie neben einander darstellen kann. Scrollen wollte ich vermeiden.

                bahnuhr 1 Reply Last reply Reply Quote 0
                • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            843
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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