A Homebridge plugin for Pura smart fragrance diffusers.
This plugin is intentionally simple. By default it exposes a single on/off switch per diffuser, and can optionally expose a separate nightlight service.
It’s designed to be used with Pura’s away mode and scheduling features disabled, so HomeKit can act as the primary automation layer.
This plugin has been designed and tested for the following diffusers.
- Install this plugin using:
npm install -g @homebridge-plugins/homebridge-pura - Edit your
config.jsonfile (see sample config below) - Run Homebridge
Add the following platform to your config.json:
{
"platforms": [
{
"name": "Pura Smart Diffuser",
"platform": "PuraSmartDiffuser",
"username": "your-pura-email@example.com",
"password": "your-pura-password",
"forceNightlightOff": false,
"enableNightlightAccessory": false
}
]
}- username: Your Pura email - required
- password: Your Pura password - required
- forceNightlightOff: Pura turns the nightlight on/off with the diffuser. Enable to prevent the light from staying on. (default: false)
- enableNightlightAccessory: Enables nightlight controls for compatible diffusers, including On/Brightness/Color. (default: false)
Once configured, your Pura diffusers will appear in the Home app as a single switch per diffuser (e.g., "Living Room Diffuser").
If enableNightlightAccessory is set to true, each compatible diffuser also includes a separate Nightlight Control Lightbulb service.
- Power: Turn the diffuser on/off
- Nightlight Control (optional):
- On/Off
- Brightness (snapped to support Pura's 10-step brightness levels)
- Color (Hue/Saturation)
The plugin will automatically:
- Discover all Pura devices on your account
- Create one switch per diffuser (plus optional
Nightlight Controlon compatible models) - Update device status via realtime updates with a 5-minute polling fallback (15s when realtime is down)
- Handle authentication and token refresh (including periodic Cognito refresh polling)
- Use this plugin in lieu of Pura schedules or auto-away.
- Enable Auto-alternative fragrances in the Pura app to ensure equal scent distribution.
If you encounter authentication errors:
- Verify your username and password are correct
- Check that your Pura account is active and can log in to the mobile app
- Ensure your internet connection is stable
If your Pura device doesn't appear in HomeKit:
- Check that the device is online and connected to WiFi
- Verify it appears in the Pura mobile app
- Check Homebridge logs for error messages
- Try restarting Homebridge
If the plugin loses connection:
- Check your internet connection
- Verify Pura services are operational
- Try restarting the plugin by restarting Homebridge
For issues and feature requests, please use the GitHub Issues page.
This plugin is inspired by and based on the pypura Python library by @natekspencer.
Apache-2.0
