Hihi,
mir schwirrt im Moment so eine Idee im Kopf herum und ich wollte mal nachfragen ob das geht und wie ich hier vorgehen könnte.
Folgende Situation ist im Moment umgesetzt:
- Es werden 11 Stellungen von Heizungs- Thermostatventile in Prozent eingelesen (0-100%)
- Über einen notify wird die Zentralheizung je nach Jahreszeit zu einer bestimmten Uhrzeit gesperrt und wieder frei gegeben.
- Sollte es wie heute sehr kalt werden muss ich natürlich über eine Handsteuerung den notify zurückstellen
Was ich gerne hätte:
- Es werden 11 Stellungen von Heizungs- Thermostatventile in Prozent eingelesen (0-100%)
- Über einen notify wird die Zentralheizung je nach Jahreszeit zu einer bestimmten Uhrzeit gesperrt.
- Wenn die Rückmeldungen der Heizungs- Thermostatventile addiert werden und mehr wie ein Wert X (nehmen wir mal an 80) übersteigen, soll die Heizung automatisch wieder frei geschaltet werden
- Wenn ein Heizungs- Thermostatventile mehr als 50 übersteigen, soll die Heizung auch automatisch wieder frei geschaltet werden.
Ich hoffe ich habe das so erklärt habe, dass man es verstehen kann was ich gerne machen würde.
Gruß
Franzel
Hi, vielleicht hilft dir das Suchwort "VALVES" weiter. Das macht ggf. solche Durchschnittsberechnungen (auch gewichtet) und zeigt an, wo im Moment die größte Anforderung besteht usw..
Hihi,
der Erste Schritt ist gemacht und funktioniert. Ich bekomme von VALVE folgende Readings:
valve_average 20.8571428571429 2022-04-03 15:34:11
valve_max 100 2022-04-03 15:34:11
valve_min 0 2022-04-03 14:54:49
Nun möchte ich darüber die Heizungsfreigabe steuern. Ich habe seit ca. 1 Jahr Nichts mehr an fhem geändert und tu mir im Moment schwer wie ich weiter vorgehen muss.
Bisher habe ich die Heizungsfreigabe über einen Dummy oder einen at geändert. Ich komme einfach nicht darauf wie ich das gemacht habe.
Hier mal die fhem.cfg Einträge:
#
define Zentralheizung_sperren dummy
setuuid Zentralheizung_sperren 6071d66f-f33f-b15e-9177-fb675a02ea1d4ea0
attr Zentralheizung_sperren icon Shutdown
attr Zentralheizung_sperren room 00_Heizung_gesamt,21_Heizraum
attr Zentralheizung_sperren webCmd on:off
define n_Zentralheizung_sperren_on notify Zentralheizung_sperren:on set ESPEasy_esp_easy_heizung_Heizugssperrung_Relais gpio 14 on
setuuid n_Zentralheizung_sperren_on 6071d957-f33f-b15e-9020-bb27b3130ec35266
attr n_Zentralheizung_sperren_on room 21_Heizraum
define n_Zentralheizung_sperren_off notify Zentralheizung_sperren:off set ESPEasy_esp_easy_heizung_Heizugssperrung_Relais gpio 14 off
setuuid n_Zentralheizung_sperren_off 6071d9fe-f33f-b15e-e8b4-49a1cc7ae64442a9
attr n_Zentralheizung_sperren_off room 21_Heizraum
#
define at_Zentralheizung_sperren_on at *09:00:00 set Zentralheizung_sperren on
setuuid at_Zentralheizung_sperren_on 608593a4-f33f-b15e-0fc4-3976bcca49423a9b
attr at_Zentralheizung_sperren_on room 21_Heizraum
#
define at_Zentralheizung_sperren_off at *21:25:00 set Zentralheizung_sperren off
setuuid at_Zentralheizung_sperren_off 607c39e1-f33f-b15e-32cf-540eff5b4db00a39
attr at_Zentralheizung_sperren_off room 21_Heizraum
#
Ich stehe komplett auf dem Schlauch.
Ich würde gerne die at's rausnehmen und dann bei valve_average 50 und bei valve_max 70 die Heizung einschalten und bei valve_average 15 und bei valve_max 30 ausschalten.
Gruß
Franzel
Zitat von: Franzel007 am 03 April 2022, 15:53:33
Hier mal die fhem.cfg Einträge:
Bitte keine cfg-Auszüge und da auch nicht direkt drin editieren. Entweder "list" oder "RAW-Definitionen" zeigen!
Zitat von: Franzel007 am 03 April 2022, 15:53:33
Hihi,
der Erste Schritt ist gemacht und funktioniert. Ich bekomme von VALVE folgende Readings:
valve_average 20.8571428571429 2022-04-03 15:34:11
valve_max 100 2022-04-03 15:34:11
valve_min 0 2022-04-03 14:54:49
Dann solltest du auch entsprechende Events (=> Wiki: Event-Monitor) haben, auf die du reagieren kannst.
Zitat
Nun möchte ich darüber die Heizungsfreigabe steuern. Ich habe seit ca. 1 Jahr Nichts mehr an fhem geändert und tu mir im Moment schwer wie ich weiter vorgehen muss.
Ich stehe komplett auf dem Schlauch.
[...]
Ich würde gerne die at's rausnehmen und dann bei valve_average 50 und bei valve_max 70 die Heizung einschalten und bei valve_average 15 und bei valve_max 30 ausschalten.
Dazu kann man z.B. ein (!) notify auf die Events vom VALVES ansetzen und dann eben mit ReadingsNum() die aktuellen Werte abgreifen und dann schalten (falls nicht schon der Schaltzustand paßt).
Ist eine Standardaufgabe, aber es bringt nichts, wenn ich sie dir hier löse, du wirst dich schon einarbeiten müssen...
Hihi,
ok den notify habe ich erstellt, sodass dieser bei einem bestimmte Wert schält. Funktioniert auch soweit. Allerdings möchte ich nicht dass dieser bei z.B "60" schält (so ist es im Moment und funktioniert auch) sondern bei "über 60".
define n_Zentralheizung_automatisch_sperren_notify notify Heizungssteuerung:valve_max:.62 {}
Ich habe gelesen, dass man das über RegEx lösen kann. Nur ich komme nicht drauf was ich da eingeben müsste.
Gibt es irgendwo ein Beispiel wo ich mich entlang hangeln könnte?
Gruß
Franzel
ZitatGibt es irgendwo ein Beispiel wo ich mich entlang hangeln könnte?
Ja, hier (https://wiki.fhem.de/wiki/Notify#notify_Syntax) im Wiki das erste notify-Beispiel.
(Die Klammern um das Suchmuster kannst dir aber sparen, also so wie schon in deinem gezeigten Beispiel) edit: Wiki editiert
Oder nur mit Regex dann z.B. so:
define n_Zentralheizung_automatisch_sperren_notify notify Heizungssteuerung:valve_max:.([6-9])([0-9]) {}
Prüfen: https://regex101.com/
Geht aber nur für ganzzahlig und zweistellig usw.
Ich würde auch "großzügiger" triggern und dann per Perl-if usw. entscheiden was wann zu tun ist...
Gruß, Joachim