NEWS
Tageszähler Stromverbrauch
-
@mickym Bin ziemlich überwältigt
Hätte ich mit Sicherheit nicht so hinbekommen.Zählerwerte vom Shelly sehen so aus:
Also Zählerstand Verbrauch und Zählerstand Erzeugung hab ich. Umrechnung in kWh ist kein Problem...krieg ich hin.
Magst du mal den kompletten Flow posten, würde ich gerne mal testen.
-
@paul53 sagte in Tageszähler Stromverbrauch:
@mickym sagte: W/min ausspucken und man will W/h haben
Diese Maßeinheiten gibt es nicht.
Na ja - gibts nicht, gibts nicht. Das macht der Hersteller wie er will.
und in dem energy Datenpunkt werden die Werte nun mal in Wattminuten ausgegeben.
-
@frankthegreat Ja mache ich gleich - ich beschreibe noch die Parameter.
-
@mickym sagte: in Wattminuten ausgegeben.
Wmin sind nicht W/min.
-
@mickym Sorry, nur kein Stress.
Bin ja froh, das du dich da so engagierst -
@paul53 Ok dann muss man es halt anders umrechnen - ich habe ja nur mal einen Korrekturfaktor eingebaut. Wie müsste der denn dann aussehen?
-
@mickym sagte: ich habe ja nur mal einen Korrekturfaktor eingebaut. Wie müsste der denn dann aussehen?
Der passt schon mit den korrekten Maßeinheiten Wmin und Wh: Wh = Wmin / 60
-
@paul53 Ja genau so habe ich es ja gemacht mit 1/60 = Faktor 0,0167.
-
So hier nochmal die Parameter der Subflownode erläutert:
Der Flow folgt gleich mit einem Beispiel:
Parameter:
counterSource
: Hier gibt man den Datenpunkt des Zählers an, der überwacht werden soll.
baseTopic
: Hier gibt man den Basispfad ein, unter dem die Datenpunkte für Zählerstände und Verbrauchswerte abgespeichert werden sollen.
changeFactor
: Hier kann man einen Wert eingeben mit dem die ermittelten Differenzen der Zählerstände multipliziert werden sollen.
counterOffset
: Hier gibt einen Wert eingeben, der auf den aktuellen Zählerstand addiert wird, um ggf. einen Reset des Zählers zu kompensieren. -
So als Basis für den Scheduler - der täglich, wöchentlich etc. triggert dient also die cronplus node.
Zum Initialisieren betätigt man einmal die trigger -all Inject Node, das ist aber nur alles zum Testen - die Datenpunkte werden sonst bei Bedarf angelegt. Ich hab das mal aus den Shellies mit meinen beiden FritzBoxen nun gemacht.
Hier der Flow für den Scheduler:
Die cronplus Node muss man sich installieren: https://flows.nodered.org/node/node-red-contrib-cron-plus
Nun der Subflow als eigene Node:
Sobald Du diese Node importiert hast, hast Du unter Deinen Subflows eine neue Node, die Du immer wieder verwenden kannst:
-
Hier nun ein Beispiel mit dem gleichen Scheduler und 2 Geräten:
und nun ein Beispiel eine Fritzbox mit den Parametern:
Daraus ergibt nach triggern aller Scheduler folgende Datenstruktur mit dem Auslesen der Zählerstände:
Die Differenzen ergeben sich dann aus den jeweils gespeicherten Zählerständen mit der entsprecehenden Umrechnung.
Nach dem testweise triggern des daily Triggers ergeben sich dann folgende Werte:
Wie gesagt sollte man dann aber die Zählerstände wieder zurücksetzen, damit man dann korrekte Werte enthält - die manuellen Trigger dienen ja nur zum Testen.
Nachtrag: Einmal alle Scheduler zu triggern macht insofern Sinn, dass alle Zählerstände erfasst werden und damit nicht erst beim nächsten kompletten Zyklus. Für die Jahresstatistik ist das sicherlich sinnvoll.
-
Wie gesagt ich hab den Flow nun so gebaut, dass er gleichzeit den Verbrauch des jeweiligen Events ausgibt:
Somit kann man sich ggf. bei negativen Werten aufgrund von Zählerresets - diese Zählerstände manuell korrigieren und dann einen Offset in die Node eintragen.
Will man alles zurücksetzen, dann einfach alle Datenpunkte löschen und dann einmal alle Schedulerevents triggern, um die Zählerstände neu einzulesen.
-
Es ist übrigens auch ganz einfach neue Schedule-Events nachzutragen:
Die Datenpunkte werden dann automatisch erzeugt:
-
@mickym
Bin beeindrucktVielen Dank schonmal.
Werde diese Woche mal einen Testlauf machen -
@frankthegreat Ja dann schau mal - wenn Du nicht initialisierst, dann musst Du halt 2 Perioden abwarten - damit eine vollständige Periode berechnet wird. Sprich wenn Du nicht alles triggerst, werden die Zählerstände erst mit dem ersten Eintreten des Ereignisses erfasst.
Na mal schauen, ob es das so tut. Das Stundenergebnis umgerechnet - schaut aber gut aus und entspricht den Wh, die für die Geräte berichtet werden.
-
Ggf. ist es sinnvoller - die Trigger alle gegen 0:00:00 starten zu lassen. Dann muss man die Scheduler halt entsprechend ändern:
-
@frankthegreat
Sourceanalytix (V0.4.14) hat auch mich, einen nicht unerheblichen Teil, meiner Zeit gekostet
Sourceanalytix (in meinem Fall Ermittlung der Solarproduktion, Eigenverbrauch, etc) )scheint die Differenz zum vorherigen Wert scheinbar erst zu ermitteln, wenn sich der zu triggernde Wert ändert, d.h. der zuletzt gelesene Wert wird beibehalten, und zwar unabhängig davon ob ein Tageswechsel stattgefunden hat. (Es soll ja eine neue Version in Arbeit sein)
Somit steht im currentday-Datenpunkt nach 00:00 Uhr immer noch der Tageswert des vorangegangenen Tages, bis eben der Datenpunkt bei aufgehender Sonne wieder weitergezählt wird.
Meine Lösung:
->Blockly mit Addition von 1 Watt auf den betreffenden Datenpunkt um 00:01 Uhr.
Wenn's supergenau sein soll kann das 1 Watt ja nach Sonnenaufgang wieder abgezogen werden.
Damit werden auch alle untergeordneten Datenpunkte für Monat, Jahr, Quartal, etc tagesgenau aktualisiert. -
@cäptnblaubär
Jepp, hab mit Sourceanalytics auch einiges an Zeit investiert. Ergebnis war aber ernüchternd
Von der Sache her ein guter Adapter mit jeder Menge DP's.
Mir kommt es ja auch nicht auf Milli-Watt-Genauigkeit anAber der Tageszähler sollte schon täglich um 0:00 oder 'ne Sekunde vorher wieder auf 0 springen. Die anderen Zähler hab ich zwar nicht probiert, vermutlich machen die das aber auch nicht.
Von daher ist der SA Adapter leider nicht zu gebrauchen. Schade um die viele Zeit, die der Entwickler da investiert hat -
mir hat das enorm geholfen. danke
-
@mickym
Hallo @mickym ,
kurz zu mir: Ich habe keinerlei Erfahrung mit Node-red und bin gerade über diesen Thread gestolpert und versuche die Programmierung nachzuvollziehen.
Ich habe deinen Flow installiert. Die Datenpunkte sind auch angelegt worden.
Ich stolpere aber an (mindesten) zwei Stellen:
Wie kann ich die Schedules erweitern? Ich hätte gerne zusätzlich stündlich und jährlich.
Weiter benötige ich eine Kostenauswertung getrennt nach Gerät.Mein Stand ist der Import des letzten Flows.
Viele Grüße
Martin