IDM Heatpump API
Official Python library for communicating with IDM Navigator heat pumps (2.0, Pro, and Navigator 10) over Modbus TCP.
This package is published on PyPI as idm-heatpump and is the core dependency for the Home Assistant integration.
pip install idm-heatpump
Documentation
- GitHub Pages: https://xerolux.github.io/idm-heatpump-api/
- GitHub Wiki: https://github.com/Xerolux/idm-heatpump-api/wiki
- Project Repository: https://github.com/Xerolux/idm-heatpump-api
The docs/ directory is the single source of truth:
- GitHub Pages is deployed automatically from
docs/. - GitHub Wiki is synchronized automatically from
docs/.
Supported Devices (Current Status)
| Device | Firmware | Heating Circuits | Zone Modules | Status |
|---|---|---|---|---|
| IDM Navigator 10 | NAV10_20.23+ (2025) | up to 7 (A-G) | up to 10 (6 rooms each) | Confirmed |
| IDM Navigator 2.0 | all versions | up to 7 (A-G) | no | Confirmed |
| IDM Navigator Pro | all versions | up to 7 (A-G) | up to 10 (6 rooms each) | Confirmed |
Note: Zone modules on current hardware (including Navigator 10) support 6 rooms per module. Older documentation sometimes mentioned 8; the library defaults to 6 for accuracy.
Requirements
- Modbus TCP must be enabled in the IDM controller (Settings → Building Management → Modbus TCP = On).
- Default port:
502 - Default slave ID:
1
New in Navigator 10 Support
The library now fully covers the official 2025 Navigator 10 Modbus TCP specification, including:
- Heat sink / plate heat exchanger sensors (flow rate in l/min at 1072 — excellent for filter monitoring)
- Power limitation registers (4108 / 4112) for demand response / peak shaving
- Complete Booster A + B (second heat generator) monitoring
- Additional source pump faults and external pump demand control
- Groundwater temperatures and more cascade bivalence points
- All zone module rooms (6 rooms per module on current hardware)
Installation
pip install idm-heatpump
Contributing
Please open an issue or pull request for bug reports, improvements, and documentation updates.
Release files for idm-heatpump 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| idm_heatpump-0.2.1.tar.gz | 18.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| idm_heatpump-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.0 kB
Release files / idm_heatpump-0.2.1.tar.gz
| Download URL | idm_heatpump-0.2.1.tar.gz |
|---|---|
| Size | 18.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
18bc75c51ab3a40d1cf5575ce6ab3f05b1dcd2e96838317bdc8a5062132360f8
|
|
BLAKE2b-256 checksum How to use checksums |
15cf2a2f7edee9905ad94492ce6adad154de12a364da1aa46659b4cc37c8d7d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / idm_heatpump-0.2.1-py3-none-any.whl
| Download URL | idm_heatpump-0.2.1-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5707c01a49662fb59268913e7654a665a155b5c51ed82fdf0223036312be371
|
|
BLAKE2b-256 checksum How to use checksums |
9d081f37bd671041414d5011aa8005348463caadf6760009a4937cd67c520d31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|