FHEM Forum

FHEM => Automatisierung => Thema gestartet von: FhemPiUser am 07 September 2015, 21:49:34

Titel: [gelöst] Steuerung nach Antieg eines Readings
Beitrag von: FhemPiUser am 07 September 2015, 21:49:34
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?
Titel: Antw:Steuerung nach Antieg eines Readings
Beitrag von: Hans Franz am 08 September 2015, 00:13:34
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
Titel: Antw:Steuerung nach Antieg eines Readings
Beitrag von: FhemPiUser am 10 September 2015, 21:58:03
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.