FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: LinuxDoc am 15 Oktober 2015, 13:14:47

Titel: Google Kalender und MAX!
Beitrag von: LinuxDoc am 15 Oktober 2015, 13:14:47
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?




Titel: Antw:Google Kalender und MAX!
Beitrag von: Rince am 15 Oktober 2015, 20:21:34
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.
Titel: Antw:Google Kalender und MAX!
Beitrag von: LinuxDoc am 22 Oktober 2015, 20:24:21
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.
Titel: Antw:Google Kalender und MAX!
Beitrag von: Rince am 23 Oktober 2015, 11:51:52
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...