Custom Home Assistant integration for Glen Dimplex Heating & Ventilation (GDHV) electric heating appliances.
dimplex-controller-hass connects Home Assistant to the Dimplex cloud API. It discovers your Dimplex Hub, Zones and Appliances, and exposes them as native Home Assistant entities so you can monitor temperatures, track energy usage and control EcoStart — all from the Home Assistant dashboard.
It is distributed via HACS and built on top of the dimplex-controller-py Python client.
- Features
- Installation
- Configuration
- Entities
- Energy monitoring
- Known limitations
- Troubleshooting
- Contributing
- Credits
- Temperature monitoring — View current room temperature and active target temperature setpoints for each Zone.
- Comfort status — Monitor whether your heating is in Comfort mode.
- EcoStart control — Toggle the EcoStart energy-saving feature from Home Assistant.
- Energy telemetry — Monitor and log energy consumption for metered appliances directly in the Home Assistant Energy Dashboard.
- Automatic re-authentication — The integration refreshes tokens automatically and prompts you to re-authenticate when necessary.
- Open HACS in Home Assistant.
- Search for Dimplex Hub.
- Click Download.
- Restart Home Assistant.
- Go to Settings > Devices & Services > Add Integration and search for Dimplex Hub.
- Open your Home Assistant configuration directory (the folder containing
configuration.yaml). - Create
custom_componentsif it does not already exist. - Copy the
custom_components/dimplexfolder from this repository into your Home Assistantcustom_componentsdirectory. - Restart Home Assistant.
- Go to Settings > Devices & Services.
- Click + Add Integration and search for Dimplex Hub.
Configuration is handled entirely through the Home Assistant UI. No YAML editing is required.
When you add the integration, you are asked to choose one of two login methods:
| Method | When to use |
|---|---|
| Email / password (recommended) | Use your Dimplex cloud account email and password. |
| Manual auth code | Use this if password login fails or if you prefer not to enter credentials in Home Assistant. |
- Enter your Dimplex account email and password.
- Click Submit.
The integration signs in to the Dimplex cloud in the background and stores the resulting tokens securely.
If you choose the manual auth code method:
- The integration shows a login URL. Open it in a new browser tab.
- Before entering your credentials, open Developer Tools (
F12) and go to the Network tab. - Enable Preserve log (or your browser's equivalent).
- Log in with your Dimplex credentials.
- The final redirect will fail or show a "cannot open page" error — this is expected.
- In the Network tab, find the last request that includes
?code=...in its URL. - Copy either the full redirect URL or just the
codevalue. - Paste it into the integration's Redirect URL or code field.
- Click Submit.
Tip: If the code expires, repeat the steps and capture a fresh one. Auth codes are short-lived.
After installation, you can adjust which platforms are enabled:
- Go to Settings > Devices & Services.
- Find Dimplex Hub and click Configure.
- Toggle
sensor,binary_sensorandswitchplatforms on or off.
| Platform | Description | Example entity |
|---|---|---|
sensor |
Room temperature per Zone. | sensor.living_room_temperature |
sensor |
Cumulative energy used per Appliance (kWh). | sensor.k radiator_energy |
binary_sensor |
Comfort status per Appliance. | binary_sensor.k_radiator_comfort |
switch |
EcoStart toggle per Appliance. | switch.k_radiator_ecostart |
Entity IDs are generated from your appliance names. You can rename them in Home Assistant as usual.
Each metered Appliance exposes two energy sensors (primary register):
| Sensor | Meaning |
|---|---|
| Energy today | kWh for the current local calendar day (from midnight). |
| Energy lifetime | Cumulative sum of all daily kWh points returned by the cloud (from first telemetry). |
A secondary register (Energy T2) is available as diagnostic entities when the appliance reports T2.
Important behaviour:
- Energy data is hardware-dependent — metered appliances (QRAD, Quantum storage heaters, etc.) report daily kWh telemetry, not live watts.
- When the hub returns no points for a register, the sensor is unavailable rather than
0. - Status polls every ~30s; energy polls on a slower cadence (default 30 minutes) to avoid hammering the cloud.
Each appliance is exposed as a climate entity with:
- current room temperature and target temperature
- presets:
comfort,boost,away,eco(EcoStart) climate.set_temperature/climate.set_preset_mode
Schedule editing beyond setpoint rewrites is still limited by the cloud API.
This is a major release relative to 2.0.0. After updating via HACS, restart Home Assistant.
- Home Assistant (current supported version for this integration)
dimplex-controller>=0.8.0(installed automatically from the integration requirements)
- Climate entities are created per appliance. Prefer climate for setpoints and boost/away/eco presets.
- Energy is no longer a single mislabelled “30-day” total:
- Energy lifetime — cumulative cloud daily history
- Energy today — local calendar day from midnight Prefer Energy today for the Energy Dashboard when you want daily usage without a large historical pop-in on first add.
- Entity unique IDs / names may change (for example EcoStart now has a stable
_ecostartsuffix; open-window detection is a switch as well as a binary sensor). You may see renamed entities or need to clean orphans once. - Polling is split: status on a short interval, energy on a longer interval (configurable in options).
- Diagnostics (error/warning/last telem, rated power, charge capacity, energy T2 today) exist but may be disabled by default — enable in the entity registry if you need them.
- Confirm Dimplex Hub config entry is loaded (no import / requirement errors in logs).
- Review new
climate.*entities and energy sensors. - Re-point automations that used old entity IDs.
- For Energy Dashboard, use Energy today (or statistics) rather than dumping multi-year lifetime into the dashboard unless you intend that.
- Full weekly schedule UI is not exposed yet (setpoint writes update timer periods).
- Away mode bitmasks are best-effort across appliance families.
Symptom: Setup fails with an authentication or connectivity error.
Steps to resolve:
- Check Settings > System > Logs for detailed error messages.
- If you see
InvalidAuth, re-authenticate via the config flow. - If you see
CannotConnect, verify your internet connection and thatapi.gdhv.iois reachable from your Home Assistant instance.
Symptom: You are repeatedly asked to re-authenticate.
Steps to resolve:
- Use the Email / password method — it obtains a fresh refresh token automatically.
- If using the manual auth code method, capture a fresh code each time.
- Ensure Home Assistant has reliable internet access; intermittent connectivity can cause token refresh failures.
Symptom: Some entities do not appear after setup.
Steps to resolve:
- Check the options flow and make sure the relevant platform is toggled on.
- Restart Home Assistant.
- Check the logs for errors during platform setup.
This is expected. See the Energy monitoring section above.
If you cannot resolve your issue, please open a GitHub issue with:
- Your Home Assistant version.
- The integration version.
- The relevant log entries (redact any personal information).
- Steps to reproduce the problem.
Contributions are welcome! Please read the contribution guidelines before opening a pull request.
Key points:
- Use Conventional Commits (
feat:,fix:,chore:, etc.) — this drives the automated changelog and release process. - Run
ruff check,ruff format --checkandpytestlocally before pushing. - Pre-commit hooks are available — run
pre-commit installonce.
This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.
Code template was mainly taken from @Ludeeus's integration_blueprint template.