Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] JSON erstellen und filtern

Geplant Angeheftet Gesperrt Verschoben Blockly
9 Beiträge 3 Kommentatoren 1.5k 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.
  • opossumO Offline
    opossumO Offline
    opossum
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #2

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

      dp.PNG

      opossumO 1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #4

          @opossum
          Das ist doch dieser Block:

          dp1.PNG

          opossumO 1 Antwort Letzte Antwort
          1
          • E ente34

            @opossum
            Das ist doch dieser Block:

            dp1.PNG

            opossumO Offline
            opossumO Offline
            opossum
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 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

                    452

                    Online

                    32.6k

                    Benutzer

                    82.0k

                    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