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

    @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

                        596

                        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