Thermostat letzte Soll-Temperatur "merken"

Begonnen von Vize, 04 Februar 2016, 21:54:21

Vorheriges Thema - Nächstes Thema

Vize

Guten Abend allerseits!

Ist es wohl möglich, dass man sich beim Wandthermostaten HM-TC-IT-WM-W-EU bei manueller Änderung der Soll-Temperatur (desired-temp) - per Stellrad am Thermostaten oder über FHEM - die zuletzt/vorher eingestellte Soll-Temperatur in ein Reading wegschreibt, evtl. per notify oder DOIF, o.ä.?
Beispiel: Soll-Temperatur wird am Thermostaten von 20 auf 22 °C erhöht. Der Wert 20 soll dann in ein Reading geschrieben werden...

Hintergrund: Wenn die Dame des Hauses mal die Solltemperatur erhöht und vergisst, diese wieder zurück zu stellen, soll nach z.B. einer Stunde automatisch die vorherige Soll-Temperatur wieder eingestellt werden.

Geht sowas überhaupt?
Wenn ja wie?

Danke für jegliche Tipps!
Gruß
Andreas

Hans Franz

Wenn du die desired-Temperature über HeatingControl (oder WeekdayTimer) setzt, könntest du regelmäßig ein Heating_Control_SetTemp(<"HC-device">) ausführen.

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

Otto123

Zitat von: Vize am 04 Februar 2016, 21:54:21
Beispiel: Soll-Temperatur wird am Thermostaten von 20 auf 22 °C erhöht. Der Wert 20 soll dann in ein Reading geschrieben werden...
Hallo Andreas,

und wenn dann 2 sec später von 22 auf 24 erhöht wird - was macht das für einen Sinn? Wer gibt den Soll vor? Du oder? Dann schreib doch Soll einfach fest irgendwo hin.

Hoffentlich liest Deine Frau nicht mit  :-X

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Vize

Moin Otto,

über Sinn und Unsinn kann man ja streiten, aber lass uns das hier mal nicht tun.

Ich möchte eigentlich nur wissen, ob sowas (generell) möglich ist.

Und nein, Regierung liest nicht mit...

Gruß
Andreas

Otto123

Klar ist das möglich. Ich erkläre Dir gerne wie ich das jetzt mal für Dich ermittelt habe:
Du nimmst Deinen Channel, der die Temperatur setzen kann, bei mir SensorR1_Climate
Du machst den Eventmonitor auf (zweites Fenster!) und trägst einen Filter ein: SensorR1_Climate.*
Du änderst die Temperatur (im ersten Fenster) und siehst im Eventmonitor
Zitat2016-02-05 09:30:09 CUL_HM SensorR1_Climate set_desired-temp 20.0
2016-02-05 09:30:09 CUL_HM SensorR1_Climate set_desired-temp 20.0
2016-02-05 09:30:10 CUL_HM SensorR1_Climate boostTime: -
2016-02-05 09:30:10 CUL_HM SensorR1_Climate commReporting: off
2016-02-05 09:30:10 CUL_HM SensorR1_Climate controlMode: manual
2016-02-05 09:30:10 CUL_HM SensorR1_Climate desired-temp: 20.0
2016-02-05 09:30:10 CUL_HM SensorR1_Climate T: 19.4 desired: 20.0
2016-02-05 09:30:10 CUL_HM SensorR1_Climate winOpenReporting: off
2016-02-05 09:30:10 CUL_HM SensorR1_Climate boostTime: -
2016-02-05 09:30:10 CUL_HM SensorR1_Climate commReporting: off
2016-02-05 09:30:10 CUL_HM SensorR1_Climate controlMode: manual
2016-02-05 09:30:10 CUL_HM SensorR1_Climate desired-temp: 20.0
2016-02-05 09:30:10 CUL_HM SensorR1_Climate T: 19.4 desired: 20.0
2016-02-05 09:30:10 CUL_HM SensorR1_Climate winOpenReporting: off
Frag mich jetzt nicht warum, das zweimal kommt  :-X ich weiß es nicht.
Ok damit haben wir den Ansatz für ein notify, denn zwischen dem set_desired-temp und dem setzen vergehen 2 sekunden.
define Tipp1 notify SensorR1_Climate:set_desired-temp.* {Log 1, ReadingsVal("SensorR1_Climate","desired-temp",0)}
Den Erfolg kannst Du jetzt im Logfile sehen:
Zitat2016.02.05 09:34:58 1: 21.0
2016.02.05 09:34:58 1: 21.0
2016.02.05 09:34:58 3: CUL_HM set SensorR1_Climate desired-temp 20.0
2016.02.05 09:35:10 1: 20.0
2016.02.05 09:35:10 1: 20.0
2016.02.05 09:35:10 3: CUL_HM set SensorR1_Climate desired-temp 21.0

Also ja: Du kannst den alten Wert auslesen in dem Moment wo die Temperatur gesetzt wird  8)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Vize

Hallo Otto,

super, danke dir für die Ausführungen und Erläuterungen.
Dadurch habe ich mal wieder was gelernt.

Werd ich heute Abend mal direkt testen...

Dankeschön!

Gruß
Andreas

Otto123

Hallo Andreas,

zu früh gefreut: Mir fällt gerade auf, Du wolltest das ja ermitteln wenn Deine Frau am Thermostaten dreht. Ich habe das ermittelt wenn ich an der Oberfläche drehe.
Das drehen am Rad erzeugt keinen Event, das setzt einfach die desired-temp, die wiederum landet im reading  :-[

Damit hast Du im Moment des Setzens des neuen Wertes den alten nicht mehr. Du kannst aber sehr wohl per notify ermitteln, dass der desired-temp gegenüber der Vorgabe geändert wurde. Das mit dem Wert "-1" halte ich eben für etwas schwierig.

Du kannst mit attr SensorR1_Climate event-on-change-reading desired-temp erreichen, das genau bei der Änderung der desired-temp ein event erzeugt wird.
Die DEF vom notify sieht dann so aus
SensorR1_Climate:desired-temp:.* {Log 1, ReadingsVal("SensorR1_Climate","desired-temp",0)}

Dann weißt Du nicht direkt von wo nach wo aber das geändert wurde!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tomster

#7
Ähh, Mal 'ne Frage:
Wielange wärst Du denn bereit Deiner Holden Zeit zu geben Ihre Wunschtemperatur behalten zu dürfen?

Weil:
Wenn Du im Thermostat ein Programm definierst und das Thermostat auf controlMode auto stellst, dann regelt das Thermostat die Temperatur danach.
Beispiel:
Sonntag:
00:00-07:30 17.5°
07:30-22:00 21.5°
22:00-23:59 17.5°

Stellt Deine Frau nun bspw. um 09:30 Uhr die Temperatur auf 24°, weil sie friert, dann würde diese Temperatur bis zum nächsten Schaltzeitpunkt (im Beispiel 22:00) beibehalten. Danach übernimmt wieder das Thermostat, stellt die Temperatur auf 17.5° und kehrt zur eigenen Zeitsteuerung zurück. Da musst Du gar nix besonderes machen - und es ihr nicht Mal erzählen ;-) OK, die Heizung würde nun zwar 12,5 Stunden auf 24° bleiben, aber letztendlich will es Deine Frau ja "warm", drum hat sie dran gedreht.
Wenn Du nun aber das Zeitprogramm so abänderst, dass es für jede Stunde einen Eintrag hat (auch wenn dort die gleiche Temperatur steht), dann hättest Du fast was Du willst (auch wenn ich nicht glaube, dass es Deiner Frau gefällt, wenn gerade als ihre Wunschtemperatur erreicht wird Deine "vermaledeite Drecks-Technikdose" (vermutetes Zitat) ihr in's Gewerk pfuscht...

Mein Vorschlag:
Setz die Intervalle auf 3 oder 4 Stunden, dann hat jeder seinen Frieden ;-)

Vize

Hi tomster,

ZitatWenn Du nun aber das Zeitprogramm so abänderst, dass es für jede Stunde einen Eintrag hat

Genau das ist auch mein Plan B...äääh Plan A2, wie man ja jetzt sagen muss...

Wollte es aber zunächst erstmal auf ne andere Weise probieren.

Dank und Gruß
Andreas

frank

ZitatMein Vorschlag:
Setz die Intervalle auf 3 oder 4 Stunden, dann hat jeder seinen Frieden ;-)
der ärger kommt aber auch hier, wenn sie zb 5min vor dem nächsten automatischen schaltzeitpunkt manuell verändert. wenn man sich nicht einigen kann, wird es auf einer seite wohl immer ärger geben.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html