Zwischenzähler mit FHEM realisieren

Begonnen von oelkanne, 28 Oktober 2023, 19:55:21

Vorheriges Thema - Nächstes Thema

oelkanne

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?



oelkanne

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.