Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. [Gelöst] Stromverbrauch Berechnung - Logikfehler?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[Gelöst] Stromverbrauch Berechnung - Logikfehler?

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
9 Beiträge 4 Kommentatoren 1.9k Aufrufe 2 Watching
  • Ä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.
  • I Offline
    I Offline
    Intruminator
    schrieb am zuletzt editiert von Intruminator
    #1

    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

    paul53P AsgothianA 2 Antworten Letzte Antwort
    0
    • A Offline
      A Offline
      Adnim
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • I Offline
        I Offline
        Intruminator
        schrieb am zuletzt editiert von
        #3

        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 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          Intruminator
          schrieb am zuletzt editiert von Intruminator
          #4

          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 Antwort Letzte Antwort
          0
          • I 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

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @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

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            I 1 Antwort Letzte Antwort
            0
            • I 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

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

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

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              paul53P 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

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

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @Asgothian sagte:

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

                Wh.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • I Offline
                  I Offline
                  Intruminator
                  schrieb am zuletzt editiert von
                  #8

                  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 Antwort Letzte Antwort
                  0
                  • paul53P 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 Offline
                    I Offline
                    Intruminator
                    schrieb am zuletzt editiert von Intruminator
                    #9

                    @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 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    779

                    Online

                    32.5k

                    Benutzer

                    81.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