NEWS
[Gelöst] Stromverbrauch Berechnung - Logikfehler?
-
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.
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 -
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?
-
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
-
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
-
@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:
-
@Intruminator was kommt den als wert raus wenn du das / 1000 heraus nimmst ?
-
-
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.
-
@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:
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.