Hallo Forum,
wie zerlege ich den sich wiederholende Termine aus dem Google-Kalender, das ich nicht jedes mal ein neues notify schreiben muss?
Beschreibe doch bitte mal etwas genauer, was Du machen möchtest.
Wiederkehrende Termine funktionieren doch eigentlich out-of-the-box in FHEM. Zumindest dann, wenn sie z.B. immer montags stattfinden sollen. Was ich noch nicht geschafft habe: einen Termin montags-freitags täglich festzulegen und das jede Woche wiederholen zu lassen. Aber ich habe mir damit beholfen, den Termin eben für jeden Wochentag einmal anzulegen und diesen Termin dann wöchtentlich wiederholen zu lassen.
Ich habe 5 verschiedene Räume in einem Haus zu heizen.
Diese Räume haben regelmäßige, wie auch unregelmäßige Termine.
Dies wollten ich mit einem google-Kalender verwalten.
Um nicht jedes mal ein neues notify zu schreiben, ist die Idee den Kalendereintrag im fhem zu zerlegen und immer wenn der Raum vorkommt diesen auch zu heizen.
Idee verstanden??
Ja, die Idee habe ich verstanden, etwas ähnliches habe ich bei mir auch umgesetzt - allerdings völlig flexibel, ohne im notify noch irgendwelche großartigen Auswertungen machen zu müssen.
Das mit den Heizkörpern habe ich bei mir mit Kalendern so gelöst:
- für jede Regeleinheit gibt es einen Kalendereintrag.
- im "Betreff" des Kalendereintrags steht die Regeleinheit, die gesteuert werden soll.
- im "Ort" steht die gewünschte Solltemperatur, die eingestellt werden soll.
- für die im Kalendereintrag festgelegte Zeit wird die Solltemperatur eingestellt, danach wird wieder auf die Nachttemperatur geregelt
Cool,
das kann ich ja von dir lernen ;-)
Kannst du mir mal deine fhem.cfg zukommen lassen?
Super,
Genau was ich gesucht habe. Kann man die fhem.conf auch bekommen?
Ja gerne, aber erst nächste Woche, wenn ich aus dem Urlaub zurück bin.
Gerne doch.
Dann weiterhin schönen Urlaub und gute Erholung
Na dann einen schönen Urlaub
Wie versprochen...
Dieser Ansatz funktioniert sowohl für FHT80b als auch für HM-TC-CC. Ich musste das so stricken, da ich irgendwann einen FHT80b durch HM ersetzt hatte.
Am Startzeitpunkt des Kalendereintrags wird die Solltemperatur auf den Wert eingestellt, der im Kalendereintrag unter "Ort" eingetragen ist. Es wird geprüft, ob sich der Regler im Modus "Auto" (für FHT80b) oder "Central" (für HM-TC-CC) befindet, damit im Modus "Manual" keine Einstellung erfolgt.
Kalender_FHT:modeStarted.* { my $reading="%EVTPART0"; my $uid= "%EVTPART1"; my $actor= fhem("get Kalender_FHT summary $uid"); if(defined $actor) { my $dtemp= fhem("get Kalender_FHT location $uid"); my $fhtmode= ReadingsVal("$actor", "mode","?"); my $hmmode= ReadingsVal("$actor","controlMode", "?") ; if($fhtmode eq "auto" || $hmmode eq "central") { fhem("set $actor desired-temp $dtemp") } }}
Am Endzeitpunkt des Kalendereintrags wird die Solltemperatur auf 14 Grad eingestellt. Man könnte diesen Wert natürlich auch noch
Kalender_FHT:modeEnded.* { my $reading="%EVTPART0"; my $uid= "%EVTPART1"; my $actor= fhem("get Kalender_FHT summary $uid"); if(defined $actor) { my $actor= fhem("get Kalender_FHT summary $uid"); my $fhtmode= ReadingsVal("$actor", "mode","?"); my $hmmode= ReadingsVal("$actor","controlMode", "?") ; if($fhtmode eq "auto" || $hmmode eq "central") { fhem("set $actor desired-temp 14") } } }
Ich hoffe, der Gedankengang hinter diesen notifies ist einigermassen erkennbar und hilft Euch weiter. Ansonsten einfach nachfragen.
Erst mal vielen Dank.
Nur für mich als newbe wäre ein etwas erweiterter Auszug aus dem fhem.cfg besser.
Kannst du so etwas noch einstellen?
Hallo,
Auch ich bin absoluter Neuling in FHEM. Wie muss der Rest der fhem.conf aussehen?
Danke schon einmal im voraus
Thomas
??? *grübel* was fehlt Euch denn noch?
In meiner Konfigurationsdatei steht zu diesem Thema nicht mehr als die beiden oben angegebenen NOTIFY Definitionen für Beginn und Ende der Heizzeit.
Es gibt noch einen Google-Kalender namens "Kalender_FHT", der in FHEM wie folgt völlig standarmäßig definiert ist und dadurch alle 20 Minuten (1200 Sekunden) gelesen wird:
ical url http://www.google.com/calendar/ical/<adressdaten>/basic.ics 1200
Ein Eintrag im Google-Kalender sieht dann so aus:
(http://up.picr.de/15040858ev.png)
Damit wird jeden Dienstag der Heizkörperregler "wz_FHT" von 13-14 Uhr auf 18°C eingestellt.
In dem Kalender können natürlich (nahezu) beliebig viele Einträge für unterschiedliche Regler stehen.
Im Betreff des Kalendereintrags steht der Name des Reglers
Im Ort des Kalendereintrags steht die gewünschte Soll-Temperatur für den angegebenen Zeitraum
Bei mir sieht das dann so aus: von 1600 bis 2229 wird das Wohnzimmer auf 22° geregelt, von 2230 bis 1559 des Folgetags wird die Temperatur auf 16° abgesenkt, da ich tagsüber arbeite und keine Heizung brauche. Diese Einträge gibt es für Montag - Freitag, also fünfmal für den gleichen Regler, und alle Einträge haben eine Wiederholung "wöchentlich".
Analog gibt es solche Einträge fürs Wochenende, dann natürlich mit anderen Heizzeiten.
Das ist alles.
Bei mir funktioniert es irgendwie nicht.
Hier mein cfg:
define cal Calendar ical url https://www.google.com/ca...
attr cal room Sorted
define cal_start notify cal:modeStarted.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get cal summary $uid");; if(defined $actor) { my $dtemp= fhem("get cal location $uid");; my $fhtmode= ReadingsVal("$actor", "mode","?");; if($fhtmode eq "auto") { fhem("set $actor desired-temp $dtemp") } }}
define cal_end notify cal:modeEnded.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get cal summary $uid");; if(defined $actor) { my $actor= fhem("get cal summary $uid");; my $fhtmode= ReadingsVal("$actor", "mode","?");; if($fhtmode eq "auto") { fhem("set $actor desired-temp 16") } } }
Es wird einfach keine Temperatur gesetzt...
Kann jemand helfen?
Hat sich schon erledigt...
"mode" von FHT war nicht bekannt, ging jetzt mit einem anderem FHT
Hallo,
ich greif das alte Thema noch mal auf.
Was muss ich denn im Kalender eintragen um ein Heizungsregler Model
HM-CC-RT-DN zu regeln ? Welcher Kanal ? Clima oder Climate ??
Und kann ich irgendwie debuggen, ob das Ereignis zum Termin ausgelöst wird ??
Mfg
verwegener