Ich würde gerne mit einem Google Kalender meine Rollladen steuern.
Zum Teste habe ich mich an folgendem Wiki orientiert.
http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies (http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies)
Der Kalender scheint auch aktualisiert zu werden. Jedoch schaltet der Dummie leider nicht ;( ich habe zu Testzwecken eigentlich erstmal alles wie beschrieben übernommen, nur habe ich meine Bezeichnungen angepasst so wie die Abfrage nach Test.
Leider verstehe ich das notify auch nicht wirklich. Wo in meinem Kalender wird überhaupt nach der Abfrage (in meinem Fall Test) gesucht?
Warum:
......:start:.*googlecom.* {\Kalenderstart("$EVENT");;\}
der hintere Teil ist mir klar ist der Verweis zur Funktion aber was bedeutet der vordere Teil mit start?
Es wäre super wenn ihr mir helfen könnt.
Danke schon mal
Der Kalender erzeugt Events, die kannst Du Dir im WEB-Frontend über Event_monitor ansehen, siehe http://fhem.de/commandref_DE.html#Calendar
Ein notify reagiert auf Events, auf welche, kannst Du durch Angabe eines Regulären Ausdrucks bestimmen, siehe http://fhem.de/commandref_DE.html#notify und https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke
ZitatLeider verstehe ich das notify auch nicht wirklich.
Durch Lesen der angegebenen Stellen kannst Du Dir das Verständnis erarbeiten, es ist grundlegend in FHEM.
Zitat von: Ellert am 06 Mai 2016, 15:02:35
Lesen der angegebenen Stellen kannst Du Dir das Verständnis erarbeiten, es ist grundlegend in FHEM.
Danke für den Link :)
ich komme jetzt doch noch mal auf das Thema zurück und hoffe es kann mir jemand weiterhelfen.
Habe mich jetzt intensiv mit den Links beschäftigt, was mir auch viel geholfen hat. Leider scheint es jedoch noch immer einen Fehler zu geben, den ich übersehe.
Folgend noch mal das Notify aus dem Beispiel (http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies)
define Kalender_Christian_Start notify Kalender_Christian:start:.*googlecom.* {\
Kalenderstart("$EVENT");;\}
Aufbau des Notify:
define <name> notify <Suchmuster> <Anweisung>
<Suchmuster> : Kalender_Christian:start:.*googlecom.*
<Anweisung> : {\Kalenderstart("$EVENT");;\} (Perl Code)
Wenn ich mir jedoch unter meinem Kalender folgendes aufrufe:
get <Kalender_Name> start all
werden nur Uhrzeiten ausgelesen jedoch nicht die UID aus den Readings in denen auch googlecom vorkommt.
get <Kalender_Name> start uid=.*googlecom.*
Auch hierbei wird nur das Startdatum und die Uhrzeit angezeigt.
Heißt das nicht, dass hier bei schon keine Übergabe mehr an das Programm unter 99_MyUtils.pm erfolgt?
Hallo,
ich hatte das Problem auch, leider wurde das wiki "noch" nicht aktualiesiert!
Das Problem liegt im Notify, bei mir klappte es so:
define Kalender_Christian_Start notify Kalender_Christian:modeStart:.*googlecom.* {
Kalenderende("$EVENT");
}
LG
Ich frage wie folgt ab und das Notify reagiert:
define Kalender_Rob_FHEM_Start notify Kalender_Rob_FHEM:modeStart.* {Kalenderstart("$EVENT")}
define Kalender_Rob_FHEM_Ende notify Kalender_Rob_FHEM:modeEnd.* {Kalenderende("$EVENT")}
Meins basiert auch auf dem Wiki eintrag
Das einzigste was ich mir momentan nicht erklären kann ist, dass wenn der Dummie On ist und ich ein Update voM Kalender machen, der Dummie Off geht.
Der Eintrag bei Start ist aber immer noch vorhanden.
Kann mir das Verhalten nicht wirklich erklären.
Gruß Robert
Bei mir geht es auch nicht.
define Kalender_Familie_Start notify Kalender_Familie:modeStart.* {Kalenderstart("$EVENT")}
define Kalender_Familie_Ende notify Kalender_Familie:modeEnd.* {Kalenderende("$EVENT")}
Der ENDE Trigger löst aus. Der START Trigger nicht.
googlecom.*
macht dabei keinen Unterschied.
Eigentlich möchte ich nur an Urlaubstage das Licht anders steuern. Muss mir wohl einen anderen Weg überlegen.
@hosimpson
Also der Start Trigger löst bei mir definitiv aus.
Hast du mal in Log geschaut?
Poste mal bitte deine Kalender definition, die URL bitte unkenntlich machen.
Gruß Robert
Demnach hätte ich auch erwartet, dass etwas kommt:
Internals:
DEF ical url https://calendar.google.com/calendar/ical/xxxxgmail.com/yyyy/basic.ics 28800
NAME Kalender_Familie
NOTIFYDEV global
NR 142
NTFY_ORDER 50-Kalender_Familie
STATE triggered
TYPE Calendar
Readings:
2016-10-07 17:05:09 lastUpdate 2016-10-07 17:05:07
2016-10-07 08:22:25 modeAlarm
2016-10-07 13:01:11 modeAlarmOrStart aaagooglecom
2016-10-07 08:22:25 modeAlarmed
2016-10-07 08:22:25 modeChanged
2016-10-07 17:05:09 modeEnd bbbgooglecom
2016-10-07 08:22:25 modeEnded
2016-10-07 13:01:11 modeStart cccgooglecom
2016-10-07 08:22:25 modeStarted
2016-10-07 17:05:09 modeUpcoming ddddgooglecom
2016-10-07 17:05:09 nextUpdate 2016-10-08 01:05:07
2016-10-07 17:05:11 nextWakeup 2016-10-08 00:00:00
2016-10-07 17:05:09 state triggered
Attributes:
room Kalender
und das Notify dazu:
Internals:
DEF Kalender_Familie:modeStart.* {Kalenderstart("$EVENT")}
NAME Kalender_Familie_Start
NOTIFYDEV Kalender_Familie
NR 148
NTFY_ORDER 50-Kalender_Familie_Start
REGEXP Kalender_Familie:modeStart.*
STATE active
TYPE notify
Readings:
2016-10-07 16:24:28 state active
Attributes:
room Kalender
Hallo
bei mir sind 2 notifys definiert:
Google_Kalender:start:.* {my $reading="$EVTPART0"; my $uid= "$EVTPART1"; my $actor= fhem("get Google_Kalender summary $uid 1"); if(defined $actor) { fhem("set $actor on") }}
Google_Kalender:end:.* {my $reading="$EVTPART0"; my $uid= "$EVTPART1"; my $actor= fhem("get Google_Kalender summary $uid 1"); if(defined $actor) { fhem("set $actor off") }}
Habe einen Googlekalender "fhem" eingerichtet, wo die Termine eingetragen sind.
Gruß
Jürgen K.
Zitat von: no_Legend am 04 Oktober 2016, 13:37:14
....
Das einzigste was ich mir momentan nicht erklären kann ist, dass wenn der Dummie On ist und ich ein Update voM Kalender machen, der Dummie Off geht.
Der Eintrag bei Start ist aber immer noch vorhanden.
...
Soweit bin ich jetzt auch. Beim ersten einlesen des Termins "Urlaub blabla" wird der Dummie richtig geschaltet.
Am nächsten Tag (Ganztagestermin über 2 Tage) ist er auf OFF.
Nach dem Anlegen eines beliebigen anderen Termins (1/2 h "Test") und UPDATE geht der Dummie wieder auf ON ?!
Hat jemand von euch die Kalender -> Dummy Steuerung zuverlässig laufen - auch mit Langzeitterminen, wie 1 Woche Urlaub?
Alternativ muss ich mal mit dem direkten Notify von @juergen012 experimentieren und meinen Termin "Urlaub_dummy" nennen.
VG
Stefan
Hallo,
Genau, in meinem Googlekalender "fhem" habe ich Termine mit der Bezeichnung frueh eingetragen. Wenn nun der Termin fällig ist, wird der Dummy frueh geschaltet. Nach Ablauf der eingestellten Zeit im Kalender schaltet sich er Dummy wieder aus. Klappt sehr gut..
Gruß
Jürgen K.
Zitat von: hosimpson am 10 Oktober 2016, 13:20:55
Soweit bin ich jetzt auch. Beim ersten einlesen des Termins "Urlaub blabla" wird der Dummie richtig geschaltet.
Am nächsten Tag (Ganztagestermin über 2 Tage) ist er auf OFF.
Das gleiche hab ich auch.
Es scheint als wenn der Kalender geupdated wird, also nach der eingestellten Zeit, dass dann das Verhalten auftaucht.
Ich hab das ganze ja schon länger in Betrieb, mir ist aber nicht aufgefallen, dass je so ein problem gehabt hätte.
Zitat von: juergen012 am 10 Oktober 2016, 13:34:46
Genau, in meinem Googlekalender "fhem" habe ich Termine mit der Bezeichnung frueh eingetragen. Wenn nun der Termin fällig ist, wird der Dummy frueh geschaltet. Nach Ablauf der eingestellten Zeit im Kalender schaltet sich er Dummy wieder aus. Klappt sehr gut..
Danke für den Hinweis. Werde heute Abend mit dem Test beginnen und dann hier berichten.
Frage: Funktioniert das bei Dir auch mit Serienevents bzw. mehrtägigen Einträgen? "Urlaub von Freitag bis Dienstag"...
Serientermine klappen! Termine über mehrere Tage habe ich noch nicht getestet, sollte aber klappen..
Gruß
Jürgen K.
Ich hab jetzt noch mal eben kurz alles nach der Anleitung im Wiki gemacht.
http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies
Nun scheint es auf den ersten blick zu gehen.
Ich muss noch mal eine Kalender Auto Update abwarten.
Ich hab noch einen Fehler in meiner my Utils Datei gefunden und die notifies an das im Wiki angepasst.
So, nach ein paar Tests habe ich folgenden Stand:
Bei der direkten Lösung per Notify (hier im Fred von @juergen012 vorgestellt) scheint alles zu schalten, wie es soll. Auch bei mehrtägigen Terminen.
Bei der Lösung aus http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies (http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies) wird der Dummy auch richtig ausgelöst. Allerdings kann ich folgendes Phänomen beobachten:
Mehrtägiger Eintrag im Kalender "Urlaub" -> Dummy geht auf ON -> OK
Wenn aber an einem der Tage ein anderer Termin 'dazwischen' kommt - z.Bsp. 1 h Handwerker - schaltet der Urlaub Dummy auf OFF -> nichtOK
Warum das passiert kann ich mir noch nicht erklären. Evtl. kann einer von den erfolgreichen Anwendern dieses Szenario nachstellen und seine Beobachtungen hier teilen.
VG
Stefan
Ich kram den Beitrag noch mal raus.
Hat sich hier schon was neues ergeben?
Gruß Robert