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.
    • BananaJoe
      BananaJoe Most Active @derboehsevincent last edited by

      @derboehsevincent sagte in Objekt zu bestimmten Zeitpunkt Speichern:

      Hi, ich habe das pvforcast-modul im Einsatz. Wie bring ich dem System denn jetzt bei den 06:00:00 Uhr Wert mit 1,253kwh auch wirklich in der Influxdb Datebank um 06:00:00 zu speichern und nicht zum Zeitpunkt der Abfrage?

      08995e55-88e7-412f-a265-35c8a5f287d5-image.png

      Ich hoffe ich habe mich verständlich ausgedrückt.

      Grüße
      Vince

      mal davon abgesehen das du ja eine andere Lösung gefunden hast hier für die Zukunft:
      In eine Datenbank kann man nicht nur den Wert schreiben. Bei ioBroker hat jeder Wert bei History/MySQL oder InfluxDB auch einen Zeitstempel.
      Der Trick beim schreiben in die Datenbank wäre also nicht nur den Wert zu schreiben sondern der Zeitstempel gleich mit.
      Du kannst als um 12:00 Uhr Mittags auch Werte mit einem Zeitstempel um 6 Uhr morgens (in der Vergangenheit) und 6 Uhr Abends (in der Zukunft) schreiben.
      Ich nutze PV-Forecast z.B. mit einer MySQL Datenbank und mach genau das 🙂

      N 1 Reply Last reply Reply Quote 0
      • 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

                                    560
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

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