Structure über Google Kalender ansprechen

Begonnen von fehmster, 07 Dezember 2017, 09:58:23

Vorheriges Thema - Nächstes Thema

fehmster

Hallo zusammen,
ich möchte meine Weihnachtsbeleuchtung an verschiedenen Stellen im Haus über eine structure gleichzeitig schalten.
Klappt soweit auch.
Jetzt möchte ich einen Schritt weiter gehen und diese structure über den Google Kalender ansprechen.
Trage ich eine einzelne Weihnachtsbeleuchtung in den Kalender ein, dann wird auch ein Eintrag im Logfile geschrieben und die Beleuchtung geschaltet.
Trage ich nun die structure in den Kalender ein, tut sich garnichts.
Kein Eintrag im Logfile, kein versuchter Schaltvorgang.
Geht es mit structure nicht? Falscher Ansatz?

Danke für eure Antworten.

betateilchen

zu wenige Informationen, um Dir wirklich helfen zu können.

Grundsätzlich kannst Du über einen Google Kalender alles schalten, was sich schalten läßt. Es hängt nur davon ab, wie Du das Schalten in FHEM umsetzt. Dem Kalender ist das völlig wurscht, was Du da einträgst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

fehmster

Hallo,
dann versuche ich mal ein paar Infos:

config:
define Zeitschaltkalender Calendar ical url https://www.google.com/calendar/ical/4lbespnpn9kqdxxxxxx%40group.calendar.google.com/private-a141b476035f693948xxxxxxxx/basic.ics
attr Zeitschaltkalender room Technik

define ein_ueber_kalender notify Zeitschaltkalender:modeStarted.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get Zeitschaltkalender summary $uid");; if(defined $actor) { fhem("set $actor on") } }

define aus_ueber_kalender notify Zeitschaltkalender:modeEnded.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get Zeitschaltkalender summary $uid");; if(defined $actor) { fhem("set $actor off") } }

define weihnachtsbeleuchtung structure room steck_01 steck_02 Funksteckdose

-----------------------------------------------
notify:
Zeitschaltkalender:modeStarted.* { my $reading="%EVTPART0"; my $uid= "%EVTPART1"; my $actor= fhem("get Zeitschaltkalender summary $uid"); if(defined $actor) { fhem("set $actor on") } }

----------------------------------------------
Logfile:
2017.12.07 05:55:00 3: get Zeitschaltkalender summary ar4pn40figklvkdcmaiodpsj5ogooglecom : steck_03
2017.12.07 05:55:00 2: IT set steck_03 on
2017.12.07 06:22:00 3: get Zeitschaltkalender summary ar4pn40figklvkdcmaiodpsj5ogooglecom : steck_03
2017.12.07 06:22:00 2: IT set steck_03 off

----------------------------------------------
Kalenderinfos siehe Anhang


Wie im Kalendereintrag zu sehen, soll die Weihnachtsbeleuchtung von 5:30 bis 8:00 schalten.
Die steck_03 von 5:55 bis 6:22.
Steck_03 funktioniert, wie auf dem Logfile zu sehen.
Beleuchtung nicht.

Fehlen da evtl. Satzzeichen in der Definition der structure? (fiel mir jetzt mal so ein)

Gruß, Olaf.

betateilchen

Die Prozentzeichen für den EVENT sind schon seit FHEM 5.7 (also seit über zwei Jahren) falsch.

Manchmal würde "Doku lesen" mehr helfen als stumpfes "copy & paste".
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

fehmster

@betateilchen:

guckst du in die Fußzeile:
"Fhem 5.5"
Ich denke, da sollten dann auch noch %-Zeichen stehen.

Reite halt noch auf der alten Version rum.
Bin ein Windows-Kind. Never change a running system.
Und bei mir läuft die Version gut.

Gruß, Olaf.

betateilchen

Zitat von: fhemster am 07 Dezember 2017, 11:53:58
guckst du in die Fußzeile:
"Fhem 5.5"

guckst Du in den angehängten Screenshot...

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

fehmster

Kommen wir auf mein Problem zurück.

Warum wird die Beleuchtung nicht eingeschaltet?

betateilchen

Es ist eigentlich völlig egal, was Dein Kalender tun soll.

Wenn der Kalendereintrag in FHEM korrekt erkannt ist, müsste zumindest das notify loslaufen. Und dazu sollte es irgendeinen Hinweis im Logfile geben.
Wobei ich mich nicht mehr erinnere, wie das mit verbose und Loglevel in dieser uralten FHEM-Version war.

Du solltest also zuerst rausfinden, warum das notify nicht getriggert wird. Hast Du den Kalender mal neu geladen, damit der Eintrag auch aus google gelesen wird? Ist das ein neuer Eintrag oder hast Du einen vorhandenen "editiert"?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: fhemster am 07 Dezember 2017, 13:16:28
Kommen wir auf mein Problem zurück.

Das ist Dein Problem:

Zitat von: fhemster am 07 Dezember 2017, 11:53:58
"Fhem 5.5"
...
Reite halt noch auf der alten Version rum.

Eigentlich sollte es dafür überhaupt keinen Support mehr geben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Hi,

und ein set weihnachtsbeleuchtung onfunktioniert sagst Du?
Wenn das alles in deinem Log ist, wird zum fraglichen Termin allerdings das notify gar nicht getriggert? Also der get Befehl fehlt.
Ich denke es liegt eher am Termin (kein Event) und nicht an der structure

Gruß Otto

P.S. Die Codeformatierung bekommt man mit der # Taste über dem  :-X Smily

Und betateilchen war schneller  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz