Google Kalender schaltet nicht den Dummy

Begonnen von mfeske, 14 Februar 2015, 15:08:42

Vorheriges Thema - Nächstes Thema

mfeske

Hallo zusammen,

dank der guten Anleitung im Wiki dachte ich, ich könnte das auch als Newbi umsetzen. Mein Eindruck ist aber, das die Dummys Urlaub und Vetera nicht geschaltet werden. Die 99_MyUtils.pm hatte ich entsprechend angepasst. Ist es egal wo Urlaub / Besuch im Termin vorkommen ? Ich habe Sie zum Test in Betreff und Beschreibung gesetzt. Funktioniert es nur bei ganztägigen Terminen? Ich wollte es zum Beispiel so schalten, das Besuch aktiviert ist wenn der Besuch da ist also zum Beispiel von 13:00 - 14:00 Uhr.
99_MyUtils.pm
sub
Kalenderstart ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Kalender_Vetera summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Urlaub ja");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Vetera ja");
};
};
}
sub Kalenderende ($) {
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Kalender_Vetera summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Urlaub nein");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Vetera nein");
};
};
}

und hier noch die anderen Einträge:
define Urlaub dummy
attr Urlaub room Kalender
attr Urlaub setList state:JA,NEIN
attr Urlaub webCmd state
define Vetera dummy
attr Vetera room Kalender
attr Vetera setList state:JA,NEIN
attr Vetera webCmd state
define Kalender_Vetera Calendar ical url https://www.google.com/calendar/ical/xxxxxxxxxxxxx%40group.calendar.google.com/private-1234/basic.ics 60
attr Kalender_Vetera room Kalender
define Kalender_Vetera_Start notify Kalender_Vetera:modeStarted.*googlecom.* {\ Kalenderstart("$EVENT");;\ }
attr Kalender_Vetera_Start room Kalender
define Kalender_Vetera_Ende notify Kalender_Vetera:modeEnded.*googlecom.* {\ Kalenderende("$EVENT");;\ }
attr Kalender_Vetera_Ende room Kalender
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

mfeske

Hallo zusammen,

das notify scheint korrekt zu arbeiten. Es zeigt mir zu mindest start und ende eines Termins an.
Kalender_Vetera_Ende
2015-03-08 14:25:00
Kalender_Vetera_Start
2015-03-08 14:15:00


Das umschalten vom dummy gelingt mir aber leider noch nicht. Habt Ihr vielleicht noch ein wenig Hilfestellung für mich?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

mfeske

Ich bin da leider nicht weitergekommen, auch nach intensiver Suche :-(
Mein aktueller Code:
define Kalender_Vetera Calendar ical url https://www.google.com/calendar/ical/0gighq9acpioo8lt2j3eggmijg%40group.calendar.google.com/private-b529d60a2c8df967df1feaed8bf04044/basic.ics 3600
attr Kalender_Vetera room Kalender
define Kalender_Vetera_Start notify Kalender_Vetera:modeStarted.*googlecom.* {\ Kalenderstart("$EVENT");;\ }
attr Kalender_Vetera_Start room Kalender
define Kalender_Vetera_Ende notify Kalender_Vetera:modeEnded.*googlecom.* {\ Kalenderende("$EVENT");;\ }
attr Kalender_Vetera_Ende room Kalender
define Vetera dummy
attr Vetera room Kalender
attr Vetera setList state:JA,NEIN
attr Vetera webCmd state


die 99_myUtils.pm habe ich mit JA / NEIN angepasst
sub
Kalenderstart ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Kalender_Vetera summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Urlaub JA");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Vetera JA");
};
};
}
sub
Kalenderende ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Kalender_Vetera summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Urlaub NEIN");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Vetera NEIN");
};
};
}


Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Holzfhemuser

Hi ich bin nicht so erfahren, aber ich kenne den setlist befehl nur mit semicolon:

z.B.  attr Urlaub setList state:JA;NEIN

Viel Glück :)


kumue