Heatzy smart home integration, free and open source

Heatzy pilot wire modules: mode of each radiator, vacation, widget and scenes.
Control your Heatzy pilot wire modules from Gladys: the mode of each electric radiator (Comfort, Eco, Frost protection, Off, and Comfort -1°C / -2°C on the modules that have them), the vacation mode, the child lock and the weekly programme, plus the room temperature on the models that measure it. A dashboard widget switches every radiator at once, and scenes react when a radiator changes mode or a module goes offline.
Developed without the hardware: feedback welcome. This integration was built and tested against a simulated Heatzy cloud fed with the real modules of the hass-heatzy tests (Home Assistant), not with a real Heatzy account. If something does not work as described, say so on the Gladys forum or in the issues.
What you need
- Gladys Assistant 5.1.0 or later.
- A Heatzy account (the e-mail address and password of the Heatzy app), with your modules already set up in the app.
- An Internet connection: the modules are only reachable through the Heatzy cloud (Gizwits), there is no local API.
Supported modules: Pilote v1, Pilote v2 and v3 (including Elec Pro), Pilote v4, Pilote Pro, Glow, Onyx, Inea and Bloom. Another Heatzy module is shown with the common protocol of the recent modules.
Set up
- Install the integration from the Gladys catalog.
- In Configuration, enter the E-mail address and the Password of your Heatzy account, and save.
- Click Test the connection: the message under the button lists the modules of the account.
- Open the Discovery tab: one device per module, named as in the Heatzy app. Click Add, choose a room, save.
Options:
- Refresh interval: how often the modules are read, from 1 to 10 minutes (2 minutes by default). A change made from Gladys is shown at once and checked a few seconds later; a change made in the Heatzy app shows at the next reading.
- Language of the names: English, French, German or Spanish (French by default), for the feature names (given when a device is added) and the messages of the integration.
The device of each module
| Feature | What it is |
|---|---|
| Pilot wire mode | The mode of the radiator, with the Gladys pilot wire selector: Comfort, Comfort -1°C, Comfort -2°C, Eco, Frost protection, Off |
| Child lock | Locks the buttons of the module (not on the Pilote v1 and the Bloom) |
| Weekly programme | On: the module follows the programme set in the Heatzy app; off: it keeps the chosen mode (not on the Pilote v1) |
| Room temperature | Glow, Onyx, Inea, Bloom and Pilote Pro only, read only |
| Humidity | Pilote Pro only, read only |
Comfort -1°C and -2°C exist on the Pilote v4, Pilote Pro, Glow, Onyx, Inea and Bloom: the other modules refuse them with a message. The device badge shows Cloud while the module is connected to the Heatzy cloud and Unreachable when it is offline.
The comfort and eco setpoints of the Glow, Onyx, Inea, Bloom and Pilote Pro are not shown: a setpoint would be taken for a thermostat by Gladys, HomeKit and the voice assistants, and a pilot wire is not one. Set them in the Heatzy app.
Dashboard
Add the Heatzy radiators widget to a dashboard. By default it lists every radiator with its mode (and, after a dot, vacation, boost, programme and the room temperature); choose one radiator in its settings to show only that one. Its four buttons act on what the widget shows:
- Comfort, Eco, Frost protection: immediately;
- Off: after a confirmation, since it leaves the rooms unheated.
The button of the current mode carries a check mark when every radiator shown is in it. Comfort -1°C and -2°C are on the device selector.
Scenes
Triggers
- Radiator mode changed outside Gladys: the Heatzy app, the weekly programme
or a button on the module changed the mode of a radiator. Filters: the
radiator, the new mode. Variables: radiator name and device, new mode,
previous mode (
comfort,comfort_1,comfort_2,eco,frost_protection,off), weekly programme on. The changes Gladys makes are not announced (a scene reacting to them could loop); the Gladys device trigger on the Pilot wire mode feature sees every change. - Heatzy module offline: a module lost its connection to the cloud (Wi-Fi, power cut). Filter: the radiator.
- Heatzy module back online: the module is connected again. Filter: the radiator.
Actions
- Set the mode of Heatzy radiators: one radiator, or all of them when the radiator is left empty. A vacation in progress is ended, and the weekly programme turned off so that the mode sticks. On all radiators, Comfort -1°C and -2°C skip the modules that do not have them. Output: the number of modules that accepted.
- Start the Heatzy vacation mode: frost protection for 1 to 255 days, then the module returns to its programme. Not on the Pilote v1.
- End the Heatzy vacation mode: ends the vacation (or a boost started in the Heatzy app).
To set one radiator, the Gladys action Control a device on its Pilot wire mode feature works too.
Scene ideas
- Leaving the house (alarm armed): Set the mode of Heatzy radiators, every radiator, Eco; back home: Comfort.
- Window open (opening sensor of the room): set that radiator to Frost protection; closed again: Comfort.
- A module offline for the night: Heatzy module offline → send a message: "The {{triggerEvent.data.radiator}} radiator is offline".
Troubleshooting
- "Heatzy refuses the e-mail address or the password": check them by signing in to the Heatzy app. After this error, the integration stops trying (so as not to lock the account) until you save the configuration or click Test the connection.
- "Too many requests": the Heatzy cloud limits the requests; the integration waits ten minutes. Choose a longer refresh interval if it comes back.
- A radiator does not change mode: check that the module is online in the Heatzy app. A mode chosen in Gladys turns the Weekly programme off, so that it sticks: turn it back on to return to the programme.
- A mode is shown a few minutes late: changes made outside Gladys are seen at the next reading (the refresh interval).
- More details: the logs of the integration (Settings → Integrations → Heatzy). They never contain the password or the token.
Limits
- Cloud only: without Internet, or when the Heatzy cloud is down, nothing can be controlled from Gladys (the modules keep their mode and programme).
- Readings every minute at most: the Heatzy cloud (Gizwits) is shared by every Heatzy user and has quotas. Each reading costs one request plus one per module.
- The weekly programme itself, the setpoints, the boost and the presence detection of the Pilote Pro are set in the Heatzy app.
- The Pilote Pro shows the mode it is applying (which can differ from the one requested, for example with an open window detected).
- Developed without the hardware: feedback welcome.
- Not affiliated with Heatzy.
Configuration settings
These are the settings Heatzy asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Your Heatzy account | section | No | The account of the Heatzy app: every module of the account becomes a device in the Discovery tab. The integration reads the Heatzy cloud: an Internet connection is required. |
| E-mail address | string | Yes | The one you use to sign in to the Heatzy app. |
| Password | secret | Yes | The password of the Heatzy app. It stays in Gladys and is only sent to the Heatzy cloud. |
| Refresh interval | select | No | How often the modules are read. A change made from Gladys shows at once. |
| Language of the names | select | No | Language of the feature names and of the messages of the integration. |
How to install Heatzy in Gladys
- In Gladys, open Integrations: Heatzy appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-heatzy:1.0.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-heatzy.
Heatzy requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Heatzy is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation