<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Python on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
    <link>https://homelab-guide.de/tags/python/</link>
    <description>Recent content in Python on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</description>
    <image>
      <title>Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
      <url>https://homelab-guide.de/images/homelab-guide-og.png</url>
      <link>https://homelab-guide.de/images/homelab-guide-og.png</link>
    </image>
    <generator>Hugo -- 0.159.1</generator>
    <language>de</language>
    <lastBuildDate>Wed, 25 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab-guide.de/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Bosch eBike Connect &#43; Home Assistant: Herzfrequenz aus dem Todesstern befreien</title>
      <link>https://homelab-guide.de/posts/bosch-ebike-connect--home-assistant-herzfrequenz-aus-dem-todesstern-befreien/</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/bosch-ebike-connect--home-assistant-herzfrequenz-aus-dem-todesstern-befreien/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>Python ldap3: invalidCredentials obwohl das Passwort stimmt</title>
      <link>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-ldap3-invalidcredentials-obwohl-das-passwort-stimmt/</guid>
      <description>ldapwhoami bindet erfolgreich, Python ldap3 liefert invalidCredentials — mit identischen Credentials. Die Ursache: Sonderzeichen (@, !) im Passwort. libldap überträgt sie korrekt, ldap3 nicht.</description>
    </item>
    <item>
      <title>Python: {{ }} außerhalb von f-Strings generiert keinen Escape — ein stiller Code-Bug</title>
      <link>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/python-au%C3%9Ferhalb-von-f-strings-generiert-keinen-escape-ein-stiller-code-bug/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>Zammad: Mails nach Import archivieren statt löschen — ohne Elasticsearch</title>
      <link>https://homelab-guide.de/posts/zammad-mails-nach-import-archivieren-statt-l%C3%B6schen-ohne-elasticsearch/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/zammad-mails-nach-import-archivieren-statt-l%C3%B6schen-ohne-elasticsearch/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>Home Assistant TTS Morning Briefing: Yamaha MusicCast &#43; CalDAV &#43; Wetter &#43; Müllabfuhr</title>
      <link>https://homelab-guide.de/posts/home-assistant-tts-morning-briefing-yamaha-musiccast--caldav--wetter--m%C3%BCllabfuhr/</link>
      <pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/home-assistant-tts-morning-briefing-yamaha-musiccast--caldav--wetter--m%C3%BCllabfuhr/</guid>
      <description>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.</description>
    </item>
    <item>
      <title>CalDAV in Python: Warum deine Query 63 Events zurückgibt, obwohl nur eins heute stattfindet</title>
      <link>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</link>
      <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/caldav-in-python-warum-deine-query-63-events-zur%C3%BCckgibt-obwohl-nur-eins-heute-stattfindet/</guid>
      <description>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.</description>
    </item>
  </channel>
</rss>
