Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich habe den Entwickler gebeten (querdenker2k), das Binding anzupassen.
Er hat mir geantwortet und versucht das umsetzen:
Genial, wie das Forum hier funktioniert!!!
Ok, speziell beim Müllkalender interessiert mich eigentlich nur, wann der nächste Termin ist. Der übernächste ist ja schon egal. Was mich dann noch interessiert, ob dieser Termin morgen oder übermorgen ist.
Ich denke in den allermeisten Fällen sind doch nur die nächsten Termine zu einem Thema relevant. Was später kommt ist doch fast schon egal oder etwa nicht?
ich denke, Du wirst das parametrieren können, wieviele Termine in der Zukunft gesucht werden. Für den Müllkalender ist ein Termin völlig ausreichend. Ich würde mir gerne morgens meine ersten x-Termine (dienstliche) per RSS-Feed auf mein Weckerdisplay (Squeezebox) streamen, um mich schon mal mental darauf vorzubereiten (welcher Wahnsinn heute wieder ansteht) :-)
also ich hab das Binding jetzt mal installiert und configuriert. So ganz kapier ich es aber noch nicht.... Hat das jemand zum laufen gebracht? Mit Google Calendar hab ichs irgendwie nicht hinbekommen...
Hat jemand ein Beispiel?
staehler hat mich auf den Post hingewiesen.
Ich poste einfach mal einen Auszug der privaten Kommunikation von staehler und mir.
Aktuell bin ich und ein Kumpel die einzigen Anwender des Bindings. Es ist auch noch relativ frisch. Ich bittte daher ggf. Bugs zu entschuldigen.
Viele Grüße
robert
Es gibt noch diese:
1. Die die übersprungen sind gibt es nicht mehr, die habe ich umbenannt aufgrund der neuen Funktionalität. Dieses Binding brauchst du auf jeden Fall. Es lädt die Kalender. https://buildhive.cloudbees.com/job/...hab.io.caldav/
2. PreloadTime ist der Zeitraum der weiterverarbeitet wird. Alles was danach kommt wird verworfen. Soll dazu dienen etwas RAM zu sparen, könnte sonst ggf. viel im RAM liegen.
3. Nehmen wir an du hast ein Event im Kalender wo als Inhalt steht:
Code:
BEGIN:Heizung_Kueche:21
Dieser Termin beginnt am 5.3.15 13:00 Uhr.
Mit diesem Item Binding
Code:
Number Naechste_Heizung_Schaltung {caldavCommand="itemName:Heizung_Kueche type:VALUE"}
würdest du als Wert
Code:
21
bekommen. Natürlich nur unter der Annahme das du keine Events davor im Kalendar hast welche ebenfalls die Küchen-Heizung schalten sollen. Analog dazu bekommst du die Zeit angezeigt mit dem Item
Nochmal zusammengefasst: Wenn du automatisiert Dinge über den Kalendar schalten willst brauchst du das
Code:
caldav-command Binding
. Willst du eine Anwesenheit aus deinem Kalendar erzeugen oder folgende oder aktive Events auflisten so benötigst du das
Code:
caldav-personal Binding
. Das
Code:
caldav-io Binding
benötigst du wie gesagt auf jeden Fall. Es lädt die Termine und reicht sie an die anderen beiden Bindings weiter.
Grüße
Robert
[QUOTE=staehler]Hallo Robert,
prima, vielen Dank für Deine Arbeit.
Leider komme ich aktuell noch nicht ganz klar mit Deiner Beschreibung.
1) welche Binding benötige ich nun? Bei Buildhive finde ich folgendes:
openHAB CalDav Binding (übersprungen) openHAB CalDAV-Command Binding4.5 Sekunden openHAB CalDAV-Personal Binding2.1 Sekunden
openHAB CalDav-Presence Binding (übersprungen)
2 davon wurden übersprungen? Brauch ich die nicht?
2) reloadInterval bedeutet vermutlich, wie oft der Kalender neu eingelesen werden soll. Was bedeutet preloadTime?
3) Leider verstehe ich den Absatz nicht:
Additionaly you can define an item to listen to upcoming changes of an item (which will be triggered through an event). Two types are available the command which will be set and the trigger time. Syntax is caldavCommand="itemName:<Item-Name to listen to> type:<VALUE|DATE>" Furthermore a switch can be defined to disable the automatic execution (through calendar) of an item. Syntax is caldavCommand="itemName:<Item-Name to listen to> type:<DISABLE>"
Kannst Du anhand eines Beispieles erklären, was damit gemint ist. Gerne werde ich Deinem Wiki Artikel Beispiel-Code beisteuern, wenn ich es verstanden und getestet habe. Beispiele erklären oft sehr viel.
Weis jemand ob und wie SSL verschlüsselte Owncloud server abgefragt werden können.
Ich bekomme mit SSL Server folgende Error Meldung im log.
Code:
20:23:44.886 ERROR o.o.i.c.i.CalDavLoaderImpl[:327]- error while loading calendar entries: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1904)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:273)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1446)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
Den gleichen Fehler habe ich auch und daher erstmal auf http umgestellt. Der Robert (Entwickler dieses Bindings) hat gestern dazu schon einen Fix geschrieben, allerdings scheint es trotzdem noch nicht behoben zu sein. Ich bekomme mit dem neuen Binding jedenfalls immer noch diesen ssl-Fehler.
Ich hoffe darauf, dass das noch gefixed wird. Jedenfalls habe ich ihm bescheid gegeben.
2015-03-10 17:53:45.540 [ERROR] [.i.c.internal.CalDavLoaderImpl] - error while loading calendar entries: Unexpected response
com.github.sardine.impl.SardineException: Unexpected response
at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[na:na]
at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:40) ~[na:na]
at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:35) ~[na:na]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:218) ~[na:na]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160) ~[na:na]
at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:828) ~[na:na]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:355) ~[na:na]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:322) ~[na:na]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:313) ~[na:na]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:307) ~[na:na]
at org.openhab.io.caldav.internal.CalDavLoaderImpl.loadEvents(CalDavLoaderImpl.java:285) ~[na:na]
at org.openhab.io.caldav.internal.CalDavLoaderImpl.access$5(CalDavLoaderImpl.java:251) ~[na:na]
at org.openhab.io.caldav.internal.CalDavLoaderImpl$4$1.run(CalDavLoaderImpl.java:368) ~[na:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_75]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
In der openhab.cfg habe ich jeden Kalendereintrag mit
Also die Zertifikatsprüfung scheint nun nicht mehr hinzufallen, aber dafür geht jetzt was anderes nicht mehr :-(
Bis gestern konnte ich zumindest per http die Kalendereinträge in openhab einlesen, jetzt geht's nicht mehr.
Viele Grüße
Michael
Nachtrag: vergiss, was ich oben geschrieben habe. Es funktioniert!
Hatte vergessen in der openhab.cfg die caldav-url wieder auf https zu stellen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar