Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Objekt zu bestimmten Zeitpunkt Speichern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Objekt zu bestimmten Zeitpunkt Speichern

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nobbiman @BananaJoe last edited by

      @bananajoe Hallo, ich komm mal noch dazu, auch wenn der Thread schon etwas älter ist, meine Frage stellt sich aber ähnlich: Ich möchte zu einem bestimmten Zeitpunkt, also genau um 23:59 Uhr einen Wert in die influxDB schreiben und finde keine Möglichkeit, dies zu tun. Das bisher gesagte führt mich nicht ans Ziel oder ich habe es mangels Beispiel nicht verstanden.
      Was habe ich vor?
      Ich starte derzeit mit dem pvforecast-Modul und möchte am Tagesende einen Vergleich zwischen dem anfänglichen Forecastwert und dem späteren Istwert der PV-Produktion am Tagesende herstellen.
      Am Ende wünsche ich mir eine Säulengrafik mit täglichen Gegenüberstellungen auf der Zeitachse. Beide Datenpunkt existieren natürlich, ich möchte aber z.B. nur den Tagesendwert der PV-Produktion (nennen wir ihn "PV-heute") abfragen, bevor der neue Tag beginnt und "PV-heute" um 0:01 ja überschrieben wird.
      Beim Mitschreiben der Daten lässt sich ja eine Menge einstellen, eine Uhrzeit aber nicht. Denkbar ist aber auch, dass genau zum gewünschten Zeitpunkt kein Wert geschrieben wurde, sondern beispielsweise bereits um 23:58 Uhr.
      Gibt es dafür eine Lösung?

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @nobbiman last edited by

        @nobbiman sagte in Objekt zu bestimmten Zeitpunkt Speichern:

        Ich möchte zu einem bestimmten Zeitpunkt, also genau um 23:59 Uhr einen Wert in die influxDB schreiben und finde keine Möglichkeit, dies zu tun.

        Einfach mit sendTo an die influxdb Instanz: https://github.com/ioBroker/ioBroker.influxdb?tab=readme-ov-file#storestate

        N 1 Reply Last reply Reply Quote 0
        • N
          nobbiman @haus-automatisierung last edited by

          @haus-automatisierung Danke für die schnelle Antwort, da bin ich aber gespannt, ob ich aus der Quellenangabe schlau werde, ich werde es aber versuchen. Danke für die schnelle Unterstützung!

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @nobbiman last edited by

            @nobbiman Mit dem generischen sendTo Blockly-Baustein und den Bausteinen für Objekte kommt man da recht schnell zum Ziel mittlerweile. Muss also nicht in JavaScript sein.

            N 2 Replies Last reply Reply Quote 0
            • N
              nobbiman @haus-automatisierung last edited by

              @haus-automatisierung Danke, bin schon dran, denke, das müsste klappen.

              1 Reply Last reply Reply Quote 0
              • N
                nobbiman @haus-automatisierung last edited by nobbiman

                @haus-automatisierung Ich habe doch mehr Probleme, mit Blockly-Bausteinen ans Ziel zu kommen.
                Ich hab mal ein paar Bausteine zusammnegebastelt, in meiner Datenbak taucht mein neuer Datensatz "PVtag" nicht auf.
                Hier mein Ansatz - einer von vielen:
                PVtag Test.jpg
                Was fehlt denn da noch? Finde ich den Datensatz dann nur in der Datenbank?
                Weitere Frage: wie bekomme ich den Zeitstempel z.B. auf den Zeitpunkt der Abfrage?

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @nobbiman last edited by

                  @nobbiman sagte in Objekt zu bestimmten Zeitpunkt Speichern:

                  Was fehlt denn da noch?

                  Keine Ahnung was die Funktion genau da macht (was steht da drin?). Die brauchst Du ja eigentlich nicht. Das leere sendTo an influxdb.0 ist ja auch wenig zielführend.

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @haus-automatisierung last edited by

                    Am Ende musst Du doch nur die Struktur aus der Doku nachbauen:

                    Screenshot 2025-02-24 at 14.30.36.png

                    Habe ich ja schon öfter ausführlich erklärt. Gern mal reinschauen.

                    <xml xmlns="https://developers.google.com/blockly/xml">
                      <block type="sendto_custom" id="vYj7*qr_)Kt8ujY-LU|C" x="-62" y="288">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="id,state"></mutation>
                        <field name="INSTANCE">influxdb.0</field>
                        <field name="COMMAND">storeState</field>
                        <field name="LOG"></field>
                        <field name="WITH_STATEMENT">FALSE</field>
                        <value name="ARG0">
                          <shadow type="text" id="iV%e!=QZ0qUy{tTxN^Q$">
                            <field name="TEXT">bla.bla.bla</field>
                          </shadow>
                        </value>
                        <value name="ARG1">
                          <shadow type="text" id="n[O=eUR5XOaJ*}h(AM4q">
                            <field name="TEXT"></field>
                          </shadow>
                          <block type="object_new" id="sF+Q/RpoVjpFdFALV{r8">
                            <mutation xmlns="http://www.w3.org/1999/xhtml">
                              <attribute id="ATTR_0" name="ts"></attribute>
                              <attribute id="ATTR_1" name="val"></attribute>
                              <attribute id="ATTR_2" name="ack"></attribute>
                              <attribute id="ATTR_3" name="from"></attribute>
                            </mutation>
                            <value name="ATTR_0">
                              <shadow type="text" id="#SVhaEl-;bp~B+IGUV]4">
                                <field name="TEXT"></field>
                              </shadow>
                              <block type="time_get" id="Idi0.dT@~d;8|=HW9#9+">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                <field name="OPTION">object</field>
                              </block>
                            </value>
                            <value name="ATTR_1">
                              <shadow type="text" id="nJ~fU/AB1:9igOBsKX*t">
                                <field name="TEXT"></field>
                              </shadow>
                              <block type="math_number" id="e=IIr;*7nLBq]zsbU@~A">
                                <field name="NUM">12345</field>
                              </block>
                            </value>
                            <value name="ATTR_2">
                              <shadow type="text" id="!K/Q}@dZJqu/=P-*/_Oh">
                                <field name="TEXT"></field>
                              </shadow>
                              <block type="logic_boolean" id="X5NuTg=%t!+tbVu+3k%z">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <value name="ATTR_3">
                              <shadow type="text" id="d4~f,%Bzatt18Ofu-?-)">
                                <field name="TEXT">system.adapter.javascript.0</field>
                              </shadow>
                            </value>
                          </block>
                        </value>
                      </block>
                    </xml>
                    
                    N 1 Reply Last reply Reply Quote 1
                    • N
                      nobbiman @haus-automatisierung last edited by nobbiman

                      @haus-automatisierung sagte in Objekt zu bestimmten Zeitpunkt Speichern:

                      Habe ich ja schon öfter ausführlich erklärt. Gern mal reinschauen

                      Ich habe mir das mal angeschaut und ein wenig mehr von der Struktur verstanden. Die Umsetzung zu Blockly will dennoch noch nicht gelingen.
                      PVtag Test3.jpg

                      Mir ist noch nicht ganz klar, welche Bedeutung dieses Attribut "from" (ganz unten) hat. Ist es der Datensatz PVtag, den ich oben unter DataInfluxDB erstellt habe oder brauche ich den oberen Teil gar nicht und "from" ist der Wert (eToday), den ich schreiben will?

                      Einige Zeit später:
                      Ich denke, so sollte es im ersten Ansatz passen:
                      PVtag Test4.jpg
                      Die "id" ist das measurement, aber wo kann ich den Wert benennen? Im Moment erscheint in meiner Datenbank nur "value" ohne Bezeichnung?
                      InfluxDB.jpg
                      Will ich mehrere Werte zum gleichen Zeitpunkt speichern bleibt die Frage, wie ich die in Blockly einbauen kann, damit sie genau zum gleichen Zeitpunkt abgespeichert werden?

                      1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active last edited by

                        @nobbiman sagte in Objekt zu bestimmten Zeitpunkt Speichern:

                        Will ich mehrere Werte zum gleichen Zeitpunkt speichern bleibt die Frage, wie ich die in Blockly einbauen kann, damit sie genau zum gleichen Zeitpunkt abgespeichert werden?

                        Na einfach als Array übergeben. Siehe Doku. Und den Timestamp vorher in eine Variable schreiben und überall in den Objekten verwenden.

                        N 1 Reply Last reply Reply Quote 0
                        • N
                          nobbiman @haus-automatisierung last edited by nobbiman

                          @haus-automatisierung sagte in Objekt zu bestimmten Zeitpunkt Speichern:

                          Array übergeben. Siehe Doku

                          Ich stelle mich zu unbeholfen an, da ich nur wenig Erfahrung mit Blockly, geschweige denn mit Javscript habe. Meine Fragen sind grundlegender Art: Ich hatte in der Doku gesehen, wie das Query verändert wird (Thema Array), das war mir aber bereits bekannt. In meinem Blockly-Modell kann ich aber keine Änderung in Java erstellen, da beim Switchen auf Javascript der Code schreibgeschützt ist. Wo sollte ich das Array erstellen? Wahrscheinlich stelle ich mich nur dumm an, hoffe aber dennoch auf Hilfe.

                          Ich kann aber auch 2 verschiedene Anweisungen für 2 Datenpunkte mit Blockly wie oben angezeigt erstellen, ich dachte es geht eleganter. Es bliebe aber dann immer noch die Frage der unterschiedlichen Feldbezeichnungen, wo kann ich die festlegen?

                          Ergebnisnachtrag:
                          Das ist jetzt meine Lösung, vielleicht geht es auch eleganter, aber nicht mit meinen Kenntnisstand!
                          Danke für die Unterstützung.
                          Daten in infuxDB zeitgenau speichern.jpg

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @nobbiman last edited by

                            @nobbiman sagte in Objekt zu bestimmten Zeitpunkt Speichern:

                            Wo sollte ich das Array erstellen? Wahrscheinlich stelle ich mich nur dumm an, hoffe aber dennoch auf Hilfe.

                            Achso, Du wolltest unterschiedliche IDs schreiben. Dachte mehrere Werte zu unterschiedlichen Zeitpunkten für die gleiche ID. Das würde mit einem Array gehen. Sonst ist Dein Weg jetzt so richtig.

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              nobbiman @haus-automatisierung last edited by

                              @haus-automatisierung Vielleicht habe ich mich nicht korrekt ausgedrückt. Dass du den Weg jetzt als richtig ausweist, adelt mich 👼 Danke nochmals!

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @nobbiman last edited by

                                @nobbiman Generell würde ich aber ggf. den Baustein "Ende des Tages" nutzen, um nicht einen Eintrag für 23:57 Uhr in Deinem Beispiel zu setzen, sondern wirklich um 23:59:59.999

                                Screenshot 2025-02-25 at 15.30.09.png

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  nobbiman @haus-automatisierung last edited by

                                  @haus-automatisierung Ich habe das mal umgesetzt, auch wenn in diesem Beispiel der exakte Zeitpunkt unerheblich ist, da sich die Daten (PV-Forecast + PV Tagesertrag) nach Sonnenuntergang nicht mehr verändern. Ist aber korrekt und an anderer Stelle bei mir führt dein Weg richtigerweise zu einer höheren Genauigkeit.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  417
                                  Online

                                  31.8k
                                  Users

                                  79.9k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  24
                                  958
                                  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