Neues Modul - Heating_Control, WeekdayTimer

Begonnen von Dietmar63, 04 Januar 2013, 19:42:26

Vorheriges Thema - Nächstes Thema

Dietmar63

Kannst du mir sagen, welcher TYPE in den Internals deines Geräts mit dem Namen  Wz_Heizung1 angezeigt wird.
Ich vermute, dass du eventuell HM im Einsatz hast. Ich leider nicht, so kann ich diese Steuerungen leider nicht testen und war auf Vermutungen angewiesen und lag leider daneben.

Kommt dein TYPE in der folgenden Tabelle vor?
my %modifier = ("MAX"      => "desiredTemperature",
                  "FHT"      => "desired-temp",
                  "FS20"     => "",
                  "HM-CC-VD" => "desired-temp",
                  "HM-CC-TC" => "desired-temp" );
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Steffen

Zitat von: Dietmar63 am 17 Oktober 2013, 21:11:14
Kannst du mir sagen, welcher TYPE in den Internals deines Geräts mit dem Namen  Wz_Heizung1 angezeigt wird.
Ich vermute, dass du eventuell HM im Einsatz hast. Ich leider nicht, so kann ich diese Steuerungen leider nicht testen und war auf Vermutungen angewiesen und lag leider daneben.

Kommt dein TYPE in der folgenden Tabelle vor?
my %modifier = ("MAX"      => "desiredTemperature",
                  "FHT"      => "desired-temp",
                  "FS20"     => "",
                  "HM-CC-VD" => "desired-temp",
                  "HM-CC-TC" => "desired-temp" );


Hallo!

"TYPE: CUL_HM", hoffe hilft dir weiter und danke für die schnelle Antwort!

Mfg Steffen


Dietmar63

Probier es nochmals nach einem update - der Fehler sollte behoben sein.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Otto

Danke, Fehler ist behoben!

Gruß Otto
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

AnonymousHolger

Hallo Dietmar,

hier noch einmal eine späte Huldigung.

Nachdem ich dich mit einigen Fragen zum Heating Control löchern musste läuft das Modul mit verschiedenen Profilen bei mir seit Monaten PERFEKT !!.

Genauso hatte ich mir das immer gewünscht um mit einem Parameter (Gäste Ja/Nein, Urlaub Ja/Nein) ohne viel Aufwand der ganzen FHT80 Umprogrammierung die Heizungsregler einfach zu kontrollieren.

Für den "Notfall" eines FHEM Gesamtabsturzes (z.B. Abrauchen der Fritzbox) habe ich dann noch Backupheizprofile in den FHTs, die nach Umstellung auf Automatik Modus den Zeitraum überbrücken können, bis FHEM wieder läuft.

Vielen Dank für dieses super Modul !!

Gruss

Holger

cerberus

Hallo, ich finde das Module auch super und habe schon einiges damit umgesetzt.

@AnonymousHolger Mit den Schaltern für verschiedene Heizungsparameter finde ich eine gute Idee. Wie hast du das ganze umgesetzt? Wie machst du das mit z.B. zu Hause ja und Abwesend ja, setzt du zu Hause ja dann Abwesend automatisch auf nein bzw. oder auch andere Heizparameter?

Was ich noch umsetzten wollte ist zwischen Früh und Spätschicht zu unterscheiden. Da bei mir wochenweise Früh und Spätschicht wechselt wollte ich dafür auch je ein eigenes Heizprofil erstellen. Ich dachte daran auch hier einen Dummy zu definieren der z.B. Montags prüft ob der Dummy auf Früh oder Spät steht und dann entsprechend umschaltet.

Hier mein erster Code dazu. Ich weiß aber nicht ob das nicht eine Schleife ergibt. Hat jemand eine gute Idee wie ich abhängig vom vorherigen Status zu Beginn der Woche jeweils den Status wechsel?

define HP_Schicht dummy
attr HP_Schicht Schicht
attr HP_Schicht webCmd Fruehschicht:Spaetschicht
attr HP_Schicht room Heizung
attr HP_Schicht group Heizparameter
define nHP_Schicht_S notify HP_Schicht {\
if(( Value("HP_Schicht") eq "Fruehschicht") && ($wday == 1)) {\
fhem("set HP_Schicht mode Spaetschicht");;\
}\
}
define nHP_Schicht_F notify HP_Schicht {\
if(( Value("HP_Schicht") eq "Spaetschicht") && ($wday == 1)) {\
fhem("set HP_Schicht mode Fruehschicht");;\
}\
}



Gruß
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

Dietmar63

Ich habe drei Profile für jeden Raum.

Das Schalten funktioniert bei mir nicht automatisch, sondern per Hand. Dazu habe ich ein dummy definiert, das per Weboberfläche drei Zustände einnehmen kann:
Aus,An,Übergangszeit.

In der Bedingung am Ende der HC-Definitionen rufe ich eine Perlfunktion auf, die true oder false zurückliefert und u. a. den Inhalt des dummys auswertet.

So könntest du es auch erst einmal machen.
Wenn du dann noch eine Automatik Früh-/Spätschicht willst, kannst du das Calendermdoul verwenden, und damit das dummy ändern: früh/spät/nacht; dann sogar änderbar über das Handy oder PC.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Allgemein besteht der Wunsch, dass die Angaben für die Schaltzeiten flexibler gestaltet werden sollten.
Zur Zeit ist nur die Angabe in der Form  HH:MM möglich.

In Kürze werde ich die beiden Module so erweitern/einchecken, dass es möglich ist eine beliebige Funktion u.a. auch sunrise_abs() für die Ermittlung der Schaltzeit zu nutzen. Die Funktion muss eine Zeit der Form HH:MM bzw. HH:MM:SS liefern. Die Schaltzeiten werden jede Nacht gegen 00:10 Uhr für den jeweiligen Tag neu ermittelt(damit z. Bsp. sunset richtig rechnet). Die Entwicklung habe ich abgeschlossen. Ich teste es noch ausgiebig.

Möglich wird dann beispielsweise folgendes sein:

define wdt1   WeekdayTimer    Brunnen    123|{sunrise_abs()}|off 4567|{sunset_abs()}|on
define wdt1   Heating_Control Brunnen    123|{sunrise_abs()}|off 4567|{sunset_abs()}|on
define wdt1   WeekdayTimer    Brunnen    123|{myFunction()}|off  4567|{myFunction()}|on
define wdt1   Heating_Control Brunnen    123|{myFunction()}|off  4567|{myFunction()}|on


Weitere Flexibilität ist gewünscht bei der Angabe der Tage an denen die Schaltzeit jeweils gelten soll.
Folgenden Vorschlag würde ich machen:
Ich führe die symbolischen Konstanten $we und !$we ein. $we umfasst die Tage Samstag, Sonntag und die Feiertage. !$we definert das Gegenteil, also Montag bis Freitag.

Dann sind folgende Definitionen für eine Schaltung möglich:


di-mi,$we|15:00|on-for-timer:20                                # Dienstag, Mittwoch und am Wochenende+Feiertage
123,$we|{sunset_abs()}|on                                      # Montag-Mittwoch    und am Wochenende+Feiertage
!$we,$we|{sunrise_abs()}|on                                    # Jeder Tag.

$we|15:00:05|13                                                # Am Wochenende und an Feiertagen
!$we|{sunrise("real","16:00","17:00")}|on-for-timer:20         # Montag-Freitag
 

Wie wäre das?
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

cerberus

Hallo Dietmar, das mit dem !$we für das Gegenteil vom Wochenende irritiert mich und würde meiner Meinung nach zur Verwirrung führen.

Ein Frage noch dazu. Wo definiere ich welcher Tag dann ein Feiertag ist?

Gruß
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

Dietmar63

attr   global holiday2we      Niedersachsen

...\fhem\FHEM\Niedersachsen.holiday

Wenn !$we verwirrt kann ich es auch fort lassen.

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Damian

Zitat von: Dietmar63 am 21 Oktober 2013, 21:46:16
Ich führe die symbolischen Konstanten $we und !$we ein. $we umfasst die Tage Samstag, Sonntag und die Feiertage. !$we definert das Gegenteil, also Montag bis Freitag.

Wozu bei we das Dollarzeichen, mo-so haben auch keins;)

Ich denke das Modul ist gerade für Nichtprogrammierer gedacht und die müssen nicht wissen, wie Variablen in Perl aussehen. Und die Frage nach dem Ausrufungszeichen hat auch nicht lange auf sich warten lassen - nicht jeder hat mal C programmieren gelernt.


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto

Hallo Dietmar,

ich finde die Idee super und denke mit einer Funktion und den Konstanten ist alles abgedeckt.


Gruß Otto
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

hckoe

Hallo Dietmar,

wenn Du in $we Samstag, Sonntag, und Feiertage zusammenfassen willst, dann tut man sich bei Konfigurationen schwer, in denen der Samstag als normaler Werktag behandelt werden soll. Wie wäre es mit einem Attribut, auf welchen Tag ein Feiertag gemappt werden soll, z.B. wenn ein Feiertag wie ein Sonntag behandelt werden soll:
attr Heating_Control holidayMap So

Oder evtl. ein spezieller Feiertagname "Ft" oder "Hy" ?

Gruß
Helmut
# CT mit Debian Buster / FHEM aktuell / EnOcean TCM310 / Eltako FSA12, FUD12NPN, FSB12, FRW, FSRP-230V
# Permundo PCS234, Nodon NO-SIN-2-2-00, GTAGS

AnonymousHolger

Hallo Cerberus,

hier mal mein "Heating_Control.cfg" (eingebunden mit Include in die fhem.cfg).

Ist noch nicht komplett fertig, da z.B. der Paraeter Jahreszeit nicht ausgewertet wird, und es sicherlich auch noch einiges an Verbesserungspotential gibt. Aber soweit hab ich es mit Dietmars Unterstützung erst einmal geschafft. Aufgrund des noch guten Wetters ist hier im Moment nicht so viel Optimierungsbedarf. Das ändert sich sicherlich sobald die Tage kälter werden.

Dann werde ich das sicherlich noch ein wenig überarbeiten ...

Sorry für die späte Antwort, war ein paar Tage offline.

Gruss

Holger

#manuelles aufrufen der Funktion im FHEM Fenster mit <trigger FHT_To_Manual>
#damit werden dann alle FHTs auf Manual Status umgestellt
define FHT_To_Manual notify FHT_To_Manual { \
  my @@fhts=devspec2array("TYPE=FHT");; \
      foreach(@@fhts) { \
        fhem ("set ".$_." mode manual");; \
    } \
}
attr FHT_To_Manual room 5_SYSTEM

define FHT_log_desired_temp notify FHT_log_desired_temp { \
  my @@fhts=devspec2array("TYPE=FHT");; \
      foreach(@@fhts) { \
        addLog("$_","desired-temp");; \
    } \
}
attr FHT_log_desired_temp room hidden

define addFHTlog_midnight1 at *23:59 trigger FHT_log_desired_temp
attr addFHTlog_midnight1 room hidden
define addFHTlog_midnight2 at *00:01 trigger FHT_log_desired_temp
attr addFHTlog_midnight2 room hidden
define addFHTlog_al2hours at +*02:00:00 trigger FHT_log_desired_temp
attr addFHTlog_al2hours room hidden


### Heizungsprofil(Jahreszeit(Sommer,Uebergang,Winter), WochenEnd_Feiertag(0,1), Gaeste(Ja,Nein), Homeoffice(Ja,Nein), zuHause (Ja,Nein), Abwesend (Ja,Nein)

############ Start OG GaesteZimmer & Bad Einstellung bei Nutzung (Gaeste = JA) oder nicht (Gaeste = Nein)

####### Gäste & nichtAbwesend = "G"
define FHT_OG_Bad_Control_G Heating_Control FHT_OG_Bad 07:00|21.00 10:30|18.0 18:00|21.0 22:30|18.0 (Heizungsprofil(undef, undef, "Ja", undef, undef, "Nein", "Profil_OG_Bad_Gaeste"))
attr FHT_OG_Bad_Control_G event-on-update-reading desired-temp
attr FHT_OG_Bad_Control_G group HEIZUNG_CONTROL
attr FHT_OG_Bad_Control_G room 1_HEIZUNG
define FHT_OG_SchlafZ_Control_G Heating_Control FHT_OG_SchlafZ 07:30|21.0 09:30|18.0 19:00|21.0 22:30|18.0 (Heizungsprofil(undef, undef, "Ja", undef, undef, "Nein", "Profil_OG_SchlafZ_Gaeste"))
attr FHT_OG_SchlafZ_Control_G event-on-update-reading desired-temp
attr FHT_OG_SchlafZ_Control_G group HEIZUNG_CONTROL
attr FHT_OG_SchlafZ_Control_G room 1_HEIZUNG
######## keineGäste & nichtAbwesend = "nG"
define FHT_OG_Bad_Control_nG Heating_Control FHT_OG_Bad 05:00|14.0 18:10|14.0 (Heizungsprofil(undef, undef, "Nein", undef, undef, "Nein", "Profil_OG_Bad_keineGaeste"))
attr FHT_OG_Bad_Control_nG event-on-update-reading desired-temp
attr FHT_OG_Bad_Control_nG group HEIZUNG_CONTROL
attr FHT_OG_Bad_Control_nG room 1_HEIZUNG
define FHT_OG_SchlafZ_Control_nG Heating_Control FHT_OG_SchlafZ 05:05|14.0 18:10|14.0 (Heizungsprofil(undef, undef, "Nein", undef, undef, "Nein", "Profil_OG_SchlafZ_keineGaeste"))
attr FHT_OG_SchlafZ_Control_nG event-on-update-reading desired-temp
attr FHT_OG_SchlafZ_Control_nG group HEIZUNG_CONTROL
attr FHT_OG_SchlafZ_Control_nG room 1_HEIZUNG
############# Ende OG GaesteZimmer & Bad

############ Start OG Arbeitszimmer mit und ohne Homeoffice Definition
####### Homeoffice & nichtAbwesend = "H"
define FHT_OG_AZ_Control_H Heating_Control FHT_OG_AZ 07:35|21.5 18:00|14.0 (Heizungsprofil(undef, undef, undef, "Ja", undef, "Nein", "Profil_OG_AZ_HomeOffice"))
attr FHT_OG_AZ_Control_H event-on-update-reading desired-temp
attr FHT_OG_AZ_Control_H group HEIZUNG_CONTROL
attr FHT_OG_AZ_Control_H room 1_HEIZUNG
####### kein Homeoffice & nichtAbwesend = "nH"
define FHT_OG_AZ_Control_nH Heating_Control FHT_OG_AZ 05:10|14.0 18:10|14.0 (Heizungsprofil(undef, undef, undef, "Nein", undef, "Nein", "Profil_OG_AZ_keinHomeOffice"))
attr FHT_OG_AZ_Control_nH event-on-update-reading desired-temp
attr FHT_OG_AZ_Control_nH group HEIZUNG_CONTROL
attr FHT_OG_AZ_Control_nH room 1_HEIZUNG
############# Ende OG GaesteZimmer & Bad

############ Start UG Definitionen
####### Badezimmer Wochentag & nichtAbwesend = WT
define FHT_UG_Bad_Control_WT Heating_Control FHT_UG_Bad 06:30|21.5 07:30|18.0 18:30|21.5 19:30|18.0 (Heizungsprofil(undef, 0, undef, undef, undef, "Nein", "Profil_UG_Bad_Wochentag"))
attr FHT_UG_Bad_Control_WT group HEIZUNG_CONTROL
attr FHT_UG_Bad_Control_WT room 1_HEIZUNG
####### Badezimmer Wochenend/Feiertag & nichtAbwesend = WE
define FHT_UG_Bad_Control_WE Heating_Control FHT_UG_Bad 07:30|21.5 08:30|18.0 19:30|21.5 20:30|18.0 (Heizungsprofil(undef, 1, undef, undef, undef, "Nein", "Profil_UG_Bad_Wochenend"))
attr FHT_UG_Bad_Control_WE group HEIZUNG_CONTROL
attr FHT_UG_Bad_Control_WE room 1_HEIZUNG

####### Kueche nichtAbwesend
define FHT_UG_Kueche_Control Heating_Control FHT_UG_Kueche 06:30|21.0 07:30|18.0 18:30|20.5 20:30|18.0 (Heizungsprofil(undef, undef, undef, undef, undef, "Nein", "Profil_UG_Kueche"))
attr FHT_UG_Kueche_Control group HEIZUNG_CONTROL
attr FHT_UG_Kueche_Control room 1_HEIZUNG

####### KiZi Wochentag & nichtAbwesend = WT
define FHT_UG_KiZi_Control_WT Heating_Control FHT_UG_KiZi 06:30|22.0 08:00|18.0 17:00|22.0 20:30|18.0 (Heizungsprofil(undef, 0, undef, undef, "Nein", "Nein", "Profil_UG_KiZi_Wochentag"))
attr FHT_UG_KiZi_Control_WT group HEIZUNG_CONTROL
attr FHT_UG_KiZi_Control_WT room 1_HEIZUNG
####### KiZi Wochentag + ZuHause & nichtAbwesend = WTH
define FHT_UG_KiZi_Control_WTH Heating_Control FHT_UG_KiZi 06:30|21.0 20:30|18.0 (Heizungsprofil(undef, 0, undef, undef, "Ja", "Nein", "Profil_UG_KiZi_WochentagZuHause"))
attr FHT_UG_KiZi_Control_WTH group HEIZUNG_CONTROL
attr FHT_UG_KiZi_Control_WTH room 1_HEIZUNG
####### KiZi WochenEnd/Feiertag & nichtAbwesend = WE
define FHT_UG_KiZi_Control_WE Heating_Control FHT_UG_KiZi 06:30|22.0 21:00|18.0 (Heizungsprofil(undef, 1, undef, undef, undef, "Nein","Profil_UG_KiZi_Wochenend"))
attr FHT_UG_KiZi_Control_WE group HEIZUNG_CONTROL
attr FHT_UG_KiZi_Control_WE room 1_HEIZUNG

####### SchlafZ & nichtAbwesend
define FHT_UG_SchlafZ_Control Heating_Control FHT_UG_SchlafZ 06:30|21.0 08:00|18.0 (Heizungsprofil(undef, undef, undef, undef, undef, "Nein","Profil_UG_SchlafZ"))
attr FHT_UG_SchlafZ_Control group HEIZUNG_CONTROL
attr FHT_UG_SchlafZ_Control room 1_HEIZUNG

####### WohnZ Wochentag & nichtAbwesend & nicht ZuHause= WT
define FHT_UG_WohnZ_Control_WT Heating_Control FHT_UG_WohnZ 06:30|23.0 07:00|23.0 08:30|23.0 16:30|23.0 22:30|18.0 (Heizungsprofil(undef, 0, undef, undef, "Nein", "Nein", "Profil_UG_WZ_Wochentag"))
attr FHT_UG_WohnZ_Control_WT group HEIZUNG_CONTROL
attr FHT_UG_WohnZ_Control_WT room 1_HEIZUNG
####### WohnZ Wochentag & nichtAbwesend & nicht ZuHause= WTH
define FHT_UG_WohnZ_Control_WTH Heating_Control FHT_UG_WohnZ 06:30|23.0 07:00|23.0 22:30|18.0 (Heizungsprofil(undef, 0, undef, undef, "Ja", "Nein", "Profil_UG_WZ_WochentagZuHause"))
attr FHT_UG_WohnZ_Control_WTH group HEIZUNG_CONTROL
attr FHT_UG_WohnZ_Control_WTH room 1_HEIZUNG
####### WohnZ Wochenend/Feiertag & nichtAbwesend = WE
define FHT_UG_WohnZ_Control_WE Heating_Control FHT_UG_WohnZ 06:30|23.0 07:00|23.0 22:30|18.0 (Heizungsprofil(undef, 1, undef, undef, undef, "Nein", "Profil_UG_WZ_Wochenend"))
attr FHT_UG_WohnZ_Control_WE group HEIZUNG_CONTROL
attr FHT_UG_WohnZ_Control_WE room 1_HEIZUNG

############ Start Abwesenheits Definition für alle Heizkörper
define FHT_OG_Bad_Control_OFF Heating_Control FHT_OG_Bad 00:01|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_OG_Bad_Abwesend"))
attr FHT_OG_Bad_Control_OFF group HEIZUNG_CONTROL
attr FHT_OG_Bad_Control_OFF room 1_HEIZUNG
define FHT_OG_SchlafZ_Control_OFF Heating_Control FHT_OG_SchlafZ 00:01|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_OG_SchlafZ_Abwesend"))
attr FHT_OG_SchlafZ_Control_OFF group HEIZUNG_CONTROL
attr FHT_OG_SchlafZ_Control_OFF room 1_HEIZUNG
define FHT_OG_AZ_Control_OFF Heating_Control FHT_OG_AZ 00:01|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_OG_AZ_Abwesend"))
attr FHT_OG_AZ_Control_OFF event-on-update-reading desired-temp
attr FHT_OG_AZ_Control_OFF group HEIZUNG_CONTROL
attr FHT_OG_AZ_Control_OFF room 1_HEIZUNG
define FHT_UG_Bad_Control_OFF Heating_Control FHT_UG_Bad 00:02|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_UG_Bad_Abwesend"))
attr FHT_UG_Bad_Control_OFF group HEIZUNG_CONTROL
attr FHT_UG_Bad_Control_OFF room 1_HEIZUNG
define FHT_UG_Kueche_Control_OFF Heating_Control FHT_UG_Kueche 00:02|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_UG_Kueche_Abwesend"))
attr FHT_UG_Kueche_Control_OFF group HEIZUNG_CONTROL
attr FHT_UG_Kueche_Control_OFF room 1_HEIZUNG
define FHT_UG_KiZi_Control_OFF Heating_Control FHT_UG_KiZi 00:02|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_UG_KiZi_Abwesend"))
attr FHT_UG_KiZi_Control_OFF group HEIZUNG_CONTROL
attr FHT_UG_KiZi_Control_OFF room 1_HEIZUNG
define FHT_UG_SchlafZ_Control_OFF Heating_Control FHT_UG_SchlafZ 00:03|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_UG_SchlafZ_Abwesend"))
attr FHT_UG_SchlafZ_Control_OFF group HEIZUNG_CONTROL
attr FHT_UG_SchlafZ_Control_OFF room 1_HEIZUNG
define FHT_UG_WohnZ_Control_OFF Heating_Control FHT_UG_WohnZ 00:03|14 (Heizungsprofil(undef, undef, undef, undef, undef, "Ja", "Profil_UG_WohnZ_Abwesend"))
attr FHT_UG_WohnZ_Control_OFF group HEIZUNG_CONTROL
attr FHT_UG_WohnZ_Control_OFF room 1_HEIZUNG

define ProfileTriggerJZ notify JahresZeit:.* {Heating_Control_SetAllTemps()}
attr ProfileTriggerJZ group HEIZUNG_CONTROL_TRIGGER
attr ProfileTriggerJZ room hidden
define ProfileTriggerG notify Gaeste:.* {Heating_Control_SetAllTemps()}
attr ProfileTriggerG group HEIZUNG_CONTROL_TRIGGER
attr ProfileTriggerG room hidden
define ProfileTriggerHO notify HomeOffice:.* {Heating_Control_SetAllTemps()}
attr ProfileTriggerHO group HEIZUNG_CONTROL_TRIGGER
attr ProfileTriggerHO room hidden
define ProfileTriggerZH notify ZuHause:.* {Heating_Control_SetAllTemps()}
attr ProfileTriggerZH group HEIZUNG_CONTROL_TRIGGER
attr ProfileTriggerZH room hidden
define ProfileTriggerAW notify Abwesend:.* {Heating_Control_SetAllTemps()}
attr ProfileTriggerAW group HEIZUNG_CONTROL_TRIGGER
attr ProfileTriggerAW room hidden

define JahresZeit dummy
attr JahresZeit group HEIZUNGPARAMETER
attr JahresZeit icon icoTermHaus
attr JahresZeit room 1_HEIZUNG
attr JahresZeit webCmd Sommer:Uebergang:Winter
#attr JahresZeit sortby 04

define Gaeste dummy
attr Gaeste group HEIZUNGPARAMETER
attr Gaeste icon icoTermHaus
attr Gaeste room 1_HEIZUNG
attr Gaeste webCmd Ja:Nein
#attr Gaeste sortby 03

define HomeOffice dummy
attr HomeOffice group HEIZUNGPARAMETER
attr HomeOffice icon icoTermHaus
attr HomeOffice room 1_HEIZUNG
attr HomeOffice webCmd Ja:Nein
#attr HomeOffice sortby 02

define ZuHause dummy
attr ZuHause group HEIZUNGPARAMETER
attr ZuHause icon icoTermHaus
attr ZuHause room 1_HEIZUNG
attr ZuHause webCmd Ja:Nein
#attr ZuHause sortby B01

define Abwesend dummy
attr Abwesend group HEIZUNGPARAMETER
attr Abwesend icon icoTermHaus
attr Abwesend room 1_HEIZUNG
attr Abwesend webCmd Ja:Nein
#attr Abwesend sortby B05





Dietmar63

Ich Gegensatz zu dir bin ich der Meinung, dass es fast unmöglich ist fhem sinnvoll ohne Perlkenntnisse zu betreiben.
Jeder der es nutzt muss sich irgendwann damit auseinandersetzen - wenn ich nur an die vielen notify direkt in der fhem.cfg denke mit den Schrägstrichen an Ende der Zeilen. Wer Readings auswerten will muss ReadingsVal aufrufen ...

Meine Überlegung ging dahin, dass nahezu jeder die Variable $we kennen müsste - ich kann mich aber täuschen. Ich wollte deshalb die gleiche Logik für diese Neuerung verwenden. Es sollte alles gleich aussehen und auch gleich funktionieren.

Mit Fe habe ich noch ein Problem: HC und WD sind bald mehrsprachig(de,fr,en): dann müßte ich für jede Sprache den Wert Fe ergänzen. - Deshalbe $we - auch wenn es da Überschneidungen mit  Sa, So ... geben würde.

Ich aber offen für weitere Anregungen.



Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm