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?
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
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.