Hallo zusammen,
Ich würde gerne über meinen Google Kalender fhem steuern. Zum Beispiel würde ich gerne ein Device im Termintitel zum Start anschalten.
Dabei habe ich an folgendem Post orientiertv
https://forum.fhem.de/index.php?topic=87895.0
Da ich aber lieber mit DOIF arbeite und keine eigene Funktion schreiben möchte, habe ich das mal so probierte:
([fhemGoogleCalendar:"^start:"]) (set (get fhemGoogleCalendar summary [fhemGoogleCalendar:modeChanged]) off)
Geht aber natürlich nicht. Die Frage ist also eigentlich, wie bekomme ich den Termintitel in den Set Befehl integriert? Geht das irgendwie?
Zitat von: timtom am 16 November 2020, 22:13:30
Hallo zusammen,
Ich würde gerne über meinen Google Kalender fhem steuern. Zum Beispiel würde ich gerne ein Device im Termintitel zum Start anschalten.
Dabei habe ich an folgendem Post orientiertv
https://forum.fhem.de/index.php?topic=87895.0
Da ich aber lieber mit DOIF arbeite und keine eigene Funktion schreiben möchte, habe ich das mal so probierte:
([fhemGoogleCalendar:"^start:"]) (set (get fhemGoogleCalendar summary [fhemGoogleCalendar:modeChanged]) off)
Geht aber natürlich nicht. Die Frage ist also eigentlich, wie bekomme ich den Termintitel in den Set Befehl integriert? Geht das irgendwie?
([fhemGoogleCalendar:"^start:"]) (set {(fhem("get fhemGoogleCalendar summary [fhemGoogleCalendar:modeChanged]"))} off)
Super. Vielen Dank. Und das habe ich gestern in 2 Std nicht hinbekommen :(
Funktioniert, allerdings bekomme ich im DOIF unter block_01
condition c01: syntax error, {"
Ich möchte mich noch einmal in aller Form bei Damian bedanken. Dennoch habe ich eine Folgefrage. Anscheinend wird ja summary bald nicht mehr unterstützt. Jetzt schlage ich mir schon wieder 2,5 Std mit Forum lesen und ausprobieren um die Ohren und bekomme es mit events nicht :( Vielleicht wäre jemand so nett und könnte mir noch einmal auf die Sprünge helfen.
Liebe Grüße im Voraus.
Zitat von: timtom am 29 November 2020, 20:21:37
Ich möchte mich noch einmal in aller Form bei Damian bedanken. Dennoch habe ich eine Folgefrage. Anscheinend wird ja summary bald nicht mehr unterstützt. Jetzt schlage ich mir schon wieder 2,5 Std mit Forum lesen und ausprobieren um die Ohren und bekomme es mit events nicht :( Vielleicht wäre jemand so nett und könnte mir noch einmal auf die Sprünge helfen.
Liebe Grüße im Voraus.
wenn summary nicht mehr geht, was geht dann. Wenn man das nicht weiß, dann kann man keine Hilfestellung leisten.
Zitat von: Damian am 30 November 2020, 18:59:24
wenn summary nicht mehr geht, was geht dann. Wenn man das nicht weiß, dann kann man keine Hilfestellung leisten.
Dann habe ich mich vielleicht etwas falsch ausgedrückt. Ich habe natürlich selber recherchiert und ausprobiert. Leider scheitert es wohl bei mir an der perl Logik und wie ich die uid in den Ausdruck rein bekommen. Das ist mein letzter Stand, der jedoch immernochnicht funktioniert.
([fhemGoogleCalendar:"^start:"]) (set {(fhem("get fhemGoogleCalendar events format:custom='$S' filter:uid=='[fhemGoogleCalendar:modeChanged]'"))} )
Ich werde wahnsinnig. Mittlerweile bin ich davon überzeugt, dass der Befehl richtig sein müsste und der Teufel wohl irgendwo an meinen perl Kenntnissen liegt.
Letzter Versuch geht leider auch nicht :(
([fhemGoogleCalendar:"^start:"]) (set {(fhem("get fhemGoogleCalendar events format:custom=\"$S\" filter:uid==\"[fhemGoogleCalendar:modeChanged]\""))} )
wie sieht der konkrete get-Befehl in der Kommandozeile aus?
Hi, der Get-Befehl ist
get fhemGoogleCalendar events format:custom="$S" filter:uid=="xxxgooglecom"
Wobei die uid xxxgooglecom durch [fhemGoogleCalendar:modeChanged] ersetzt werden soll.
Zitat von: timtom am 01 Dezember 2020, 22:38:09
Hi, der Get-Befehl ist
get fhemGoogleCalendar events format:custom="$S" filter:uid=="xxxgooglecom"
Wobei die uid xxxgooglecom durch [fhemGoogleCalendar:modeChanged] ersetzt werden soll.
OK. Und was liefert der Get-Befehl aus Ausgabe?
Achso. Der Get-Befehl gibt den Titel des Kalendereintrags wieder. Das nutze ich dann, um über den Kalender dann fhem zu steuern. Also zB um die Heizung zu einem bestimmten Zeitpunkt anzuschalten.
Dann steht im DOIF, wenn es funktioniert "set Titel" und das kann nicht sinnvoll sein.
Hi,
Edit: er hatte in seinem letzten Versuch das off vergessen.
den FHEM Interpreter sollte man in der Kommandozeile nicht überlasten, und set magic geht bei get Befehlen nicht (vielleicht innerhalb DOIF)
Diese Code Zeile sollte in der FHEM Kommandozeile gehen, wenn ja wird sie auch im DOIF funktionieren.
Sauber in Perl mit concatenation. ;)
{fhem("set ".fhem('get fhemGoogleCalendar events format:custom="$S" filter:uid=="'.ReadingsVal('fhemGoogleCalendar','modeChanged','').'" limit:count=1',1)." on")}
Du kannst das erste fhem durch return ersetzen und in der FHEM Kommandozeile schauen ob der Befehl richtig zusammengebaut wird.
{return("set ".fhem('get fhemGoogleCalendar events format:custom="$S" filter:uid=="'.ReadingsVal('fhemGoogleCalendar','modeChanged','').'" limit:count=1')." on")}
Ich habe den Befehl analog dem verlinkten Beispiel gebaut, da stand ja alles richtig drin ;)
Gruß Otto
Hi,
Danke euch Beiden für die Hilfe. Das war's ;)
([fhemGoogleCalendar:"^start:"]) {fhem("set ".fhem('get fhemGoogleCalendar events format:custom="$S" filter:uid=="'.ReadingsVal('fhemGoogleCalendar','modeChanged','').'" limit:count=1',1)." on")}
Wobei ich jetzt noch überlege das set und on zu entfernen, um direkt über die Kalendereinträge zu steuern. Dann müsste der Kalendereintrag halt "set Heizung an" drin stehen. Aber das bekomme ich dann schon selber hin ;)
Viele Grüße
der Tim