Basic Details
Plugin Name: homebridge-hilo-challenge
Link To GitHub Repo: https://github.com/justinjsp/homebridge-hilo-challenge
Verification Requirements
General
The plugin does not offer the same nor less functionality than that of any existing verified plugin.
🟢 Yes — the existing verified plugin homebridge-hilo integrates Hilo thermostats and devices as HomeKit accessories. This plugin serves a completely different purpose: it detects active Hilo demand response challenge phases and exposes them as HomeKit contact sensors, enabling automations to respond to peak demand events. The existing plugin does not expose challenge phase state.
Environment
The plugin successfully installs and does not start unless it is configured.
🟢 Yes — the plugin requires a refreshToken field. Without it, the Azure B2C token refresh will fail and no accessories will be registered.
The plugin does not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.
🟢 Yes
Codebase
The plugin does not contain any analytics or calls that enable you to track the user.
🟢 Yes — the only outbound calls are to Hilo's Azure B2C auth endpoint (connexion.hiloenergie.com) for token refresh, and the Hilo GraphQL API (platform.hiloenergie.com) for challenge phase detection.
If the plugin needs to write files to disk (cache, keys, etc.), it stores them inside the Homebridge storage directory.
🟢 Yes — the plugin does not write any files to disk.
The plugin does not throw unhandled exceptions, the plugin must catch and log its own errors.
🟢 Yes — all API calls are wrapped in try/catch. Poll failures are logged as errors and the plugin continues running on the next interval.
More Information
This plugin exposes two HomeKit contact sensors:
- Hilo Preheat — opens (CONTACT_NOT_DETECTED) during the pre-heat phase
- Hilo Reduction — opens during the reduction (peak demand) phase
It uses the Hilo GraphQL API to query the gDState field on enrolled devices (thermostats, water heaters). A value of ACTIVE indicates reduction phase; PRE_HEAT indicates preheat.
Seasonal operation: The plugin skips all API calls from April 1 to November 30, since Hilo demand response challenges only occur December through March. Polling resumes automatically each December.
The primary use case is pairing with homebridge-grizzl-e (or other outlet-type plugins) to automatically disable energy-intensive devices during reduction events via HomeKit automations.
npm: https://www.npmjs.com/package/homebridge-hilo-challenge
Basic Details
Plugin Name: homebridge-hilo-challenge
Link To GitHub Repo: https://github.com/justinjsp/homebridge-hilo-challenge
Verification Requirements
General
The plugin does not offer the same nor less functionality than that of any existing verified plugin.
🟢 Yes — the existing verified plugin
homebridge-hilointegrates Hilo thermostats and devices as HomeKit accessories. This plugin serves a completely different purpose: it detects active Hilo demand response challenge phases and exposes them as HomeKit contact sensors, enabling automations to respond to peak demand events. The existing plugin does not expose challenge phase state.Environment
The plugin successfully installs and does not start unless it is configured.
🟢 Yes — the plugin requires a
refreshTokenfield. Without it, the Azure B2C token refresh will fail and no accessories will be registered.The plugin does not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.
🟢 Yes
Codebase
The plugin does not contain any analytics or calls that enable you to track the user.
🟢 Yes — the only outbound calls are to Hilo's Azure B2C auth endpoint (
connexion.hiloenergie.com) for token refresh, and the Hilo GraphQL API (platform.hiloenergie.com) for challenge phase detection.If the plugin needs to write files to disk (cache, keys, etc.), it stores them inside the Homebridge storage directory.
🟢 Yes — the plugin does not write any files to disk.
The plugin does not throw unhandled exceptions, the plugin must catch and log its own errors.
🟢 Yes — all API calls are wrapped in try/catch. Poll failures are logged as errors and the plugin continues running on the next interval.
More Information
This plugin exposes two HomeKit contact sensors:
It uses the Hilo GraphQL API to query the
gDStatefield on enrolled devices (thermostats, water heaters). A value ofACTIVEindicates reduction phase;PRE_HEATindicates preheat.Seasonal operation: The plugin skips all API calls from April 1 to November 30, since Hilo demand response challenges only occur December through March. Polling resumes automatically each December.
The primary use case is pairing with
homebridge-grizzl-e(or other outlet-type plugins) to automatically disable energy-intensive devices during reduction events via HomeKit automations.npm: https://www.npmjs.com/package/homebridge-hilo-challenge