Seite 1 von 2

Allgemeine Frage zum Kalender

Verfasst: 1. Mär 2020 11:51
von Steinspiel
Moin,

Ich bin auf der Suche nach einer Möglichkeit praktisch "auf Knopfdruck" einige meiner Rules ab zu schalten.
Hintergrund:
sollte plötzlich ein Feiertag, Urlaub oder gar Besuch vor der Tür stehen wäre es natürlich doof wenn dann morgens um 04:00 Uhr alle Lichter + Radio angeschaltet werden... ;-)

Nun meine Frage:
ist es möglich mittels Cal/DAV Regeln so ein zurichten das z. B. bei dem Kalendereintrag "Besuch" die Lampen im Gästezimmer an diesem Tag nicht geschaltet werden?

Oder denkt ihr der Aufwand ist für die paar Anwendungsfälle im Jahr zu groß?

schönen Sonntag noch...

Re: Allgemeine Frage zum Kalender

Verfasst: 1. Mär 2020 18:53
von udo1toni
Ja, das geht. Allerdings ist das caldav Binding manchmal etwas sperrig.

Was Feiertage betrifft, nutze ich bisher ein Script, welches alle offiziellen Feiertage berechnet und über ein Switch Item die Info Feiertag/kein feiertag zur Verfügung stellt.
Mit der aktuellen Version von openHAB geht das auch per ephemeris, welches jollyday verwendet. Man kann sogar eigene Tage (Geburtstage z.B.) in einer zusätzlichen Datei hinterlegen, wenn man denn möchte.

Ferien ziehe ich bisher manuell in eine Datei, die Kinder gehen mutmaßlich noch 6 Jahre in die Schule, die Ferientermine sind schon für die nächsten 4 Jahre erfasst, weiterer Nachwuchs ist nicht geplant, also werde ich da tendenziell eher keine großen Anstrengungen unternehmen, die Daten online über Schulferien,org zu beziehen.

Wenn wir Übernachtungsgäste haben, schlafen die im Wohnzimmmer, im Wohnzimmer öffnen die Läden mit Sonnenaufgang. Das deaktiviere ich mit einem Schalter in der UI, unsere Übernachtungsgäste bleiben durchaus auch mal spontan :) das steht dann eh nicht im Kalender...

Re: Allgemeine Frage zum Kalender

Verfasst: 1. Mär 2020 22:52
von Steinspiel
udo1toni hat geschrieben: 1. Mär 2020 18:53 Ja, das geht. Allerdings ist das caldav Binding manchmal etwas sperrig.
Das scheint hier gleich zu zu treffen... ;-(

Ich fang mal langsam an:
- ein neuer Google Kalender ist angelegt mit einem ganztägigen Eintrag für morgen
- die zwei CalDAV Bindings sind installiert
- in der caldavio.cfg sind meine Daten eingetragen

Im openhab.log erscheint folgendes:

Code: Alles auswählen

2020-03-01 22:45:11.338 [WARN ] [caldav.internal.job.EventReloaderJob] - Sardine error while loading calendar entries: Unexpected response (405 - Method Not Allowed)
com.github.sardine.impl.SardineException: Unexpected response
	at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:40) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:35) ~[sardine-5.6.jar:5.6]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:222) ~[httpclient-4.4.1.jar:4.4.1]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164) ~[httpclient-4.4.1.jar:4.4.1]
	at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:962) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:417) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:409) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:386) ~[sardine-5.6.jar:5.6]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.loadEvents(EventReloaderJob.java:250) ~[bundleFile:?]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.execute(EventReloaderJob.java:141) [bundleFile:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [bundleFile:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [bundleFile:?]
Da scheint ja was nicht zu klappen, kann mir jemand sagen was das bedeutet?

Danke...

Re: Allgemeine Frage zum Kalender

Verfasst: 2. Mär 2020 15:47
von seppy
Hi,
schau mal in diesen Beitrag: viewtopic.php?p=48#p48
Da haben wir uns ausgibig mit dem Thema beschäftigt und wie man externe Quellen dazu nutzt.
Grüße,
Seppy

Re: Allgemeine Frage zum Kalender

Verfasst: 2. Mär 2020 18:07
von Steinspiel
Moin,
seppy hat geschrieben: 2. Mär 2020 15:47 Hi,
schau mal in diesen Beitrag:
[...]
Danke für den Tip, aber ich denke mein Problem greift schon bevor ich überhaupt einen Kalender "sehe"!
Ich kann mich nämlich nicht mit meinem Google Kalender verbinden! Zuerst dachte ich es liegt an der "Bestätigung in zwei Schritten" bei der Anmeldung und habe mir deshalb ein "App PWD" bei Google generiert das für solche Fälle gedacht ist. Aber die Fehlermeldungen blieben die gleichen...
Dann habe ich gelesen das es mit "Zugriff weniger sicherer Apps" auf Google Konten zu tun haben könnte. Diese Funktion wird laut Google nach und nach bei Konten die diese Funktion nicht nutzen abgeschaltet und bis 2021 aus der Admin Konsole komplett entfernt, sie empfehlen deshalb "sichere Apps" zu benutzen.
https://support.google.com/a/answer/6260879?hl=de
Man kann das wohl nur mit einem Google Admin Konto bis dahin wieder aktivieren, aber ich habe überhaupt kein Admin Konto! Auf jeden Fall scheint Google nicht alle Konten gleich zu behandeln, bei manchen funktioniert es (noch) bei anderen eben nicht. :-(

Re: Allgemeine Frage zum Kalender

Verfasst: 2. Mär 2020 19:56
von Steinspiel
Eines ist mir gerade aufgefallen:
in \SERVICES habe ich alle caldav*.cfg deaktiviert so das keine Daten, PWD, URL usw. mehr hinterlegt sind. Anschließend openHAB neu gestartet und trotzdem habe ich die selben Fehlermeldungen im Log wie vorher!

Kann es sein das es einfach am Binding liegt, es nicht aktuell ist oder so?

Re: Allgemeine Frage zum Kalender

Verfasst: 2. Mär 2020 22:59
von Steinspiel
Danke erst einmal für eure Hilfe. Das mit dem Kalender lege ich erst mal auf Eis und will versuchen mein Vorhaben mit @alkalines Anleitung zu Ephemeris zu lösen.

Re: Allgemeine Frage zum Kalender

Verfasst: 2. Mär 2020 23:12
von int5749
Obacht, über Empheris kannst Du aber nicht mal eben Besuch eintragen, Änderungen an der XML Datei erfordern einen Neustart von OpenHab. Ich steige gerade um von dem Holiday Script (welches ich seit Mr.House nutze), aber es ist schon etwas tricky.
Derzeit kann ich Feiertage abfragen, eigene SpecialTage abfragen (welche kein Feiertag sind) und Geburtstage anzeigen lassen, werde ich aber erst einmal nicht implementieren.

Viel Erfolg und dann weiß ich ja, wen ich bei Problemen fragen kann 😎

Re: Allgemeine Frage zum Kalender

Verfasst: 3. Mär 2020 00:01
von udo1toni
Steinspiel hat geschrieben: 2. Mär 2020 19:56 Eines ist mir gerade aufgefallen:
in \SERVICES habe ich alle caldav*.cfg deaktiviert so das keine Daten, PWD, URL usw. mehr hinterlegt sind. Anschließend openHAB neu gestartet und trotzdem habe ich die selben Fehlermeldungen im Log wie vorher!

Kann es sein das es einfach am Binding liegt, es nicht aktuell ist oder so?
Gern genommenes Problem. openHAB liest diese Dateien aus und nutzt dort hinterlegte Daten, das tut es, indem es diese Daten in eine interne Datenstruktur kopiert. Aus dieser Struktur wird aber nichts entfernt, nur weil Du es in der *.cfg gelöscht hast.

Es gibt dafür zwei mögliche Lösungen:
1. Du gehst über die Karaf Konsole und entfernst die alten Einträge über die entsprechenden Befehle.
2. Du beendest openHAB und entfernst anschließend die Einträge aus der internen Datenstruktur.

Ich bin gerade etwas faul ;) aber wenn Du in den vorhandenen Threads suchst, solltest Du fündig werden, für beide Varianten.

Re: Allgemeine Frage zum Kalender

Verfasst: 13. Apr 2020 16:25
von sadbi
Hallo Liebe NGler!

Ich quäle mich mit dem Caldav-Binding herum. Hat funktioniert, dann wollte ich noch einen Kalender einbinden, hat nicht funktioniertz, alle Einträge, die den neuen Kalender betreffen, wieder gelöscht. Trotzdem Fehler.
Ich habe die Ursache anscheinend gefunden. Hier Zitat aus einem früheren Thread
Gern genommenes Problem. openHAB liest diese Dateien aus und nutzt dort hinterlegte Daten, das tut es, indem es diese Daten in eine interne Datenstruktur kopiert. Aus dieser Struktur wird aber nichts entfernt, nur weil Du es in der *.cfg gelöscht hast.

Es gibt dafür zwei mögliche Lösungen:
1. Du gehst über die Karaf Konsole und entfernst die alten Einträge über die entsprechenden Befehle.
2. Du beendest openHAB und entfernst anschließend die Einträge aus der internen Datenstruktur.
Leider kenne ich die Befehle, um die alten Einträge zu entfernen. Angeblich ist das sehr heikel.

Ich hoffe, dass mir jemand helfen kann.

Liebe Grüße
Sebastian