Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Stromverbrauch Berechnung - Logikfehler?

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Gelöst] Stromverbrauch Berechnung - Logikfehler?

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

      Guten Abend,

      ich berechne mir mit dem Blocky-JavaScript aus einer Komponente die den aktuellen Verbrauch anzeigt per Aufsummierung den Wert für die kWh.

      e478b2bf-4bc9-4e2f-88df-35ada95ed945-image.png

      Das Skript wird im Intervall jede Sekunde ausgeführt um eine möglichst genaue Berechnung zu erhalten.

      Zur Erklärung:
      Die Division durch 3600 stellt den Bezug "pro Sekunde" her.
      Die Division am Ende durch 1000 macht aus Wh dann kWh.

      Das verrückte ist, dass das Skript ohne den letzten Schritt (:1000) normal funktioniert.
      Könnt ihr erfahrenen User mir das erklären? 🙂

      Liebe Grüße und Danke
      Sven

      paul53 Asgothian 2 Replies Last reply Reply Quote 0
      • A
        Adnim last edited by

        das kann so aber nicht klappen die Hm Komponente tut ja nicht jede sek den wert senden, und du fragst dann jede SEK ab das ergibt so keine genaue Berechnung; glaube das ist so gar nicht berechenbar

        hat das Gerät keinen Energy Counter State?

        1 Reply Last reply Reply Quote 0
        • I
          Intruminator last edited by

          Hallo Adnim,

          selbst wenn die Hm-Komponente den Wert nicht jede Sekunde ändert, müsste ich diesen doch dennoch zum sekundlichen berechnen nutzen können. Der Wert am angeschlossenen Verbraucher bleibt nämlich immer gleich wenn es angeschaltet ist.

          Speziell dieses Gerät hat einen Energycounter, dessen Wert allerdings die Summe seit Nutzung anzeigt. Bin mir gar nicht sicher, ob ich den Wert per Skript ebenfalls auf "0" setzen kann nach jedem Tag.

          Grüße

          1 Reply Last reply Reply Quote 0
          • I
            Intruminator last edited by Intruminator

            OK, wenn ich erlaube, dass das Objekt für den Energy Counter der HM-Komponente beschreibbar ist, kann ich den Wert auf 0 zurücksetzen. Allerdings wird beim nächsten Abfragen wieder der alte Wert automatisch eingetragen.

            Dennoch sollte die Berechnung doch möglich sein 😕

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

              @Intruminator sagte:

              mir das erklären?

              Der aufzuaddierende Wert ist zu klein, um beim Runden auf 4 Nachkommastellen noch einen Unterschied zu erzeugen. Verwende besser eine Variable für den Verbrauch, addiere auf diese auf und runde erst beim Speichern des Variablenwertes in den Datenpunkt. Etwa so:

              Blockly_temp.JPG

              I 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @Intruminator last edited by

                @Intruminator was kommt den als wert raus wenn du das / 1000 heraus nimmst ?

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

                  @Asgothian sagte:

                  was kommt den als wert raus wenn du das / 1000 heraus nimmst ?

                  Wh.

                  1 Reply Last reply Reply Quote 0
                  • I
                    Intruminator last edited by

                    Wow,

                    danke für die Antworten. Ich werde es morgen mal ausprobieren.
                    Hatte die Nachkommastellen auch schon auf 10 mit gleichem Effekt.

                    Bei meinem Blocky oben kommt "0" raus.

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

                      @paul53 said in Stromverbrauch Berechnung - Logikfehler?:

                      @Intruminator sagte:

                      mir das erklären?

                      Der aufzuaddierende Wert ist zu klein, um beim Runden auf 4 Nachkommastellen noch einen Unterschied zu erzeugen. Verwende besser eine Variable für den Verbrauch, addiere auf diese auf und runde erst beim Speichern des Variablenwertes in den Datenpunkt. Etwa so:

                      Blockly_temp.JPG

                      Ok Paul, deine Idee zu dem Skript funktioniert!
                      Einzig die Anzeige der 4 Nachkommastellen ist noch nicht so wie gewünscht.
                      Logischerweise wird bei niedrigen Verbrauchszahlen von W=3 Watt dann
                      3/3600000 = 0,00000083 kWh pro Sekunde berechnet.
                      Diesen Wert auf 4 Stellen zu Runden gibt dann immer 0.

                      Mein Kompromiss wird es jetzt sein den Wert für den täglichen Verbrauch auf 8 Nachkommastellen zu runden. Dann passt die Berechnung ohne zu starken Rundungsfehler.

                      Im nächsten Schritt werde ich am Ende des Tages den Tageswert aufsummieren und in ein neues Objekt "Monatsverbrauch" schreiben. Hier kann ich mit größeren Werten dann "runden". Der Tageswert wird dann wieder auf 0 gesetzt. 🙂

                      Danke für die freundliche Hilfe und schönen Samstag noch.

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      557
                      Online

                      31.6k
                      Users

                      79.5k
                      Topics

                      1.3m
                      Posts

                      blockly javascript
                      4
                      9
                      1516
                      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