Python client for Dimplex heating controllers (GDHV IoT)
Reason this release was yanked:
Initial replaced
Project description
Dimplex Controller Python Client
A Python asyncio client for controlling Dimplex heating systems (GDHV IoT).
Features
- Authentication: Easy login flow and automatic token refresh (Azure B2C).
- Discovery: List Hubs, Zones, and Appliances associated with your account.
- Detailed Status: Fetch real-time data including room temperature, setpoints, comfort status, and active boost settings.
- Control:
- Set operation modes (Manual, Timer, Frost Protection).
- Activate Boost and Away modes.
- Toggle EcoStart and Open Window Detection.
- Program heating schedules (Timer Periods).
Installation
This project is managed with Poetry.
git clone <repo-url>
cd dimplex-controller-py
poetry install
Getting Started
1. Initial Authentication
Due to the nature of the Azure B2C flow, you must perform the initial login manually to capture an authorization code.
Run the demo script to guide you through the process:
poetry run python demo.py
Follow the on-screen instructions. Once successful, a dimplex_tokens.json file will be created, allowing the library to authenticate automatically in the future.
2. Basic Usage
import asyncio
import aiohttp
from dimplex_controller import DimplexControl
async def main():
async with aiohttp.ClientSession() as session:
# Pass tokens from dimplex_tokens.json or just the refresh_token
client = DimplexControl(session, refresh_token="YOUR_REFRESH_TOKEN")
# Get Hubs
hubs = await client.get_hubs()
for hub in hubs:
print(f"Hub: {hub.Name}")
# Get Zones and Appliances
zones = await client.get_hub_zones(hub.HubId)
for zone in zones:
print(f" Zone: {zone.ZoneName}")
if __name__ == "__main__":
asyncio.run(main())
3. Advanced Operations
Get Real-time Status
# Fetch status for a list of appliance IDs
status_list = await client.get_appliance_overview(hub_id, ["appliance_id_1", "appliance_id_2"])
for status in status_list:
print(f"Temp: {status.RoomTemperature}°C, Target: {status.ActiveSetPointTemperature}°C")
print(f"EcoStart: {status.EcoStartEnabled}")
Control Features
from dimplex_controller.models import ApplianceModeSettings
# Enable EcoStart
await client.set_eco_start(hub_id, [appliance_id], True)
# Enable Open Window Detection
await client.set_open_window_detection(hub_id, [appliance_id], True)
# Activate Boost (Mode 16, Status 1 = On)
boost_settings = ApplianceModeSettings(ApplianceModes=16, Status=1, Temperature=25.0)
await client.set_appliance_mode(hub_id, [appliance_id], boost_settings)
Development & API Reference
openapi.yaml: This file contains the most complete technical specification of the API discovered so far. It includes all known endpoints, request bodies, and response schemas.- Traffic Logs: If you identify new features in the mobile app, capture the traffic and add the endpoints to
openapi.yamland theDimplexControlclient.
Disclaimer
This is an unofficial library and is not affiliated with or endorsed by Glen Dimplex Heating & Ventilation (GDHV). Use it at your own risk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dimplex_controller-1.0.0.tar.gz.
File metadata
- Download URL: dimplex_controller-1.0.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.2 Linux/6.18.9-2-cachyos
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c62046979a04f125afc834ba3f43d81aa6ef9ef5584f4335b9a1263ebf89f55a
|
|
| MD5 |
02421557996a86be1c4dbeaabb873432
|
|
| BLAKE2b-256 |
3eb67c181d9ef53598ab456ce3c7a64ee34714c9b8b666c969fc3b1afd3c72ab
|
File details
Details for the file dimplex_controller-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dimplex_controller-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.2 Linux/6.18.9-2-cachyos
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99f649241ad200c378001896959372211d04e1a61a1d7ff9ef2f955226e64036
|
|
| MD5 |
20a8a7795fd5751130ed4740a3eca780
|
|
| BLAKE2b-256 |
605c0f126e67e0c9947890c5d7fd16ecf08002f7f29bae6f7a2f275b094031ed
|