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. Blockly
  5. JSON über Blockly zerlegen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

JSON über Blockly zerlegen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
17 Beiträge 4 Kommentatoren 1.1k Aufrufe 3 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.
  • A aski71

    @paul53 said in JSON über Blockly zerlegen:

    @aski71 sagte: nur den "location" Datenpunkt für den Eintrag mit "event":"Charge" bekomme?

    Bild_2022-06-02_164913564.png

    Hm. Haut leider nicht hin.
    Leider wird nicht in den "falls" Zweig abgebogen. Also: Attribut "event" vom Objekt "obj" = "Charge" wird nicht erkannt.

    M Offline
    M Offline
    MCU
    schrieb am zuletzt editiert von MCU
    #5

    @aski71 Der DP hat kein korrekten JSON:
    6943996f-0367-4787-8c93-8fb38b9dfcb0-image.png
    Doppelpunkt fehlt dort.

    "params":[],
    

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    A 1 Antwort Letzte Antwort
    0
    • M MCU

      @aski71 Der DP hat kein korrekten JSON:
      6943996f-0367-4787-8c93-8fb38b9dfcb0-image.png
      Doppelpunkt fehlt dort.

      "params":[],
      
      A Offline
      A Offline
      aski71
      schrieb am zuletzt editiert von
      #6

      @mcu said in JSON über Blockly zerlegen:

      @aski71 Der DP hat kein korrekten JSON:
      6943996f-0367-4787-8c93-8fb38b9dfcb0-image.png
      Doppelpunkt fehlt dort.

      "params":[],
      

      Sorry, das ist nur ein, der mir beim hier reinkopieren passiert ist. Im Original JSON ist der Doppelpunkt enthalten.

      M 1 Antwort Letzte Antwort
      0
      • A aski71

        @mcu said in JSON über Blockly zerlegen:

        @aski71 Der DP hat kein korrekten JSON:
        6943996f-0367-4787-8c93-8fb38b9dfcb0-image.png
        Doppelpunkt fehlt dort.

        "params":[],
        

        Sorry, das ist nur ein, der mir beim hier reinkopieren passiert ist. Im Original JSON ist der Doppelpunkt enthalten.

        M Offline
        M Offline
        MCU
        schrieb am zuletzt editiert von MCU
        #7

        @aski71 Läuft bei mir:
        503dfc8b-3da9-411c-af80-cb985c7b5c72-image.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="vC~s+KSv55[ns)`NZd^V">Liste</variable>
           <variable id="Sd(Azq!#PX`0:3Mw}V{n">obj</variable>
         </variables>
         <block type="variables_set" id=":z)TGf~|{]2p(uSE],4z" x="138" y="88">
           <field name="VAR" id="vC~s+KSv55[ns)`NZd^V">Liste</field>
           <value name="VALUE">
             <block type="convert_json2object" id="XZ)I?D4IHyDL@+Kp0waa">
               <value name="VALUE">
                 <block type="get_value" id="T(,s,(LcwfL;ERDtx_%h">
                   <field name="ATTR">val</field>
                   <field name="OID">0_userdata.0.jarvis.test.text</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="controls_forEach" id="$V[_btjKL*tF5GCx1JzR">
               <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
               <value name="LIST">
                 <block type="variables_get" id="aoE=x6B=7=4q6U5?_6A|">
                   <field name="VAR" id="vC~s+KSv55[ns)`NZd^V">Liste</field>
                 </block>
               </value>
               <statement name="DO">
                 <block type="controls_if" id="dstB@fFd(smWhy(ooUa#">
                   <value name="IF0">
                     <block type="logic_compare" id="{XA:vd).Kd3$4R$zRr?i">
                       <field name="OP">EQ</field>
                       <value name="A">
                         <block type="get_attr" id="UXM]jNg_3I(+mMK*kfXA">
                           <value name="PATH">
                             <shadow type="text" id=";e[OJ-s@bfM3_F@Khj@|">
                               <field name="TEXT">event</field>
                             </shadow>
                           </value>
                           <value name="OBJECT">
                             <block type="variables_get" id="I)n0R+=j__6;G~$WuLb[">
                               <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <block type="text" id="dw](D=SXZ0~XDt#:`7N6">
                           <field name="TEXT">Charge</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="debug" id="CHhC?IQqC^Fj`ICssf_=">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="q($Z?V`5.!i[Qg@J747[">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="get_attr" id="-7s3ggu$oXXS^?N$hdi+">
                           <value name="PATH">
                             <shadow type="text" id="cq81G*t.|)uOD$#`-qBG">
                               <field name="TEXT">location</field>
                             </shadow>
                           </value>
                           <value name="OBJECT">
                             <block type="variables_get" id="R3M7:9]u;mQRv(sL6DMr">
                               <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        A 1 Antwort Letzte Antwort
        0
        • M MCU

          @aski71 Läuft bei mir:
          503dfc8b-3da9-411c-af80-cb985c7b5c72-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="vC~s+KSv55[ns)`NZd^V">Liste</variable>
             <variable id="Sd(Azq!#PX`0:3Mw}V{n">obj</variable>
           </variables>
           <block type="variables_set" id=":z)TGf~|{]2p(uSE],4z" x="138" y="88">
             <field name="VAR" id="vC~s+KSv55[ns)`NZd^V">Liste</field>
             <value name="VALUE">
               <block type="convert_json2object" id="XZ)I?D4IHyDL@+Kp0waa">
                 <value name="VALUE">
                   <block type="get_value" id="T(,s,(LcwfL;ERDtx_%h">
                     <field name="ATTR">val</field>
                     <field name="OID">0_userdata.0.jarvis.test.text</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="controls_forEach" id="$V[_btjKL*tF5GCx1JzR">
                 <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
                 <value name="LIST">
                   <block type="variables_get" id="aoE=x6B=7=4q6U5?_6A|">
                     <field name="VAR" id="vC~s+KSv55[ns)`NZd^V">Liste</field>
                   </block>
                 </value>
                 <statement name="DO">
                   <block type="controls_if" id="dstB@fFd(smWhy(ooUa#">
                     <value name="IF0">
                       <block type="logic_compare" id="{XA:vd).Kd3$4R$zRr?i">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_attr" id="UXM]jNg_3I(+mMK*kfXA">
                             <value name="PATH">
                               <shadow type="text" id=";e[OJ-s@bfM3_F@Khj@|">
                                 <field name="TEXT">event</field>
                               </shadow>
                             </value>
                             <value name="OBJECT">
                               <block type="variables_get" id="I)n0R+=j__6;G~$WuLb[">
                                 <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="B">
                           <block type="text" id="dw](D=SXZ0~XDt#:`7N6">
                             <field name="TEXT">Charge</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="debug" id="CHhC?IQqC^Fj`ICssf_=">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="q($Z?V`5.!i[Qg@J747[">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="get_attr" id="-7s3ggu$oXXS^?N$hdi+">
                             <value name="PATH">
                               <shadow type="text" id="cq81G*t.|)uOD$#`-qBG">
                                 <field name="TEXT">location</field>
                               </shadow>
                             </value>
                             <value name="OBJECT">
                               <block type="variables_get" id="R3M7:9]u;mQRv(sL6DMr">
                                 <field name="VAR" id="Sd(Azq!#PX`0:3Mw}V{n">obj</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </next>
           </block>
          </xml>
          

          A Offline
          A Offline
          aski71
          schrieb am zuletzt editiert von
          #8

          @mcu Hm. Bei mir nicht. Er geht nicht in den "falls" Zweig. Hab das genauso runter gedengelt, wie in Deinem Screenshot. Unterschied ist nur die tatsächliche ObjektID, in dem das steht und ich habe geringfügig andere Variablennamen.

          M 1 Antwort Letzte Antwort
          0
          • A aski71

            @mcu Hm. Bei mir nicht. Er geht nicht in den "falls" Zweig. Hab das genauso runter gedengelt, wie in Deinem Screenshot. Unterschied ist nur die tatsächliche ObjektID, in dem das steht und ich habe geringfügig andere Variablennamen.

            M Offline
            M Offline
            MCU
            schrieb am zuletzt editiert von
            #9

            @aski71 Zeig doch mal Deine Version als Bild.

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            A 1 Antwort Letzte Antwort
            0
            • M MCU

              @aski71 Zeig doch mal Deine Version als Bild.

              A Offline
              A Offline
              aski71
              schrieb am zuletzt editiert von
              #10

              @mcu Screenshot 2022-06-02 at 18.49.39.png

              M paul53P 2 Antworten Letzte Antwort
              0
              • A aski71

                @mcu Screenshot 2022-06-02 at 18.49.39.png

                M Offline
                M Offline
                MCU
                schrieb am zuletzt editiert von
                #11

                @aski71 Und das Log dazu? Welcher Fehler oder gar nichts kommt?

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                A 1 Antwort Letzte Antwort
                0
                • A aski71

                  @mcu Screenshot 2022-06-02 at 18.49.39.png

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

                  @aski71
                  Dann logge mal die Liste.

                  Bild_2022-06-02_185720972.png

                  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

                  A 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @aski71 Und das Log dazu? Welcher Fehler oder gar nichts kommt?

                    A Offline
                    A Offline
                    aski71
                    schrieb am zuletzt editiert von
                    #13

                    @mcu said in JSON über Blockly zerlegen:

                    @aski71 Und das Log dazu? Welcher Fehler oder gar nichts kommt?

                    Der erste debug output kommt. danach nur noch "ermittelter wert = undefined".
                    Ich mache gleich mal einen log auf die Liste @paul53

                    M 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @aski71
                      Dann logge mal die Liste.

                      Bild_2022-06-02_185720972.png

                      A Offline
                      A Offline
                      aski71
                      schrieb am zuletzt editiert von
                      #14

                      @paul53 said in JSON über Blockly zerlegen:

                      @aski71
                      Dann logge mal die Liste.

                      Bild_2022-06-02_185720972.png

                      Hm....

                      javascript.0 (1722) script.js.common.calTest: {}

                      1 Antwort Letzte Antwort
                      0
                      • A aski71

                        @mcu said in JSON über Blockly zerlegen:

                        @aski71 Und das Log dazu? Welcher Fehler oder gar nichts kommt?

                        Der erste debug output kommt. danach nur noch "ermittelter wert = undefined".
                        Ich mache gleich mal einen log auf die Liste @paul53

                        M Offline
                        M Offline
                        MCU
                        schrieb am zuletzt editiert von
                        #15

                        @aski71 Wie schon eben gesagt, es ist kein JSON-DP. Kontrollier nochmal den DP.

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        A 1 Antwort Letzte Antwort
                        0
                        • M MCU

                          @aski71 Wie schon eben gesagt, es ist kein JSON-DP. Kontrollier nochmal den DP.

                          A Offline
                          A Offline
                          aski71
                          schrieb am zuletzt editiert von
                          #16

                          @mcu said in JSON über Blockly zerlegen:

                          @aski71 Wie schon eben gesagt, es ist kein JSON-DP. Kontrollier nochmal den DP.

                          So ist es!
                          Es ist bereits eine Liste!

                          Ergo:

                          Screenshot 2022-06-02 at 19.11.05.png

                          Jetzt funktioniert es.

                          Vielen Dank für Eure Hilfe!

                          1 Antwort Letzte Antwort
                          0
                          • A aski71

                            Hallo zusammen,

                            ich steh ein wenig auf dem Schlauch.
                            Ich versuche gerade, über ical einen Datenpunkt auszuwerten und weiß nicht so recht, wie das anzustellen ist.

                            Die Struktur von ical sieht so aus:

                            [
                               {"date":"Noch 1 Tag",
                                "event":"Aus",
                                "_class":"ical_Wecker ical_today",
                                "_date":"2022-05-22T22:00:00.000Z",
                                "_end":"2022-06-03T22:00:00.000Z",
                                "_IDID":"AE86E138-91AB-43AE-A23F-3D49E3C02064",
                                "_allDay":true,"_private":false,
                                "_rule":" ",
                                "location":"",
                                "_calName":"Wecker",
                                "_calColor":"#000000",
                                "_object":{"type":"VEVENT",
                                           "params"[],
                                           "created":"2022-05-23T04:19:37.000Z",
                                           "end":"2022-06-03T22:00:00.000Z",
                                           "dtstamp":"2022-05-23T04:19:37.000Z",
                                           "start":"2022-05-22T22:00:00.000Z",
                                           "datetype":"date",
                                           "lastmodified":"2022-05-23T04:19:37.000Z",
                                           "sequence":"0",
                                           "summary":"Aus",
                                           "uid":"AE86E138-91AB-43AE-A23F-3D49E3C02064",
                                           "url":{"params":{"VALUE":"URI"},"val":""}
                                           }
                               },
                               {"date":"Noch 10 Stunden",
                                "event":"Charge",
                                "_class":"ical_Wecker ical_today",
                                "_date":"2022-06-02T12:00:00.000Z",
                                "_end":"2022-06-02T21:00:00.000Z",
                                "_IDID":"934F9AE2-BD8D-41AA-A205-FE4A5D604A3E",
                                "_allDay":false,
                                "_private":false,
                                "_rule":" ",
                                "location":"100",
                                "_calName":"Wecker",
                                "_calColor":"#000000",
                                "_object":{"type":"VEVENT",
                                           "params":[],
                                           "created":"2022-06-02T11:16:51.000Z",
                                           "end":"2022-06-02T21:00:00.000Z",
                                           "dtstamp":"2022-06-02T11:16:52.000Z",
                                           "start":"2022-06-02T12:00:00.000Z",
                                           "datetype":"date-time",
                                           "lastmodified":"2022-06-02T11:16:51.000Z",
                                           "location":"100",
                                           "sequence":"0",
                                           "summary":"Charge",
                                           "uid":"934F9AE2-BD8D-41AA-A205-FE4A5D604A3E",
                                           "url":{"params":{"VALUE":"URI"},"val":""}
                                          }
                               }
                            ]
                            

                            Nun möchte ich den Datenpunkt "location" auswerten.
                            Dazu hatte ich folgendes erstellt:
                            Screenshot 2022-06-02 at 16.30.34.png

                            Das hat auch erstmal das gewünschte Ergebnis gebracht, solange ich nur 1 Event im Kalender hatte. Nun habe ich, wie oben 2 Events im Kalender.
                            Eines namens "Aus", dessen "location" leer ist.
                            Eines namens "Charge", dessen "location" mit dem Wert 100 gefüllt ist.

                            Der Inhalt meiner socLevel ist nun ",100"
                            Ich erkläre mir das so, dass beide "location" Datenpunkte zu einer Liste zusammen gefasst werden.

                            Was muss ich tun, dass ich in meiner Variable nur den "location" Datenpunkt für den Eintrag mit "event":"Charge" bekomme?

                            Vielen Dank für sachdienliche Hinweise.
                            Alex

                            sten-torS Offline
                            sten-torS Offline
                            sten-tor
                            schrieb am zuletzt editiert von sten-tor
                            #17

                            @aski71 Hi Alex, JSONata ist ziemlich mächtig. Du kannst damit direkt ohne Schleife den gewünschten location-Wert extrahieren:

                            $[event='Charge'].location
                            

                            Falls mehrere Charge-Events vorkommen und du willst nur das erste haben:

                            $[event='Charge'][0].location
                            

                            Hier kannst du die JSONata Befehle testen:
                            https://try.jsonata.org/

                            1 Antwort Letzte Antwort
                            1
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            614

                            Online

                            32.4k

                            Benutzer

                            81.4k

                            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