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

  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. JSON Objekte in Liste

NEWS

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

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

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

JSON Objekte in Liste

Geplant Angeheftet Gesperrt Verschoben Off Topic
94 Beiträge 3 Kommentatoren 8.1k Aufrufe 2 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

    @legro sagte: schon wieder falsch?

    Zeig mal das JSON.

    L Abwesend
    L Abwesend
    legro
    schrieb am zuletzt editiert von legro
    #15

    @paul53

    Es ist (hoffentlich) identisch mit dem von dir vorgeschlagenen JSON.

    {
      "Tarife": [
          {
            "Name" : "Tarif1"
            "Energiepreis": 0.3963,
            "Intervall": {
              "Startwert": 0,
              "Endwert": 486303
            },
            "Zeitraum": {
              "Start": "2023-01-01",
              "Ende": "2023-06-30"
            }
        },
          {
            "Name" : "Tarif2"
            "Energiepreis": 0.3328,
            "Intervall": {
              "Startwert": 486303,
              "Endwert": null
            },
            "Zeitraum": {
              "Start": "2023-07-01",
              "Ende": "2024-06-30"
            }
          }
      ]
    }
    

    Ich habe einen Verdacht ..

    Damit die Selektion via "." anstelle von [Index] funktioniert, müssen die Listenobjekte benannt sein.

    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

    paul53P 1 Antwort Letzte Antwort
    0
    • L legro

      @paul53

      Es ist (hoffentlich) identisch mit dem von dir vorgeschlagenen JSON.

      {
        "Tarife": [
            {
              "Name" : "Tarif1"
              "Energiepreis": 0.3963,
              "Intervall": {
                "Startwert": 0,
                "Endwert": 486303
              },
              "Zeitraum": {
                "Start": "2023-01-01",
                "Ende": "2023-06-30"
              }
          },
            {
              "Name" : "Tarif2"
              "Energiepreis": 0.3328,
              "Intervall": {
                "Startwert": 486303,
                "Endwert": null
              },
              "Zeitraum": {
                "Start": "2023-07-01",
                "Ende": "2024-06-30"
              }
            }
        ]
      }
      

      Ich habe einen Verdacht ..

      Damit die Selektion via "." anstelle von [Index] funktioniert, müssen die Listenobjekte benannt sein.

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

      @legro sagte: identisch mit dem von dir vorgeschlagenen JSON.

      @paul53 sagte in JSON Objekte in Liste:

      Außerdem fehlt jeweils ein Komma hinter "Tarif1" und "Tarif2".

      Zeilen 4, 16.

      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

      1 Antwort Letzte Antwort
      1
      • mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #17

        Hier mal die Definitionen, die Du verinnerlichen musst:

        =======================================================================
        Also ein ARRAY beginnt IMMER mit einer ECKIGEN Klammer und schließt mit einer ECKIGEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt.

        =======================================================================

        Also ein OBJEKT beginnt IMMER mit einer GESCHWEIFTEN Klammer und schließt mit einer GESCHWEIFTEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt. Ein Element besteht immer aus einer Eigenschaft in Anführungszeichen und dann ein Doppelpunkt und dann dem Wert der Eigenschaft. So wie Du es zuerst gemacht hast.

        =======================================================================

        Und wie Du dann üben kannst - kannst an diesem Mammut Thread sehen. ;)

        https://forum.iobroker.net/post/905403

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        L 1 Antwort Letzte Antwort
        0
        • L legro

          @paul53 @mickym

          Ich habe verstanden worin mein Fehler bestand. Die {..} um die Listenobjekte müssen weg, wenn diese Objekte keinen Namen (mehr) besitzen.

          Aber es funktioniert noch immer nicht. Egal auf was ich selektiere, ich erhalte ich in den nachfolgenden Beispielen stets null.
          2ea22af8-e48b-4a29-8e3e-34a63c88fe3b-image.png

          Ebenso erhalte ich die Liste nicht mehr ausgegeben, wenn ich ..
          58b5410c-0bff-48cd-8dfb-9639b66d138f-image.png

          Was mache ich nun schon wieder falsch?

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #18

          @legro Und hier hängt es halt davon ab, ob Du mit Listen arbeiten willst oder nicht. Ich habe Dir ja den direkten Pfad gezeigt, weil ich den Umweg über Listen zu umständlich fand.

          Ich empfehle Dir grundsätzlich so ein Tool wie: https://jsonformatter.org/ zu verwenden - da siehst Du schon auf den ersten Blick dass Du Dich verheddert hast. ;)

          d844040d-3f89-47d2-92e1-592601ddd0e9-image.png

          was gefehlt hat, sind die beiden Kommas. ;) Habe ich im Screenshot markiert.

          621f8546-f882-43b4-8755-29224d302263-image.png

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          1
          • mickymM mickym

            Hier mal die Definitionen, die Du verinnerlichen musst:

            =======================================================================
            Also ein ARRAY beginnt IMMER mit einer ECKIGEN Klammer und schließt mit einer ECKIGEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt.

            =======================================================================

            Also ein OBJEKT beginnt IMMER mit einer GESCHWEIFTEN Klammer und schließt mit einer GESCHWEIFTEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt. Ein Element besteht immer aus einer Eigenschaft in Anführungszeichen und dann ein Doppelpunkt und dann dem Wert der Eigenschaft. So wie Du es zuerst gemacht hast.

            =======================================================================

            Und wie Du dann üben kannst - kannst an diesem Mammut Thread sehen. ;)

            https://forum.iobroker.net/post/905403

            L Abwesend
            L Abwesend
            legro
            schrieb am zuletzt editiert von legro
            #19

            @mickym @paul53

            Es funktioniert. Es lag natürlich an den fehlenden Kommas.

            VIELEN DANK FÜR EURE GEDULD UND GROßARTIGE HILFE

            Ich versuche einmal eine Zusammenfassung ..

            In Blockly funktioniert die in ARRAYs übliche Syntax zum Selektieren auf die einzelnen Elemente nicht mittels der Angabe [Index], sondern ebenfalls über "."

            In den Anfängen hatte ich kodiert ..

            Tarife[1].Name
            Tarife[0].Intervall.Endwert
            ..

            Auf die Idee, dass hier, der Index zwischen zwei Punkten einzuschließen, es tut, bin ich nicht gekommen.

            Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
            Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

            L 1 Antwort Letzte Antwort
            0
            • L legro

              @mickym @paul53

              Es funktioniert. Es lag natürlich an den fehlenden Kommas.

              VIELEN DANK FÜR EURE GEDULD UND GROßARTIGE HILFE

              Ich versuche einmal eine Zusammenfassung ..

              In Blockly funktioniert die in ARRAYs übliche Syntax zum Selektieren auf die einzelnen Elemente nicht mittels der Angabe [Index], sondern ebenfalls über "."

              In den Anfängen hatte ich kodiert ..

              Tarife[1].Name
              Tarife[0].Intervall.Endwert
              ..

              Auf die Idee, dass hier, der Index zwischen zwei Punkten einzuschließen, es tut, bin ich nicht gekommen.

              L Abwesend
              L Abwesend
              legro
              schrieb am zuletzt editiert von legro
              #20

              Hat sich erledigt.

              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

              mickymM 1 Antwort Letzte Antwort
              0
              • L legro

                Hat sich erledigt.

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #21

                @legro Ja das kannst Du auch nicht. Insbesondere nicht mit Blockly alleine, sondern wenn Du JSONATA verwendest - das ist eine geniale Bibliothek. ;)

                https://docs.jsonata.org/overview

                78a77db7-6d18-45d7-8562-18a30e99f02d-image.png

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                L 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @legro Ja das kannst Du auch nicht. Insbesondere nicht mit Blockly alleine, sondern wenn Du JSONATA verwendest - das ist eine geniale Bibliothek. ;)

                  https://docs.jsonata.org/overview

                  78a77db7-6d18-45d7-8562-18a30e99f02d-image.png

                  L Abwesend
                  L Abwesend
                  legro
                  schrieb am zuletzt editiert von legro
                  #22

                  @mickym

                  Zum Formatieren von JSON-Ausdrücken nutze ich Visual Studio Code.

                  Wie kann man JSONata in ioBroker verwenden?

                  Unter Konvertierung habe ich dazu in Blockly den Baustein JSON Ausdruck .. gefunden. Ich probiere das mal aus.

                  Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                  Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • L legro

                    @mickym

                    Zum Formatieren von JSON-Ausdrücken nutze ich Visual Studio Code.

                    Wie kann man JSONata in ioBroker verwenden?

                    Unter Konvertierung habe ich dazu in Blockly den Baustein JSON Ausdruck .. gefunden. Ich probiere das mal aus.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #23

                    @legro ich hab dir doch einen Screenshot gepostet mit einer Lösung und JSONATA. Zum Üben kannst Du übrigens auch das JSONATA try Fenster verwenden. Links die Eingangsdaten, rechts oben Dein Code, rechts unten das Ergebnis. Das ganze kann man auch abspeichern.

                    Schau mal : https://try.jsonata.org/8DLapvppx

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    L 1 Antwort Letzte Antwort
                    1
                    • mickymM mickym

                      @legro ich hab dir doch einen Screenshot gepostet mit einer Lösung und JSONATA. Zum Üben kannst Du übrigens auch das JSONATA try Fenster verwenden. Links die Eingangsdaten, rechts oben Dein Code, rechts unten das Ergebnis. Das ganze kann man auch abspeichern.

                      Schau mal : https://try.jsonata.org/8DLapvppx

                      L Abwesend
                      L Abwesend
                      legro
                      schrieb am zuletzt editiert von legro
                      #24

                      @mickym

                      Ich bin doch schon fleißig am Üben.:slightly_smiling_face:

                      Mein erstes Ziel ..

                      011ff32a-3533-4721-b862-6ef5362bd926-image.png

                      .. habe ich schon erreicht.

                      Der JSONata-Block verhält sich ziemlich seltsam. Man kann ihn nicht anstelle von "Ergebnis" in der Summenbildung verwenden.

                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • L legro

                        @mickym

                        Ich bin doch schon fleißig am Üben.:slightly_smiling_face:

                        Mein erstes Ziel ..

                        011ff32a-3533-4721-b862-6ef5362bd926-image.png

                        .. habe ich schon erreicht.

                        Der JSONata-Block verhält sich ziemlich seltsam. Man kann ihn nicht anstelle von "Ergebnis" in der Summenbildung verwenden.

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #25

                        @legro Wenn Du JSONATA verwendest - dann brauchst Du alles andere nicht - ich habe Dir doch den Link geschickt. Wenn Du die Doku anschaust, dann referenzierst Du mit $ das aktuelle Objekt - ausserdem ist es geschickter mit JSONATA zu rechnen und lieber das Ergebnis als Liste ausgeben zu lassen.

                        Ich habe Dir doch unten den Link geschickt - da solltest Du doch das try Fenster mit Deinem Objekt bekommen haben. Um für jeden Tarif das Produkt von Preis und Startwert zu bekommen - machst Du das erst mal in JSONATA. Wenn Du Gesamtsumme haben willst geht das noch einfacher.

                        Der Link sollte Dir doch folgendes zeigen. ;)

                        f8562220-bd8c-4b4c-b499-9907f111ada7-image.png

                        Um nun die Produkte der einzelnen Tarife zu bilden:

                        9e446702-67b6-4d04-8701-405c64d9cee3-image.png

                        Du musst halt bissi üben, wenn Du Dich mit JSONATA beschäftigen willst.

                        Wie Du siehst wird nun für jeden Tarif das Produkt gebildet und in einem Array gespeichert. Das Ganze kannst Du dann auch noch aufsummieren.

                        c7c04071-cb11-4466-8bcd-b0bcedddb7f7-image.png

                        Wenn Du das dann in JSONATA Fenster alles gemacht hast - dann referenzierst Du im Blockly das Objekt auf der linken Seite einfach mit $, wie in dem Code rechts oben.

                        f2596f67-0947-439b-8a4d-725ea33268e7-image.png

                        Hier zum Import:

                        <xml xmlns="https://developers.google.com/blockly/xml">
                         <variables>
                           <variable id="NWR;`_N@3a:sTiBKQkne">Objekt</variable>
                         </variables>
                         <block type="variables_set" id="M@F*zUMa;{#yJo2.2goG" x="-1137" y="-337">
                           <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                           <value name="VALUE">
                             <block type="convert_json2object" id="wV#~g_#qRM}fhgD[;waT">
                               <value name="VALUE">
                                 <block type="text" id="7@h4[@Y-M.M.tsLuCU56">
                                   <field name="TEXT">{   "Tarife": [     {       "Tarif1": {         "Energiepreis": 0.3963,         "Intervall": {           "Startwert": 0,           "Endwert": 486303         },         "Zeitraum": {           "Start": "2023-01-01",           "Ende": "2023-06-30"         }       }     },     {       "Tarif2": {         "Energiepreis": 0.3328,         "Intervall": {           "Startwert": 486303,           "Endwert": null         },         "Zeitraum": {           "Start": "2023-07-01",           "Ende": "2024-06-30"         }       }     }   ] }</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="9S+u#Vzo/zuptK|}o,?9">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="COg%Nwdd92sEj=QP[Lt)">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="N=A4,QQsE8/8~[BL])Xc">
                                   <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="^5#in-UU}%!K~KPOKHz_">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="-,TGC$b5|aHgxT-/9J]`">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="convert_jsonata" id="lJ3pgV,d!Gi]8s,TMKUf">
                                       <value name="EXPRESSION">
                                         <shadow type="text" id="$?E[/Hc*GGc|PsLH./zl">
                                           <field name="TEXT">$.Tarife.*.(Energiepreis * Intervall.Startwert / 1000) ~&gt; $sum()</field>
                                         </shadow>
                                       </value>
                                       <value name="TARGET">
                                         <block type="variables_get" id="$EtNHY[c50V=?^FK.SM-">
                                           <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                        </xml>
                        

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        L 1 Antwort Letzte Antwort
                        1
                        • mickymM mickym

                          @legro Wenn Du JSONATA verwendest - dann brauchst Du alles andere nicht - ich habe Dir doch den Link geschickt. Wenn Du die Doku anschaust, dann referenzierst Du mit $ das aktuelle Objekt - ausserdem ist es geschickter mit JSONATA zu rechnen und lieber das Ergebnis als Liste ausgeben zu lassen.

                          Ich habe Dir doch unten den Link geschickt - da solltest Du doch das try Fenster mit Deinem Objekt bekommen haben. Um für jeden Tarif das Produkt von Preis und Startwert zu bekommen - machst Du das erst mal in JSONATA. Wenn Du Gesamtsumme haben willst geht das noch einfacher.

                          Der Link sollte Dir doch folgendes zeigen. ;)

                          f8562220-bd8c-4b4c-b499-9907f111ada7-image.png

                          Um nun die Produkte der einzelnen Tarife zu bilden:

                          9e446702-67b6-4d04-8701-405c64d9cee3-image.png

                          Du musst halt bissi üben, wenn Du Dich mit JSONATA beschäftigen willst.

                          Wie Du siehst wird nun für jeden Tarif das Produkt gebildet und in einem Array gespeichert. Das Ganze kannst Du dann auch noch aufsummieren.

                          c7c04071-cb11-4466-8bcd-b0bcedddb7f7-image.png

                          Wenn Du das dann in JSONATA Fenster alles gemacht hast - dann referenzierst Du im Blockly das Objekt auf der linken Seite einfach mit $, wie in dem Code rechts oben.

                          f2596f67-0947-439b-8a4d-725ea33268e7-image.png

                          Hier zum Import:

                          <xml xmlns="https://developers.google.com/blockly/xml">
                           <variables>
                             <variable id="NWR;`_N@3a:sTiBKQkne">Objekt</variable>
                           </variables>
                           <block type="variables_set" id="M@F*zUMa;{#yJo2.2goG" x="-1137" y="-337">
                             <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                             <value name="VALUE">
                               <block type="convert_json2object" id="wV#~g_#qRM}fhgD[;waT">
                                 <value name="VALUE">
                                   <block type="text" id="7@h4[@Y-M.M.tsLuCU56">
                                     <field name="TEXT">{   "Tarife": [     {       "Tarif1": {         "Energiepreis": 0.3963,         "Intervall": {           "Startwert": 0,           "Endwert": 486303         },         "Zeitraum": {           "Start": "2023-01-01",           "Ende": "2023-06-30"         }       }     },     {       "Tarif2": {         "Energiepreis": 0.3328,         "Intervall": {           "Startwert": 486303,           "Endwert": null         },         "Zeitraum": {           "Start": "2023-07-01",           "Ende": "2024-06-30"         }       }     }   ] }</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="9S+u#Vzo/zuptK|}o,?9">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="COg%Nwdd92sEj=QP[Lt)">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="variables_get" id="N=A4,QQsE8/8~[BL])Xc">
                                     <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="^5#in-UU}%!K~KPOKHz_">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="-,TGC$b5|aHgxT-/9J]`">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="convert_jsonata" id="lJ3pgV,d!Gi]8s,TMKUf">
                                         <value name="EXPRESSION">
                                           <shadow type="text" id="$?E[/Hc*GGc|PsLH./zl">
                                             <field name="TEXT">$.Tarife.*.(Energiepreis * Intervall.Startwert / 1000) ~&gt; $sum()</field>
                                           </shadow>
                                         </value>
                                         <value name="TARGET">
                                           <block type="variables_get" id="$EtNHY[c50V=?^FK.SM-">
                                             <field name="VAR" id="NWR;`_N@3a:sTiBKQkne">Objekt</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                          </xml>
                          

                          L Abwesend
                          L Abwesend
                          legro
                          schrieb am zuletzt editiert von legro
                          #26

                          @mickym

                          Vielen herzlichen Dank für deine freundliche und äußerst hilfreiche Unterstützung. Für mich ist es jedoch offenbar noch ein langer Weg, bis ich JSONata so gut beherrsche, dass ein Kodieren in JSONata schneller geht als mit Blockly.:disappointed:

                          Derzeit lese ich mich in die äußerst dürftige Dokumentation von JSONata ein. Allein schon bei dem Ausprobieren von $key, $lookup, $sum, .. begehe ich wohl typische Anfängerfehler, die mir den Spaß (noch) gründlich verderben. Aber ich will's tapfer weiter versuchen.

                          Mein erstes Ziel: Die Kosten für unseren Strombezug über alle Tarife hinweg zu ermitteln.

                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • L legro

                            @mickym

                            Vielen herzlichen Dank für deine freundliche und äußerst hilfreiche Unterstützung. Für mich ist es jedoch offenbar noch ein langer Weg, bis ich JSONata so gut beherrsche, dass ein Kodieren in JSONata schneller geht als mit Blockly.:disappointed:

                            Derzeit lese ich mich in die äußerst dürftige Dokumentation von JSONata ein. Allein schon bei dem Ausprobieren von $key, $lookup, $sum, .. begehe ich wohl typische Anfängerfehler, die mir den Spaß (noch) gründlich verderben. Aber ich will's tapfer weiter versuchen.

                            Mein erstes Ziel: Die Kosten für unseren Strombezug über alle Tarife hinweg zu ermitteln.

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #27

                            @legro Ja man muss das verstehen - hat bei mir auch länger gedauert. Mit der Formel unten sollte aber Dein Ziel zu erreichen sein. Wir können das ja mal durchgehen, wenn Du willst. Aber natürlich nur wenn Du willst.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            L 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @legro Ja man muss das verstehen - hat bei mir auch länger gedauert. Mit der Formel unten sollte aber Dein Ziel zu erreichen sein. Wir können das ja mal durchgehen, wenn Du willst. Aber natürlich nur wenn Du willst.

                              L Abwesend
                              L Abwesend
                              legro
                              schrieb am zuletzt editiert von
                              #28

                              @mickym

                              Oh ja, sehr gerne. Ich melde mich mit meinen Versuchen.

                              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • L legro

                                @mickym

                                Oh ja, sehr gerne. Ich melde mich mit meinen Versuchen.

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #29

                                @legro Du sollst es einfach in dem JSONATA try Fenster machen - da Du sofort das Ergebnis siehst. Wenn dann alles stimmt brauchst Du den Code nur rauskopieren und im Blockly als JSONATA Ausdruck verwenden.

                                Wie gesagt mit dem Code:

                                $.Tarife.*.(Energiepreis * Intervall.Startwert / 1000) ~> $sum()
                                

                                hast Du alles was Du brauchst.

                                Gib einfach mal nur das $ ein und schau was im Ergebnisfenster auftaucht, dann $.Tarife usw. - und wenn Du Dir die Ergebnisse erklären kannst ist gut, wenn nicht, dann sag Bescheid.

                                Um das mit der Doku zu erklären. Das $ steht für das aktuelle Objekt - am Anfang als für alles:

                                03842591-4034-4fe5-b212-872f6d5eb2f2-image.png

                                Hier den Auszug aus der Doku:
                                1414a6ff-e7ac-44ad-a3a0-5d8b89d507a0-image.png

                                Dann probierst Du Tarife, also

                                $.Tarife
                                

                                8458d247-6dd7-4ce7-aa77-8d8671e39f5d-image.png

                                Du siehst also als Ergebnis das Array - im Ausgangsobjekt Anfang und Ende gelb markiert.

                                Nun kommt der Stern - sprich wir wollen alle Tarife bzw. Objekte haben, egal wie sie heißen:

                                $.Tarife.*
                                

                                fe260397-52a9-41e4-abce-a2a8926c4bdc-image.png

                                Mit dem Stern hast Du eine Art Wildcard oder Joker - als Platzhalter. ;)

                                f9239947-ff56-4496-9c64-4dc75508b3c2-image.png

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                L 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @legro Du sollst es einfach in dem JSONATA try Fenster machen - da Du sofort das Ergebnis siehst. Wenn dann alles stimmt brauchst Du den Code nur rauskopieren und im Blockly als JSONATA Ausdruck verwenden.

                                  Wie gesagt mit dem Code:

                                  $.Tarife.*.(Energiepreis * Intervall.Startwert / 1000) ~> $sum()
                                  

                                  hast Du alles was Du brauchst.

                                  Gib einfach mal nur das $ ein und schau was im Ergebnisfenster auftaucht, dann $.Tarife usw. - und wenn Du Dir die Ergebnisse erklären kannst ist gut, wenn nicht, dann sag Bescheid.

                                  Um das mit der Doku zu erklären. Das $ steht für das aktuelle Objekt - am Anfang als für alles:

                                  03842591-4034-4fe5-b212-872f6d5eb2f2-image.png

                                  Hier den Auszug aus der Doku:
                                  1414a6ff-e7ac-44ad-a3a0-5d8b89d507a0-image.png

                                  Dann probierst Du Tarife, also

                                  $.Tarife
                                  

                                  8458d247-6dd7-4ce7-aa77-8d8671e39f5d-image.png

                                  Du siehst also als Ergebnis das Array - im Ausgangsobjekt Anfang und Ende gelb markiert.

                                  Nun kommt der Stern - sprich wir wollen alle Tarife bzw. Objekte haben, egal wie sie heißen:

                                  $.Tarife.*
                                  

                                  fe260397-52a9-41e4-abce-a2a8926c4bdc-image.png

                                  Mit dem Stern hast Du eine Art Wildcard oder Joker - als Platzhalter. ;)

                                  f9239947-ff56-4496-9c64-4dc75508b3c2-image.png

                                  L Abwesend
                                  L Abwesend
                                  legro
                                  schrieb am zuletzt editiert von
                                  #30

                                  @mickym

                                  In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

                                  Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                  Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • L legro

                                    @mickym

                                    In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #31

                                    @legro

                                    @legro sagte in JSON Objekte in Liste:

                                    @mickym

                                    In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

                                    Du kannst Dein Fenster teilen:

                                    c1e53840-946c-453f-8ba9-dc16cf42e800-image.png

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @legro

                                      @legro sagte in JSON Objekte in Liste:

                                      @mickym

                                      In diesem Beitrag hast du eine Link auf meine Datenstruktur zum Testen referiert. Wie hast du diesen Link erstellt?

                                      Du kannst Dein Fenster teilen:

                                      c1e53840-946c-453f-8ba9-dc16cf42e800-image.png

                                      L Abwesend
                                      L Abwesend
                                      legro
                                      schrieb am zuletzt editiert von
                                      #32

                                      @mickym

                                      Vielen Dank. Du warst schneller. Ich hatte es mittlerweile auch gefunden.

                                      Hier ist mein neuester Versuch: neue Struktur

                                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                      mickymM 2 Antworten Letzte Antwort
                                      0
                                      • L legro

                                        @mickym

                                        Vielen Dank. Du warst schneller. Ich hatte es mittlerweile auch gefunden.

                                        Hier ist mein neuester Versuch: neue Struktur

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #33

                                        @legro Ja das Problem ist, dass Du einmal Wert und einmal Stand hast. Bist Du dafür verantwortlich und kannst das vereinheitlichen oder müssen wir das ändern?

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @legro Ja das Problem ist, dass Du einmal Wert und einmal Stand hast. Bist Du dafür verantwortlich und kannst das vereinheitlichen oder müssen wir das ändern?

                                          L Abwesend
                                          L Abwesend
                                          legro
                                          schrieb am zuletzt editiert von
                                          #34

                                          @mickym

                                          Hier mein erster Versuch einer Auswertung.

                                          Das Ergebnis ist nicht das gewünschte. Es müssten die Differenzen in den aufeinanderfolgenden Zählerständen (Wert) gebildet werden.

                                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          243

                                          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