Zum Hauptinhalt springen

Entwicklung

DWD Precipitation ist eine benutzerdefinierte Integration für Home Assistant, geschrieben in Python. Diese Seiten sind für alle, die sie verstehen oder ändern wollen. Wenn du sie nur nutzen willst, fängst du am besten mit der Benutzerdokumentation an.

Das Repository​

PfadWas er enthält
custom_components/dwd_precipitation/Die Integration selbst
custom_components/dwd_precipitation/radar/Der Kern ohne Home Assistant: Dateileser und reine Fachlogik
tests/Fünf Teststufen, siehe Tests und Prüfungen
scripts/Werkzeuge, um Fixtures zu erzeugen und die Veröffentlichungsverzögerungen des DWD zu prüfen
docs/adr/Die Architekturentscheidungen (ADRs)
website/Diese Dokumentationsseite, siehe An dieser Dokumentation arbeiten
CLAUDE.mdDer Leitfaden zur Codebasis: die Regeln, denen der Code folgt, direkt neben ihm abgelegt

Wo du weiterliest​

Einrichten​

Das Projekt verwendet uv für seine Python-Umgebungen. Jede Teststufe hat ihre eigene Abhängigkeitsgruppe, sodass eine schnelle Stufe kein installiertes Home Assistant braucht:

git clone https://github.com/Hoffmann77/ha-dwd-precipitation.git
cd ha-dwd-precipitation
uv run --group unit-test pytest tests/parser

Um eine Änderung in einem echten Home Assistant auszuprobieren, kopiere custom_components/dwd_precipitation in den Ordner custom_components einer Entwicklungsinstanz (oder lege einen symbolischen Link an) und starte sie neu.

Mitwirken​

  • Fehler und Ideen gehören in die GitHub-Issues.
  • Pull Requests sind willkommen. Halte eine Änderung fokussiert, füge Tests in der passenden Stufe hinzu und aktualisiere die Dokumentation, die sie betrifft, auf Englisch und Deutsch.
  • Eine Entscheidung, die das Verhalten der Integration ändert oder eine frühere umstößt, bekommt ein ADR.
  • Nur Abhängigkeiten mit Binary Wheels, die sich sauber in Home Assistant installieren lassen, sind zulässig. Heute sind das numpy und h5py; schwere Pakete wie wradlib, pyproj oder GDAL sind es nicht.