Metadata-Version: 2.4
Name: aiothermiagenesis
Version: 0.1.0
Summary: Async Python library for Thermia Genesis heat pumps over Modbus TCP/IP
Project-URL: Homepage, https://github.com/klconsultancy/aiothermiagenesis
Project-URL: Repository, https://github.com/klconsultancy/aiothermiagenesis
Project-URL: Issues, https://github.com/klconsultancy/aiothermiagenesis/issues
Author-email: Kristof Lemmens <lemmens.kristof@gmail.com>
License: MIT
Keywords: genesis,heat-pump,home-assistant,modbus,thermia
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Home Automation
Requires-Python: >=3.12
Requires-Dist: pymodbus>=3.13
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Description-Content-Type: text/markdown

# aiothermiagenesis

Async Python library for communicating with Thermia Genesis heat pumps over Modbus TCP/IP.

## Supported hardware

Thermia Genesis platform (version 17.1): Atlas, Calibra, Calibra E, Calibra Cool, Calibra RXT, Diplomat Inverter.

## Installation

```bash
pip install aiothermiagenesis
```

## Usage

```python
import asyncio
from aiothermiagenesis import ThermiaGenesis

async def main():
    pump = ThermiaGenesis("192.168.1.100")
    await pump.connect()
    await pump.async_update()

    print(pump.heating.outdoor_temperature)   # °C
    print(pump.heating.supply_temperature)    # °C
    print(pump.heating.current_demand)        # Demand.HEAT / NO_DEMAND / etc.
    print(pump.tap_water.top_temperature)     # °C
    print(pump.alarms.any_active)             # bool

    await pump.set_comfort_wheel(1.0)         # raise setpoint by 1 °C
    await pump.disconnect()

asyncio.run(main())
```

## Requirements

- Python 3.12+
- Modbus TCP/IP enabled on the heat pump (`Settings → BMS → Modbus mode → TCP/IP`)

## License

MIT
