Metadata-Version: 2.4
Name: idm_heatpump
Version: 0.2.1
Summary: Python library for communicating with IDM Navigator heat pumps via Modbus TCP. Used by the official Home Assistant integration.
Author-email: "Basti (Xerolux)" <git@xerolux.de>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Xerolux/idm-heatpump-api
Project-URL: Bug Tracker, https://github.com/Xerolux/idm-heatpump-api/issues
Keywords: idm,heatpump,modbus,navigator,home-assistant,hass,heating,modbus-tcp
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Home Automation
Classifier: Topic :: System :: Hardware
Classifier: Framework :: AsyncIO
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pymodbus<4.0.0,>=3.7.0
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.24; extra == "test"
Dynamic: license-file

# 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](https://github.com/Xerolux/idm-heatpump-hass).

```bash
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

```bash
pip install idm-heatpump
```

## Contributing

Please open an issue or pull request for bug reports, improvements, and documentation updates.
