Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. JSON mit Blockly auflösen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JSON mit Blockly auflösen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Thespeedsurfer last edited by

      Ich brauche bitte Hilfe von euch. Habe verschiedene Forenbeiträge gelesen, komme aber nicht auf eine für mich passende Lösung.
      Hat jemand für mich ein Blockly Bespielscript mit dem ich aus einem MQTT Datenfeld einzelne Werte rausbekomme.

      Das schmeißt meine Zbbridge raus:

      {"ZbReceived":{"0xB5C1":{"Device":"0xB5C1","0500<00":"010000000000","ZoneStatusChange":1,"Contact":1,"Endpoint":1,"LinkQuality":149}}}
      

      Nun möchte ich diesen String in einzelne Datenfelder auflösen, komme aber nicht weiter.

      Ich danke schon mal vorab für eure Hilfe 🤝

      Homoran F 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Thespeedsurfer last edited by

        @tgespeedsurfer sagte in JSON mit Blockly auflösen:

        Nun möchte ich diesen String in einzelne Datenfelder auflösen, komme aber nicht weiter.

        ruf dir mal den json-viewer unter jsonviewer.stack.hu auf, kopiere das json dort rein und du siehst schonmal die Struktur
        json_viewer.png

        Jetzt kannst du mit dem Block "Attribut von" die jeweiligen Werte in die gewünschten Datenpunkte schreiben.
        Der Inhalt von ZbReceived.0xB5C1.Device wäre dann "0xB5C1"

        1 Reply Last reply Reply Quote 1
        • F
          fastfoot @Thespeedsurfer last edited by

          @tgespeedsurfer So:
          mqtt1.PNG

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="G,WxB-pUhWyB^bN*Xi7f">mqtt</variable>
             <variable id="D_M}auPlg#tJNK56ANMT">device</variable>
           </variables>
           <block type="variables_set" id="K`Sp:3,~w%D54KKl3awc" x="62" y="37">
             <field name="VAR" id="G,WxB-pUhWyB^bN*Xi7f">mqtt</field>
             <value name="VALUE">
               <block type="convert_json2object" id="K$2Gcp07SffyIcX-6o1z">
                 <value name="VALUE">
                   <block type="text" id=")DWRM+r}[}F3+Y.M%3Xm">
                     <field name="TEXT">{"ZbReceived":{"0xB5C1":{"Device":"0xB5C1","0500&lt;00":"010000000000","ZoneStatusChange":1,"Contact":1,"Endpoint":1,"LinkQuality":149}}}</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="variables_set" id="v^97j235UN(xelt4A+Q_">
                 <field name="VAR" id="D_M}auPlg#tJNK56ANMT">device</field>
                 <value name="VALUE">
                   <block type="get_attr" id="y}}mHAa68~]}V|^4ConB">
                     <value name="PATH">
                       <shadow type="text" id="x^Lr@5`Kt63:[?*cS*1+">
                         <field name="TEXT">ZbReceived.0xB5C1</field>
                       </shadow>
                     </value>
                     <value name="OBJECT">
                       <block type="variables_get" id="q{d,tsgqxotT=l1=|J|C">
                         <field name="VAR" id="G,WxB-pUhWyB^bN*Xi7f">mqtt</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="avtR[H0o//ddj@GEMR,U" inline="true">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="lzBZ7nzP4_4N%|.@H36S">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="get_attr" id="Ovhq?8;M$__![_Xca^-O">
                         <value name="PATH">
                           <shadow type="text" id="$(?bGs]iEF1ymn_acoA8">
                             <field name="TEXT">LinkQuality</field>
                           </shadow>
                         </value>
                         <value name="OBJECT">
                           <block type="variables_get" id="$|11F7mu|:RFwFV[2y0W">
                             <field name="VAR" id="D_M}auPlg#tJNK56ANMT">device</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="-}YpRRTA5/hD[dSMh/rX" inline="true">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="get_attr" id="(9f=9K)QPHjym!5Y3GF5">
                             <value name="PATH">
                               <shadow type="text" id="o|d=~A)T^B`U0=~W$x]s">
                                 <field name="TEXT">0500&lt;00</field>
                               </shadow>
                             </value>
                             <value name="OBJECT">
                               <block type="variables_get" id="A{^6V:ni5;CpK,loi)E.">
                                 <field name="VAR" id="D_M}auPlg#tJNK56ANMT">device</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="V;,?bi-r$d|:`BfWz`y5" inline="true">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="get_attr" id="9BQev.yg*d.[H(l*r}!-">
                                 <value name="PATH">
                                   <shadow type="text" id="PGw_fv:8Kt%[%P+T%+8d">
                                     <field name="TEXT">Device</field>
                                   </shadow>
                                 </value>
                                 <value name="OBJECT">
                                   <block type="variables_get" id="[c{kE?3LhGw;.xhWG@,`">
                                     <field name="VAR" id="D_M}auPlg#tJNK56ANMT">device</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          T 1 Reply Last reply Reply Quote 1
          • T
            Thespeedsurfer @fastfoot last edited by

            @fastfoot

            Verstanden! Sehr gut.
            Vielen Dank für die schnelle Hilfe 🙂
            Jetzt kann ich weitermachen.

            A 1 Reply Last reply Reply Quote 0
            • A
              Anonymous23 @Thespeedsurfer last edited by Anonymous23

              Hallo zusammen,

              ich bin aktuell ein Anfänger, und kämpfe an der Herausforderung, die Werte von einem Tasmota Adapter (IR-Kopf) von einem Stromzähler in IO-Broker aufzunehmen und in der influx Datenbank systematisch abzulegen.

              Via MQTT kommen im IO Broker folgende Message die als ein Objekt von IO-Broker identifiziert wird. Nun möchte ich die Werte in der Body von dieser Nachricht (JSON?) auf die drei Zeitreihen "Total_in", "Power_curr" und "Total_out" aufzuteilen. Ich wollte es mit Blockly zusammen stellen, aber irgendwie komme ich nicht richtig weiter. Kann mir vielleicht jemand bei Erstellung von Blockly helfen?

              Der Namen von Objekt, das über MQTT in IOBroker ankommt, lautet:
              "tasmota/Stromzaehler-Haus/tele/SENSOR"

              Das Datenpaket umfasst foglende Message:
              {"Time":"2023-04-23T01:04:29","Haus":{"Meter_Number":"0a0149545200034d1461","Total_in":5303.4909,"Power_curr":326,"Total_out":0.0000}}
              Gewünscht sind drei Datenobjekten:
              -Total_in
              -Power_curr
              -Total_out
              mit dem gesendeten Zeitstempel "Time", die dann in der DAtenbank gespeichert werden, nachdem die MEssage vin Tasmota ankommt.

              294fd1df-f3d4-42b8-83e7-85cc906915f9-image.png

              DJMarc75 1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @Anonymous23 last edited by

                @anonymous23 sagte in JSON mit Blockly auflösen:

                bei Erstellung von Blockly helfen?

                So geht man beim "zerlegen" vor:

                Screenshot 2023-04-23 052649.png

                A 1 Reply Last reply Reply Quote 0
                • A
                  Anonymous23 @DJMarc75 last edited by Anonymous23

                  @djmarc75 Danke!

                  ich finde bei mir in Blockly das Element "Setze" weder bei Triggern noch bei Aktionen und Funktionen...

                  Auch in Variablen finde ich kein passendes Block.
                  9c06984b-2bd8-4125-a039-674739ea5045-image.png
                  Suche ich an der falschen Stelle?... (sry für mein Unwissen...)

                  DJMarc75 1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @Anonymous23 last edited by

                    @anonymous23 Du musst die Variable erst erstellen, dann findest Du auch setze 😉

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Anonymous23 @DJMarc75 last edited by

                      @djmarc75 vielen Dank.

                      Bin jetzt noch ein Stück weiter.
                      a9f58f96-7c50-4a1f-a290-e80cf191416b-image.png
                      Eine Frage: was soll als Element in Blockly für das "Wert" eingeführt werden?
                      af02c361-6310-43e8-b8bc-34f11039bbc5-image.png

                      DJMarc75 1 Reply Last reply Reply Quote 0
                      • DJMarc75
                        DJMarc75 @Anonymous23 last edited by

                        @anonymous23 links unter Trigger den Baustein "Objekt ID" rausziehen und dann auf Wert stellen:

                        Screenshot 2023-04-23 121857.png

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.1k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        1189
                        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