Adaptive Thermostat — any sensor. any heater. real regulation.
Turn any temperature sensor and any heater into a thermostat that actually regulates.
A radiator valve measures the radiator, not the room — it reads warm and closes too early. A simple thermostat switches fully on and fully off, so the room swings around the setpoint instead of settling on it.
This app puts a real proportional regulator between a sensor that measures the temperature you care about, and a heater that has no idea where it is.
Pick the sensor in the room. Pick what heats that room.
That is the whole setup.
Available in the App Store
What it does
Proportional regulation, not on/off — it works out how much heat the room needs, and corrects what it sends to your heater, continuously
Three kinds of heater — anything with a target temperature, a radiator valve driven by its opening, or a plain switch, where the power becomes time: 30% of a ten-minute cycle is 3 minutes on and 7 off
Presets — frost protection, eco, comfort, boost, manual. Each with its own temperature, and its own away temperature
Open window detection — from a contact sensor, or from a sudden drop in temperature, with a delay so a ten-second airing does not count
Presence and motion — nobody home, and every preset falls back to its away temperature. In a single room, motion can switch between two presets on its own
Central boiler control — it counts how many rooms are calling for heat and starts your boiler when enough of them are. Never switched twice within a minute, and never delayed on the way off: a boiler running against closed valves builds pressure
Dead sensor safety — a Flow card fires when the room sensor goes quiet, and a safety mode keeps a minimum going until it comes back. That is the warning you want when a battery dies in January
Requirements
Homey Pro — the app reads and controls the devices you point it at, which needs an API permission Homey Cloud does not offer
A temperature sensor and a heater — from any app. Zigbee, Z-Wave, Wi-Fi, it does not matter
Optional, and each one the app has makes it better: a contact sensor, a motion sensor, a presence sensor, an outdoor temperature sensor, and a switch that starts your boiler. None of them is required.
Going further with Zigbee2MQTT
If your valves are exposed through Zigbee2MQTT, give the app access to the same broker in its settings. It then:
- drives valve opening directly, instead of only sending a setpoint
- pushes the real room temperature into the valve, so it stops regulating on its own thermometer
There is a test button that tells you exactly what is wrong when the connection fails. Without this, the app still works in full — it simply sends setpoints.
What is not in this version
No load shedding by power, and no predictive auto start/stop. Both exist in Versatile Thermostat; neither matched hardware I could test against, and I am not shipping heating logic I have not run
No cooling mode
Valves exposed only as a number, without a climate entity
Languages
English
French
Dutch
Credits ![]()
This app owes its existence to Versatile Thermostat, the Home Assistant integration by Jean-Marc Collin.
The regulation algorithms are ported from it, under its MIT licence: the TPI proportional algorithm, the PI self-regulation modes and their coefficients, the slope-based window detection, and the central boiler aggregation. Reading that code is what made a faithful port possible at all — thank you for writing it, and for publishing it openly.
This is an independent implementation for Homey. It does not connect to, and does not require, Home Assistant. Any bug here is mine, not Versatile Thermostat’s.
Feedback welcome ![]()
Running on my own Homey Pro against five Sonoff TRVZB valves, SNZB-02 sensors, a gas boiler relay and an electric radiator on a smart plug. The full chain — sensor, regulation, valve, aggregated demand, boiler relay — has been verified end to end on that installation, including the return to idle.
What it has not seen yet is a real heating day: it went into service in August. The default coefficients suit a normally insulated room. If yours oscillates around the setpoint, or never reaches it, say so here — the settings explain which coefficient to move and in which direction.
The app also has a diagnostics endpoint that reports exactly what it sees, which usually settles a problem in one round trip.




