Bosch eBike Connect + Home Assistant: Herzfrequenz aus dem Todesstern befreien

Bosch speichert deine Herzfrequenz-Daten in der Cloud und exportiert sie nicht ins GPX. Mit ebike-dl, einem Python-Script und HA REST-Sensoren kommen die Daten trotzdem nach Yavin IV.

25.02.2026 · 5 Minuten · 988 Wörter · root_cause

Python ldap3: invalidCredentials obwohl das Passwort stimmt

ldapwhoami bindet erfolgreich, Python ldap3 liefert invalidCredentials — mit identischen Credentials. Die Ursache: Sonderzeichen (@, !) im Passwort. libldap überträgt sie korrekt, ldap3 nicht.

22.02.2026 · 3 Minuten · 501 Wörter · root_cause

Zammad: Mails nach Import archivieren statt löschen — ohne Elasticsearch

Zammad löscht Mails nach dem IMAP-Import. Wer ein Backup im Postfach behalten will, stößt auf ein nicht-offensichtliches Problem: Die Zammad-API findet Message-IDs ohne Elasticsearch nicht. Die Lösung ist ein Python-Cron-Job mit einem direkten Rails-Query via docker exec.

19.02.2026 · 6 Minuten · 1153 Wörter · root_cause

Python: {{ }} außerhalb von f-Strings generiert keinen Escape — ein stiller Code-Bug

Ein Python-Script generiert Ruby-Code mit Blöcken. Manche Strings sind f-Strings, manche nicht. {{ }} sollte zu { } werden — tut es aber nur in f-Strings. In normalen Strings bleiben {{ }} literal. Das erzeugt ungültiges Ruby, Python wirft keinen Fehler, und das Programm schlägt still fehl.

19.02.2026 · 4 Minuten · 671 Wörter · root_cause

Home Assistant TTS Morning Briefing: Yamaha MusicCast + CalDAV + Wetter + Müllabfuhr

Tägliches Morning Briefing per Text-to-Speech auf Yamaha MusicCast Speaker — mit Kalender-Terminen (CalDAV/Grommunio), Wetter (Open-Meteo) und Müllabfuhr-Erinnerung. Plus: Wie man Pipers englische TTS-Stimme mit deutschen Terminen zum Arbeiten bringt.

13.02.2026 · 7 Minuten · 1459 Wörter · root_cause

CalDAV in Python: Warum deine Query 63 Events zurückgibt, obwohl nur eins heute stattfindet

CalDAV gibt bei wiederkehrenden Terminen ALLE Events zurück, nicht nur die heutigen. Warum DTSTART dich belügt und wie du RRULE mit dateutil richtig auswertest.

23.01.2025 · 6 Minuten · 1202 Wörter · root_cause