OpenTherm vs Modbus vs Dry Contact: Heating Control Protocols Explained

OpenTherm vs Modbus vs dry-contact controls explained for boilers, heat pumps and Home Assistant: modulation, gateways, compatibility and safe fallbacks.

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.

QuestionDry contactOpenThermModbus RTU / TCP
Primary purposeBinary demand, permission or alarmDigital heating controller-to-appliance communicationsGeneral read/write registers and device status
Typical commandContact open or closedCH enable and supported temperature/setpoint requestsModel-specific register or coil request
Temperature feedbackNot from the contact itselfPossible where boiler/controller implement messagesPossible where documented registers exist
Modulation directly commanded?NoPotentially, via supported digital requestsPotentially, if supported setpoint or control registers exist
Electrical/network mediumPhysical pair to a manufacturer-defined inputDedicated OpenTherm two-wire bus with appropriate interfaceRS-485 serial for RTU; Ethernet/IP for TCP
Compatibility assumptionContact type and input voltage must matchBoth endpoints must implement compatible OpenTherm featuresTransport, function codes, register map and permissions must match
Most common fitBasic boiler demand or heat-pump external enableSupported modulating gas boiler + thermostatDocumented heat pump, plant controller or energy-management gateway
Best integration postureLocal controller, certified relay interfaceApproved gateway/controller, compatible busRead-only first; limited approved writes after validation
Capabilities are broad categories, not guarantees for a particular appliance, firmware or gateway.

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 capabilityWhat it may enableWhy the qualification matters
CH demand and setpointController requests space heating and a water-temperature targetAn appliance can cap, reinterpret or ignore requests outside its operating limits
Boiler flow-temperature telemetryMonitoring of delivered or requested water temperaturesNot all values are guaranteed or exposed in every gateway
Burner/flame and modulation statusDiagnostics and understanding cyclingAvailability depends on boiler messages and integration mapping
DHW mode and statusSome boilers report hot-water demand or statusHot-water controls and safety remain product-specific
Faults and warningsMore context than a binary call-for-heat relayDiagnostic codes require manufacturer interpretation
Room temperatureDepending on controller, actual/target room valuesDo 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 objectCommon accessExample heating useImportant caveat
Discrete inputRead only, one bitCompressor running, alarm activeActual definition from manufacturer
CoilOften read/write, one bitSupported remote-enable commandA data coil is not automatically an electrical relay
Input registerRead only, typically 16-bit wordMeasured flow temperatureScale, sign and units are device-specific
Holding registerTypically readable and writableAllowed target temperature or modeMay 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 conceptWhat it usually refers toWhat must be verified
COM / NO / NC on a relayCommon, normally open, normally closed contact terminalsElectrical rating, isolation and intended fail state
RT / TA / room thermostat on appliancePotentially a space-heating demand inputExact wiring function and voltage in the model-specific manual
External enablePermission for appliance operationWhether open means disabled or enabled; DHW/frost implications
External blockInhibit signal, sometimes for tariff or demand managementWhether it may block defrost, freeze protection or hot water
Alarm contactStatus output from an applianceDo not mistake output for a demand input
Modbus coilSoftware bit in a digital register spaceNot 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 situationUsually sensible control choiceReason
Manufacturer confirms OpenTherm on exact modelApproved OpenTherm thermostat or gatewayProvides digital control and possible telemetry
Only switched-demand interface documentedApproved thermostat relay interfaceReliable binary demand without undocumented bus work
Proprietary modulating controller suppliedPreserve native controller; check approved monitoring gatewayAvoid losing compensation, diagnostics and support
Several heating zonesManufacturer-approved zone controller and hydraulic logicZone requests alone do not solve minimum flow and short cycling
User wants better diagnostics, not new controlApproved read-only gateway if offeredLower 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 goalPreferred starting pointWhy
Monitor flow, return and outdoor temperatureOfficial local Modbus or vendor API, if documentedProvides data without changing the control law
Track electricity and COPNative data plus independent electrical and heat measurements as neededA temperature register does not measure delivered thermal energy
Adjust comfort target slightlyManufacturer-supported room/curve offsetWorks with weather compensation and native limits
Take advantage of cheap electricityApproved tariff/SG-ready or energy-management modeAvoids excessive compressor cycling and override conflicts
Manage several zonesInstaller-approved hydraulic and zone controlsProtects minimum flow and operating volume
Internet-independent heatingRetain native controller and tested fallbackSmart-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 methodWhat it needsTypical entitiesPrimary limitation
OpenTherm Gateway integrationSupported physical OpenTherm Gateway, compatible boiler/thermostatClimate, sensors, binary sensors; some may start disabledGateway type, polling and supported messages
ESPHome OpenTherm masterSpecial OpenTherm adapter and approved designController setpoints and boiler sensorsActs as master; not a transparent pass-through to existing thermostat
Modbus device-specific integrationCompatible supported meter/heat pump gatewaySensors, switches, climate depending on integrationCapabilities depend on device model and register map
Manual Home Assistant ModbusReachable RTU/TCP endpoint and official register specificationExplicitly configured read/write entitiesManual scales, addresses, safety constraints and updates
Generic Thermostat + approved relayRoom temperature sensorAliExpress price and safe switch entityClimate entity commanding a switchOnly on/off demand; relies on HA unless local fallback exists
Native manufacturer integrationSupported controller or vendor cloud/local APIVaries: status, temperatures, modes, controlsCan 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.

  1. Exact model and variant: note the boiler or heat-pump model code, controller board revision, installation country and firmware where applicable.
  2. 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.
  3. Documented supported features: list the actual information you want—flow temperature, heat demand, fault status, operating mode and heat-output or energy data.
  4. 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.
  5. Existing controller coexistence: determine whether the gateway monitors, replaces, or competes with an existing thermostat or heat-pump manager.
  6. Local versus cloud: check whether the basic system still operates on loss of internet, Wi-Fi and Home Assistant; document the fallback setpoint.
  7. Read-only first: confirm telemetry is valid before enabling any remote setpoint/mode writes; keep installer protections untouched.
  8. Service, warranty and updates: establish who supports gateway firmware, security, spare parts and manufacturer commissioning after an upgrade.
Potential purchaseCheck before buyingCommon wrong assumption
OpenTherm interface/bridgeApproved boiler, bus role (master vs gateway) and supported messagesAll two-wire boiler terminals accept OpenTherm
RS-485 USB/LAN gatewaySupported Modbus RTU, parity, termination responsibility, device register docsRS-485 physical support means Modbus is available
Modbus TCP gatewayDevice model, network function, register access and local securityAn Ethernet port always has a writable Modbus server
Isolated smart relayContact type, electrical rating, safe appliance input and independent fallback“Dry contact” always means no voltage anywhere
Smart thermostatSame modulating or demand protocol as the appliance, including region variantThermostat works with all brands because it has Wi-Fi
Separate energy meterCorrectly specified electrical measurement point and HA supportBoiler 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.

QuestionUseful observationInterpretation trap
Is the room asking for heat?Thermostat demand / target and actual room temperatureDemand does not prove appliance output
Is the boiler firing?Manufacturer burner/flame statusFiring time does not directly equal fuel energy
Is the heat pump operating?Compressor mode/status and relevant temperature trendDefrost and hot-water modes can look like faults
Is the water setpoint sensible?Requested and actual flow temperature, outdoor conditionsHeating curve affects the target; not every rise is a malfunction
How much did heating cost?Metered gas/electric input over matching time windowA protocol status entity alone is not an energy meter
Is measured COP credible?Measured heat-output kWh divided by matched electric kWhApproximate 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

SymptomLikely explanationSafe next check
OpenTherm device sees no boilerUnsupported mode, incorrect compatible bus setup or faultVerify model documentation and installer commissioning status; do not bridge terminals
OpenTherm readings work, modulation not visibleOptional messages, boiler internal limits or controller behaviourCheck appliance support and operating conditions before assuming gateway failure
ESPHome master and original thermostat conflictTwo controllers attempting to own the busReview approved architecture; ESPHome component is not a pass-through gateway
Modbus reads exactly 10× too highWrong scaling of device registersCompare raw reading, register map and appliance display
Modbus data nonsensical or shiftedAddress base, signed values, word order or wrong register typeConfirm manufacturer documentation; start with read-only values
Write appears successful but resetsAppliance native controller owns that setting or write not enabledCheck supported remote-control mode and rights
Dry contact asks for heat, boiler idleBoiler fault, DHW priority or other operating limitCheck official status and fault display, not just relay state
Heat pump starts/stops very frequentlyIncompatible on/off thermostat scheduling, zones or hydraulicsInstaller review of water flow, emitter demand and control strategy
Heating stops after Wi-Fi or HA failureControl architecture depends too heavily on automationRestore 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

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.

CONTINUE EXPLORING / ESP32 & ELECTRONICS

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEWhich ESP32 board should you use?

Compare practical options before you choose hardware.

Compare options →