Hallo zusammen,
dank der guten Anleitung im Wiki (http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies) 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
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
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");
};
};
}
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 :)
Zitat von: Holzfhemuser am 01 September 2017, 23:06:02
aber ich kenne den setlist befehl nur mit semicolon:
da sagt das WIKI aber etwas anderes aus..
https://wiki.fhem.de/wiki/SetList (https://wiki.fhem.de/wiki/SetList)