Die Gebäudedaten‑App, die du in den bisherigen Tutorials entwickelt hast, ist ein hervorragendes Beispiel für eine klar strukturierte, modular aufgebaute Kivy‑Anwendung. Sie zeigt, wie du Räume, Sensoren und Messwerte aus einer SQLite‑Datenbank laden und visuell darstellen kannst. Gleichzeitig ist sie ein ideales Fundament für Erweiterungen, weil sie bereits eine saubere Trennung zwischen UI, Logik und Datenhaltung besitzt. In dieser neuen Artikelserie wirst du die App nicht nur weiterentwickeln, sondern sie auch mit einer vollständigen Wettervorhersage‑App kombinieren, die du ebenfalls schon erstellt hast. Dadurch entsteht eine Anwendung, die sowohl interne Gebäudedaten als auch externe Wetterdaten in einer gemeinsamen Oberfläche präsentiert.

Dieser erste Artikel dient als Einstieg und Überblick. Du lernst die bestehende Struktur noch einmal bewusst kennen, verstehst die Rolle der einzelnen Module und bekommst ein Gefühl dafür, wie die beiden Projekte später zusammengeführt werden. Gleichzeitig legst du die Grundlage für die kommenden Artikel, in denen du tiefer in die Navigation, die Datenbank, die Diagrammerstellung und die Integration der Wettervorhersage eintauchst.
Warum diese Serie wichtig ist
Bevor wir in die technischen Details einsteigen, lohnt sich ein Blick auf das „Warum“. Die Gebäudedaten‑App ist bereits funktional, aber sie ist noch nicht das, was man als „Dashboard“ bezeichnen würde. Sie zeigt Messwerte an, aber sie vergleicht sie nicht mit externen Daten. Sie visualisiert Sensorwerte, aber sie bietet keine Möglichkeit, diese in einen größeren Kontext zu setzen. Genau hier setzt die Erweiterung an.
Durch die Integration der Wettervorhersage‑App entsteht eine Anwendung, die:
- interne Sensordaten (z. B. Temperatur, Feuchte)
- externe Wetterdaten (z. B. Außentemperatur, Wind, Regen)
- und eine klare, einheitliche Navigation
in einem einzigen System vereint.
Das ist nicht nur praktisch, sondern auch ein realistisches Szenario für Smart‑Home‑Anwendungen, Energiemonitoring oder Gebäudeautomation. Die App wird dadurch zu einem echten Werkzeug, das du später beliebig erweitern kannst.
Die bestehende Gebäudedaten‑App im Überblick
Die Gebäudedaten‑App basiert auf einer einfachen, aber sehr effektiven Navigationsstruktur:
- Startscreen
Von hier aus gelangst du zu allen Bereichen der App. - RoomScreen
Zeigt alle Räume einer Zone an. - SensorScreen
Zeigt alle Sensoren eines Raums an. - DiagramScreen
Visualisiert die Messwerte eines Sensors. - OutdoorScreen
Zeigt die Sensoren der Außen‑Zone (Zone 2).
Diese Struktur ist bewusst linear gehalten, damit sie leicht verständlich ist. Gleichzeitig ist sie flexibel genug, um später erweitert zu werden — zum Beispiel durch zusätzliche Screens oder neue Datenquellen.
[Screenshot einfügen: Navigationsfluss der Gebäudedaten‑App]
Die Wettervorhersage‑App im Überblick
Die Wettervorhersage‑App ist ein eigenständiges Projekt, das du bereits vollständig entwickelt hast. Sie besteht aus:
- einem
ForecastScreen - einem
WeatherReader - einem
WeatherApiClient - einem
WeatherParser - einem Icon‑Downloader
- einer eigenen KV‑Datei für das Layout
Diese App ist modular aufgebaut und lässt sich ohne Änderungen in andere Projekte integrieren. Genau das wirst du in dieser Serie tun.

Die gemeinsame Projektstruktur
Wenn du beide Projekte zusammenführst, entsteht eine Struktur wie diese:
project/
│
├── screens/
│ ├── start_screen.py
│ ├── room_screen.py
│ ├── sensor_screen.py
│ ├── diagram_screen.py
│ └── outdoor_screen.py
│
├── services/
│ ├── database/
│ │ ├── core.py
│ │ ├── init_db.py
│ │ └── queries.py
│ ├── sensor_service.py
│ ├── diagram_service.py
│ └── state.py
│
├── ui/
│ ├── start.kv
│ ├── rooms.kv
│ ├── sensors.kv
│ ├── diagram.kv
│ └── outdoor.kv
│
├── weatherapp/
│ ├── screens/
│ │ └── forecast_screen.py
│ ├── services/
│ │ ├── weather_reader.py
│ │ ├── weather_api_client.py
│ │ └── weather_parser.py
│ ├── ui/
│ │ └── visualizer.kv
│ └── config/
│ └── settings.py
│
└── app.py

Diese Struktur ist klar, modular und leicht verständlich. Jeder Bereich hat seine eigene Aufgabe, und die Dateien sind logisch gruppiert. Das macht es einfach, die App zu erweitern, zu warten oder zu debuggen.
Der Einstiegspunkt: app.py
Die Datei app.py ist der zentrale Einstiegspunkt der Anwendung. Hier wird der ScreenManager erstellt, der AppState initialisiert und alle Screens registriert. Der Code ist übersichtlich und zeigt, wie modular die App bereits aufgebaut ist:
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, NoTransition
from screens.start_screen import StartScreen
from screens.room_screen import RoomScreen
from screens.sensor_screen import SensorScreen
from screens.diagram_screen import DiagramScreen
from screens.outdoor_screen import OutdoorScreen
from weatherapp.config.settings import Settings
from weatherapp.screens.forecast_screen import ForecastScreen
from services.state import AppState
class BuildingApp(App):
def build(self):
sm = ScreenManager(transition=NoTransition())
sm.state = AppState()
sm.add_widget(StartScreen(name="start"))
sm.add_widget(RoomScreen(name="rooms"))
sm.add_widget(SensorScreen(name="sensors"))
sm.add_widget(DiagramScreen(name="diagrams"))
sm.add_widget(OutdoorScreen(name="outdoor"))
weather_settings = Settings()
sm.add_widget(ForecastScreen(settings=weather_settings, name="weather"))
return sm
if __name__ == "__main__":
BuildingApp().run()
Weiterführender Code auf GitHub
Wenn du den vollständigen Quellcode der Gebäudedaten‑App einsehen möchtest, findest du das komplette Projekt auf meinem GitHub‑Repository. Dort kannst du alle Module, Screens, Services und KV‑Layouts im Detail nachvollziehen, eigene Anpassungen vornehmen oder das Projekt direkt klonen.
➡️ GitHub‑Repository ansehen: https://github.com/HaikoKrais/BuildingDataVisualizer
Das Repository enthält die gesamte App‑Struktur, inklusive der Wettervorhersage‑Integration, der Datenbankmodule, der Diagrammerstellung und aller UI‑Layouts. Es eignet sich ideal, um die Inhalte dieser Artikelserie praktisch nachzuvollziehen oder als Grundlage für eigene Erweiterungen zu nutzen.

Dieser Code ist der Ausgangspunkt für die gesamte Serie. Du wirst ihn nicht verändern müssen, sondern lediglich die dahinterliegenden Module und Screens erweitern und erklären. Am Ende dieser Serie hast du eine App, die sowohl Gebäudedaten als auch Wetterdaten übersichtlich darstellt und deren Struktur so modular ist, dass du sie jederzeit erweitern kannst.
Was dich in den nächsten Artikeln erwartet
In den kommenden Artikeln wirst du:
- die Navigation verbessern
- die Sensor‑ und Diagramm‑Screens stabilisieren
- die Außensensoren logisch integrieren
- die Wettervorhersage vollständig einbinden
- die Datenbankabfragen im Detail verstehen
- die Diagrammerstellung analysieren
- die Architektur als Ganzes betrachten
Jeder Artikel baut auf dem vorherigen auf und führt dich Schritt für Schritt durch die Erweiterung der App.