[gelöst] Steuerung nach Antieg eines Readings

Begonnen von FhemPiUser, 07 September 2015, 21:49:34

Vorheriges Thema - Nächstes Thema

FhemPiUser

Hallo,
ich habe Temperatursensoren an Vor- und Rücklauf der Warmwasser-Zirkulationsleitung (siehe Anhang) und würde gerne die Zirkulationspumpe schalten, wenn jemand irgendwo im Haus einen Warmwasserhahn aufdreht. In dem Moment steigt dann die Temperatur des Sensors an, der am Ausgang des Warmwasserspeichers angebracht ist. Nun überlege ich, wie man den Temperaturanstieg mit DOIF abfragen kann, damit ich daraufhin die Zirkulationspumpe schalten kann. Kann man irgendwie die Readings aus der Vergangenheit (z.B. vor 5 min) abfragen, damit ich diese mit dem aktuellen Wert vergleichen und damit einen Anstieg erkennen kann?

Hans Franz

Hallo,
Evtl.kommst du mit userReadings weiter.
aus commandref:
Zitatdifference: the reading is set to the difference between the current and the previously evaluated value.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

FhemPiUser

danke, habs mit zwei userreadings lösen können:

diff difference { ReadingsVal("Arduino_Heizung_A4_temp","state",0); }, poscumdiff { ReadingsVal("Arduino_Heizung_A4_temp","diff",0) > 0 ? (ReadingsVal("Arduino_Heizung_A4_temp","poscumdiff",0)+ReadingsVal("Arduino_Heizung_A4_temp","diff",0)) : 0 }

mit diff wird die differenz zum letzten wert ermittelt und poscumdiff ist der kummulierte wert der positiven differenzen.

damit steuere ich nun die zirkulationspumpe. bei einem poscumdiff >5 grad wird die zirkulationspumpe angeschaltet und damit immer wenn warmwasser an irgendeinem wasserhah gezogen wird.