FHEM Forum

FHEM - Anwendungen => Heizungssteuerung/Raumklima => Thema gestartet von: oelkanne am 28 Oktober 2023, 19:55:21

Titel: Zwischenzähler mit FHEM realisieren
Beitrag von: oelkanne am 28 Oktober 2023, 19:55:21
Guten Abend,
Ich betreibe eine Wärmepumpe die abwechselt das Haus heizt (Heizung) bzw. den Brauchwasserspeicher erwärmt.

Als Stromzäher habe ich eine ShellyEM3.  Heißt für FHEM, dass das device ,,ShellyEM3_1" mit dem Reading ,,emeter_energy_total" die kumulierte Energy der Klimaanlage zählt.

Nun möchte ich zwei zusätzliche kumulative Zähler in FHEM einrichten, die
- die Energie für die Brauchwassererwärmung separat zählt (Reading: ,,Energie_Speicher") und
- die Energie (kommutativ) für die Heizung separat zählt (Reading: ,,Energie_Heizung")

Das Kriterium, wann welcher Zwischenzähler laufen soll, heißt in FHEM:

{if(ReadingsVal("Klimaanlage","D05_WW_Heizung",-1) == 0) ... Heizungsbetrieb, bzw.
{if(ReadingsVal("Klimaanlage","D05_WW_Heizung",-1) == 1) ... Brauchwassererwärmung

Meine Bemühungen das mit Userreading zu lösen schlugen alle fehl, das klappt nicht. Evtl. können die benötigten Readings (Zähler für Energie_Speicher und Zähler für Energie_Heizung) mit einen DOIF erzeugt werden, aber hier fehlen mir die Grundfertigkeiten.

Kann mir jemand einen Schubs geben, wie sowas zu lösen ist?


Titel: Aw: Zwischenzähler mit FHEM realisieren
Beitrag von: oelkanne am 29 Oktober 2023, 12:49:39
Habes hinbekommen mit userReadings im Stromzähler.

Energie_Heizung {if(ReadingsNum("Klimaanlage","D05_WW_Heizung",-1) == 0)
{round(ReadingsNum("$name","emeter_energy_total",0)-ReadingsNum("$name","Energie_Speicher",0)-277.95,2)}
else {ReadingsNum("$name","Energie_Heizung",0)} },

Energie_Speicher {if(ReadingsNum("Klimaanlage","D05_WW_Heizung",-1) == 1)
{round(ReadingsNum("$name","emeter_energy_total",0)-ReadingsNum("$name","Energie_Heizung",0)-277.95,2)}
else {ReadingsNum("$name","Energie_Speicher",0)} }

277.95 ist nur ein Offset, damit die Zähler Energie_Heizung und Energie_Speicher bei Null starten.