Neues Modul - Heating_Control, WeekdayTimer

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

Vorheriges Thema - Nächstes Thema

Dietmar63

tut mir leid, ich nutze keinen Calendar. Habe nur eine kleine Einweisung hier vom Erfinder des Moduls bekommen.

Wenn ich es verstanden habe, liest das Modul regelmäßig den Calender und erzeugt trigger, die mit notify abgefangen werden können.   
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

so müsstest du es machen:

define SwitchActorOn notify MyCalendar:modeStarted.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get MyCalendar summary $uid");; if(defined $actor) { fhem("set $actor on") } }

define SwitchActorOff notify MyCalendar:modeEnded.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get MyCalendar summary $uid");; if(defined $actor) { fhem("set $actor off") } }


Wenn du unsicher bist was so ankommt dann logge erst einmal:

define SwitchActorOff notify MyCalendar:mode(Started|Ended).* {\
   my $reading="%EVTPART0";;\
   my $uid= "%EVTPART1";;\
   my $actor= fhem("get MyCalendar summary $uid");;\ 
   Log, 3, "%EVTPART0\n%EVTPART1\n $actor\n$reading";;\
}

aus dem Kopf geschrieben, deshalb keine Garantie.
[/code]
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


Die Auflösung der FS20 FHT bezüglich der Information window(open|closed) ist nicht besonders gut. Es erfolgt nur alle 15 Minuten eine Aktualisierung. Im Schnitt ist die Information, die ich mit HC auswerten würde 7-8 Minuten alt.

Ich werde das Gefühl nicht los, dass es sich nicht lohnt. In der Regel dauert das Lüften vielleicht 15 Minuten. Wenn ich das Signal bekomme, dass das Fenster offen ist, ist die Hälfte der Lüftungszeit schon verstrichen:

2013-10-24_17:01:57 HeizungKueche window: closed
2013-10-24_17:17:17 HeizungKueche window: closed
2013-10-24_17:32:57 HeizungKueche window: closed
2013-10-24_17:49:52 HeizungKueche window: closed
2013-10-24_18:01:22 HeizungKueche window: closed
2013-10-24_18:16:58 HeizungKueche window: closed
2013-10-24_18:33:57 HeizungKueche window: closed
2013-10-24_18:49:17 HeizungKueche window: closed
2013-10-24_19:00:57 HeizungKueche window: closed
2013-10-24_19:16:57 HeizungKueche window: closed
2013-10-24_19:33:22 HeizungKueche window: closed
2013-10-24_19:48:57 HeizungKueche window: closed
2013-10-24_20:00:57 HeizungKueche window: closed
2013-10-24_20:17:27 HeizungKueche window: closed
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

volschin

Das ist ja gruselig. Mein HM TC spricht auf den Fensterkontakte in rund 1-2 Sek an. Das Update der Ventile dauert dann noch etwas.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

Dietmar63

mein FHT weiß vielleicht früher davon. aber die Zentrale wird nur alle 15 Minuten informiert.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

DerMexikaner

ZitatIch werde das Gefühl nicht los, dass es sich nicht lohnt. In der Regel dauert das Lüften vielleicht 15 Minuten. Wenn ich das Signal bekomme, dass das Fenster offen ist, ist die Hälfte der Lüftungszeit schon verstrichen:

Aus meiner Sicht würde sich die Fenster-Auf-Erkennung schon lohnen. Leider kann ich den Aufwand zur Umsetzung nicht abschätzen. Bei mir sind in einigen selten genutzen, aber beheizten Räumen die Fenster auch mal deutlich länger geöffnet. War einer der Gründe für mich, elektronische Thermostate und Fensterkontakte anzuschaffen.

Saludos,
Lutz
Saludos,
Lutz

Smartes Badezimmer, Heizungssteuerung, Bewässerungssteuerung, RPI3, Arduinos, NodeMCUs, Homematic

Dietmar63

Aus meiner Sicht könnte man folgendes versuchen.
Dem HC ein Attribut spendieren: Fensterkontakte. Es enthält die zu einem HC relevanten Sensoren.

HC fragt bei bei einem Schaltereignis die Stati der Geräte in der Liste ab. Ist ein Kontakt offen, prüft HC 60 Sekunden später nochmal.

Gesendet von meinem HTC Desire S mit Tapatalk

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

Zitat von: Dietmar63 am 26 Oktober 2013, 02:04:25
Aus meiner Sicht könnte man folgendes versuchen.
Dem HC ein Attribut spendieren: Fensterkontakte. Es enthält die zu einem HC relevanten Sensoren.

HC fragt bei bei einem Schaltereignis die Stati der Geräte in der Liste ab. Ist ein Kontakt offen, prüft HC 60 Sekunden später nochmal.

Da es verschiedene Typen von Fensterkontakten gibt, muss ich zwangläufig, je nach Typ verschiedene Werte abfragen.
Bei meinem FS20-FK, Typ:CUL_FHTTK liefert das Reading "Window" "closed"/"open" als Status. Falls ihr andere FK-Typen habt, müßtet ihr mir den Typ des FK, den Namen des Readings und den Zustandstext für "open"/"close" mitteilen.

Dann baue ich es in HC ein.
Der Aufwand scheint nicht hoch zu sein.

Die fhem.cfg muss dann etwa folgendes enthalten:

define hc Heating_control fht 15:40|23   21:40|18
attr windowSensor         terrassentuer FensterFK1 FensterFK2
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

Gute Nachricht.

Fenserkontakte können abgefragt werden. Das Feature wird mit dem nächsten Release eingecheckt:
Ich habe es nicht über notify gelöst, sondern habe vor dem eigentlichen Schaltvorgang folgenden Code eingefügt:

  # Fenserkontakte abfragen - wenn einer im Status closed, dann Schaltung um 60 Sekunden verzögern
  my $fensterKontakte = AttrVal($hash->{NAME}, "windowSensor", "nF");
  Log 5, "$mod -> $fensterKontakte found.";
  if ($fensterKontakte ne "nF" ) {
     my @kontakte = split(/ /, $fensterKontakte);
     foreach my $fk (@kontakte) {
        if(!$defs{$fk}) {
           Log 3, "$mod Window sensor <$fk> not found - check name.";
        } else {
           my $windowStatus = ReadingsVal($fk,"Window","nF");
           Log 5, "$mod window sensor state $fk: $windowStatus";
           if ($windowStatus ne "Closed") {
              Log 3, "$mod switch of $hash->{DEVICE} delayed - window sensor state $fk: $windowStatus";
              InternalTimer  (time()+60, "$hash->{TYPE}_Update", $hash, 0);
              return;
           }
        }
     }
  }


Die Definition in fhem.cfg sieht dann so aus:

define HeizungWohnen_we           Heating_control fht 15:40|23   21:40|18
attr   HeizungWohnen_we           windowSensor  Terrassentuer Fenster1 Fenster2


Dieser muss eventuell noch um eure Fensterkontakttypen ergänzt werden.
Das ganze funtioniert auch bei mir recht schnell. Die Information des FK steht nach ca. 60 Sekunden zur Verfügung.


2013.10.26 16:17:14 2: FHT set HeizungWohnen desired-temp 21.0
2013.10.26 16:17:14 3: [HeizungWohnen_we]  Window sensor <Fenster2> not found - check name.
2013.10.26 16:17:14 3: [HeizungWohnen_we]  Window sensor <Fenster1> not found - check name.
2013.10.26 16:16:14 3: [HeizungWohnen_we]  switch of HeizungWohnen delayed - window sensor state Terrassentuer: Open
2013.10.26 16:15:14 3: [HeizungWohnen_we]  switch of HeizungWohnen delayed - window sensor state Terrassentuer: Open
2013.10.26 16:14:14 3: [HeizungWohnen_we]  switch of HeizungWohnen delayed - window sensor state Terrassentuer: Open
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

DerMexikaner

ZitatFensterkontakte können abgefragt werden. Das Feature wird mit dem nächsten Release eingecheckt

Hallo Dietmar,
Vielen Dank für die Integration der Fernsterkontakte. Ich freu mich schon auf die Bereitstellung des Updates.

Saludos,

Lutz
Saludos,
Lutz

Smartes Badezimmer, Heizungssteuerung, Bewässerungssteuerung, RPI3, Arduinos, NodeMCUs, Homematic

AnonymousHolger

Danke für die Info mit dem Kalender und den Fensterkontakten.

Ich schau mir das mal an, wenn ich meinen KABEL-BW Hotline Horror hinter mich gebracht habe.

Seit Gestern habe ich ein neues Stück Modem/Router HArdware von KAbel-BW und nix geht mehr !!! (keine Port weiterschaltung, kein DynDNS, ....) .. das ist ein Scheiss ... never change a running system.

Frustgruss aus Stuttgart

Dietmar63

HC und WD eingecheckt.

neue Features:
- Die Zeit kann nun als Perlfunktion angegeben werden: 123|{meineZeit()}|23. Die gelieferte Zeit muss das Format HH:MM:[SS] haben
- Dem Parameter kann ein zusätzlicher Parameter mitgegeben werden. Der Doppelpunkt ist das Trennzeichen: 123|{sunrise_abs()}|on-for-timer:20
- Für jedes HC kann ein windowSensor Attribut gepflegt werden. Es nimmt die Namen von Fensterkontakten auf, die nicht offen sein dürfen. Zurzeit werden Fensterkontakte des Typs CUL_FHTTK unterstützt. Wenn ein Fenster als offen erkannt wird, wird eine anstehende Schaltung verzögert.

Um weitere Fensterkontakttypen zu unterstützen benötige ich Eure Hilfe:
Sendet mir den Typ des Fensterkontakts, der in der Detailansicht des Device von FHEM  angezeigt wird. Dazu benötige ich den Namen des Readings und den Inhalt des Readings, wenn der Kontakt offen ist.




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

volschin

HM-SEC-SC kann den State open oder closed haben.
HM-SEC-RHS kann den State open, tilted oder closed haben.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

Dietmar63

@ volschin, AnonymousHolger, DerMexikaner:

Ich habe Code für die Unterstützung der HM Fensterkontakte HM-SEC-SC und HM-SEC-RHS hinzugefügt.
Kann jemand diese Erweiterung testen. Ich habe kein HM!

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

DerMexikaner

Hallo Dietmar,

in einem Raum mit einem HM-CC-RT-DN und einem HM-SEC-SC funktioniert die Fenstererkennung und die programmierte gewünschte Temperatur wird erst nach dem Schließen des Fensters im RT eingestellt:

Zitat2013.10.27 23:45:57 3: [HCBuero] switch of HeizkoerperBuero_ClimRT_tr delayed - windowsensor 'FensterBuero' Reading 'state' is 'open'
2013.10.27 23:46:57 2: CUL_HM set HeizkoerperBuero_ClimRT_tr desired-temp 21.0

In einem weiteren Raum mit drei HM-CC-RT-DN (angesteuert von Heating_Control über eine Structure)

Zitatdefine HeizkoerperWohnbereichStructure structure room HeizkoerperWohnzimmerLinks_ClimRT_tr HeizkoerperWohnzimmerRechts_ClimRT_tr HeizkoerperEsszimmer_ClimRT_tr

wird die programmierte gewünschte Temperatur im RT eingestellt, obwohl einer von 3 Fensterkontakten (3 x HM-SEC-RHS für die Fenster, 1xHM-SEC-SC für die Terrassentür) noch geöffnet ist:
Zitat
2013-10-27_23:55:36 FensterWohnzimmerRechts tilted
2013-10-27_23:55:36 FensterWohnzimmerRechts contact: tilted (to HMLAN1)
2013-10-27_23:55:37 FensterWohnzimmerRechts tilted
2013-10-27_23:55:37 FensterWohnzimmerRechts contact: tilted (to HeizkoerperEsszimmer)
2013-10-27_23:55:38 FensterWohnzimmerRechts tilted
2013-10-27_23:55:38 FensterWohnzimmerRechts contact: tilted (to HeizkoerperWohnzimmerLinks)
2013-10-27_23:55:38 FensterWohnzimmerRechts tilted
2013-10-27_23:55:38 FensterWohnzimmerRechts contact: tilted (to HeizkoerperEsszimmer)

Zitat2013.10.28 00:00:01 2: CUL_HM set HeizkoerperEsszimmer_ClimRT_tr desired-temp 21.0
2013.10.28 00:00:01 2: CUL_HM set HeizkoerperWohnzimmerLinks_ClimRT_tr desired-temp 21.0
2013.10.28 00:00:01 2: CUL_HM set HeizkoerperWohnzimmerRechts_ClimRT_tr desired-temp 21.0

Saludos,

Lutz
Saludos,
Lutz

Smartes Badezimmer, Heizungssteuerung, Bewässerungssteuerung, RPI3, Arduinos, NodeMCUs, Homematic