Neues Modul: ElectricityCalculator

Begonnen von Sailor, 26 August 2016, 21:05:35

Vorheriges Thema - Nächstes Thema

Sailor

Hi Kakao

Zitat von: kabakakao am 09 September 2020, 11:07:15
edit: hatte nen Denkfehler. Ich habe Gesamt verbrauchte kWh. Sorry :P

Und genau darauf musst du den ElectricityCalculator ansetzen.  8)

Gruss
    Sailor
******************************
Man wird immer besser...

westgate

Hallo,

ich benutze das Modul Electricity Calculator um 3 S0 Zähler zu überwachen.
Der Hardwareaufbau ist folgender S0Zähler (1000 Impulse pro kWh) -> Raspberry PI GPIO -> FHEM (RPI_GPIO) ->ElectricityCalculator

Leider machen die Zähler verschiedene Problem.

Zähler Lüftung:
Die Lüftung läuft kontinuierlich durch mit ein Paar Watt Leistung
Keine Problem. Was auf dem Zähler steht kommt auch in FHEM an.

Zähler Heizung (Wärmepumpe) :
Die Wärmepumpe läuft im Sommer periodisch für Warmwasser (ca. 1h pro Tag, Leistung ca. 200-1200W) im Winter läuft Sie kontinuierlich durch (ca. 200W-1200W)

Hier sind mir nun im Sommer Probleme aufgefallen. Scheinbar wird der Zähler nicht jeden Tag zurückgesetzt
Scheinbar schreibt er erst noch einmal den letzten Wert des Vortags. Dann geht es bei 0 los. Das funktioniert leider manchmal nicht. Hier z.B. Wechsel 07.07->08.07

2020-07-07_12:03:36   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.000
2020-07-07_12:03:43   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.001
2020-07-07_12:13:38   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.156
2020-07-07_12:23:36   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.341
2020-07-07_12:33:33   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.544
2020-07-07_12:43:32   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.768
2020-07-08_12:03:28   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.875
2020-07-08_12:03:37   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.876
2020-07-08_12:13:28   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.075
2020-07-08_14:38:01   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.278
2020-07-08_14:38:08   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.279
2020-07-08_14:48:04   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.458
2020-07-08_14:58:01   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.663
2020-07-08_15:08:00   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.888
2020-07-09_05:48:28   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   1.911
2020-07-09_05:48:37   gpio22_S0Zaehler_Heizung_Counter_EnergyDay:   0.000


Zähler Gesamt :
Dieser Zählt das ganze Haus. Verbrauch ist hier zwischen ca. 200W-5KW.

Dieser Zähler kommt nie über eine Leistung von 1800W. Sehr schön um 12:00 auf dem Bild zu erkennen. Die  richtige Kurve hole ich mir von der PV Anlage. Aber das kann nicht die Lösung sein.

(https://www.bilder-upload.eu/thumb/bb1831-1602769007.png)

Eine Leistung von 5KW erzeugt am Zähler 5000 Impulse pro Stunde also nur ca. 1,4Hz das sollte doch der GPIO locker schaffen?
Woran kann das liegen?


Allgemeines Problem
Dann habe ich noch ein allgemeines Problem:
Wenn die Leistung 0 ist wird leider nichts ausgegeben. Deshalb springt dann die Kurve immer. Siehe Bild zwischen 6 und 9 Uhr. Habe schon folgendes in Electricity Calculator eingebaut. Leider ohne Erfolg.

event-aggregator gpio22_S0Zaehler_Heizung_Counter_PowerCurrent:300:linear:mean,gpio22_S0Zaehler_Heizung_Counter_EnergyDay:600:none:v
event-min-interval gpio22_S0Zaehler_Heizung_Counter_PowerCurrent:300,gpio22_S0Zaehler_Heizung_Counter_EnergyDay:600

Ich hoffe ihr könnt mir helfen.
Gruß westgate

chgl1de

Hallo, bin hier neu und würde gerne einen Plot für die Readings des EC erstellen. Habe alles mögliche probiert, aber kriege es nicht hin die Readings in eine Log Datei zu schreiben um einen Plot zu erstellen. Gebe es jetzt auf... Wer kann mir helfen?
LG Chris

Wzut

@westgate, deine Probleme haben IMHO verschiedene Ursachen :
event-on-change-reading bzw event-on-update-reading gesetzt ? Das könnte das Problem sein bei fehlenden Log Eintrag und einem Gerät das wenig läuft.
Stichwort wenig : Da das Modul mit Events arbeitet kann es nicht berechnen wenn diese ausbleiben, was hier fehlt ist ein zeitgesteuerter Aufruf kurz vor Mitternacht ohne Event um den Tagesübergang sauber zu verarbeiten und dafür zu sorgen das nachfolgende Log Devices auch den Zeitstempel kurz vor Mitternacht haben.

@Sailor, wenn du da ran willst : mir sind da noch ein paar Ungereimtheiten in der notify sub aufgefallen.Bzw. mit leichtem Umbau könnte man im Falle von westgate auch nur mit einer DEF des Moduls arbeiten statt wie jetzt mit dreien.

@chgl1de, dir könnten viele helfen wenn du https://forum.fhem.de/index.php/topic,71806.0.html gelesen hättest und die fehlenden Infos gepostet hättest !
 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Sailor

Hallo Wuzt

Zitat von: Wzut am 18 November 2020, 07:26:55
@Sailor, wenn du da ran willst : mir sind da noch ein paar Ungereimtheiten in der notify sub aufgefallen.Bzw. mit leichtem Umbau könnte man im Falle von westgate auch nur mit einer DEF des Moduls arbeiten statt wie jetzt mit dreien.

Ich arbeite bereits im Rahmen des WaterCalculator daran...
Sobald das läuft, wird das in GasCalculator, WaterCalculator und ElectricityCalculator übernommen.

Gruß
    Sailor
******************************
Man wird immer besser...

westgate

@wzut

ja das habe ich eingebaut.
Dachte auch das man mit dem Event-Aggregator Attribut in regelmäßigen Intervallen die Werte bekommt das geht aber nicht wie gedacht.


attr S0Zaehler_Gesamt event-aggregator gpio23_S0Zaehler_Gesamt_Counter_PowerCurrent:120:linear:mean,gpio23_S0Zaehler_Gesamt_Counter_EnergyDay:600:none:v
attr S0Zaehler_Gesamt event-on-change-reading gpio23_S0Zaehler_Gesamt_Counter_PowerCurrent,gpio23_S0Zaehler_Gesamt_Counter_EnergyDay,gpio23_S0Zaehler_Gesamt_Counter_EnergyDayLast
attr S0Zaehler_Gesamt event-on-update-reading gpio23_S0Zaehler_Gesamt_Counter_PowerCurrent,gpio23_S0Zaehler_Gesamt_Counter_EnergyDay,gpio23_S0Zaehler_Gesamt_Counter_EnergyDayLast



Wie bekomme ich den den Zähler dazu mir die aktuellen Werte zu berechnen und auszugeben?

Gruß
Westgate

xls

2020-12-19_15:20:56 Verbrauchszaehler.Lueftung Impuls.Lueftung_getG1_PowerCurrent: 61.017
2020-12-19_15:21:55 Verbrauchszaehler.Lueftung Impuls.Lueftung_getG1_PowerCurrent: 0.000
2020-12-19_15:22:55 Verbrauchszaehler.Lueftung Impuls.Lueftung_getG1_PowerCurrent: 0.000
2020-12-19_15:23:54 Verbrauchszaehler.Lueftung Impuls.Lueftung_getG1_PowerCurrent: 0.000
2020-12-19_15:24:53 Verbrauchszaehler.Lueftung Impuls.Lueftung_getG1_PowerCurrent: 61.017


Ein Impuls sind bei meinem Zähler 0,5 W.
ElectricityKwhPerCounts 0.0005

Wieso habe ich dann Einträge von 0? Habe ich da irgendwo einen Denkfehler?

amenomade

Weil deine aktuelle elektrische Leistung (Mittelwert zwischen aktueller und letzter Messung) gleich 0 ist ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xls

aber es kommt doch jede Minute ein Impuls... Oder habe ich grade echt ein Brett vorm Kopf?

amenomade

Aber hat sich der Zählerstand geändert?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xls

Ok, ich habe es verstanden. Der CounterCurrent zählt nur volle Watt. Mit meinen 0,5 Watt Impuls und einem ziemlich konstanten Verbrauch ist das aber ziemlich ungünstig.
Ich logge die Power Current Werte mit und erstelle daraus einen Chart.
Da es nun jede Minute einen Wechsel von 60 W/h und 0 W/h gibt, sieht es im Chart so aus als hätte ich einen konstanten Verbrauch von 60 W/h.

Jetzt lasse ich nur jeden zweiten Impuls auswerten und im Power Current stehen nur noch 30 W/h. ;)

amenomade

#596
Weil Du irgendwie das Modul misbrauchst ;)

Das Modul ist dafür gedacht, auf Basis eines Zählers, der die Drehungen zählt (also dann nur Integer-Werte), den Verbrauch zu kalkulieren:

Zählerstand 2500, ElectricityKwhPerCounts 0.0005
Zählerstand 2520 => Verbrauch war 10 Wh inzwischen
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Sailor

Hallo amenomade
Zitat von: amenomade am 21 Dezember 2020, 02:04:58
Das Modul ist dafür gedacht, auf Basis eines Zählers, der die Drehungen zählt (also dann nur Integer-Werte), den Verbrauch zu kalkulieren:

Und das möglichst regelmäßig und in relativ kurzen Abständen.
Am besten auch dann im gleichen Abstand, wenn eigentlich keine Änderungen am Zähler vorlagen.

Gruß
   Sailor
******************************
Man wird immer besser...

enno

Moin Sailor,

ich nutze deine Module schon recht lange und ohne Probleme. Danke dafür!

Zur Zeit lese ich in diesem Faden mit:  https://forum.fhem.de/index.php/topic,117075.msg1114702.html#msg1114702

Meine Frage ist, kann man deine Module (Gas/Wasser/Strom) etwas "ruhiger" machen, oder geht das nur durch Eingrenzen über "attr xx event-on-update-reading" oder "attr xx event-on-change-reading"?

Gruss an den Deich
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Sailor

Hallo Enno

Zitat von: enno am 28 Dezember 2020, 10:45:03
Meine Frage ist, kann man deine Module (Gas/Wasser/Strom) etwas "ruhiger" machen, oder geht das nur durch Eingrenzen über "attr xx event-on-update-reading" oder "attr xx event-on-change-reading"?

Zur Zeit arbeiten alle 3 Calculator-Module nur auf Event des Zählers.
Soll heißen, wenn der Zähler(events) ruhiger wird , wird auch der Calculator(notify) ruhiger.

Das kann aber unter Umständen nicht zu den gewünschten Ergebnissen führen -> Siehe Beiträge darüber.

Gruß
   Sailor
******************************
Man wird immer besser...