homebridge-huum
v1.0.0
Published
Homebridge plugin for HUUM sauna heaters (UKU Wi-Fi controllers) — thermostat, door sensor, sauna light, and steamer support
Maintainers
Readme
homebridge-huum
A Homebridge plugin for HUUM sauna heaters with the UKU Wi-Fi controller.
What you get in HomeKit
- Thermostat — start/stop the sauna and set target temperature (native Celsius, range from your sauna's own configured limits, up to 110°C). Shows Heating while the heater runs.
- Door contact sensor (default on) — see whether the sauna door is open, and use it in automations ("notify me if the door is open"). The plugin also refuses to start the heater while the door is open, matching the HUUM app's safety behavior.
- Sauna light (default on) — a light switch, if your UKU controller has the light system wired.
- Humidity sensor — appears automatically on steamer-equipped saunas that report humidity.
- Steamer support — optionally send a target humidity when starting, automatically capped to HUUM's safe maximum for the chosen temperature (per the UKU manual).
Status codes are handled properly: offline, heating, idle, locked-by-another-user, and emergency stop are distinguished and logged.
Requirements
- HUUM sauna with UKU Wi-Fi controller, working in the HUUM mobile app
- Homebridge ≥ 1.6, Node ≥ 18
Test your credentials first
npm install
npm run build
[email protected] HUUM_PASSWORD=yourpassword npm run test-apiRead-only: prints your sauna's status without sending any commands.
Configuration
Via the Homebridge UI, or manually:
{
"platforms": [
{
"platform": "Huum",
"username": "[email protected]",
"password": "your-huum-password",
"exposeDoorSensor": true,
"exposeLight": true,
"targetHumidity": 0,
"pollIntervalSeconds": 60
}
]
}| Option | Default | Description |
| --- | --- | --- |
| username / password | — | HUUM app credentials |
| exposeDoorSensor | true | Contact sensor for the sauna door |
| exposeLight | true | Light switch (light-equipped saunas) |
| targetHumidity | 0 | Steamer duty target on start; 0 disables |
| pollIntervalSeconds | 60 | Cloud polling interval (min 15) |
Notes
- Uses HUUM's cloud API (
sauna.huum.eu) with your app credentials — no local API exists on the UKU controller. - HUUM has no standalone "set temperature" call; changing the target while heating re-issues the start command with the new target, exactly as the app does.
- Sauna sessions respect your UKU's configured max heating time; the sauna turns itself off as usual.
