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

                      381

                      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