Google Kalender und MAX!

Begonnen von LinuxDoc, 15 Oktober 2015, 13:14:47

Vorheriges Thema - Nächstes Thema

LinuxDoc

Da wir hier im Haus zwei Schichtarbeiter sind, möchte ich ganz gerne am bestimmten tagen das Automatik Programm für eine bestimmte Zeit unterbrechen, manuell eine Temperatur angeben und dann ab einem bestimmten Zeit wieder zum Automatikprogramm zurückkehren. (Urlaubsmodus)

Ich stelle mir vor, das ich einen Kalendereintrag anlege z.b. Bad 20.0 17:30-17:45
Dann sollte im 17:30 für das Bad Thermostat
set MAX_057fb6 desiredTemperature 20 until 15.10.15 17:45
eingestellt werden.

Kann mit dabei bitte jemand behilflich sein?





Rince

Liegt dein Problem darin, Max im manuellen Modus etwas heizen zu lassen, oder willst du die Infos aus dem Google Kalender auswerten?

Für Kalender-Auswerten würde ich ja CALVIEW empfehlen. Das setzt auf dem Calendar Device auf und stellt Termine als Readings dar.


Dessen Readings kannst du bequem (=generisch) abfragen und so Dinge wie Wecker, Heizung etc. zu steuern...

Zitat
t_001_bdate 15.10.2015
t_001_btime 08:15:00

So in etwa.
Damit bekommst du die Startzeit. Die kannst du direkt nutzen, oder mit fhem weiter manipulieren.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

LinuxDoc

#2
naja ich habe irgendwie keine Idee/Ahnung, wie ich das bewerkstelligen kann.
Zur Zeit habe ich das recht kompliziert gelöst:
define Heizungskalender Calendar ical url https://www.google.com/calendar/ical/xxxxxxx
define Kalender_Heizung_Bad structure room MAX_0daeeb


define Heizung_Temperatur_Bad notify Heizungskalender:modeStarted.*googlecom.* {\
my $uid= "%EVTPART1";;\
my $Subject = fhem("get Heizungskalender summary $uid");;\
my $Temperatur = fhem("get Heizungskalender location $uid");;\
if ($Subject =~ m"Bad") {\
fhem("set Kalender_Heizung_Bad desiredTemperature $Temperatur")\
}\
}

define Heizung_Temperatur_Bad_END notify Heizungskalender:modeEnded.*googlecom.* {\
my $uid= "%EVTPART1";;\
my $Subject = fhem("get Heizungskalender summary $uid");;\
if ($Subject =~ m"Bad") {\
fhem("set Kalender_Heizung_Bad desiredTemperature auto")\
}\
}


Das ganze ist irgendwie nicht immer funktionstüchtig und ich denke, das sollte sich irgendwie viel einfacher lösen lassen.
Am liebsten wäre es mir, wenn ich irgendwie das
set MAX_057fb6 desiredTemperature 20 until 15.10.15 17:45
mit dem google Kalender setzen könnte.

Nur ich habe irgendwie keine Ahnung, wie man sowas umsetzen kann. Das mit dem CALVIEW verstehe ich irgendwie nicht, das das nur Kalender anzeigt und ich irgendwie keine information drüber finden konnte, wie ich den google Kahlender dort einbinde.

Rince

Zitatdefine Heizungskalender Calendar ical url https://www.google.com/calendar/ical/xxxxxxx
Hast du ja schon gemacht.

Jetzt definierst du dir ein CALVIEW Device; dieses setzt NICHT auf deinen Googlekalender direkt auf, sondern auf dein Calendar Device, in deinem Beispiel also auf "Heizungskalender"

define Heizungskalender_Auswertung CALVIEW Heizungskalender 1
So in etwa...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)