A Home Assistant custom integration (HACS-installable) for per-room climate control and scheduled daily climate profiles, with a companion Lovelace card it ships and auto-registers.
- Per-room reactive control of A/C / heater / fan devices (cool / heat / fan-only / off, plus fan-speed tiers) driven by a pure, unit-tested decision engine.
- Daily profiles: named, scheduled per-room presets (use toggles, fan override, target temps) created and edited from the card.
- Native entities, HA areas, abstraction sensors (room temp/humidity/power + a hub-level Outdoor Temperature), and plotly energy/history graphs.
See custom_components/btoddb_room_climate_controller/README.md for full details, and requirements/ for the design requirements.
- HACS: add this repo as a custom repository (category: Integration), install, restart HA, then Settings → Devices & Services → Add Integration → "Room Climate Controller" and Add room per room.
- Manual: copy
custom_components/btoddb_room_climate_controller/into your HAconfig/custom_components/, restart, then add the integration as above.
A ready sample dashboard is in
custom_components/btoddb_room_climate_controller/examples/dashboard.yaml.
This repo uses the standard HA integration dev scaffold (devcontainer + config/):
scripts/develop— run Home Assistant locally againstconfig/.scripts/lint— run ruff.python3 custom_components/btoddb_room_climate_controller/tests/test_engine.py— engine unit tests (no HA required).cd custom_components/btoddb_room_climate_controller/card && npm install && npm run build— rebuild the Lovelace card (editcard/src/*.ts, not the generatedwww/bundle).
See CLAUDE.md for an architecture overview and CONTRIBUTING.md.
- Download zip file of custom component
The Room Climate Control logo was generated in part by using: Thermostat icons created by Freepik - Flaticon