Multizone Thermostat v3: Smart PID, PWM & Geofencing (100% UI / No YAML)

Hi everyone!

Quick update: in the newly published v5.0.1 release on GitHub / HACS, I’ve added native support for proportional valves, 0-10V modules, and actuators with direct opening percentage control.

How it works:

The zone configuration and options flow has now been reorganized into clean collapsible accordion sections to keep things simple:

  1. Under the “Proportional & 0-10V Valves” section, you can directly select the entity that controls the valve position (both native valve entities and number / input_number entities are supported).
  2. You can configure your output scaling:
    • Percentage (0–100%): ideal for TRVs with direct pin/position control or Shelly/Wi-Fi dimmers that accept percentage values.
    • Voltage (0.0–10.0 V): if your hardware DAC/driver operates directly in Volts (the demand percentage calculated by the PID is linearly scaled from 0V to 10V).
  3. It includes an integrated deadband mechanism to avoid flooding your Zigbee/Z-Wave/Wi-Fi network with high-frequency micro-jitter, and safely forces the valve closed (0V / 0%) whenever the zone is turned OFF or put into bypass (e.g. window opened).

:warning: Important Note:
The control logic and service calls are covered by our automated test suite and should work as intended, but I don’t personally own physical 0-10V hardware in my test setup to test it in real-world conditions.

If anyone running this type of hardware has a chance to try it out, any feedback, real-world testing, or reports would be greatly appreciated to help refine the feature and grow the integration!

Let me know how it goes! :rocket:

Thanks. Once the thermostat setup is complete, I’ll try the 0–10V control.
A couple more requests:
Could you provide two OpenTherm options?

  1. Standard.
  2. Climate-based: we select the climate mode, while all necessary sensors and status data are pulled from HA.

Hi @serv2002,
Thanks for the feedback and for offering to test the 0–10V control!

Regarding OpenTherm: under the hood, Multizone actually already handles both approaches, but having everything grouped into a single selection field in the setup flow can definitely be confusing.

Right now, you can already pick a climate entity directly in the OpenTherm entity field: the integration detects the domain and automatically handles modulation via climate.set_temperature as well as ON/OFF switching via climate.set_hvac_mode. If you select a number entity instead, it operates in standard mode controlling the flow setpoint alongside the optional heating switch.

In the upcoming update, we’ll explicitly separate these two paths in the configuration wizard:

  • Standard: for setups using separate entities (number for the flow setpoint + switch for central heating).
  • Climate-based: where you simply select the climate entity, and Multizone takes care of both controlling it and pulling status data (flame state, DHW production, etc.) directly from its attributes.

Thanks for the suggestion!

Good afternoon.
In the instructions:
OpenTherm Telemetry, Fault Codes & DHW Priority
When OpenTherm mode is enabled, the integration does more than just modulate water temperature — it turns Home Assistant into a boiler supervision station:

Telemetry Auto-Discovery
The integration automatically queries the OpenTherm gateway and exposes:

Water Pressure (water_pressure): Measured in Bar. The diagnostic supervisor alerts if water pressure drops below 0.8 Bar (low circuit pressure warning).
Return Temperature (return_temperature): Flow and return temperature monitoring allows calculating the exact
Δ
T
of the hydraulic distribution system.
Flame Active (flame_active): Real-time binary indicator showing whether the burner flame is physically ignited.
Modulation Level (modulation_level): Current burner modulation percentage (0-100%).
Boiler Fault Code (fault_code): Direct capture of boiler error codes transmitted over the OpenTherm bus, eliminating the need to physically check the boiler panel.

Make it possible to manually select these sensors from the HA