How it works, and how to set it up
The first post says what the app does. This one says how, and how to live with it.
How much heat does this room need?
Every few seconds the app asks each thermostat that single question. The answer is one number, between 0 and 100%. It comes from two terms:
- the gap between the room and your setpoint, times the indoor coefficient
- the gap between your setpoint and outdoors, times the outdoor coefficient — this one anticipates how fast the room loses heat, and it only exists if you gave the app an outdoor sensor
Where that number goes
A valve driven by its opening — the number is the opening
A plain switch — the number becomes time: 30% of a ten-minute cycle is 3 minutes on and 7 off
A heater you give a temperature to — the one case that number does not drive
That last case runs a second regulator: a PI loop that watches the error accumulate over time and adds an offset to your setpoint. The app then asks for more than you did while the room is behind, which is what stops the heater’s own valve from closing early.
It needs an outdoor sensor, and it comes in five strengths from slow to strong, plus off, in the advanced settings.
And then the boiler
The app does not ask the calculation whether a room wants heat. It looks at what the emitter is actually doing — the valve’s real opening, the relay’s real state, or what the heater reports about itself.
That is added up across every room, and your boiler relay follows.
What overrides what
When several things could decide the temperature, the first one that applies wins:
- Off — the device is switched off. Frost protection setpoint, valve closed, switch cut
- Central mode — everything off, heating only, or frost protection, for the whole home
- Open window — detected and confirmed
- Safety — the room sensor has gone quiet
- Away — nobody home, presets use their away temperature
- Activity — motion decides between two presets
- The preset you chose
The Status field on the tile shows which one is currently in charge. Your selected preset never changes on its own — only what the thermostat aims for.
Setting it up
One thermostat per room:
- Add device
Adaptive Thermostat
Thermostat - Pick the room sensor — the thermometer that reads the temperature you care about.
Not the one inside the radiator valve: that one reads the radiator - Pick what heats that room
- Optional sources — outdoor temperature, window contact, motion, presence. Every one of them can stay empty
Then, once for the whole home, the Boiler device. That is where you point at the switch that starts your boiler. It also carries the central mode — everything off, heating only, or frost protection — which applies to every thermostat.
If you heat only with electric radiators and never want that home-wide switch, you can skip it.
Day to day
Presets are the intended way to drive it — set the preset, not the temperature.
From a Flow you can set a preset, set one for a duration (Boost for 45 minutes, then it returns on its own — and that survives an app restart), set a temperature, force presence, or tell a room to ignore its window sensor for a while.
To change which devices a thermostat uses, once it exists: Homey
Settings
Apps
Adaptive Thermostat
Thermostats tab. Every source is changeable there and takes effect immediately.
A device that no longer exists is flagged in red — which is what happens when a Zigbee device is re-paired and comes back with a new identity.
Tuning, if you need it
The defaults suit a normally insulated room. Change one thing at a time, and give it a day.
| Symptom | What to do |
|---|---|
| Never reaches the setpoint at steady state | Raise the outdoor coefficient |
| Overshoots at steady state | Lower the outdoor coefficient |
| Warms up too slowly | Raise the indoor coefficient |
| Oscillates around the setpoint | Lower the indoor coefficient |
Those two coefficients drive the power number, so they are the right lever on a valve or a switch. On a heater you give a temperature to, the power number is only a display — there the lever is the self-regulation strength. Start at slow, and move up a step only if the room keeps sitting below its target.
The recalculation period matters too: five minutes suits a radiator, fifteen to thirty a floor heating loop or a slow boiler circuit.
Every group of device settings carries its own explanation, right in the page.
The Zigbee2MQTT backend
Optional, and only useful if your valves come from Zigbee2MQTT. Second tab of the app settings: broker address, port, credentials, base topic.
The test button distinguishes four cases — connection refused, bad credentials, connected but wrong base topic, or connected and seeing N devices.
It unlocks two things:
- valve opening driven directly, rather than only a setpoint
- the real room temperature pushed into the valve, so it stops regulating on its own thermometer — the single biggest improvement for a TRV
When something is wrong
A room is cold and the tile says heating — open the device settings, Linked devices. If a source says the device no longer exists, re-point it from the app settings
A sensor warning appears — the battery is probably dead. The app keeps a minimum going for 24 hours, then gives up rather than run your boiler for days on a dead reading. Replace the battery and it resumes on its own
The boiler will not start — the Boiler device shows how many emitters are calling for heat. If that is zero while a room is cold, the room is not asking: look at that room’s power percentage
Anything else — the app has a diagnostics endpoint that reports exactly what it sees. Ask here and I will explain how to read it; it usually settles a question in one round trip




