[Solved] Ferientag - Heizungsprofile wechseln

Begonnen von Morgennebel, 15 April 2019, 20:38:20

Vorheriges Thema - Nächstes Thema

Morgennebel

Moin Moin,


ich nutze dieses DOIF, um meinen vielen Homematic-Wandthermostaten zwischen zwei Wochenprogrammen (Schultag und Ferien) umzuschalten:


defmod DI_HeizungProfile DOIF ([15:00] and [?SH:tomorrow] eq "none" and [?D_LongAwayStatus] eq "off")\
(set TYPE=CUL_HM:FILTER=model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 regSet weekPrgSel prog1)\
DOELSEIF ([15:00] and [?SH:tomorrow] ne "none" and [?D_LongAwayStatus] eq "off")\
(set TYPE=CUL_HM:FILTER=model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 regSet weekPrgSel prog2)\
DOELSEIF ([D_LongAwayStatus:"on"])\
(set TYPE=CUL_HM:FILTER=model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlManu 17.0)\
attr DI_HeizungProfile do always
attr DI_HeizungProfile room R_HWR,SYS_Events


SH ist der Ferienkalender. D_LongAwayStatus soll Familienreisen melden.

Die set- mit FILTER-Kombination pickt sich die Wandthermostaten um 15 Uhr (weil das Programm zwischen 5:30 und 9 Uhr in den Profilen verschieden ist) und schaltet diese entsprechend um.

Das ist nicht optimal, denn oft sind viele Tage/Wochen Schulferien, das DOIF schaltet aber stumpf jeden Tag neu um. Ich kann aber auch nicht auf den Wechsel von SH:tomorrow triggern (das passiert ja um Mitternacht).

Hat jemand eine schlaue Idee, wie ich den unnötigen Homematic-Funkverkehr vermeiden kann und nur umschalte, wenn sich etwas ändert?

Danke, -MN

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

MadMax-FHEM

#1
Ich schalte Templist-Templates...
Da wird (soweit ich weiß) nur wirklich was gesendet, wenn sie unterschiedlich sind...

Aber dafür dann halt komplette Templisten und nicht nur das aktive Profil um...

Was dann weniger funkt weiß ich nicht...

Aber du müsstest doch abfragen können, welches Profil grad aktiv ist und dann nur zu schalten, wenn das "falsche" Profil aktiv ist...

EDIT: if(ReadingsVal("Wandthermostat", "R-weekPrgSel", "n.a.") ne "prog1") (bzw. halt "prog2")

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Morgennebel

Danke für den Denkanstoß.

Den FILTER zu erweitern war einfacher:

(set TYPE=CUL_HM:FILTER=model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02:FILTER=weekPrgSel!=prog1 regSet weekPrgSel prog1)
(set TYPE=CUL_HM:FILTER=model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02:FILTER=weekPrgSel!=prog2 regSet weekPrgSel prog2)


Einfach noch :FILTER=weekPrgSel!= hinzugefügt - erwischt dann die, bei denen der Status nicht wie gewünscht ist.
Sollte er schon genauso gesetzt sein, wird das Kommando nicht erneut gesendet.

Manchmal ist das Leben echt einfacher als man denkt...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

MadMax-FHEM

Na dann...

Das mit dem Filter hab ich mir auch gedacht...
...aber ich nutze das nicht, daher hätte ich nicht schreiben können wie das aussehen müsste... ;)

Viel Spaß noch, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)