Die Wettervorhersage‑App, die du in einem separaten Projekt entwickelt hast, ist ein vollwertiges Modul mit eigener Logik, eigener Datenverarbeitung und eigenem UI. In diesem Artikel lernst du, wie du diese App vollständig in die Gebäudedaten‑App integrierst, ohne ihren Code zu verändern oder anzupassen. Die Integration erfolgt modular, sauber und so, dass beide Systeme weiterhin unabhängig voneinander funktionieren könnten — aber in der gemeinsamen App perfekt zusammenspielen.
Dieser Artikel ist ein wichtiger Meilenstein der Serie, denn ab hier wird aus der Gebäudedaten‑App ein echtes Dashboard, das sowohl interne Sensordaten als auch externe Wetterdaten darstellen kann. Du wirst sehen, wie einfach die Integration dank der klaren Struktur beider Projekte ist, und wie du die Navigation so erweiterst, dass der Benutzer intuitiv zwischen Gebäudedaten und Wettervorhersage wechseln kann.

1. Warum die Wettervorhersage ein natürlicher Bestandteil der Gebäudedaten‑App ist
Bevor wir in die technische Integration einsteigen, lohnt es sich, kurz darüber nachzudenken, warum die Wettervorhersage überhaupt in die Gebäudedaten‑App gehört. Die Antwort ist einfach: Außensensoren und Wetterdaten gehören zusammen. Wenn du die Temperatur im Wohnzimmer misst, ist es sinnvoll zu wissen, wie warm es draußen ist. Wenn du die Luftfeuchtigkeit im Keller misst, ist es hilfreich zu wissen, ob draußen Regen angekündigt ist.
Die Wettervorhersage ergänzt die Gebäudedaten‑App also nicht nur — sie erweitert sie logisch. Die App wird dadurch zu einem echten Monitoring‑Tool, das sowohl interne als auch externe Faktoren berücksichtigt.
2. Die Struktur der Wettervorhersage‑App
Die Wettervorhersage‑App ist modular aufgebaut und besteht aus mehreren klar getrennten Komponenten:
- ForecastScreen – der Hauptscreen der App
- WeatherReader – lädt die Wetterdaten
- WeatherApiClient – kommuniziert mit der API
- WeatherParser – bereitet die API‑Antwort auf
- download_icon – lädt die Wettericons herunter
- visualizer.kv – definiert das Layout
Diese Struktur ist ideal für die Integration, weil du keine einzige Datei verändern musst. Du kannst die Wetter‑App einfach in die Gebäudedaten‑App einfügen und als weiteren Screen registrieren.

3. Die Integration in app.py – ein einziger Eintrag genügt
Die Integration erfolgt in der Datei app.py. Dort wird der ScreenManager erstellt und alle Screens registriert. Die Wettervorhersage wird einfach als weiterer Screen hinzugefügt:
weather_settings = Settings()<br>sm.add_widget(ForecastScreen(settings=weather_settings, name="weather"))<br>
Das ist alles. Mehr ist nicht nötig.
Warum funktioniert das so einfach?
Weil die Wetter‑App:
- ihren eigenen Screen mitbringt
- ihre eigenen Services mitbringt
- ihre eigenen KV‑Layouts mitbringt
- keine Abhängigkeiten zu anderen Teilen der Gebäudedaten‑App hat
Sie ist ein vollständig gekapseltes Modul.

4. Der ForecastScreen – das Herz der Wettervorhersage
Der ForecastScreen ist der zentrale Screen der Wetter‑App. Er lädt:
- die aktuelle Wetterlage
- die 5‑Tage‑Vorhersage
- die Icons für jede Tageskachel
- Diagramme für Temperatur, Wind, Regen und Bewölkung
Der ForecastScreen verwendet mehrere Services, um diese Daten zu laden und darzustellen.
WeatherApiClient
Der WeatherApiClient ist für die Kommunikation mit der API zuständig. Er sendet HTTP‑Anfragen und gibt die Antworten zurück.
WeatherReader
Der WeatherReader ruft den ApiClient auf und bereitet die Daten für den Parser vor.
WeatherParser
Der Parser extrahiert die relevanten Informationen aus der API‑Antwort:
- Temperatur
- Feuchtigkeit
- Wind
- Regen
- Bewölkung
- Zeitstempel
def download_icon(icon_code: str) -> Path:
Diese Funktion lädt die Icons für die Wetterlage herunter und speichert sie lokal.
5. Die KV‑Datei visualizer.kv – das Layout der Wettervorhersage
Die Datei visualizer.kv definiert das Layout des ForecastScreens. Sie enthält:
- eine Kopfzeile
- eine ScrollView für die Tageskacheln
- Diagrammflächen
- Labels für Temperatur, Wind, Regen und Bewölkung
Das Layout ist modern, übersichtlich und passt gut zur Gebäudedaten‑App.

6. Die Navigation zum ForecastScreen – ein eigener Button im Startscreen
Der Startscreen der Gebäudedaten‑App enthält drei Buttons:
- Räume
- Außensensoren
- Wettervorhersage
Der Button für die Wettervorhersage öffnet den ForecastScreen:
def open_forecast(self):
self.manager.current = "weather"
Das ist bewusst einfach gehalten. Der ForecastScreen kümmert sich selbst darum, die Wetterdaten zu laden.

7. Wie die Wettervorhersage geladen wird
Der ForecastScreen lädt die Wetterdaten, sobald er betreten wird. Das geschieht in der Methode on_pre_enter. Dort wird der WeatherReader aufgerufen, der die Daten lädt und an den Parser weitergibt.
Die Icons werden ebenfalls automatisch heruntergeladen, wenn sie noch nicht vorhanden sind.
Warum on_pre_enter?
Weil die Wetterdaten dynamisch sind. Wenn du die App startest und später erneut die Wettervorhersage öffnest, sollen die Daten aktualisiert werden.
8. Die Diagramme der Wettervorhersage
Die Wettervorhersage enthält mehrere Diagramme:
- Temperaturverlauf
- Windgeschwindigkeit
- Regenmenge
- Bewölkungsgrad
Diese Diagramme werden mit Matplotlib erzeugt — genau wie die Diagramme der Gebäudedaten‑App. Dadurch entsteht ein einheitliches Erscheinungsbild.
Die Diagramme werden transparent gespeichert, damit sie sich gut in das UI einfügen.

9. Warum die Integration so sauber funktioniert
Die Integration funktioniert so gut, weil beide Apps:
- modular aufgebaut sind
- klare Verantwortlichkeiten haben
- ihre eigenen Layouts mitbringen
- ihre eigenen Services mitbringen
- keine gegenseitigen Abhängigkeiten haben
Der ForecastScreen ist ein vollständig gekapselter Screen. Er benötigt nur:
- eine API‑Key‑Einstellung
- einen Namen im ScreenManager
Mehr nicht.
10. Die Wettervorhersage als Teil der Navigation
Durch die Integration wird die Wettervorhersage ein natürlicher Teil der App. Der Benutzer kann:
- Räume anzeigen
- Sensoren anzeigen
- Diagramme anzeigen
- Außensensoren anzeigen
- Wettervorhersage anzeigen
Alles über den Startscreen.
11. Die Rolle des AppState in der Wettervorhersage
Der ForecastScreen verwendet den AppState nicht. Das ist wichtig, denn:
- die Wettervorhersage ist unabhängig von den Gebäudedaten
- sie benötigt keine Informationen über Räume oder Sensoren
- sie hat ihre eigene Logik
Das macht die Integration besonders einfach.
12. Fazit: Die Wettervorhersage ist vollständig integriert
Nach diesem Artikel verstehst du:
- wie die Wettervorhersage‑App aufgebaut ist
- wie sie in die Gebäudedaten‑App integriert wird
- wie der ForecastScreen funktioniert
- wie die Navigation erweitert wird
- wie die Diagramme erzeugt werden
- warum die Integration so sauber funktioniert
Damit ist die App bereit für die nächsten Schritte. In Artikel 6 wirst du die Datenbank, die Sensorwerte und die Diagrammerstellung im Detail analysieren.