How onehandedwonder/klima-kontrolloeren works
Klima-Kontrolloeren collects temperature, humidity, and CO2 readings from Raspberry Pi sensors, then serves user-scoped readings, averages, and CSV exports through an ASP.NET Core API to a Vue dashboard. Users sign in with Firebase and manage their sensors through the profile. The graph preserves the documented weather and comfort-setting capabilities, though their detailed implementation was not sampled; those links are therefore limited to documented frontend components and integrations.
Main entry points: KlimaDashboard.vue Climate dashboard · SensorController.cs Sensor API · DataController.cs Data API · DbConnectionFactory.cs Database access
Components 20
Sensor ingestion
- Raspberry Pi sender
Senson_app/sensor_app.py
Backend API
- Sensor API
Klima-Kontrolloeren-Backend/Controllers/SensorController.cs - Data API
Klima-Kontrolloeren-Backend/Controllers/DataController.cs - Auth API
Klima-Kontrolloeren-Backend/Controllers/Auth.cs - Sensor service
Klima-Kontrolloeren-Backend/Services/SensorService.cs - Auth service
Klima-Kontrolloeren-Backend/Services/AuthService.cs - Average calculations
Klima-Kontrolloeren-Backend/Services/AverageService.cs - CSV export
Klima-Kontrolloeren-Backend/Services/csvService.cs - Database access
Klima-Kontrolloeren-Backend/Data/DbConnectionFactory.cs
Vue dashboard
- App shell
Klima-Kontrolloeren-Frontend/src/App.vue - Protected routes
Klima-Kontrolloeren-Frontend/src/router/index.js - Sign-in screen
Klima-Kontrolloeren-Frontend/src/components/SignInBoard.vue - Climate dashboard
Klima-Kontrolloeren-Frontend/src/components/KlimaDashboard.vue - Profile management
Klima-Kontrolloeren-Frontend/src/components/ProfilePage.vue - Firebase client
Klima-Kontrolloeren-Frontend/src/firebase.js - Dashboard cache
Klima-Kontrolloeren-Frontend/src/App.vue
External services
- SQL Server
- Firebase services
- Open-Meteo
Other components
- Dashboard user
Connections 24
- Raspberry Pi sender → Sensor API: posts readings
- Sensor API → Sensor service: saves and queries
- Data API → Sensor service: fetches readings
- Data API → Average calculations: calculates averages
- Data API → CSV export: generates exports
- Sensor API → Database access: via service
- Sensor service → Database access: uses
- Auth API → Auth service: authenticates
- Auth service → Firebase services: verifies credentials
- Auth service → Database access: checks user
- Database access → SQL Server: reads and writes
- Dashboard user → Sign-in screen: signs in
- Dashboard user → Climate dashboard: views climate
- Dashboard user → Profile management: manages sensors
- App shell → Protected routes: renders routes
- App shell → Firebase client: tracks auth state
- Firebase client → Firebase services: authenticates
- Sign-in screen → Auth API: requests sign-in
- Climate dashboard → Data API: requests data
- Climate dashboard → Sensor API: loads sensors
- Climate dashboard → Dashboard cache: caches dashboard data
- Profile management → Sensor API: manages sensors
- Profile management → Auth API: updates account
- Climate dashboard → Open-Meteo: fetches weather