Quick Summary (TL;DR)
OpenTherm, Modbus and dry contact are not competing versions of the same thermostat connection. They provide three different levels of communication. OpenTherm is a two-way digital heating-control protocol widely used with compatible boilers; Modbus is a general industrial data protocol that can expose dozens of appliance-specific readings and controls; a dry contact is an electrical switching interface that usually communicates only demand or permission, not temperatures and modulation commands.
- Choose OpenTherm when both the specific boiler and thermostat or approved gateway support it and you want documented modulation and diagnostic visibility. It does not automatically work with every boiler or expose every possible value.
- Choose Modbus when the heating equipment or its approved interface documents a usable Modbus RTU or TCP register map, particularly for heat-pump monitoring and supervised setpoint adjustments. A Modbus socket without a register map is not a useful integration.
- Choose a dry-contact interface when the manufacturer calls for a simple heat-demand, enable, external-block or alarm contact. It is often the least complex interface, but gives little feedback and does not directly request burner or compressor modulation.
- For Home Assistant: prefer a supported manufacturer integration before manual register configuration, preserve the appliance’s native safety controls and ensure a local fallback if your smart-home server is offline.
- Safety: do not infer the voltage on a terminal from its label. OpenTherm and Modbus connections must not be connected to a random relay, and even an input intended for a volt-free switch may be connected internally to hazardous voltage. Installation and verification belong to a qualified professional.
The practical recommendation is to buy the heating appliance and its supported control architecture together. A properly commissioned weather-compensated heat pump with a modest supervisory Home Assistant connection can be more reliable than a “fully controllable” configuration that fights its compressor management. Likewise, a correctly supported boiler modulating thermostat is preferable to forcing a generic relay into terminals intended for a digital bus.
The fundamental difference: demand, modulation and telemetry
A heating system has several different jobs: decide whether a room needs heat; select water temperature or heat output; run pumps, valves and domestic hot water; and protect the appliance. Smart-home product listings sometimes collapse all of these into one claim such as “supports smart thermostat”. That phrase can mean anything from closing a contact to reading a hundred parameters. Before you compare gateways, identify which action you actually need.
A heat-demand input is usually a yes/no request: the controller asks for space heating, and the appliance decides how to achieve it. A modulating control link can convey a changing target or operating request; the heating appliance still applies its limits and may reduce or refuse the request. A telemetry link lets you observe temperatures, energy, status and faults. An appliance may offer separate physical connectors for each of these roles, and a single digital protocol may not make every capability available.
| Question | Dry contact | OpenTherm | Modbus RTU / TCP |
|---|---|---|---|
| Primary purpose | Binary demand, permission or alarm | Digital heating controller-to-appliance communications | General read/write registers and device status |
| Typical command | Contact open or closed | CH enable and supported temperature/setpoint requests | Model-specific register or coil request |
| Temperature feedback | Not from the contact itself | Possible where boiler/controller implement messages | Possible where documented registers exist |
| Modulation directly commanded? | No | Potentially, via supported digital requests | Potentially, if supported setpoint or control registers exist |
| Electrical/network medium | Physical pair to a manufacturer-defined input | Dedicated OpenTherm two-wire bus with appropriate interface | RS-485 serial for RTU; Ethernet/IP for TCP |
| Compatibility assumption | Contact type and input voltage must match | Both endpoints must implement compatible OpenTherm features | Transport, function codes, register map and permissions must match |
| Most common fit | Basic boiler demand or heat-pump external enable | Supported modulating gas boiler + thermostat | Documented heat pump, plant controller or energy-management gateway |
| Best integration posture | Local controller, certified relay interface | Approved gateway/controller, compatible bus | Read-only first; limited approved writes after validation |
The word Modbus coil adds a common source of confusion. In Modbus, a coil is a one-bit data object that a device may let you read or write; it is not necessarily a physical relay or a boiler thermostat input. Similarly, a “two-wire” connector does not identify OpenTherm: RS-485 also often uses a pair, but with completely different signalling and electrical requirements.
OpenTherm: a digital link between a boiler and its controller
OpenTherm is intended for communications between a central-heating appliance and a controller. Rather than merely telling the boiler “heat required”, a compatible controller can exchange requests and measurements. This lets a modulating boiler and a suitable thermostat coordinate changing demand more smoothly than a plain on/off demand signal, but the exact behaviour depends on the appliance, controller, hydraulic setup and messages actually supported. See the Viessmann OpenTherm explanation for a manufacturer view of modulation and compatibility.
OpenTherm is not a universal promise that every third-party thermostat will implement every feature. Two products advertised as OpenTherm-capable may still expose different optional information or require installer configuration. A boiler may offer OpenTherm on one model, a proprietary digital bus on another and only switched-demand terminals on a third. Treat the precise model number, country variant and manual—not brand reputation—as authoritative.
| OpenTherm capability | What it may enable | Why the qualification matters |
|---|---|---|
| CH demand and setpoint | Controller requests space heating and a water-temperature target | An appliance can cap, reinterpret or ignore requests outside its operating limits |
| Boiler flow-temperature telemetry | Monitoring of delivered or requested water temperatures | Not all values are guaranteed or exposed in every gateway |
| Burner/flame and modulation status | Diagnostics and understanding cycling | Availability depends on boiler messages and integration mapping |
| DHW mode and status | Some boilers report hot-water demand or status | Hot-water controls and safety remain product-specific |
| Faults and warnings | More context than a binary call-for-heat relay | Diagnostic codes require manufacturer interpretation |
| Room temperature | Depending on controller, actual/target room values | Do not assume the boiler itself knows every zone temperature |
OpenTherm bus is not a pair of relay terminals
The OpenTherm bus uses a dedicated signalling method and requires a compatible interface circuit. Even though it is commonly described as two-wire, do not use it like a dry-contact thermostat input, put mains voltage onto it or connect it directly to an ESP32AliExpress price GPIO. The ESPHome OpenTherm documentation explicitly says dedicated hardware is needed because OpenTherm is not a standard microcontroller voltage interface.
There is an additional integration trap. ESPHome’s OpenTherm component is currently a master controller, not a transparent in-line slave or gateway. If you use that particular implementation to control a boiler, your existing thermostat is not simultaneously operating as before. A dedicated OpenTherm Gateway integration is a different architecture and may be appropriate when keeping a thermostat is part of the goal. The official Home Assistant OpenTherm Gateway integration documents the supported gateway and entities; this is not interchangeable with the ESPHome master component.
If your goal is to learn about the hardware and integration in detail, our existing OpenTherm Gateway with ESP32 and Home Assistant article covers that narrower project. The present comparison is about which type of control to select, not a substitute for approved installation instructions.
Modbus: powerful access, but the register map is everything
Modbus is a request-response communication protocol common in automation and building equipment. Heat pumps, buffer controllers, ventilation units, energy meters and hybrid energy systems sometimes offer Modbus as a supported interface. Modbus RTU commonly communicates over an RS-485 physical network; Modbus TCP communicates across an Ethernet/IP network. Both are local when the interface is physically local and accessible, but neither guarantees that a particular parameter can be read or changed.
A Modbus device organises information as coils, discrete inputs, input registers and holding registers. A heating manufacturer decides what those objects mean, how numbers are scaled, which unit IDs are used and whether writes are permitted. The same register number can represent an outdoor temperature on one model, a pump-speed limit on another and something entirely different on a third. Never copy a configuration from another appliance just because the two products speak Modbus.
| Modbus data object | Common access | Example heating use | Important caveat |
|---|---|---|---|
| Discrete input | Read only, one bit | Compressor running, alarm active | Actual definition from manufacturer |
| Coil | Often read/write, one bit | Supported remote-enable command | A data coil is not automatically an electrical relay |
| Input register | Read only, typically 16-bit word | Measured flow temperature | Scale, sign and units are device-specific |
| Holding register | Typically readable and writable | Allowed target temperature or mode | May be limited by firmware or installer permissions |
Three Modbus mistakes worth avoiding
- Address offsets. Many manuals label the first holding register 40001, but Home Assistant may expect address 0. Confirm the manufacturer’s zero-/one-based notation rather than blindly copying the printed address.
- Data encoding. Signed values, decimal scaling, endianness, multi-register 32-bit numbers and missing-value sentinels can turn plausible numbers into nonsense. For example, a raw 425 might represent 42.5°C with a 0.1 scale—only if the device’s register specification says so.
- Control authority. A register marked writable may require an enable mode or be periodically overwritten by the appliance’s own controller. Just because Home Assistant can issue a write does not mean it should.
Home Assistant’s official Modbus integration supports device-specific integrations and manual entity configuration. It recommends looking for a suitable vendor-specific integration first, because a maintained integration can encode the register map and expected behaviour more safely than a hand-built list. The documentation also covers Modbus RTU, TCP and other transport options. It is not necessary to expose raw Modbus to the internet.
For example, NIBE publishes technical information for Modbus on its S-series, describing available registers and operating constraints. This is the kind of model-specific material to request before purchasing a gateway or promising a control feature. It is not proof that a different NIBE series, another brand or an older firmware revision uses identical registers.
Dry contact: simple electrical demand, not a data protocol
A dry contact is a switch contact with no voltage source of its own; it is also described as volt-free or potential-free. The term describes the contact side of the switch, not the voltage present at the connected appliance terminals. On a heating installation, a manufacturer may use a contact to indicate call for heat, external stop, remote enable, changeover or alarm acknowledgement. Some of these inputs operate in opposite logic, and their action on heating versus hot water can differ.
A contact gives you a very limited communications channel: one electrical state, usually open or closed. It cannot, by itself, report flow temperature, explain a burner lockout or command a specific modulation percentage. Nevertheless, this simplicity is attractive for a basic thermostat connection, an externally approved enable function or a supplementary interlock that leaves the native controller in charge.
| Label or concept | What it usually refers to | What must be verified |
|---|---|---|
| COM / NO / NC on a relay | Common, normally open, normally closed contact terminals | Electrical rating, isolation and intended fail state |
| RT / TA / room thermostat on appliance | Potentially a space-heating demand input | Exact wiring function and voltage in the model-specific manual |
| External enable | Permission for appliance operation | Whether open means disabled or enabled; DHW/frost implications |
| External block | Inhibit signal, sometimes for tariff or demand management | Whether it may block defrost, freeze protection or hot water |
| Alarm contact | Status output from an appliance | Do not mistake output for a demand input |
| Modbus coil | Software bit in a digital register space | Not a physical dry contact unless explicitly mapped to hardware |
A volt-free relay does not make arbitrary wiring safe. The boiler’s terminal may be internally supplied with mains voltage, extra-low voltage or a proprietary signal. Connecting that point to an unsuitable smart relayAliExpress price can destroy the appliance, create an electric-shock risk or defeat intended protections. In the UK and elsewhere, heating and electrical controls must be fitted and tested under applicable regulations, with work on gas-appliance internals handled by appropriately qualified personnel. This article intentionally does not show jumper positions, live-terminal wiring or bypasses.
Which interface is best for a gas boiler?
A modern condensing gas boiler may offer a supported OpenTherm connection, its maker’s proprietary modulating bus, a simple thermostat demand input, or a combination. For the basic question “will heat be produced when the room is cold?”, a correct dry-contact demand can be sufficient. For better modulation and insight, a genuinely compatible OpenTherm or native modulating controller may be preferable—but the boiler may already vary burner output under internal control even with an on/off demand. On/off contact control does not mean the burner itself can only run at one power. It means the external thermostat cannot send nuanced demand through that contact.
Consider a house where the only available external input is an on/off thermostat contact. A smart thermostat could reduce the room target at night and restore demand in the morning. The boiler still manages its own flow-temperature and combustion limits. Replace the thermostat with a supported OpenTherm controller, and the system may additionally request changing flow temperatures and show more status. If the boiler instead uses a proprietary digital bus, connecting an OpenTherm thermostat is not a sensible experiment; check the officially supported accessory.
| Boiler situation | Usually sensible control choice | Reason |
|---|---|---|
| Manufacturer confirms OpenTherm on exact model | Approved OpenTherm thermostat or gateway | Provides digital control and possible telemetry |
| Only switched-demand interface documented | Approved thermostat relay interface | Reliable binary demand without undocumented bus work |
| Proprietary modulating controller supplied | Preserve native controller; check approved monitoring gateway | Avoid losing compensation, diagnostics and support |
| Several heating zones | Manufacturer-approved zone controller and hydraulic logic | Zone requests alone do not solve minimum flow and short cycling |
| User wants better diagnostics, not new control | Approved read-only gateway if offered | Lower intervention and commissioning risk |
If the appliance has both a simple thermostat input and a modulating bus, do not assume they are meant to be used simultaneously. The manufacturer may require one to be inactive while the other is in service. The installer must confirm arbitration and safe operation of space heating and domestic hot water.
Which interface is best for an air-to-water heat pump?
A heat pump’s operation is often governed by an integrated controller combining outdoor temperature, weather-compensated water-temperature targets, compressor frequency, defrost strategy, hot-water production, circulation pumps, valves and backup heating. Unlike a straightforward boiler request, a heating-demand change can interact with minimum run times and minimum water-flow requirements. For this reason, the most capable smart-home design is not necessarily the one with the most writeable entities.
Modbus or a supported manufacturer API is usually the more promising route for detailed monitoring when it is officially provided on the selected heat pump. A manufacturer may expose operating mode, flow/return temperatures, outdoor temperature, electrical power, compressor state or an allowed room target. Other models expose only read-only counters. Verify capabilities before purchase. A simple dry-contact input may still be useful as a manufacturer-approved external permission or heating-demand signal, but it should not become a crude on/off timer that cycles the compressor unnecessarily.
Be cautious with phrases such as “supports a smart thermostat”. Some heat-pump installations have a built-in room sensor and native weather-compensation curve; a third-party thermostat is intended only as an upper-limit demand or supervisory influence. Others accept a specific thermostat gateway. A generic relay that repeatedly cuts heat calls can reduce comfort and performance even if the electrical connection is technically supported.
| Heat-pump goal | Preferred starting point | Why |
|---|---|---|
| Monitor flow, return and outdoor temperature | Official local Modbus or vendor API, if documented | Provides data without changing the control law |
| Track electricity and COP | Native data plus independent electrical and heat measurements as needed | A temperature register does not measure delivered thermal energy |
| Adjust comfort target slightly | Manufacturer-supported room/curve offset | Works with weather compensation and native limits |
| Take advantage of cheap electricity | Approved tariff/SG-ready or energy-management mode | Avoids excessive compressor cycling and override conflicts |
| Manage several zones | Installer-approved hydraulic and zone controls | Protects minimum flow and operating volume |
| Internet-independent heating | Retain native controller and tested fallback | Smart-home outages should not become heating failures |
You can compare commercially supported local options and cloud dependence in our heat-pump integration series; as a general rule, prioritise documented model-and-gateway compatibility, strong local monitoring and after-sales installer support ahead of hypothetical automation sophistication.
OpenTherm vs Modbus vs dry contact in Home Assistant
Home Assistant can interact with all three approaches, but not through the same setup path. The actual entity types and supported operations depend on your chosen bridge. A thermostat UI is not evidence that the underlying protocol sends room-temperature targets to the appliance: a climate entity may be a software thermostat switching a binary relay, an OpenTherm gateway communicating with a boiler or a Modbus integration reading and writing registers.
| Home Assistant method | What it needs | Typical entities | Primary limitation |
|---|---|---|---|
| OpenTherm Gateway integration | Supported physical OpenTherm Gateway, compatible boiler/thermostat | Climate, sensors, binary sensors; some may start disabled | Gateway type, polling and supported messages |
| ESPHome OpenTherm master | Special OpenTherm adapter and approved design | Controller setpoints and boiler sensors | Acts as master; not a transparent pass-through to existing thermostat |
| Modbus device-specific integration | Compatible supported meter/heat pump gateway | Sensors, switches, climate depending on integration | Capabilities depend on device model and register map |
| Manual Home Assistant Modbus | Reachable RTU/TCP endpoint and official register specification | Explicitly configured read/write entities | Manual scales, addresses, safety constraints and updates |
| Generic Thermostat + approved relay | Room temperature sensorAliExpress price and safe switch entity | Climate entity commanding a switch | Only on/off demand; relies on HA unless local fallback exists |
| Native manufacturer integration | Supported controller or vendor cloud/local API | Varies: status, temperatures, modes, controls | Can be cloud-based, restricted or changed by firmware |
Generic Thermostat does not turn a relay into OpenTherm
Home Assistant’s Generic Thermostat uses a temperature sensorAliExpress price and a switch to provide on/off thermostat behaviour. It can include hysteresis and cycle timing features; it does not add digital modulation to a relay-connected appliance. The room-sensor and switch states also need a documented recovery strategy when sensors become unavailable or Home Assistant restarts. Avoid using generic thermostat logic as a replacement for frost protection or manufacturer safety functions.
Gateway placement and ownership
In a robust arrangement, the appliance controller remains the authority for combustion or compressor management, water temperatures, pumps and protective limits. Home Assistant may request a room target or operating mode and read values for dashboards. OpenTherm commonly positions a digital heating controller on the boiler’s bus; Modbus generally exposes a separate automation interface; a dry contact represents an external permission/demand. These are not just three cable types to connect to the same Arduino sketch.
A real buying checklist for gateways and smart thermostats
Before ordering an ESP32AliExpress price gateway, RS-485 converter, DIN-rail module, smart relay or connected thermostat, get the exact manufacturer manuals and ask the installer to answer these questions. The checklist prevents costly purchases that turn out to have the right connector but the wrong protocol, voltage or permissions.
- Exact model and variant: note the boiler or heat-pump model code, controller board revision, installation country and firmware where applicable.
- Interface identified: is the supported connector specifically OpenTherm, Modbus RTU, Modbus TCP, proprietary digital bus or a contact input? A “two-wire” label is not enough.
- Documented supported features: list the actual information you want—flow temperature, heat demand, fault status, operating mode and heat-output or energy data.
- Approved electrical interface: for contacts, verify the appliance input type, voltage, circuit isolation, contact rating and expected open/closed logic; for digital buses, use approved protocol hardware.
- Existing controller coexistence: determine whether the gateway monitors, replaces, or competes with an existing thermostat or heat-pump manager.
- Local versus cloud: check whether the basic system still operates on loss of internet, Wi-Fi and Home Assistant; document the fallback setpoint.
- Read-only first: confirm telemetry is valid before enabling any remote setpoint/mode writes; keep installer protections untouched.
- Service, warranty and updates: establish who supports gateway firmware, security, spare parts and manufacturer commissioning after an upgrade.
| Potential purchase | Check before buying | Common wrong assumption |
|---|---|---|
| OpenTherm interface/bridge | Approved boiler, bus role (master vs gateway) and supported messages | All two-wire boiler terminals accept OpenTherm |
| RS-485 USB/LAN gateway | Supported Modbus RTU, parity, termination responsibility, device register docs | RS-485 physical support means Modbus is available |
| Modbus TCP gateway | Device model, network function, register access and local security | An Ethernet port always has a writable Modbus server |
| Isolated smart relay | Contact type, electrical rating, safe appliance input and independent fallback | “Dry contact” always means no voltage anywhere |
| Smart thermostat | Same modulating or demand protocol as the appliance, including region variant | Thermostat works with all brands because it has Wi-Fi |
| Separate energy meter | Correctly specified electrical measurement point and HA support | Boiler telemetry is the same as measured heat or electricity |
How much data can you actually get?
The number of available entities is not a useful metric unless they are understood. For example, one Modbus heat pump might expose a meaningful compressor run-hours counter and electrical power. Another may expose a hundred registers for service diagnostics but no independently measured energy. Similarly, an OpenTherm integration may show requested setpoint and burner status while omitting gas consumption, and a dry-contact thermostat may report whether it is requesting heat but nothing about whether the burner actually fired.
A useful monitoring plan separates demand from action and energy. A thermostat call for heat is demand; a compressor-running state is equipment action; electricity or gas consumption is energy input. To estimate heat-pump COP you need credible delivered heat output over a defined time interval and matching electrical input—not simply a flow-temperature sensor and a presumed water flow. For gas boilers, a burner-modulation percentage is not a calibrated gas-meter reading.
| Question | Useful observation | Interpretation trap |
|---|---|---|
| Is the room asking for heat? | Thermostat demand / target and actual room temperature | Demand does not prove appliance output |
| Is the boiler firing? | Manufacturer burner/flame status | Firing time does not directly equal fuel energy |
| Is the heat pump operating? | Compressor mode/status and relevant temperature trend | Defrost and hot-water modes can look like faults |
| Is the water setpoint sensible? | Requested and actual flow temperature, outdoor conditions | Heating curve affects the target; not every rise is a malfunction |
| How much did heating cost? | Metered gas/electric input over matching time window | A protocol status entity alone is not an energy meter |
| Is measured COP credible? | Measured heat-output kWh divided by matched electric kWh | Approximate water flow or temperature difference can badly distort COP |
Reliability, fail-safe behaviour and cybersecurity
A heating system is infrastructure, not merely another dashboard widget. An automation that can switch its heating demand off is useful when it works and a problem when the internet drops on the coldest night. Define the recovery behaviour before commissioning. The basic heat source should retain its manufacturer safety functions—frost protection, overtemperature limits, pressure/flow protection, combustion safety, defrost, anti-legionella/hot-water hygiene where applicable and fault handling—whether Home Assistant is online or not.
For a dry-contact arrangement, determine what happens when the relay loses power, the microcontroller reboots, the temperature sensor becomes unavailable and Home Assistant stops sending updates. Failing “closed” may cause unnecessary heat and failing “open” may cause no room-heating demand. Neither default is universally correct; it must follow the system design and the appliance’s permitted interface. A heat pump external stop function may have implications beyond simple room comfort, so do not treat it as an emergency switch.
For OpenTherm, determine whether your gateway is a transparent monitor, an active replacement for the original controller, or an intermediary. If the gateway itself goes offline, the controller/boiler path may behave differently in each arrangement. Home Assistant’s OpenTherm Gateway integration notes that the bus is polled, so settings can take time to appear. Avoid rapid feedback loops that assume every command is instantaneous.
For Modbus TCP, put the device on a properly secured local network or segmented building-automation network. Traditional Modbus TCP does not by itself provide the authentication and encryption expected of internet-facing services. Do not forward port 502 (or your vendor’s Modbus port) to the public internet, and keep unnecessary remote writes disabled. Use a VPN or approved remote-access architecture if remote administration is genuinely needed. For RTU networks, electrical installation, common-mode voltage, grounding and bus termination also require proper engineering.
- Define authority: only one controller should own the changing demand or comfort setpoint; other systems can observe or request documented mode changes.
- Use hysteresis and minimum dwell times: avoid relays or automation rules that rapidly flip a heat request with every fractional temperature update.
- Apply sensible ranges: constrain any exposed setpoint to the appliance’s supported operating conditions, especially for radiators and underfloor heating.
- Prefer manufacturer fallback: keep the native controller and protective functions independent of app services, cloud connections and local automation.
- Log changes: record controller requests, actual equipment states, errors, firmware changes and communication loss; these help distinguish failures from expected defrost/hot-water cycles.
Worked decisions: three homes, three different answers
Scenario A: a gas boiler with confirmed OpenTherm support
The owner wants lower flow temperatures and useful diagnostics, while keeping a familiar room thermostat. The correct first check is the exact boiler and thermostat compatibility matrix, not buying a Wi-Fi relay. If an approved OpenTherm thermostat is available, it may provide a modulating request and status values. If adding Home Assistant monitoring, a supported OpenTherm Gateway may preserve the thermostat architecture in a way a standalone ESPHome master does not. The installer still checks domestic hot-water operation, scheduling and native safety behaviour.
Scenario B: a modern heat pump with documented Modbus TCP
The owner wants to monitor outdoor temperature, flow/return temperature, operating modes and power without disturbing weather compensation. A documented vendor interface or suitable Home Assistant device integration is a reasonable starting point. Set it up read-only, compare values with the appliance display under steady operation, and record polling intervals. Only after reviewing the vendor’s register permissions and installed system design should an installer-approved comfort target or tariff window be considered for write access.
Scenario C: an older boiler with only a room-thermostat contact
The owner wants a low-cost smart schedule and room sensing. An appropriately rated and approved switching thermostat can be adequate; expensive Modbus hardware adds no value when the appliance exposes no digital interface. A Home Assistant Generic Thermostat can manage a safe, approved relay and temperature sensor, but a robust independent fallback is important. No relay or ESP32 GPIO should be connected to the boiler before a qualified installer verifies the contact function, input electrical conditions and applicable standards.
Common problems and what they actually mean
| Symptom | Likely explanation | Safe next check |
|---|---|---|
| OpenTherm device sees no boiler | Unsupported mode, incorrect compatible bus setup or fault | Verify model documentation and installer commissioning status; do not bridge terminals |
| OpenTherm readings work, modulation not visible | Optional messages, boiler internal limits or controller behaviour | Check appliance support and operating conditions before assuming gateway failure |
| ESPHome master and original thermostat conflict | Two controllers attempting to own the bus | Review approved architecture; ESPHome component is not a pass-through gateway |
| Modbus reads exactly 10× too high | Wrong scaling of device registers | Compare raw reading, register map and appliance display |
| Modbus data nonsensical or shifted | Address base, signed values, word order or wrong register type | Confirm manufacturer documentation; start with read-only values |
| Write appears successful but resets | Appliance native controller owns that setting or write not enabled | Check supported remote-control mode and rights |
| Dry contact asks for heat, boiler idle | Boiler fault, DHW priority or other operating limit | Check official status and fault display, not just relay state |
| Heat pump starts/stops very frequently | Incompatible on/off thermostat scheduling, zones or hydraulics | Installer review of water flow, emitter demand and control strategy |
| Heating stops after Wi-Fi or HA failure | Control architecture depends too heavily on automation | Restore manufacturer-supported fallback and verify it works |
Frequently asked questions
Is OpenTherm the same as Modbus?
No. Both can carry digital data, but OpenTherm is designed for communication between a heating controller and compatible appliance, while Modbus is a general automation protocol based on device-specific coils and registers. Their electrical interfaces, command meanings and gateway hardware are different. Being able to read one protocol does not imply support for the other.
Can I connect an ESP32 directly to an OpenTherm boiler?
Not directly through generic GPIO pins. A suitable OpenTherm electrical interface is required, and the controller role must match the intended heating design. ESPHome documents approved interface approaches but also notes its component acts as a master rather than a transparent gateway. Refer to the actual boiler documentation and use a qualified installer for connection and commissioning.
Can a dry-contact thermostat modulate a condensing boiler?
The dry contact itself does not convey modulation commands or variable targets. The boiler may still modulate its burner internally according to water temperature and its own control logic. A digital compatible thermostat may allow a more coordinated changing demand, but the savings and compatibility depend on the specific product and installation.
Does Modbus TCP mean my heat pump can be controlled locally?
Not necessarily. It means a supported device may offer network-accessible Modbus communications. Check which registers exist, which are read-only, whether remote-control mode must be enabled and whether the manufacturer permits the intended commands. For some appliances, Modbus is useful primarily for monitoring.
Can I use Home Assistant Generic Thermostat with a gas boiler?
It may be possible through a qualified-installer-approved switching thermostat interface and a suitable temperature sensor. Generic Thermostat operates a switch with thermostat logic; it does not add OpenTherm modulation, override boiler safety limits or replace a complete heating control design. Plan for Wi-Fi, hub and sensor failure.
Is a volt-free relay always safe on thermostat terminals?
No. “Volt-free” refers to the isolated contact, not the voltage or circuit connected to the appliance input. Boiler terminals can have hazardous voltages or digital signals, and the wrong interface may damage equipment or expose dangerous voltage. Only install according to the correct model-specific service documentation and applicable local regulations.
Which protocol should I choose for a heat pump?
Use the heat-pump manufacturer’s native controller as the starting point. If it exposes documented Modbus or an approved API, those interfaces can be excellent for local telemetry and limited supervisory control. A dry-contact input is useful only for the function it was designed to perform. OpenTherm is not a default heat-pump interface, and compatibility must never be assumed.
Can I read gas or electricity consumption from OpenTherm or Modbus?
Only if the appliance reports appropriate measurements with known accuracy and units. Burner modulation level, compressor run hours, power estimates and actual metered energy are different things. For billing-grade or reliable whole-system monitoring, use the appropriate separately calibrated meters and compare their measurement boundaries and timestamps.
Should I replace an existing manufacturer thermostat to get local control?
Usually not as the first step. Determine what you would lose: weather compensation, domestic-hot-water scheduling, installer service access, warranty support or fallback behaviour. A documented read-only gateway or officially supported API can provide useful Home Assistant data while leaving the manufacturer controller in charge.
Verdict: match the heating appliance, not the marketing label
OpenTherm wins when you have a confirmed compatible modulating boiler and controller; Modbus wins when your heat pump or plant controller provides a documented local register interface; dry contact wins when the approved task is simply to signal heat demand or permission. None is inherently the best protocol for every home. What matters is the appliance’s supported architecture, usable telemetry, safe control authority and resilience when automation is unavailable.
Before buying a gateway or smart thermostat, obtain the exact appliance documentation and clarify whether you need on/off demand, modulating control or monitoring. Keep safety and fallback functions with the native heating controls, and treat Home Assistant as a supervisory and observability layer. This is the most maintainable way to build a smart heating system without confusing a clever dashboard with reliable heat.
References and further reading
- Home Assistant — OpenTherm Gateway integration (features, polling and setup)
- ESPHome — OpenTherm component (required adapter and master role)
- Home Assistant — Modbus integration (RTU/TCP, registers and integration options)
- Home Assistant — Generic Thermostat helper (switch-based control)
- Viessmann — understanding OpenTherm systems and compatibility
- NIBE — S-series Modbus technical information (model-specific example)
- ESP32.co.uk — OpenTherm Gateway with ESP32 and Home Assistant
Editorial and safety note (October 2026): Protocols do not guarantee full compatibility. Manufacturers, regions, firmware, appliance variants and installer-approved wiring affect which controls are usable. This article explains control architectures and monitoring considerations; it is not gas or electrical installation guidance. Any work on boiler, heat-pump, mains-powered or safety-related terminals must be assessed and carried out by appropriately qualified professionals following the current manufacturer documentation and local rules.