Home Assistant Modbus TCP
YAML package to integrate IMP Pumps NMT C series circulation pumps into Home Assistant via Modbus TCP (NMTC module).
This package works with all IMP Pumps models equipped with the NMTC module (art. 7340055):
- NMT Smart C
- NMT Max C
- NMT Lan C
- NMT Max II C
- NMT Smart II C
The NMTC module provides the Modbus TCP/RTU interface. The Modbus register map is identical across all listed models.
- 10 sensors: Head, flow, speed, power consumption, frequency, efficiency, actual setpoint, three temperatures (circuit, motor, liquid)
- Status bits: 4 binary sensors decoded from the status register (pump rotating, remote mode, error, fault active)
- Control mode: Two text sensors showing the current control mode in plain text (standard + alternative enumeration)
- Error codes: 3 error code sensors with human-readable text descriptions (20 known codes from the NMTC manual)
- Computed values: Flow in L/h (converted from native m³/h), error code summary
- Dashboard card: Ready-to-use Lovelace card with 6 gauges
All sensors are defined with correct and complete HA metadata: unique_id, device_class, state_class, unit_of_measurement, scale, precision and input_type are carefully set for each entity. This means long-term statistics, energy dashboard integration and history graphs work out of the box without manual configuration. All template sensors include availability templates to correctly show unavailable instead of misleading default values when the Modbus connection is lost.
- Home Assistant (any current version)
- IMP Pumps circulation pump with NMTC module (see compatible pumps above)
- Network connection between HA and the NMTC module (Ethernet)
- Default Modbus slave address: 245
- Copy
imp_nmt_c.yamlto/config/packages/ - Ensure packages are enabled in
configuration.yaml:homeassistant: packages: !include_dir_named packages
- Adjust the NMTC module IP address in the YAML:
host: 192.168.2.17 # ← CHANGE: IP of your NMTC module
- Restart Home Assistant
German version: All entity names, template texts and comments in German:
imp_nmt_c.de.yamlanddashboard_card.de.yaml.
The file dashboard_card.yaml contains a ready-to-use Lovelace card with gauges for head, power, speed, flow, setpoint and liquid temperature.
Usage: Paste the contents of dashboard_card.yaml as a manual card (YAML) in the dashboard editor.
| HACS Card | Purpose | HACS Search |
|---|---|---|
| Vertical Stack In Card | Outer container without borders | vertical-stack-in-card |
| card-mod | CSS styling (remove borders, colors) | card-mod |
Without these cards the dashboard card will not render correctly. The Modbus YAML itself works independently.
| Register | Sensor | Unit |
|---|---|---|
| 301 | Head | m |
| 302 | Flow | m³/h |
| 303 | Efficiency | % |
| 304 | Speed | rpm |
| 305 | Frequency | Hz |
| 308 | Actual Setpoint | % |
| 312/313 | Power (HI/LO) | W |
| 318 | Circuit Temperature | °C |
| 319 | Motor Temperature | °C |
| 322 | Liquid Temperature | °C |
| Register | Sensor | Description |
|---|---|---|
| 201 | StatusReg | Bitfield (rotation, remote, error, near max/min speed) |
| 203 | ControlMode (Alt) | Alternative control mode enumeration |
| 205-207 | ErrorCode 1-3 | Error codes (0 = no error) |
| 208 | ControlMode | Current control mode (0..3) |
| Register | Sensor | Unit |
|---|---|---|
| 327/328 | Operation Time | h |
| 329/330 | Total Powered Time | h |
| 332/333 | Total Energy | kWh |
Register 101 (ControlReg), 104 (SetPoint) and 108 (ControlMode) exist but are intentionally not implemented. See the YAML comments for details.
See entities.en.md for a complete mapping of registers to entity names, or entities.de.md for the German version.
- NMTC module manual v37 (PDF) — official IMP Pumps documentation including Modbus register definitions (chapter 8)