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
    16
    1
    2.7k

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.
  • paul53P paul53

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

    Bild_2022-06-02_164913564.png

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

    @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 1 Antwort Letzte Antwort
    0
    • 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 Online
      M Online
      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 Online
          M Online
          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 Online
              M Online
              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 Online
                  M Online
                  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 Online
                          M Online
                          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

                              776

                              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