Ohne Loxberry/ mit Container: iCloud-Kalender über HTTP

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Dudanski
    Smart Home'r
    • 22.11.2020
    • 36

    Ohne Loxberry/ mit Container: iCloud-Kalender über HTTP

    … oder CalDav als REST-API


    Moin,
    Ich bin eigentlich gerade dabei die unendlichen Weiten des loxberrys zu erforschen. An dieser Steller erstmal Props dafür. Finde ich eine ziemlich coole und komfortable Idee und man sieht wieviel guter Hirnschmalz da reingeflossen ist. Ich freu mich schon drauf viele der Plugins, sicher nach und nach, auszuprobieren. Leider bin ich direkt am zweiten Plugin gescheitert. Aus, mir nicht ersichtlichen, Gründen lassen sich meine Kalender nicht in das CalDav-Plugin einbinden. (auch nach vielen Anläufen und vergeblichen wegen und Umwegen)
    Ich habe aber eine ganz üble Bastler-Seele und nach einer kurzer Recherche bin ich aber auf die Python Bibliothek für CalDav gestoßen. Dann hab mich von der Neugier und dem Debug-Modus treiben lassen.

    Herausgekommen ist, dass ich die CalDav-API ihrer Authentifizierung beraube und Teile der Funktion über eine ganz billige Flask-App als REST-API zur Verfügung stelle, so dass Loxone damit intuitiv kommunizieren kann. (Kennt man irgendwo her)

    Wie gesagt … üble Seele … und die Bibliotheken sind unglaublich toll und ich bin *lokal* schneller am Ziel gewesen als ich das glauben konnte, aber dann hat es mich nun zwei Tage gekostet die Chose wieder in einem raspberry-fähigen Container zu platzieren.
    1. Sehr viele Abhängigkeiten des CalDav-Packages zu anderen Entwicklerpaketen, die erstmal ermittelt und installiert werden wollen
    2. Es gehen nur ARM-Spezifische Images und Pakete. Das sind zwar viele aber im Zweifel kommt man nur über Umwege ran.
    3. In dieser Kombination gibt es den ersten Bug, der erstmal so aussieht als würde die Zeit falsch interpretiert. Es ist aber ein Encoding-Fehler (set PYTHONIOENCODING=UTF-8)
    4. Und den zweiten Bug, der mit … hab ich schon wieder vergessen … zu tun hat mit in der docker-engine erst mit einem release gefixt wird, das es für ARM noch nicht gibt.
    5. Mimimi
    Geteiltes Leid ist halbes Leid und deswegen habe ich mich entschieden das Ding Flaav zu nennen (Flask + CalDav) und zur Verfügung zu stellen.

    docker container mit python script um Kalenderinformationen per REST-API zur Verfügung zu stellen - SonZions/flaav




    Was kann diese Lösung im Vergleich zum Loxberry-CalDav-Plugin?

    Zu allererst: Wenn das CalDav-Plugin läuft, dann ist das 1.000 mal besser. Abwägig aller eventueller, erdenklicher Vorteile dieser Lösung.
    • Das Plugin
      • ist ausführlich, in verschiedensten Umgebungen getestet
      • hat mehrere Contributoren
      • Das Plugin ist dokumentiert und das für verschiedenste Lösungen
      • Hat support über die Community
      • Kann verschiedenste Kalendertypen handeln
    • Der Flaav-Container
      • Hat mindestens all das, was ich dem Plugin gerade zugeschrieben habe *nicht*
      • .
      • .
      • .
      • … (Dann kommt lange nichts) …
      • .
      • .
      • Ist leichter/einfacher in der Konfiguration, wenn es um iCloud-Kalender geht
      • Works on my machine
      • Ist (für mich) einfacher zu erweitern, da Python … ich verkneife mir eine Wertung

    Warum nerve ich dann mit dem Krams?
    • Ich finde erstaunlich wenig Beiträge von Entwicklern hier, obwohl wir - denke ich mal - einige Bastler On-Board haben und würde deswegen gerne mal ein Beispiel setzen
    • Applikationen im Docker-Container zu betreiben ist total toll, da diese innerhalb der Architektur (Raspberry / ARM) zuverlässig verteilbar und skalierbar sind. Vielleicht ermuntert das den ein oder anderen seine Applikation auch zu teilen.
    • Vielleicht hat jemand Zeit und Bock die Lösung bei sich auszuprobieren oder sogar weiter zu entwickeln oder nur Kritik zu üben
Lädt...