Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Werte in Influxdb eintragen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Werte in Influxdb eintragen

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

      Hallo Zusammen,

      ich habe mir einen Reedkontakt an meinen Gaszähler gebaut und kann die Werte auch auslesen bzw. berechnen lassen. Diese bleiben auch nach einem Neustart im ioBroker verfügbar, so weit, so gut.
      Aber die Sache mit influxdb habe ich mir einfacher vorgestellt 😞

      Ich möchte nichts weltbewegendes, sondern im Prinzip nur einmal täglich, sagen wir Nachts um 0:00 die Werte "Zählerstand in m³" und "Verbrauch in KWh" ablegen.
      Traumhaft wäre, wenn es in etwa so aussehen würde:


      | Datum: | Zählerstand | Verbrauch |
      ||______________|___|
      | 01.01.22| 3456 | 23485 |
      | 02.01.22| 5468 | 574258 |
      usw.....

      Ich habe gesehen, dass man bei der Variable, welche ich schon angelegt habe, eine Sicherung per influxdb aktiviert werden kann. Nur leider würde er, wenn der Zähler gerade brummt, wahrscheinlich 200 Datensätze am Tag erzeugen, was absolut unnötig ist.

      Daher war meine Idee das zeitlich gesteuert über Blockly einmal täglich ausführen zu lassen. Die Ausgabe über Grafana möchte ich hier noch nicht aufgreifen, ich will erst mal die Daten anlegen. Wie kann ich das am einfachsten ausführen? Ich bin kein Programmierer, erst recht keiner für Datenbanken, daher wäre mir eine simple Lösung am liebsten. Die Anleitungen die ich bisher gelesen habe waren für mich Böhmische Dörfer.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @gintonik last edited by paul53

        @gintonik sagte: Nachts um 0:00 die Werte "Zählerstand in m³" und "Verbrauch in KWh" ablegen.

        Wenn Zählerstand und Verbrauch in Datenpunkten vorliegen, ist es einfach.

        Bild_2022-01-13_170432.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="F~O)U.70A4[Mm.^oT47f">text</variable>
         </variables>
         <block type="schedule" id=")*ghE^1L$0:{vN=ePGOx" x="-63" y="37">
           <field name="SCHEDULE">59 59 23 * * *</field>
           <statement name="STATEMENT">
             <block type="variables_set" id="Ho3b7?%G(bV[HpRp3zOd">
               <field name="VAR" id="F~O)U.70A4[Mm.^oT47f">text</field>
               <value name="VALUE">
                 <block type="text_join" id="](tUXN+R)7~1@p-2[:wC">
                   <mutation items="5"></mutation>
                   <value name="ADD0">
                     <block type="time_get" id="{zoMApRV4GO-m~m#,oG4">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">DD.MM.YY</field>
                     </block>
                   </value>
                   <value name="ADD1">
                     <block type="text" id="ckQ]Fz^*718m)QRDgJT^">
                       <field name="TEXT">: </field>
                     </block>
                   </value>
                   <value name="ADD2">
                     <block type="get_value" id="[YhdZKI`N@WND~S9NKih">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <value name="ADD3">
                     <block type="text" id="cuWey2/%$9@*J0v@kYR6">
                       <field name="TEXT"> | </field>
                     </block>
                   </value>
                   <value name="ADD4">
                     <block type="get_value" id="g;5/AZqek[}MhkaVW-~x">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="update" id="E2WXb*q.*Tf6y_7CHG^z">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">Object ID</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="variables_get" id="nR+JHp%,%c|U;gDtt#|e">
                       <field name="VAR" id="F~O)U.70A4[Mm.^oT47f">text</field>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        Allerdings ergänzt die Aufzeichnung per InfluxDB das Datum automatisch.

        G 1 Reply Last reply Reply Quote 0
        • G
          gintonik @paul53 last edited by gintonik

          @paul53 said in Werte in Influxdb eintragen:

          @gintonik sagte: Nachts um 0:00 die Werte "Zählerstand in m³" und "Verbrauch in KWh" ablegen.

          Wenn Zählerstand und Verbrauch in Datenpunkten vorliegen, ist es einfach.

          Bild_2022-01-13_170432.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="F~O)U.70A4[Mm.^oT47f">text</variable>
           </variables>
           <block type="schedule" id=")*ghE^1L$0:{vN=ePGOx" x="-63" y="37">
             <field name="SCHEDULE">59 59 23 * * *</field>
             <statement name="STATEMENT">
               <block type="variables_set" id="Ho3b7?%G(bV[HpRp3zOd">
                 <field name="VAR" id="F~O)U.70A4[Mm.^oT47f">text</field>
                 <value name="VALUE">
                   <block type="text_join" id="](tUXN+R)7~1@p-2[:wC">
                     <mutation items="5"></mutation>
                     <value name="ADD0">
                       <block type="time_get" id="{zoMApRV4GO-m~m#,oG4">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                         <field name="OPTION">DD.MM.YY</field>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="text" id="ckQ]Fz^*718m)QRDgJT^">
                         <field name="TEXT">: </field>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="get_value" id="[YhdZKI`N@WND~S9NKih">
                         <field name="ATTR">val</field>
                         <field name="OID">ID auswählen</field>
                       </block>
                     </value>
                     <value name="ADD3">
                       <block type="text" id="cuWey2/%$9@*J0v@kYR6">
                         <field name="TEXT"> | </field>
                       </block>
                     </value>
                     <value name="ADD4">
                       <block type="get_value" id="g;5/AZqek[}MhkaVW-~x">
                         <field name="ATTR">val</field>
                         <field name="OID">ID auswählen</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="update" id="E2WXb*q.*Tf6y_7CHG^z">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                     <field name="OID">Object ID</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="variables_get" id="nR+JHp%,%c|U;gDtt#|e">
                         <field name="VAR" id="F~O)U.70A4[Mm.^oT47f">text</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
          </xml>
          

          Allerdings ergänzt die Aufzeichnung per InfluxDB das Datum automatisch.

          Das Script sieht gut aus, aber an welcher Stelle ist der Verweis auf meine Datenbank/Tabelle?
          Eine andere Möglichkeit wäre, um 23:55 per CROWN Job die Daten aus dem Zählerstand in einen anderen zu übernehmen. Der neue hat ja dann eine Änderung, auf die influx regiert. Danach wird er erst 24h später "aktualisiert" und somit hätte ich dann meine Daten nur für einen Tag. Ist aber irgendwie durch die Brust ins Auge...

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @gintonik last edited by

            @gintonik sagte: an welcher Stelle ist der Verweis auf meine Datenbank/Tabelle?

            @gintonik sagte in Werte in Influxdb eintragen:

            bei der Variable, welche ich schon angelegt habe, eine Sicherung per influxdb aktiviert

            "aktualisiere" schreibt in den Datenpunkt, der per InfluxDB historisiert wird.

            G 1 Reply Last reply Reply Quote 0
            • G
              gintonik @paul53 last edited by

              @paul53 said in Werte in Influxdb eintragen:

              @gintonik sagte: an welcher Stelle ist der Verweis auf meine Datenbank/Tabelle?

              @gintonik sagte in Werte in Influxdb eintragen:

              bei der Variable, welche ich schon angelegt habe, eine Sicherung per influxdb aktiviert

              "aktualisiere" schreibt in den Datenpunkt, der per InfluxDB historisiert wird.

              Aber woher weiß er denn, dass die Daten in die influx sollen? Ich bin (leider) etwas verwirrt, sorry...

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @gintonik last edited by paul53

                @gintonik sagte: woher weiß er denn, dass die Daten in die influx sollen?

                Das stellt man zum Datenpunkt ein: Tab "Objekte", Datenpunkt wählen, Zahnrad ganz rechts.
                Siehe 4. Datenpunkte aufzeichnen

                G 1 Reply Last reply Reply Quote 0
                • G
                  gintonik @paul53 last edited by

                  @paul53 said in Werte in Influxdb eintragen:

                  @gintonik sagte: woher weiß er denn, dass die Daten in die influx sollen?

                  Das stellt man zum Datenpunkt ein: Tab "Objekte", Datenpunkt wählen, Zahnrad ganz rechts.
                  Siehe 4. Datenpunkte aufzeichnen

                  Alles klar, danke für deine Hilfe. Ich versuche mich so langsam in die Welt von ioBroker einzuleben, aber du wirst ja selbst die Erfahrung gemacht haben, dass man in unheimlich kurzer Zeit eigentlich alles lernen muss...

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  483
                  Online

                  32.0k
                  Users

                  80.5k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  1356
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo