Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Zähleränderungen pro Tag berechnen?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    765

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

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

Zähleränderungen pro Tag berechnen?

Geplant Angeheftet Gesperrt Verschoben Blockly
18 Beiträge 5 Kommentatoren 539 Aufrufe 2 Beobachtet
  • Ä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.
  • BertDerKleineB Offline
    BertDerKleineB Offline
    BertDerKleine
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich habe hier Zugriff auf einen jeweils aktuellen Stromzählerstand, also z.B. jetzt gerade 100. Der wird laufend aktualisiert und steht morgen z.B. bei 115.
    Ich würde jetzt gerne die Zählerstandsänderungen innerhalb von 24h festhalten als Tagesverbräuche und die in der History speichern, also z.B. 15 für heute.

    Das ist doch bestimmt keine neue Idee hier.

    Hat jemand einen Tip, wie man das einfach lösen könnte?

    HomoranH haus-automatisierungH R 3 Antworten Letzte Antwort
    0
    • BertDerKleineB BertDerKleine

      Hallo,
      ich habe hier Zugriff auf einen jeweils aktuellen Stromzählerstand, also z.B. jetzt gerade 100. Der wird laufend aktualisiert und steht morgen z.B. bei 115.
      Ich würde jetzt gerne die Zählerstandsänderungen innerhalb von 24h festhalten als Tagesverbräuche und die in der History speichern, also z.B. 15 für heute.

      Das ist doch bestimmt keine neue Idee hier.

      Hat jemand einen Tip, wie man das einfach lösen könnte?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

      Das ist doch bestimmt keine neue Idee hier.

      so ist es!

      @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

      Hat jemand einen Tip, wie man das einfach lösen könnte?

      DP "alter Zählerstand" anlegen.

      abends um 23:59:45
      Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      BertDerKleineB 2 Antworten Letzte Antwort
      0
      • BertDerKleineB BertDerKleine

        Hallo,
        ich habe hier Zugriff auf einen jeweils aktuellen Stromzählerstand, also z.B. jetzt gerade 100. Der wird laufend aktualisiert und steht morgen z.B. bei 115.
        Ich würde jetzt gerne die Zählerstandsänderungen innerhalb von 24h festhalten als Tagesverbräuche und die in der History speichern, also z.B. 15 für heute.

        Das ist doch bestimmt keine neue Idee hier.

        Hat jemand einen Tip, wie man das einfach lösen könnte?

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von haus-automatisierung
        #3

        @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

        Hat jemand einen Tip, wie man das einfach lösen könnte?

        z.B. mit dem Statistics-Adapter. Delta auf dem Datenpunkt aktivieren und fertig. Dann noch History-Logging auf dem Statistics-Datenpunkt und Du hast deine Historie mit Tages-Verbräuchen.

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        BertDerKleineB 1 Antwort Letzte Antwort
        1
        • HomoranH Homoran

          @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

          Das ist doch bestimmt keine neue Idee hier.

          so ist es!

          @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

          Hat jemand einen Tip, wie man das einfach lösen könnte?

          DP "alter Zählerstand" anlegen.

          abends um 23:59:45
          Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

          BertDerKleineB Offline
          BertDerKleineB Offline
          BertDerKleine
          schrieb am zuletzt editiert von
          #4

          @homoran
          Danke, probiere ich auch mal aus.

          1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

            Hat jemand einen Tip, wie man das einfach lösen könnte?

            z.B. mit dem Statistics-Adapter. Delta auf dem Datenpunkt aktivieren und fertig. Dann noch History-Logging auf dem Statistics-Datenpunkt und Du hast deine Historie mit Tages-Verbräuchen.

            BertDerKleineB Offline
            BertDerKleineB Offline
            BertDerKleine
            schrieb am zuletzt editiert von
            #5

            @haus-automatisierung
            Ah, an einen solchen Adapter hätte ich nicht gedacht. Schaue ich mir an. Danke.

            1 Antwort Letzte Antwort
            0
            • BertDerKleineB BertDerKleine

              Hallo,
              ich habe hier Zugriff auf einen jeweils aktuellen Stromzählerstand, also z.B. jetzt gerade 100. Der wird laufend aktualisiert und steht morgen z.B. bei 115.
              Ich würde jetzt gerne die Zählerstandsänderungen innerhalb von 24h festhalten als Tagesverbräuche und die in der History speichern, also z.B. 15 für heute.

              Das ist doch bestimmt keine neue Idee hier.

              Hat jemand einen Tip, wie man das einfach lösen könnte?

              R Offline
              R Offline
              Rushmed
              Most Active
              schrieb am zuletzt editiert von Rushmed
              #6

              @bertderkleine Wenns wie bei dir um den Stromzähler geht vll. mal den Sourceanalytix Adapter ansehen. Der kann dir auch gleich die Kosten, sogar unter Berücksichtgung des Grunpreises mit ausgeben.

              BertDerKleineB 1 Antwort Letzte Antwort
              0
              • R Rushmed

                @bertderkleine Wenns wie bei dir um den Stromzähler geht vll. mal den Sourceanalytix Adapter ansehen. Der kann dir auch gleich die Kosten, sogar unter Berücksichtgung des Grunpreises mit ausgeben.

                BertDerKleineB Offline
                BertDerKleineB Offline
                BertDerKleine
                schrieb am zuletzt editiert von
                #7

                @rushmed
                Danke, schaue ich mir dann auch mal an.

                1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                  Das ist doch bestimmt keine neue Idee hier.

                  so ist es!

                  @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                  Hat jemand einen Tip, wie man das einfach lösen könnte?

                  DP "alter Zählerstand" anlegen.

                  abends um 23:59:45
                  Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

                  BertDerKleineB Offline
                  BertDerKleineB Offline
                  BertDerKleine
                  schrieb am zuletzt editiert von
                  #8

                  @homoran sagte in Zähleränderungen pro Tag berechnen?:

                  DP "alter Zählerstand" anlegen.
                  abends um 23:59:45
                  Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

                  Ich habe das jetzt gerade mal versucht mit:

                  // Tages-Stromverbrauch messen
                  on({id: [].concat(compareTime("23:50", "null", "==")), val: true}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    ZaehlerVerbrauchGestern = getState("0_userdata.0.AlterVerbauchsZaehlerStand").val;
                    ZaehlerVerbrauchHeute = getState("0_userdata.0.Verbrauchszaehler_SHM").val;
                    DeltaTagesVerbrauch = parseFloat(ZaehlerVerbrauchHeute) - ZaehlerVerbrauchGestern;
                    setState("0_userdata.0.TagesStromVerbrauch"/*TagesStromVerbrauch*/, DeltaTagesVerbrauch, true);
                    setState("0_userdata.0.AlterVerbauchsZaehlerStand"/*AlterVerbauchsZaehlerStand*/, ZaehlerVerbrauchHeute, true);
                    console.log(('TagesStromverbrauch: ' + String(('' + getState("0_userdata.0.TagesStromVerbrauch").val))));
                  });
                  

                  Leider bekomme ich da einen Fehler, den ich nicht verstehe:

                  script.js.Verbrauchszählung Error by subscription: empty ID defined. All states matched.
                  

                  Mir ist nicht klar, was da eine "empty ID" ist.

                  HomoranH 2 Antworten Letzte Antwort
                  0
                  • BertDerKleineB BertDerKleine

                    @homoran sagte in Zähleränderungen pro Tag berechnen?:

                    DP "alter Zählerstand" anlegen.
                    abends um 23:59:45
                    Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

                    Ich habe das jetzt gerade mal versucht mit:

                    // Tages-Stromverbrauch messen
                    on({id: [].concat(compareTime("23:50", "null", "==")), val: true}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      ZaehlerVerbrauchGestern = getState("0_userdata.0.AlterVerbauchsZaehlerStand").val;
                      ZaehlerVerbrauchHeute = getState("0_userdata.0.Verbrauchszaehler_SHM").val;
                      DeltaTagesVerbrauch = parseFloat(ZaehlerVerbrauchHeute) - ZaehlerVerbrauchGestern;
                      setState("0_userdata.0.TagesStromVerbrauch"/*TagesStromVerbrauch*/, DeltaTagesVerbrauch, true);
                      setState("0_userdata.0.AlterVerbauchsZaehlerStand"/*AlterVerbauchsZaehlerStand*/, ZaehlerVerbrauchHeute, true);
                      console.log(('TagesStromverbrauch: ' + String(('' + getState("0_userdata.0.TagesStromVerbrauch").val))));
                    });
                    

                    Leider bekomme ich da einen Fehler, den ich nicht verstehe:

                    script.js.Verbrauchszählung Error by subscription: empty ID defined. All states matched.
                    

                    Mir ist nicht klar, was da eine "empty ID" ist.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                    mal versucht mit:

                    ist das ein Blockly, dann bitte zeigen!

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    BertDerKleineB 1 Antwort Letzte Antwort
                    0
                    • BertDerKleineB BertDerKleine

                      @homoran sagte in Zähleränderungen pro Tag berechnen?:

                      DP "alter Zählerstand" anlegen.
                      abends um 23:59:45
                      Zählerstand-alterZähletstand berechnen und danach den DP mit aktuellem Zählerstand befüllen.

                      Ich habe das jetzt gerade mal versucht mit:

                      // Tages-Stromverbrauch messen
                      on({id: [].concat(compareTime("23:50", "null", "==")), val: true}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        ZaehlerVerbrauchGestern = getState("0_userdata.0.AlterVerbauchsZaehlerStand").val;
                        ZaehlerVerbrauchHeute = getState("0_userdata.0.Verbrauchszaehler_SHM").val;
                        DeltaTagesVerbrauch = parseFloat(ZaehlerVerbrauchHeute) - ZaehlerVerbrauchGestern;
                        setState("0_userdata.0.TagesStromVerbrauch"/*TagesStromVerbrauch*/, DeltaTagesVerbrauch, true);
                        setState("0_userdata.0.AlterVerbauchsZaehlerStand"/*AlterVerbauchsZaehlerStand*/, ZaehlerVerbrauchHeute, true);
                        console.log(('TagesStromverbrauch: ' + String(('' + getState("0_userdata.0.TagesStromVerbrauch").val))));
                      });
                      

                      Leider bekomme ich da einen Fehler, den ich nicht verstehe:

                      script.js.Verbrauchszählung Error by subscription: empty ID defined. All states matched.
                      

                      Mir ist nicht klar, was da eine "empty ID" ist.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                      String(('' + getState("0

                      fehlt da etwas zwischen '..'

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                        mal versucht mit:

                        ist das ein Blockly, dann bitte zeigen!

                        BertDerKleineB Offline
                        BertDerKleineB Offline
                        BertDerKleine
                        schrieb am zuletzt editiert von
                        #11

                        @homoran sagte in Zähleränderungen pro Tag berechnen?:

                        @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                        mal versucht mit:

                        ist das ein Blockly, dann bitte zeigen!

                        So sieht es aus:
                        delta.jpg

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • BertDerKleineB BertDerKleine

                          @homoran sagte in Zähleränderungen pro Tag berechnen?:

                          @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                          mal versucht mit:

                          ist das ein Blockly, dann bitte zeigen!

                          So sieht es aus:
                          delta.jpg

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #12

                          @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                          So sieht es aus:

                          dann ist klar!
                          der Trigger triggert auf keine ID

                          Das ist für deine Aufgabe auch der falsche Triggerblock.
                          Du brauchst den CRON Trigger

                          kein Support per PN! - Fragen im Forum stellen -
                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          BertDerKleineB 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                            So sieht es aus:

                            dann ist klar!
                            der Trigger triggert auf keine ID

                            Das ist für deine Aufgabe auch der falsche Triggerblock.
                            Du brauchst den CRON Trigger

                            BertDerKleineB Offline
                            BertDerKleineB Offline
                            BertDerKleine
                            schrieb am zuletzt editiert von BertDerKleine
                            #13

                            @homoran sagte in Zähleränderungen pro Tag berechnen?:

                            @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                            So sieht es aus:

                            dann ist klar!
                            der Trigger triggert auf keine ID

                            Kannst Du das für Aussenstehende übersetzen?
                            "Falls aktuelle zeit = x ist wahr" klingt für mich erstmal schlüssig als Auslöser und die Blöcke docken problemlos aneinander. Keine Ahnung was mit "ID" hier gemeint ist.

                            Das ist für deine Aufgabe auch der falsche Triggerblock.
                            Du brauchst den CRON Trigger

                            Ich habe jetzt mal nach anderem gesucht. Ist dieser "Zeitplan"-Baustein das, was Du meinst?

                            zeitplan.jpg
                            Damit gibts jedenfalls keinen sofortigen Fehler.

                            Da gibts auch andere Bausteine, die "CRON" drinhaben.

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • BertDerKleineB BertDerKleine

                              @homoran sagte in Zähleränderungen pro Tag berechnen?:

                              @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                              So sieht es aus:

                              dann ist klar!
                              der Trigger triggert auf keine ID

                              Kannst Du das für Aussenstehende übersetzen?
                              "Falls aktuelle zeit = x ist wahr" klingt für mich erstmal schlüssig als Auslöser und die Blöcke docken problemlos aneinander. Keine Ahnung was mit "ID" hier gemeint ist.

                              Das ist für deine Aufgabe auch der falsche Triggerblock.
                              Du brauchst den CRON Trigger

                              Ich habe jetzt mal nach anderem gesucht. Ist dieser "Zeitplan"-Baustein das, was Du meinst?

                              zeitplan.jpg
                              Damit gibts jedenfalls keinen sofortigen Fehler.

                              Da gibts auch andere Bausteine, die "CRON" drinhaben.

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #14

                              @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                              Falls aktuelle zeit = x ist wahr" klingt für mich erstmal schlüssig

                              istces auch, aber es ist keine ID (Datenpunkt)
                              und nur diese dürfen dahin

                              @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                              Da gibts auch andere Bausteine, die "CRON" drinhaben.

                              dann nimm die anderen
                              der von dir gewählte kann buggy sein!
                              nimm einen eifachen CRON

                              kein Support per PN! - Fragen im Forum stellen -
                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              BertDerKleineB 1 Antwort Letzte Antwort
                              1
                              • HomoranH Homoran

                                @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                                Falls aktuelle zeit = x ist wahr" klingt für mich erstmal schlüssig

                                istces auch, aber es ist keine ID (Datenpunkt)
                                und nur diese dürfen dahin

                                @bertderkleine sagte in Zähleränderungen pro Tag berechnen?:

                                Da gibts auch andere Bausteine, die "CRON" drinhaben.

                                dann nimm die anderen
                                der von dir gewählte kann buggy sein!
                                nimm einen eifachen CRON

                                BertDerKleineB Offline
                                BertDerKleineB Offline
                                BertDerKleine
                                schrieb am zuletzt editiert von BertDerKleine
                                #15

                                @homoran sagte in Zähleränderungen pro Tag berechnen?:

                                dann nimm die anderen
                                der von dir gewählte kann buggy sein!
                                nimm einen eifachen CRON

                                Der reine "CRON" ist aber so ein Puzzlestück. Wo stopfe ich den denn rein?
                                M.a.W. welchen Trigger benutze ich als Klammer?

                                HomoranH 1 Antwort Letzte Antwort
                                0
                                • BertDerKleineB BertDerKleine

                                  @homoran sagte in Zähleränderungen pro Tag berechnen?:

                                  dann nimm die anderen
                                  der von dir gewählte kann buggy sein!
                                  nimm einen eifachen CRON

                                  Der reine "CRON" ist aber so ein Puzzlestück. Wo stopfe ich den denn rein?
                                  M.a.W. welchen Trigger benutze ich als Klammer?

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #16

                                  @bertderkleine
                                  Screenshot_20221218-133028_Firefox.jpg

                                  Screenshot_20221218-132953_Firefox.jpg

                                  kein Support per PN! - Fragen im Forum stellen -
                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  BertDerKleineB 1 Antwort Letzte Antwort
                                  1
                                  • HomoranH Homoran

                                    @bertderkleine
                                    Screenshot_20221218-133028_Firefox.jpg

                                    Screenshot_20221218-132953_Firefox.jpg

                                    BertDerKleineB Offline
                                    BertDerKleineB Offline
                                    BertDerKleine
                                    schrieb am zuletzt editiert von
                                    #17

                                    @homoran
                                    Genau den Zeitplan benutze ich jetzt. Morgen weiss ich ob's geklappt hat. 🙂

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      Pe Bo
                                      schrieb am zuletzt editiert von
                                      #18

                                      Hi Leute, darf ich mich hier mal anschließen?

                                      Meine Umsetzung hilft vielleicht auch dem TE. Sie ist leider noch nicht perfekt, dazu am Ende mehr. Sie ist für Gas, kann aber neben dem Verbrauch auch gleich die Kosten mitberechnen und lässt sich einfach auf Strom anpassen.

                                      Ich lese mit Aqara die Gaszählerimpulse und habe einen DP Gaszählerstand, der auch zuverlässig in Schritten von 0,1m³ aktualsisiert wird. So weit so gut. Mit dem Blockly zur Verbrauchsberechnung hängt es aber noch ein wenig und ich weiß nicht, warum. Folgende User-Datenpunkte gibt es...

                                      Präfixe:
                                      h_ / d_ / w_ als Präfix für Stunde, Tag und Woche

                                      zu jedem Präfix dann die Werte:
                                      VerbrauchVolumen, VerbrauchEnergie, VerbrauchKosten, letzterZählerstand

                                      und die allgemeinen DP:
                                      Gaszählerstand, aktErdgasArbeitspreis, aktErdgasBrennwert, aktErdgasZustandszahl

                                      Das Blockly läuft stündlich und aktualisiert die Stundenwerte, prüft ob Mitternach ist und aktualisiert die Tageswerte, prüft dabei ob Montag ist und aktualisiert die Wochenwerte.

                                      Hier das Blockly als Quellcode:

                                      schedule("0 * * * *", async function () {
                                        // Aufruf stündlich, immer vorherige Stunde berechnen
                                        setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchVolumen"/*h_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Stunde.h_letzter_Zählerstand").val)*10)/10, true);
                                        setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchEnergie"/*h_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true);
                                        setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchKosten"/*h_VerbrauchKosten*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)*100)/100, true);
                                        setState("0_userdata.0.Gaszähler.Stunde.h_letzter_Zählerstand"/*h_letzter Zählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true);
                                        // Wenn Stunde gleich 0 dann Vortag berechnen
                                        if ((new Date().getHours()) == 0) {
                                          setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchVolumen"/*d_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Tag.d_letzterZählerstand").val)*10)/10, true);
                                          setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchEnergie"/*d_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Tag.d_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true);
                                          setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchKosten"/*d_VerbrauchKosten*/, Math.round((parseFloat((parseFloat(getState("0_userdata.0.Gaszähler.Tag.d_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)) / 100)*100)/100, true);
                                          setState("0_userdata.0.Gaszähler.Tag.d_letzterZählerstand"/*d_letzterZählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true);
                                          // Wenn Wochentag gleich 1 (Montag) dann Vorwoche berechnen
                                          if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == 1) {
                                            setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchVolumen"/*w_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Woche.w_letzterZählerstand").val)*10)/10, true);
                                            setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchEnergie"/*w_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Woche.w_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true);
                                            setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchKosten"/*w_VerbrauchKosten*/, Math.round((parseFloat((parseFloat(getState("0_userdata.0.Gaszähler.Woche.w_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)) / 100)*100)/100, true);
                                            setState("0_userdata.0.Gaszähler.Woche.w_letzterZählerstand"/*w_letzterZählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true);
                                          }
                                        }
                                      });
                                      

                                      und hier in der Grafik:
                                      38bf1f3f-52b6-44f6-82da-cfa385f9121f-image.png

                                      In den allermeisten Fällen läuft es zuverlässig jede Stunde und aktualisiert alle Werte die zu dem jeweiligen Zeitpunkt fällig sind. Manchmal jedoch wird je Sektion nur der letzte Punkt ausgeführt, also nur der letzte Zählerstand von Stunde, Tag oder Woche mit dem aktuellen Zählerstand aktualisiert. Die Berechnungen werden in den seltenen Fällen nicht ausgeführt oder nicht geschrieben.

                                      Hat jemand eine Idee, warum das manchmal passieren könnte? Oder was ich zum Debuggen unternehmen kann? In der Console unter dem Script erscheinen keine Fehler, im Protokoll auch nicht. Da bin ich ein wenig ratlos.

                                      Viele Grüße,
                                      Peter

                                      1 Antwort Letzte Antwort
                                      0

                                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                      Registrieren Anmelden
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      534

                                      Online

                                      32.8k

                                      Benutzer

                                      82.7k

                                      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