Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] JSON erstellen und filtern

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    307

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] JSON erstellen und filtern

Scheduled Pinned Locked Moved Blockly
9 Posts 3 Posters 1.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • opossumO Offline
    opossumO Offline
    opossum
    wrote on last edited by opossum
    #1

    Hallo,
    wieder mal sitzt das Problem vor dem Bildschirm.
    Ich ermittle jeden Tag um 00.01 den Zählerstand meines Discovergy-Zählers und ermittle den Verbrauch des Vortages durch Differenzbildung. Das Ergebnis schreibe ich dann jeden Tag um 00.10 Uhr auf einen Datenpunkt Täglicher Verbrauch. Der wird bei Änderung auch in die SQL-Datenbank (MariaDb) geschrieben. Aus der MariaDb hole ich mir die Werte des täglichen Verbrauchs mittels Blockly wieder zurück.

    Hier das Blockly:
    5d22ecb6-8cf9-4598-ad13-093aa95ce10a-image.png

    und hier der Blockly-Export:

    <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
        <variable id="/a.frbr+lSz-sv9itJ(m">obj</variable>
        <variable id="%,uKx.``R8Wb=f]P9h`.">result</variable>
      </variables>
      <block type="comment" id="GVW732OFexZ9HP[q]B3," x="-412" y="-262">
        <field name="COMMENT">Send query to SQL adapter</field>
        <next>
          <block type="sendto_custom" id="84lYloO4o+RvLszPVHZ5">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation>
            <field name="INSTANCE">sql.0</field>
            <field name="COMMAND">query</field>
            <field name="LOG">log</field>
            <field name="WITH_STATEMENT">TRUE</field>
            <value name="ARG0">
              <shadow type="text" id=")faamoSD,nGPXawY4|(Z">
                <field name="TEXT">SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,val Verbrauch FROM iobroker.ts_number where id = '159' and val &lt;&gt; '0' group by val order by Datum</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="debug" id="Q#UJl]^_g/VHzM*G/a:f">
                <field name="Severity">log</field>
                <value name="TEXT">
                  <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="#!NJS43!0z@}z:6~_,9(">
                    <field name="TEXT">test</field>
                  </shadow>
                  <block type="procedures_callcustomreturn" id="0E2fmQQduf4)-({z(om|">
                    <mutation name="JSON.stringify">
                      <arg name="obj"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="variables_get" id=",^2E2eT#598hI^TvABD9">
                        <field name="VAR" id="%,uKx.``R8Wb=f]P9h`.">result</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </statement>
          </block>
        </next>
      </block>
      <block type="procedures_defcustomreturn" id="lm*.n3kQXll8o9X^*m,k" x="-412" y="13">
        <mutation statements="false">
          <arg name="obj" varid="/a.frbr+lSz-sv9itJ(m"></arg>
        </mutation>
        <field name="NAME">JSON.stringify</field>
        <field name="SCRIPT">cmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7</field>
        <comment pinned="false" h="80" w="160">Describe this function...</comment>
      </block>
    </xml>
    

    Als Ergebnis erhalte ich aus diesem Blockly den folgenden Block:

    javascript.0 (30863) script.js.Energie.Verbrauch_tabelle: {"error":null,"result":[{"Datum":"07.2.2021","Verbrauch":9.001},{"Datum":"07.2.2021","Verbrauch":10},{"Datum":"07.2.2021","Verbrauch":1},{"Datum":"07.2.2021","Verbrauch":2},{"Datum":"07.2.2021","Verbrauch":4},{"Datum":"10.2.2021","Verbrauch":44.43},{"Datum":"11.2.2021","Verbrauch":12.695},{"Datum":"12.2.2021","Verbrauch":13.905},{"Datum":"13.2.2021","Verbrauch":14.605},{"Datum":"14.2.2021","Verbrauch":14.989},{"Datum":"15.2.2021","Verbrauch":35.61},{"Datum":"16.2.2021","Verbrauch":16.162},{"Datum":"17.2.2021","Verbrauch":12.552},{"Datum":"18.2.2021","Verbrauch":11.776},{"Datum":"19.2.2021","Verbrauch":11.801},{"Datum":"20.2.2021","Verbrauch":15.435},{"Datum":"20.2.2021","Verbrauch":15.635},{"Datum":"20.2.2021","Verbrauch":16.958},{"Datum":"20.2.2021","Verbrauch":15.935},{"Datum":"20.2.2021","Verbrauch":15.735},{"Datum":"20.2.2021","Verbrauch":16.968},{"Datum":"20.2.2021","Verbrauch":15.835},{"Datum":"20.2.2021","Verbrauch":15},{"Datum":"20.2.2021","Verbrauch":15.135},{"Datum":"20.2.2021","Verbrauch":15.235},{"Datum":"20.2.2021","Verbrauch":15.335},{"Datum":"20.2.2021","Verbrauch":15.535},{"Datum":"21.2.2021","Verbrauch":14.467},{"Datum":"22.2.2021","Verbrauch":14.052},{"Datum":"23.2.2021","Verbrauch":12.648}]}
    

    Jetzt möchte mit diesem Ergebnis einen Datenpunkt
    cf9e031c-971b-44e4-ae15-a40b00290f46-image.png
    aktualisieren. Der DP ist als Objekt angelegt.
    Speichere ich den Block für result [ ... ] in diesen Datenpunkt, ist alles schick und ich kann in der VIS mittels json-table die Werte anzeigen.
    Es gelingt mir in dem Blockly nicht, diesen Datenpunkt zu aktualisieren.
    Kann mich da bitte jemand sehend machen? Vielen Dank.

    https://schlepper-petersdorf.jimdofree.com/

    E paul53P 2 Replies Last reply
    0
    • opossumO opossum

      Hallo,
      wieder mal sitzt das Problem vor dem Bildschirm.
      Ich ermittle jeden Tag um 00.01 den Zählerstand meines Discovergy-Zählers und ermittle den Verbrauch des Vortages durch Differenzbildung. Das Ergebnis schreibe ich dann jeden Tag um 00.10 Uhr auf einen Datenpunkt Täglicher Verbrauch. Der wird bei Änderung auch in die SQL-Datenbank (MariaDb) geschrieben. Aus der MariaDb hole ich mir die Werte des täglichen Verbrauchs mittels Blockly wieder zurück.

      Hier das Blockly:
      5d22ecb6-8cf9-4598-ad13-093aa95ce10a-image.png

      und hier der Blockly-Export:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="/a.frbr+lSz-sv9itJ(m">obj</variable>
          <variable id="%,uKx.``R8Wb=f]P9h`.">result</variable>
        </variables>
        <block type="comment" id="GVW732OFexZ9HP[q]B3," x="-412" y="-262">
          <field name="COMMENT">Send query to SQL adapter</field>
          <next>
            <block type="sendto_custom" id="84lYloO4o+RvLszPVHZ5">
              <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation>
              <field name="INSTANCE">sql.0</field>
              <field name="COMMAND">query</field>
              <field name="LOG">log</field>
              <field name="WITH_STATEMENT">TRUE</field>
              <value name="ARG0">
                <shadow type="text" id=")faamoSD,nGPXawY4|(Z">
                  <field name="TEXT">SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,val Verbrauch FROM iobroker.ts_number where id = '159' and val &lt;&gt; '0' group by val order by Datum</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="debug" id="Q#UJl]^_g/VHzM*G/a:f">
                  <field name="Severity">log</field>
                  <value name="TEXT">
                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="#!NJS43!0z@}z:6~_,9(">
                      <field name="TEXT">test</field>
                    </shadow>
                    <block type="procedures_callcustomreturn" id="0E2fmQQduf4)-({z(om|">
                      <mutation name="JSON.stringify">
                        <arg name="obj"></arg>
                      </mutation>
                      <value name="ARG0">
                        <block type="variables_get" id=",^2E2eT#598hI^TvABD9">
                          <field name="VAR" id="%,uKx.``R8Wb=f]P9h`.">result</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </statement>
            </block>
          </next>
        </block>
        <block type="procedures_defcustomreturn" id="lm*.n3kQXll8o9X^*m,k" x="-412" y="13">
          <mutation statements="false">
            <arg name="obj" varid="/a.frbr+lSz-sv9itJ(m"></arg>
          </mutation>
          <field name="NAME">JSON.stringify</field>
          <field name="SCRIPT">cmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7</field>
          <comment pinned="false" h="80" w="160">Describe this function...</comment>
        </block>
      </xml>
      

      Als Ergebnis erhalte ich aus diesem Blockly den folgenden Block:

      javascript.0 (30863) script.js.Energie.Verbrauch_tabelle: {"error":null,"result":[{"Datum":"07.2.2021","Verbrauch":9.001},{"Datum":"07.2.2021","Verbrauch":10},{"Datum":"07.2.2021","Verbrauch":1},{"Datum":"07.2.2021","Verbrauch":2},{"Datum":"07.2.2021","Verbrauch":4},{"Datum":"10.2.2021","Verbrauch":44.43},{"Datum":"11.2.2021","Verbrauch":12.695},{"Datum":"12.2.2021","Verbrauch":13.905},{"Datum":"13.2.2021","Verbrauch":14.605},{"Datum":"14.2.2021","Verbrauch":14.989},{"Datum":"15.2.2021","Verbrauch":35.61},{"Datum":"16.2.2021","Verbrauch":16.162},{"Datum":"17.2.2021","Verbrauch":12.552},{"Datum":"18.2.2021","Verbrauch":11.776},{"Datum":"19.2.2021","Verbrauch":11.801},{"Datum":"20.2.2021","Verbrauch":15.435},{"Datum":"20.2.2021","Verbrauch":15.635},{"Datum":"20.2.2021","Verbrauch":16.958},{"Datum":"20.2.2021","Verbrauch":15.935},{"Datum":"20.2.2021","Verbrauch":15.735},{"Datum":"20.2.2021","Verbrauch":16.968},{"Datum":"20.2.2021","Verbrauch":15.835},{"Datum":"20.2.2021","Verbrauch":15},{"Datum":"20.2.2021","Verbrauch":15.135},{"Datum":"20.2.2021","Verbrauch":15.235},{"Datum":"20.2.2021","Verbrauch":15.335},{"Datum":"20.2.2021","Verbrauch":15.535},{"Datum":"21.2.2021","Verbrauch":14.467},{"Datum":"22.2.2021","Verbrauch":14.052},{"Datum":"23.2.2021","Verbrauch":12.648}]}
      

      Jetzt möchte mit diesem Ergebnis einen Datenpunkt
      cf9e031c-971b-44e4-ae15-a40b00290f46-image.png
      aktualisieren. Der DP ist als Objekt angelegt.
      Speichere ich den Block für result [ ... ] in diesen Datenpunkt, ist alles schick und ich kann in der VIS mittels json-table die Werte anzeigen.
      Es gelingt mir in dem Blockly nicht, diesen Datenpunkt zu aktualisieren.
      Kann mich da bitte jemand sehend machen? Vielen Dank.

      E Offline
      E Offline
      ente34
      wrote on last edited by
      #2

      @opossum
      Etwa so:
      (Ich bin mir nicht sicher, ob Du das JSON.stringify benötigst, habe es mal weggelassen)

      dp.PNG

      opossumO 1 Reply Last reply
      1
      • E ente34

        @opossum
        Etwa so:
        (Ich bin mir nicht sicher, ob Du das JSON.stringify benötigst, habe es mal weggelassen)

        dp.PNG

        opossumO Offline
        opossumO Offline
        opossum
        wrote on last edited by
        #3

        Hallo, @ente34 ,
        vielen Dank für die Antwort. Das ist es leider nicht. Der Zieldatenpunkt ist als Objekt definiert. Das JSON.stringify liefert mir ja schon im Objekt "result" die Struktur, die besteht aus "error" und "result", wenn ich das korrekt interpretiere.

        {"error":null,"result":[{"Datum":"07.2.2021","Verbrauch":4},{"Datum":"07.2.2021","Verbrauch":9.001},{"Datum":"07.2.2021","Verbrauch":10},{"Datum":"07.2.202 ...
        ]}
        

        Ich müsste aus dem Objekt result halt den Ausdruck für result [ ... ] auf das Objekt schreiben. Aber da steige ich zur Zeit leider noch aus. :shrug:

        https://schlepper-petersdorf.jimdofree.com/

        E 1 Reply Last reply
        0
        • opossumO opossum

          Hallo, @ente34 ,
          vielen Dank für die Antwort. Das ist es leider nicht. Der Zieldatenpunkt ist als Objekt definiert. Das JSON.stringify liefert mir ja schon im Objekt "result" die Struktur, die besteht aus "error" und "result", wenn ich das korrekt interpretiere.

          {"error":null,"result":[{"Datum":"07.2.2021","Verbrauch":4},{"Datum":"07.2.2021","Verbrauch":9.001},{"Datum":"07.2.2021","Verbrauch":10},{"Datum":"07.2.202 ...
          ]}
          

          Ich müsste aus dem Objekt result halt den Ausdruck für result [ ... ] auf das Objekt schreiben. Aber da steige ich zur Zeit leider noch aus. :shrug:

          E Offline
          E Offline
          ente34
          wrote on last edited by
          #4

          @opossum
          Das ist doch dieser Block:

          dp1.PNG

          opossumO 1 Reply Last reply
          1
          • E ente34

            @opossum
            Das ist doch dieser Block:

            dp1.PNG

            opossumO Offline
            opossumO Offline
            opossum
            wrote on last edited by
            #5

            Hallo, @ente34 ,

            ja, das ist auch ok, ich bekomme aber im Log eine Fehlermeldung:

            You are assigning a array to the state "0_userdata.0.Verbrauch.Strom.Taeglich_Tabelle" which expects a object. Please fix your code to use a object or change the state type to array
            

            Ich möchte aber den DP nicht ändern, da ich diesen DP in einem JSON-Table-Widget weiter verwurste.

            https://schlepper-petersdorf.jimdofree.com/

            1 Reply Last reply
            0
            • opossumO opossum

              Hallo,
              wieder mal sitzt das Problem vor dem Bildschirm.
              Ich ermittle jeden Tag um 00.01 den Zählerstand meines Discovergy-Zählers und ermittle den Verbrauch des Vortages durch Differenzbildung. Das Ergebnis schreibe ich dann jeden Tag um 00.10 Uhr auf einen Datenpunkt Täglicher Verbrauch. Der wird bei Änderung auch in die SQL-Datenbank (MariaDb) geschrieben. Aus der MariaDb hole ich mir die Werte des täglichen Verbrauchs mittels Blockly wieder zurück.

              Hier das Blockly:
              5d22ecb6-8cf9-4598-ad13-093aa95ce10a-image.png

              und hier der Blockly-Export:

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="/a.frbr+lSz-sv9itJ(m">obj</variable>
                  <variable id="%,uKx.``R8Wb=f]P9h`.">result</variable>
                </variables>
                <block type="comment" id="GVW732OFexZ9HP[q]B3," x="-412" y="-262">
                  <field name="COMMENT">Send query to SQL adapter</field>
                  <next>
                    <block type="sendto_custom" id="84lYloO4o+RvLszPVHZ5">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation>
                      <field name="INSTANCE">sql.0</field>
                      <field name="COMMAND">query</field>
                      <field name="LOG">log</field>
                      <field name="WITH_STATEMENT">TRUE</field>
                      <value name="ARG0">
                        <shadow type="text" id=")faamoSD,nGPXawY4|(Z">
                          <field name="TEXT">SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,val Verbrauch FROM iobroker.ts_number where id = '159' and val &lt;&gt; '0' group by val order by Datum</field>
                        </shadow>
                      </value>
                      <statement name="STATEMENT">
                        <block type="debug" id="Q#UJl]^_g/VHzM*G/a:f">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="#!NJS43!0z@}z:6~_,9(">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="procedures_callcustomreturn" id="0E2fmQQduf4)-({z(om|">
                              <mutation name="JSON.stringify">
                                <arg name="obj"></arg>
                              </mutation>
                              <value name="ARG0">
                                <block type="variables_get" id=",^2E2eT#598hI^TvABD9">
                                  <field name="VAR" id="%,uKx.``R8Wb=f]P9h`.">result</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
                <block type="procedures_defcustomreturn" id="lm*.n3kQXll8o9X^*m,k" x="-412" y="13">
                  <mutation statements="false">
                    <arg name="obj" varid="/a.frbr+lSz-sv9itJ(m"></arg>
                  </mutation>
                  <field name="NAME">JSON.stringify</field>
                  <field name="SCRIPT">cmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7</field>
                  <comment pinned="false" h="80" w="160">Describe this function...</comment>
                </block>
              </xml>
              

              Als Ergebnis erhalte ich aus diesem Blockly den folgenden Block:

              javascript.0 (30863) script.js.Energie.Verbrauch_tabelle: {"error":null,"result":[{"Datum":"07.2.2021","Verbrauch":9.001},{"Datum":"07.2.2021","Verbrauch":10},{"Datum":"07.2.2021","Verbrauch":1},{"Datum":"07.2.2021","Verbrauch":2},{"Datum":"07.2.2021","Verbrauch":4},{"Datum":"10.2.2021","Verbrauch":44.43},{"Datum":"11.2.2021","Verbrauch":12.695},{"Datum":"12.2.2021","Verbrauch":13.905},{"Datum":"13.2.2021","Verbrauch":14.605},{"Datum":"14.2.2021","Verbrauch":14.989},{"Datum":"15.2.2021","Verbrauch":35.61},{"Datum":"16.2.2021","Verbrauch":16.162},{"Datum":"17.2.2021","Verbrauch":12.552},{"Datum":"18.2.2021","Verbrauch":11.776},{"Datum":"19.2.2021","Verbrauch":11.801},{"Datum":"20.2.2021","Verbrauch":15.435},{"Datum":"20.2.2021","Verbrauch":15.635},{"Datum":"20.2.2021","Verbrauch":16.958},{"Datum":"20.2.2021","Verbrauch":15.935},{"Datum":"20.2.2021","Verbrauch":15.735},{"Datum":"20.2.2021","Verbrauch":16.968},{"Datum":"20.2.2021","Verbrauch":15.835},{"Datum":"20.2.2021","Verbrauch":15},{"Datum":"20.2.2021","Verbrauch":15.135},{"Datum":"20.2.2021","Verbrauch":15.235},{"Datum":"20.2.2021","Verbrauch":15.335},{"Datum":"20.2.2021","Verbrauch":15.535},{"Datum":"21.2.2021","Verbrauch":14.467},{"Datum":"22.2.2021","Verbrauch":14.052},{"Datum":"23.2.2021","Verbrauch":12.648}]}
              

              Jetzt möchte mit diesem Ergebnis einen Datenpunkt
              cf9e031c-971b-44e4-ae15-a40b00290f46-image.png
              aktualisieren. Der DP ist als Objekt angelegt.
              Speichere ich den Block für result [ ... ] in diesen Datenpunkt, ist alles schick und ich kann in der VIS mittels json-table die Werte anzeigen.
              Es gelingt mir in dem Blockly nicht, diesen Datenpunkt zu aktualisieren.
              Kann mich da bitte jemand sehend machen? Vielen Dank.

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #6

              @opossum sagte: Der DP ist als Objekt angelegt ... ich kann in der VIS mittels json-table die Werte anzeigen.

              json-table erwartet ein JSON, was ein String ist - kein Objekt.
              Für JSON.stringify wird keine eigene Funktion benötigt.

              Bild_2021-02-23_173940.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

              opossumO 1 Reply Last reply
              1
              • paul53P paul53

                @opossum sagte: Der DP ist als Objekt angelegt ... ich kann in der VIS mittels json-table die Werte anzeigen.

                json-table erwartet ein JSON, was ein String ist - kein Objekt.
                Für JSON.stringify wird keine eigene Funktion benötigt.

                Bild_2021-02-23_173940.png

                opossumO Offline
                opossumO Offline
                opossum
                wrote on last edited by opossum
                #7

                Hallo, @paul53 und @ente34,

                danke für Eure Hilfe. Die Formatierung des Datenpunktes war es. Ich habe den DP nun als Zeichenkette deklariert, dann den Schnipsel von @paul53 eingebaut, jetzt funktioniert es super. Vielen Dank.
                Der Vollständigkeit halber, so sieht jetzt das Blockly aus:

                37ea056c-6380-4385-8215-5849a2ef115f-image.png

                Hier der Export:

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable id="_9w^*C.,pz-_]#);pLqt">result1</variable>
                    <variable id="%,uKx.``R8Wb=f]P9h`.">result</variable>
                  </variables>
                  <block type="comment" id="GVW732OFexZ9HP[q]B3," x="-1087" y="-562">
                    <field name="COMMENT">Send query to SQL adapter</field>
                    <next>
                      <block type="sendto_custom" id="84lYloO4o+RvLszPVHZ5">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation>
                        <field name="INSTANCE">sql.0</field>
                        <field name="COMMAND">query</field>
                        <field name="LOG">log</field>
                        <field name="WITH_STATEMENT">TRUE</field>
                        <value name="ARG0">
                          <shadow type="text" id=")faamoSD,nGPXawY4|(Z">
                            <field name="TEXT">SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,val Verbrauch FROM iobroker.ts_number where id = '159' and val &lt;&gt; '0' group by val order by Datum</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="variables_set" id="#j{ptC/1U{n|w}:y`sXg">
                            <field name="VAR" id="_9w^*C.,pz-_]#);pLqt">result1</field>
                            <value name="VALUE">
                              <block type="get_attr" id="h1hyT~m|}c4;yxvEe5ht">
                                <value name="PATH">
                                  <shadow type="text" id="EZjX8*xOU*Em@lGGK75`">
                                    <field name="TEXT">result</field>
                                  </shadow>
                                </value>
                                <value name="OBJECT">
                                  <block type="variables_get" id="?P(h@_ciuiSWot]W{%ri">
                                    <field name="VAR" id="%,uKx.``R8Wb=f]P9h`.">result</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="C@BG5KVmqY4_tm!bgfuV">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.Verbrauch.Strom.Taeglich_Tabelle</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="convert_object2json" id="Cpr{,!|mMLnNFv:v2xc)">
                                    <field name="PRETTIFY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="variables_get" id="9@c3]rm1avZwA4)8XHs|">
                                        <field name="VAR" id="_9w^*C.,pz-_]#);pLqt">result1</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </xml>
                

                https://schlepper-petersdorf.jimdofree.com/

                opossumO 1 Reply Last reply
                0
                • opossumO opossum

                  Hallo, @paul53 und @ente34,

                  danke für Eure Hilfe. Die Formatierung des Datenpunktes war es. Ich habe den DP nun als Zeichenkette deklariert, dann den Schnipsel von @paul53 eingebaut, jetzt funktioniert es super. Vielen Dank.
                  Der Vollständigkeit halber, so sieht jetzt das Blockly aus:

                  37ea056c-6380-4385-8215-5849a2ef115f-image.png

                  Hier der Export:

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="_9w^*C.,pz-_]#);pLqt">result1</variable>
                      <variable id="%,uKx.``R8Wb=f]P9h`.">result</variable>
                    </variables>
                    <block type="comment" id="GVW732OFexZ9HP[q]B3," x="-1087" y="-562">
                      <field name="COMMENT">Send query to SQL adapter</field>
                      <next>
                        <block type="sendto_custom" id="84lYloO4o+RvLszPVHZ5">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation>
                          <field name="INSTANCE">sql.0</field>
                          <field name="COMMAND">query</field>
                          <field name="LOG">log</field>
                          <field name="WITH_STATEMENT">TRUE</field>
                          <value name="ARG0">
                            <shadow type="text" id=")faamoSD,nGPXawY4|(Z">
                              <field name="TEXT">SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,val Verbrauch FROM iobroker.ts_number where id = '159' and val &lt;&gt; '0' group by val order by Datum</field>
                            </shadow>
                          </value>
                          <statement name="STATEMENT">
                            <block type="variables_set" id="#j{ptC/1U{n|w}:y`sXg">
                              <field name="VAR" id="_9w^*C.,pz-_]#);pLqt">result1</field>
                              <value name="VALUE">
                                <block type="get_attr" id="h1hyT~m|}c4;yxvEe5ht">
                                  <value name="PATH">
                                    <shadow type="text" id="EZjX8*xOU*Em@lGGK75`">
                                      <field name="TEXT">result</field>
                                    </shadow>
                                  </value>
                                  <value name="OBJECT">
                                    <block type="variables_get" id="?P(h@_ciuiSWot]W{%ri">
                                      <field name="VAR" id="%,uKx.``R8Wb=f]P9h`.">result</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="update" id="C@BG5KVmqY4_tm!bgfuV">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Verbrauch.Strom.Taeglich_Tabelle</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="convert_object2json" id="Cpr{,!|mMLnNFv:v2xc)">
                                      <field name="PRETTIFY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="9@c3]rm1avZwA4)8XHs|">
                                          <field name="VAR" id="_9w^*C.,pz-_]#);pLqt">result1</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </xml>
                  

                  opossumO Offline
                  opossumO Offline
                  opossum
                  wrote on last edited by opossum
                  #8

                  Hallo,
                  ich benötige noch einmal Hilfe. Ich habe jetzt ein json-file, in das ich via o.g. Blockly die täglichen Verbräuche speichere. Dieses File lasse ich mir in meiner Vis mittels json-Widget anzeigen. Ich habe das json etwas erweitert, so dass ich eine Spalte nur mit der Monatsnummer erhalte. Ich möchte nun in der Vis nur die Datensätze anzeigen, die für den laufenden Monat vorhanden sind. Aus der SQL-Datenbank hole ich mir mit folgendem Select die Werte:

                  SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%c') as Monat,val Verbrauch FROM iobroker.ts_number where id = '159' and val <> '0' group by val order by Monat Desc, Datum
                  

                  Das file sieht so aus:

                  [{"Datum":"01.3.2021","Monat":"3","Verbrauch":14.423},{"Datum":"02.3.2021","Monat":"3","Verbrauch":14.343},{"Datum":"03.3.2021","Monat":"3","Verbrauch":11.819},{"Datum":"04.3.2021","Monat":"3","Verbrauch":13.901},{"Datum":"05.3.2021","Monat":"3","Verbrauch":13.543},{"Datum":"06.3.2021","Monat":"3","Verbrauch":13.106},{"Datum":"07.3.2021","Monat":"3","Verbrauch":13.326},{"Datum":"08.3.2021","Monat":"3","Verbrauch":13.045},{"Datum":"09.3.2021","Monat":"3","Verbrauch":12.573},{"Datum":"10.3.2021","Monat":"3","Verbrauch":12.507},{"Datum":"11.3.2021","Monat":"3","Verbrauch":11.441},{"Datum":"12.3.2021","Monat":"3","Verbrauch":14.06},{"Datum":"07.2.2021","Monat":"2","Verbrauch":4},{"Datum":"07.2.2021","Monat":"2","Verbrauch":9.001},{"Datum":"07.2.2021","Monat":"2","Verbrauch":10},{"Datum":"07.2.2021","Monat":"2","Verbrauch":1},{"Datum":"07.2.2021","Monat":"2","Verbrauch":2},{"Datum":"10.2.2021","Monat":"2","Verbrauch":44.43},{"Datum":"11.2.2021","Monat":"2","Verbrauch":12.695},{"Datum":"12.2.2021","Monat":"2","Verbrauch":13.905},{"Datum":"13.2.2021","Monat":"2","Verbrauch":14.605},{"Datum":"14.2.2021","Monat":"2","Verbrauch":14.989},{"Datum":"15.2.2021","Monat":"2","Verbrauch":35.61},{"Datum":"16.2.2021","Monat":"2","Verbrauch":16.162},{"Datum":"17.2.2021","Monat":"2","Verbrauch":12.552},{"Datum":"18.2.2021","Monat":"2","Verbrauch":11.776},{"Datum":"19.2.2021","Monat":"2","Verbrauch":11.801},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.435},{"Datum":"20.2.2021","Monat":"2","Verbrauch":16.968},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.735},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.935},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.835},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.235},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.135},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.535},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.335},{"Datum":"20.2.2021","Monat":"2","Verbrauch":16.958},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.635},{"Datum":"21.2.2021","Monat":"2","Verbrauch":14.467},{"Datum":"22.2.2021","Monat":"2","Verbrauch":14.052},{"Datum":"23.2.2021","Monat":"2","Verbrauch":12.648},{"Datum":"24.2.2021","Monat":"2","Verbrauch":12.135},{"Datum":"24.2.2021","Monat":"2","Verbrauch":12.003},{"Datum":"25.2.2021","Monat":"2","Verbrauch":12.369},{"Datum":"26.2.2021","Monat":"2","Verbrauch":48.003},{"Datum":"27.2.2021","Monat":"2","Verbrauch":12.12},{"Datum":"28.2.2021","Monat":"2","Verbrauch":13.628}]
                  


                  Das Ergebnis in der Vis sieht dann wie folgt aus:

                  38bab1ba-b919-4599-beef-d29a57750f15-image.png

                  Nun möchte ich, dass mir im Monat März nur die Datensätze des laufenden Monats angezeigt werden, zum Beispiel in Abhängigkeit vom Tagesdatum, wo man dann die Monatsnummer vergleichen kann. Eventuell geht ja auch was schon im Select, eventuell über ein Unterselect? Im json würden auch die Datensätze des lfd. Monats reichen. Das file wird täglich um 00:30 Uhr aktualisiert. Wäre schön, wenn Ihr mir da mal behilflich sein könntet, wenn es bei Euch zeitlich passt. Vielen Dank.

                  Der Ausreisser am 26.02.2021 ist der Tesla, der am Strom genuckelt hat :grin:

                  https://schlepper-petersdorf.jimdofree.com/

                  opossumO 1 Reply Last reply
                  0
                  • opossumO opossum

                    Hallo,
                    ich benötige noch einmal Hilfe. Ich habe jetzt ein json-file, in das ich via o.g. Blockly die täglichen Verbräuche speichere. Dieses File lasse ich mir in meiner Vis mittels json-Widget anzeigen. Ich habe das json etwas erweitert, so dass ich eine Spalte nur mit der Monatsnummer erhalte. Ich möchte nun in der Vis nur die Datensätze anzeigen, die für den laufenden Monat vorhanden sind. Aus der SQL-Datenbank hole ich mir mit folgendem Select die Werte:

                    SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%c') as Monat,val Verbrauch FROM iobroker.ts_number where id = '159' and val <> '0' group by val order by Monat Desc, Datum
                    

                    Das file sieht so aus:

                    [{"Datum":"01.3.2021","Monat":"3","Verbrauch":14.423},{"Datum":"02.3.2021","Monat":"3","Verbrauch":14.343},{"Datum":"03.3.2021","Monat":"3","Verbrauch":11.819},{"Datum":"04.3.2021","Monat":"3","Verbrauch":13.901},{"Datum":"05.3.2021","Monat":"3","Verbrauch":13.543},{"Datum":"06.3.2021","Monat":"3","Verbrauch":13.106},{"Datum":"07.3.2021","Monat":"3","Verbrauch":13.326},{"Datum":"08.3.2021","Monat":"3","Verbrauch":13.045},{"Datum":"09.3.2021","Monat":"3","Verbrauch":12.573},{"Datum":"10.3.2021","Monat":"3","Verbrauch":12.507},{"Datum":"11.3.2021","Monat":"3","Verbrauch":11.441},{"Datum":"12.3.2021","Monat":"3","Verbrauch":14.06},{"Datum":"07.2.2021","Monat":"2","Verbrauch":4},{"Datum":"07.2.2021","Monat":"2","Verbrauch":9.001},{"Datum":"07.2.2021","Monat":"2","Verbrauch":10},{"Datum":"07.2.2021","Monat":"2","Verbrauch":1},{"Datum":"07.2.2021","Monat":"2","Verbrauch":2},{"Datum":"10.2.2021","Monat":"2","Verbrauch":44.43},{"Datum":"11.2.2021","Monat":"2","Verbrauch":12.695},{"Datum":"12.2.2021","Monat":"2","Verbrauch":13.905},{"Datum":"13.2.2021","Monat":"2","Verbrauch":14.605},{"Datum":"14.2.2021","Monat":"2","Verbrauch":14.989},{"Datum":"15.2.2021","Monat":"2","Verbrauch":35.61},{"Datum":"16.2.2021","Monat":"2","Verbrauch":16.162},{"Datum":"17.2.2021","Monat":"2","Verbrauch":12.552},{"Datum":"18.2.2021","Monat":"2","Verbrauch":11.776},{"Datum":"19.2.2021","Monat":"2","Verbrauch":11.801},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.435},{"Datum":"20.2.2021","Monat":"2","Verbrauch":16.968},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.735},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.935},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.835},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.235},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.135},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.535},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.335},{"Datum":"20.2.2021","Monat":"2","Verbrauch":16.958},{"Datum":"20.2.2021","Monat":"2","Verbrauch":15.635},{"Datum":"21.2.2021","Monat":"2","Verbrauch":14.467},{"Datum":"22.2.2021","Monat":"2","Verbrauch":14.052},{"Datum":"23.2.2021","Monat":"2","Verbrauch":12.648},{"Datum":"24.2.2021","Monat":"2","Verbrauch":12.135},{"Datum":"24.2.2021","Monat":"2","Verbrauch":12.003},{"Datum":"25.2.2021","Monat":"2","Verbrauch":12.369},{"Datum":"26.2.2021","Monat":"2","Verbrauch":48.003},{"Datum":"27.2.2021","Monat":"2","Verbrauch":12.12},{"Datum":"28.2.2021","Monat":"2","Verbrauch":13.628}]
                    


                    Das Ergebnis in der Vis sieht dann wie folgt aus:

                    38bab1ba-b919-4599-beef-d29a57750f15-image.png

                    Nun möchte ich, dass mir im Monat März nur die Datensätze des laufenden Monats angezeigt werden, zum Beispiel in Abhängigkeit vom Tagesdatum, wo man dann die Monatsnummer vergleichen kann. Eventuell geht ja auch was schon im Select, eventuell über ein Unterselect? Im json würden auch die Datensätze des lfd. Monats reichen. Das file wird täglich um 00:30 Uhr aktualisiert. Wäre schön, wenn Ihr mir da mal behilflich sein könntet, wenn es bei Euch zeitlich passt. Vielen Dank.

                    Der Ausreisser am 26.02.2021 ist der Tesla, der am Strom genuckelt hat :grin:

                    opossumO Offline
                    opossumO Offline
                    opossum
                    wrote on last edited by opossum
                    #9

                    Hallo,

                    ich mache das jetzt über das SQL-Statement:

                    SELECT Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%d.%c.%Y') as Datum ,Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%m') as Monat,val Verbrauch FROM iobroker.ts_number where id = '159' and val <> '0' AND Date_Format(FROM_UNIXTIME(Substr(TS,1,10)), '%m') = (SELECT MONTH(CURRENT_DATE())) group by val order by Monat Desc, Datum
                    

                    Das klappt jetzt. Im json sind nur noch die Werte des aktuellen Monats.

                    https://schlepper-petersdorf.jimdofree.com/

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    595

                    Online

                    32.7k

                    Users

                    82.5k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe