FHEM Forum

FHEM => Automatisierung => Thema gestartet von: heha am 01 Dezember 2014, 08:19:44

Titel: Google Kalender Abfrage
Beitrag von: heha am 01 Dezember 2014, 08:19:44
Hallo,

ich bin noch ziemlich neu bei fhem, aber mit vielem Lesen und Probieren wird es langsam immer besser.
Aktuell habe ich ein Problem mit dem Calendar-Modul zu lösen.
Und zwar: Ich setze einen Dummy auf on, wenn im Reading ModeAlarmOrStart der String .*googlecom.* vorhanden ist. Ich habe jeden Tag einer Woche einen Ganztagstermin, den ich so rausbekomme.
In der zweiten Woche sind aber keine Termine und ich will den Dummy dann auf off setzen. Das Ganze ist dann eine Anwesenheitssteuerung über den Kalender.
Wie kann ich also im Calendar-Modul auf ein leeres Reading abfragen?
Also noch mal zusammen gefasst: Wenn an einem Tag ein Ganztagstermin: Dummy on, wenn kein Termin: Dummy off

Titel: Antw:Google Kalender Abfrage
Beitrag von: Kuzl am 01 Dezember 2014, 13:12:03
Hallo heha,

du frägst das reading ja mit einem IF ab denke ich.

dann machst dus im Prinzip so:

IF *.* google.com vorhanden, dann Dummy auf on
ELSE Dummy auf off

Also einfach mit einer else anweisung (in perl, ka ob fhem direkt das else kann)

Gruß
Kuzl
Titel: Antw:Google Kalender Abfrage
Beitrag von: heha am 02 Dezember 2014, 08:03:43
Ja das hatte ich auch schon versucht, hat aber nicht funktioniert. Vielleicht hatte ich aber auch Syntaxfehler drin. Eigentlich sollte Fhem IF ELSE verstehen. Aber ob es direkt im Calendars-Modul geht?
Ich habe es nun erst mal über die Abfrage eines zweiten Kalenders gelöst. Wenn mein Dummy off sein soll, muss ich halt da einen Termin eintragen.
Titel: Antw:Google Kalender Abfrage
Beitrag von: Kuzl am 03 Dezember 2014, 07:39:36
Du musst es auch nicht im Modul machen sondern in einem notify

Beispiel:

define mynotify notify { if( "google.com ist vorhanden" ) {
                                         fhem("set Dummy on");
                                     } else {
                                         fhem("set Dummy off");
                                     }
                                   }

und so bitte nicht in nie fhem.cfg eintragen sondern in der detailansicht sonst brauchst du noch zusätzliche "\" und ";"
Titel: Antw:Google Kalender Abfrage
Beitrag von: heha am 08 Dezember 2014, 12:12:51
Gut danke, dass muss ich dann mal versuchen.

Zwischenzeitlich habe ich das Beispiel aus dem Wiki probiert, den Dummy nach den Zeiten im Termin zu setzen. Dabei fällt mir auf: Lösche ich einen Termin im Google Kalender und frage ihn erneut ab, bleibt er in den Readings drin. Also nochmal kurz zum Verständnis:
Ich habe für heute einen Termin 8:00 bis 20:00 Uhr eingertragen->Kalenderabfrage auf modeAlarmOrStart->Eintrag vorhanden -> soweit richtig
Termin gelöscht->neue Abfrage mit set Kalender update -> selber Eintrag unter modeAlarmOrStart immer noch da

Auch eine Stunde Wartezeit oder Neustarten von fhem bringt den Eintrag nicht weg. Ist das normal?
Titel: Antw:Google Kalender Abfrage
Beitrag von: betateilchen am 08 Dezember 2014, 13:25:10
ja.

probier mal "set <kalenderName> reload" anstatt update, manchmal hilft das.
Titel: Antw:Google Kalender Abfrage
Beitrag von: heha am 08 Dezember 2014, 14:08:39
Das ist zum Testen aber doof! Reload löscht auch keine alten Einträge.
Liegt das an Google oder am Kalender-Modul?
Ich denke, da muss ich mir zum Spielen erst mal einen neuen Kalender mit kurzen Terminen basteln.
Titel: Antw:Google Kalender Abfrage
Beitrag von: heha am 08 Dezember 2014, 18:57:04
Also an Google liegt es wohl nicht, die betreffende UID ist nach dem Löschen in der .ics Datei nicht vorhanden, im reading unter modeAlarmOrStart aber schon. Man müsste also irgendwie die "Datenbank" des Kalendermoduls löschen/resetten können.