57_Calendar: Fehlermeldung im Log

Begonnen von Guest, 08 Dezember 2012, 23:39:52

Vorheriges Thema - Nächstes Thema

Guest

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

Dr. Boris Neubert

                                             

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

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

Dr. Boris Neubert

                                             

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!