Originally posted by: <email address deleted>
Erstmal vielen Dank für das tolle Modul!
Eigentlich funktioniert mein erster Test auf Anhieb. Ich habe folgende
Zeilen erstellt:
## Google-Kalender
##########################
define FHEMKalender Calendar ical url
https://www.google.com/calendar/ical/4n...s8%40group.calendar.google.com/private-4e...81ad/basic.ics
3600
# Kalender beim restart sofort aktualisieren
get FHEMKalender full all
# Einschalten
define n_FGK_SwitchActorOn notify FHEMKalender:modeStarted.* { my $uid=
"%EVTPART1";; my $actor= fhem("get FHEMKalender summary $uid");; fhem("set
$actor on") }
# Ausschalten
define n_FGK_SwitchActorOff notify FHEMKalender:modeEnded.* { my $uid=
"%EVTPART1";; my $actor= fhem("get FHEMKalender summary $uid");; fhem("set
$actor off") }
Das von mir eingetragene Licht im Flur wird prima ein- und ausgeschaltet.
Warum aber bekomme ich folgende Meldung im log:
2012.12.08 23:25:00 3: get FHEMKalender summary modeEnded: EVTPART1 : argument is missing
2012.12.08 23:25:00 3: set argument is missing off : Please define argument first
2012.12.08 23:25:00 3: n_FGK_SwitchActorOff return value: Please define argument first
2012.12.08 23:25:00 3: get FHEMKalender summary vqhaigju1srgqhjdh0vdtg8eqkgooglecom : Flur_Licht
2012.12.08 23:25:00 2: FS20 set Flur_Licht on
Danke
LaLeLu
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Hallo,
Am 08.12.2012 23:39, schrieb LaLeLu:
>
> # Kalender beim restart sofort aktualisieren
> get FHEMKalender full all
get ... ist ein Befehl zur Anzeige der Ereignisse. Du möchtest
set FHEMKalender update
eingeben. Das machst Du besser als Reaktion auf global:INITIALIZED oder
FHEMKalender:INITIALIZED, siehe bitte
http://www.fhemwiki.de/wiki/Best_Practices
>
> Warum aber bekomme ich folgende Meldung im log:
>
> 2012.12.08 23:25:00 3: get FHEMKalender summary modeEnded: EVTPART1 : argument is missing
> 2012.12.08 23:25:00 3: set argument is missing off : Please define argument first
> 2012.12.08 23:25:00 3: n_FGK_SwitchActorOff return value: Please define argument first
> 2012.12.08 23:25:00 3: get FHEMKalender summary vqhaigju1srgqhjdh0vdtg8eqkgooglecom : Flur_Licht
> 2012.12.08 23:25:00 2: FS20 set Flur_Licht on
>
Es liegt an EVTPART, welches nicht gesetzt ist, wenn kein Calendar Event
in dem ausgewerteten Modus ist. Vor kurzem gab es hier schonmal eine
Diskussion dazu. Wenn Du nach "EVTPART" und "Calendar" googlest,
solltest Du die wiederfinden incl. der Lösung. Würde mich über einen
Patch zur Doku freuen.
Viele Grüße
Boris
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Hallo Boris,
danke für die Hilfe. Ich habe es gefunden und es funktioniert.
Da ich mich leider nicht mit dem Erstellen von Patches auskenne, sende ich
Dir hier die entsprechenden Zeilen für das Modul:
Im Modul 57_calendar sind diese ursprünglichen Zeilen
1145
1146 define SwitchActorOn notify MyCalendar:modeStarted.* { my $uid=
"%EVTPART1";; my $actor= fhem("get MyCalendar summary $uid");; fhem("set
$actor on") }
1147 define SwitchActorOff notify MyCalendar:modeEnded.* { my $uid=
"%EVTPART1";; my $actor= fhem("get MyCalendar summary $uid");; fhem("set
$actor off") }
1148
auszutauschen gegen:
define SwitchActorOn notify MyCalendar:modeStarted.* { \
my $reading="%EVTPART0";; \
my $uid= "%EVTPART1";; \
my $actor= fhem("get MyCalendar summary $uid");; \
if(defined $actor) { \
fhem("set $actor on") \
} \
}
define SwitchActorOff notify MyCalendar:modeEnded.* { \
my $reading="%EVTPART0";; \
my $uid= "%EVTPART1";; \
my $actor= fhem("get MyCalendar summary $uid");; \
if(defined $actor) { \
fhem("set $actor off") \
} \
}
oder falls Du lieber Einzeiler für die Doku nimmst:
define SwitchActorOn notify MyCalendar:modeStarted.* { my
$reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get
MyCalendar summary $uid");; if(defined $actor) { fhem("set $actor on") }
}
define SwitchActorOff notify MyCalendar:modeEnded.* { my
$reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get
MyCalendar summary $uid");; if(defined $actor) { fhem("set $actor off") } }
Für andere Suchende hier noch der Code zum Aktualisieren des Kalenders beim
Restart:
define n_CUL_Init notify global:INITIALIZED {\
{Log 3, (' * n_CUL_Init * NOTIFY: * Anfang *')}\
{fhem("set MyCalendar update") }\
{Log 3, (' * n_CUL_Init * NOTIFY: *Ende*')}\
}
Viele Grüße
LaLeLu
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Am 09.12.2012 15:44, schrieb LaLeLu:
> ...
Danke! Doku ist aktualisiert.
Viele Grüße
Boris
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com