Roommind
Intelligent room climate control for Home Assistant — self-learning MPC, proportional valve control, solar gain modeling
Install / Use
/learn @snazzybean/RoommindREADME
RoomMind
Intelligent room climate control for Home Assistant - self-learning thermal model, proportional valve control, and a dedicated management panel.

Features
- Self-Learning MPC - Per-room thermal model (Extended Kalman Filter) that learns your home's heating/cooling behavior over time. Automatic fallback to on/off control while learning.
- Proportional Valve Control - TRVs receive calculated setpoints instead of simple on/off, producing smoother temperature curves with less overshoot.
- Solar Gain Awareness - Estimates solar irradiance from sun position and weather data. The model learns each room's solar response and reduces unnecessary heating.
- Multi-Scheduler - Multiple
schedule.*entities per room with selector switching viainput_booleanorinput_number. - Manual Override - Boost, eco, or custom temperature with configurable duration and instant UI feedback.
- Presence Detection - Link
person.*,device_tracker.*,binary_sensor.*, orinput_boolean.*entities globally or per room. Eco temperature is used when all assigned persons are away. - Vacation Mode - Global setback temperature with end date for all rooms.
- Window/Door Pause - Pauses climate control when windows or doors are open, with configurable open/close delays.
- Mold Risk Detection & Prevention - Surface humidity estimation using the DIN 4108-2 method. Configurable notifications and automatic temperature raise to prevent mold growth.
- Automatic Blind/Cover Shading - Smart cover deployment based on predicted solar overheating. Includes night close, manual override detection, and cover schedules.
- Valve Protection - Periodic cycling of idle TRV valves to prevent seizing and calcification.
- Analytics Dashboard - Temperature charts with heating power, solar irradiance, and model predictions over 24h to 90 days.
- Mobile Ready - Responsive layout with HA-native toolbar for the companion app.
- Multilingual - English and German, auto-detected from your HA language setting.
Installation
HACS (Recommended)
- Open HACS in Home Assistant
- Click the three-dot menu > Custom repositories
- Add
https://github.com/snazzybean/roommindas an Integration - Search for "RoomMind" and install
- Restart Home Assistant
- Go to Settings > Devices & Services > Add Integration > RoomMind
Manual
- Copy
custom_components/roommind/to yourconfig/custom_components/directory - Restart Home Assistant
- Go to Settings > Devices & Services > Add Integration > RoomMind
Quick Start
After installation, RoomMind appears as a panel in the HA sidebar.
- Open RoomMind from the sidebar - you'll see all your HA areas as room cards
- Click a room card to open the detail view
- Add devices - assign at least one thermostat or AC (
climate.*entity) - Add a temperature sensor (optional but recommended) - enables Full Control with proportional valve control
- Add a schedule - create a
schedule.*helper in HA and assign it - Set temperatures - configure comfort (schedule on) and eco (schedule off) temperatures
RoomMind starts controlling immediately. If MPC is enabled (default), the thermal model begins learning in the background.
Analytics

Select a room and time range (24h / 7d / 30d / 90d / custom) to view temperature history, heating/cooling power, solar irradiance, and model predictions. Export as CSV or diagnostics report.
How It Works
Target Temperature Priority
Manual Override > Vacation > Presence Away > Schedule Block > Comfort / Eco (+Mold Delta)
Full Control vs. Managed Mode
An external temperature sensor is really where RoomMind starts to shine. It is the single most impactful addition for any room, unlocking the full potential of the thermal model, MPC optimization, and proportional device control.
| | Full Control | Managed Mode | |---|---|---| | When | External temperature sensor assigned | No external sensor | | How | RoomMind decides heating/cooling/idle | Device self-regulates | | Setpoints | Proportional boost (e.g. 28°C to force heating at 80% power) | Exact target sent to device | | Thermal model | EKF learns room behavior, MPC optimizes | No learning, no optimization |
In Full Control, RoomMind dynamically calculates device setpoints based on MPC power output. Instead of sending 22°C to a TRV or AC, it might send 28°C to force the device to heat at full capacity. This solves common issues where devices with inaccurate internal sensors or built-in deadbands refuse to turn on. Each room shows its current mode ("Full Control" or "Managed") in the detail view.
MPC Climate Control
The Extended Kalman Filter observes temperature changes and learns each room's heat loss rate, heating/cooling power, and solar responsiveness. Once calibrated (prediction accuracy < 0.5 C), the MPC optimizer plans ahead and calculates proportional power for smoother control.
Until calibrated (~60 idle + ~20 active samples), RoomMind falls back to simple on/off control with hysteresis.
Entities Created
| Entity | Description |
|--------|-------------|
| sensor.roommind_{area_id}_target_temp | Current target temperature |
| sensor.roommind_{area_id}_mode | Current mode: idle, heating, or cooling |
These can be used in HA automations, dashboards, or other integrations.
Troubleshooting
MPC shows "learning" for a long time - The model needs ~60 idle and ~20 heating/cooling observations. This can take a few days for rooms that heat rarely. Check progress in the Analytics tab.
Room not heating/cooling when expected - Check outdoor gating thresholds in Settings > Control. Default: no cooling below 16 C, no heating above 22 C.
Thermal model seems wrong after room changes - If you've changed insulation, radiators, or moved sensors, reset the model in Settings > Reset Thermal Data.
Frontend not updating after update - Hard-refresh: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows/Linux).
Requirements
- Home Assistant 2026.2+
- At least one HA area with a
climate.*entity - Optional: temperature sensor, humidity sensor, window sensors, weather entity, schedule helpers, person entities
No cloud services required - everything runs locally.
License
MIT - Copyright (c) 2026 SnazzyBean
