[RELEASE] Evohome/Residio Connect

Evohome integration for Hubitat

Evohome integration for Hubitat

I’ve released a new Evohome integration for Hubitat, written from scratch. It connects Evohome heating zones, system modes and domestic hot water to Hubitat, with optional mode synchronisation, window-contact automation, fault notifications and support for Hubitat’s native HomeKit integration.

Version: 2.0.1
Available through: Hubitat Package Manager (HPM), or directly from the GitHub repository.

Features

  • Heating zones: Each Evohome zone is created as a Hubitat thermostat child device. Temperature changes are debounced so repeated adjustments are combined before a command is sent to Evohome.

  • Zone modes: Auto clears a zone override and returns it to its schedule. Off applies a permanent 5 °C override to that zone. Heat applies an override using the zone’s configured setpoint policy: preserve an existing override, continue until the next schedule change, stay permanent, or use a fixed duration.

  • Evohome system modes: A separate Hubitat system-controller child can change system-wide modes. It is intended for Hubitat control and should not be added to HomeKit. If Evohome is in system-wide Heating Off, zone setpoint and mode requests are ignored so they do not take the system out of Off.

  • Hubitat mode synchronisation: Optionally set Evohome to Away when Hubitat changes to Away, then restore the previous Evohome mode when Hubitat returns. Heating Off is preserved. If Evohome was already Away when Hubitat changed to Away, a setting controls whether it stays Away or changes to Auto on return.

  • Per-zone Away override preservation: Choose which zones should have their permanent or unexpired temporary overrides saved before the integration sets Evohome to Away, then restored when the previous system mode returns.

  • Window contacts: Assign one or more contact sensors to each zone. If any assigned contact opens, the zone receives a permanent 5 °C override. When all contacts close, the integration restores the previous schedule or still-valid override.

  • Hot water: A Hubitat-only child device reports the hot-water state, operating mode, temperature and faults, and supports On, Off and Auto commands.

  • Fault monitoring: Reports API-exposed active faults on the relevant devices and can send notifications through selected Hubitat Notification devices.

  • Logging and API handling: Offers Error, Warn, Info and Debug levels, readable Info messages, detailed Debug request and response logging, access-token renewal and delayed status polling to reconcile commands.

HomeKit

Add the heating-zone child devices to Hubitat’s native HomeKit integration. Do not add the system-controller or hot-water child devices.

The integration is designed for heating-only systems. It does not implement cooling. Hubitat’s native HomeKit integration may still display cooling or fan controls because of how it represents thermostat devices; those controls do not provide Evohome cooling or fan functionality.

Limitations

  • The Evohome EMEA cloud API is undocumented and may change.

  • The API reports supported active faults, including certain low-battery and communication faults, but does not provide battery percentages.

  • Live boiler-relay and OpenTherm heat-demand status are not exposed by the API.

  • The DHW API provides status and temperature where available, but no DHW target-temperature setpoint.

  • API commands are asynchronous. The integration updates Hubitat promptly, then polls Evohome to reconcile the reported state. The actual Evohome change may take time to complete.

  • Heating-zone devices should be added to HomeKit selectively, as described above.

The package manifest and installation instructions are in the GitHub repository. Feedback and reports of issues are welcome, especially with details from Debug logs and the relevant device or API response.