How goldi5/raumklima-2 works
Raumklima is a Home Assistant heating and indoor-climate integration with a companion dashboard. Users configure rooms and a household hub, then room controllers regulate TRVs from room sensors and window state; ventilation assistance, presence, schedules and heating-season logic inform that operation. The integration also exposes notifications, health checks, decision logs and heating reports through Home Assistant entities and dashboard views. The README documents these capabilities; the sampled sources and SOURCE INDEX support several internal links, but do not expose every runtime dispatch or dashboard/API connection.
Main entry points: controller.py Room controller · hub.py Household hub · room_trv.py TRV control · reports.py Heating reports
Components 24
Integration setup
- Room configuration
custom_components/raumklima/config_flow.py - HA entities
custom_components/raumklima/climate.py
Room control
- Room controller
custom_components/raumklima/controller.py - TRV control
custom_components/raumklima/room_trv.py - Window logic
custom_components/raumklima/room_windows.py - Room health
custom_components/raumklima/room_health.py - Ventilation assistant
custom_components/raumklima/vent_manager.py - Ventilation rules
custom_components/raumklima/ventilation.py - Control calculations
custom_components/raumklima/logic.py - Schedules and protection
custom_components/raumklima/planning.py
Household services
- Household hub
custom_components/raumklima/hub.py - Occupancy logic
custom_components/raumklima/occupancy.py - HA notifications
custom_components/raumklima/hub_notify.py
Reports and diagnostics
- Decision log
custom_components/raumklima/decision_log.py - Health checks
custom_components/raumklima/health.py - Heating reports
custom_components/raumklima/reports.py - Report data
custom_components/raumklima/report_data.py - Heating statistics
custom_components/raumklima/stats.py
Dashboard
- Dashboard API
custom_components/raumklima/websocket_api.py - Dashboard cards
frontend/src/index.js - Card shared logic
frontend/src/shared.js - Card translations
frontend/src/i18n.js
Other components
- Home Assistant user
- Home Assistant
Connections 23
- Home Assistant user → Room configuration: configures rooms
- Room configuration → Room controller: sets up room
- Room controller → TRV control: delegates control
custom_components/raumklima/controller.py - Room controller → Window logic: delegates windows
custom_components/raumklima/controller.py - Room controller → Room health: delegates checks
custom_components/raumklima/controller.py - Room controller → Ventilation assistant: starts assistant
custom_components/raumklima/controller.py - Ventilation assistant → Ventilation rules: uses rules
custom_components/raumklima/vent_manager.py - TRV control → Control calculations: uses calculations
custom_components/raumklima/room_trv.py - TRV control → Schedules and protection: uses plans
custom_components/raumklima/room_trv.py - Room controller → Household hub: uses household state
custom_components/raumklima/controller.py - Room controller → Decision log: records decisions
custom_components/raumklima/controller.py - Household hub → Occupancy logic: uses occupancy
custom_components/raumklima/hub.py - Household hub → Heating reports: starts reports
custom_components/raumklima/hub.py - Heating reports → Report data: requests data
custom_components/raumklima/reports.py - Heating reports → Heating statistics: uses statistics
custom_components/raumklima/reports.py - Report data → Heating statistics: reads statistics
custom_components/raumklima/report_data.py - Room controller → Health checks: uses checks
custom_components/raumklima/controller.py - Household hub → HA notifications: manages notifications
custom_components/raumklima/hub.py - Home Assistant user → Dashboard cards: views dashboard
- Dashboard cards → Card shared logic: uses shared logic
frontend/src/index.js - Card shared logic → Card translations: uses translations
frontend/src/shared.js - Dashboard cards → Dashboard API: requests dashboard data
- Home Assistant → HA entities: exposes controls