https://github.com/homebridge-plugins/homebridge-pura
A Homebridge plugin for Pura smart fragrance diffusers.
https://github.com/homebridge-plugins/homebridge-pura
Last synced: 4 months ago
JSON representation
A Homebridge plugin for Pura smart fragrance diffusers.
- Host: GitHub
- URL: https://github.com/homebridge-plugins/homebridge-pura
- Owner: homebridge-plugins
- License: apache-2.0
- Created: 2026-02-05T19:17:35.000Z (5 months ago)
- Default Branch: latest
- Last Pushed: 2026-02-19T06:13:55.000Z (5 months ago)
- Last Synced: 2026-02-19T12:42:31.498Z (5 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.21 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
**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.
## Supported Diffusers
This plugin has been designed and tested for the following diffusers.

## Installation
1. Install this plugin using: `npm install -g @homebridge-plugins/homebridge-pura`
2. Edit your `config.json` file (see sample config below)
3. Run Homebridge
## Configuration
Add the following platform to your `config.json`:
```json
{
"platforms": [
{
"name": "Pura Smart Diffuser",
"platform": "PuraSmartDiffuser",
"username": "your-pura-email@example.com",
"password": "your-pura-password",
"forceNightlightOff": false,
"enableNightlightAccessory": false
}
]
}
```
### Configuration Options
- **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)
## Usage
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.
### Controls
- **Power**: Turn the diffuser on/off
- **Nightlight Control (optional)**:
- On/Off
- Brightness (snapped to support Pura's 10-step brightness levels)
- Color (Hue/Saturation)
### Device Management
The plugin will automatically:
- Discover all Pura devices on your account
- Create one switch per diffuser (plus optional `Nightlight Control` on 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)
## Recommended Usage
- Use this plugin in lieu of Pura schedules or auto-away.
- Enable **Auto-alternative fragrances** in the Pura app to ensure equal scent distribution.
## Troubleshooting
### Authentication Issues
If you encounter authentication errors:
1. Verify your username and password are correct
2. Check that your Pura account is active and can log in to the mobile app
3. Ensure your internet connection is stable
### Device Not Appearing
If your Pura device doesn't appear in HomeKit:
1. Check that the device is online and connected to WiFi
2. Verify it appears in the Pura mobile app
3. Check Homebridge logs for error messages
4. Try restarting Homebridge
### Connectivity Issues
If the plugin loses connection:
1. Check your internet connection
2. Verify Pura services are operational
3. Try restarting the plugin by restarting Homebridge
## Support
For issues and feature requests, please use the [GitHub Issues](https://github.com/homebridge-plugins/homebridge-pura/issues) page.
## Credits
This plugin is inspired by and based on the [pypura](https://github.com/natekspencer/pypura) Python library by @natekspencer.
## License
Apache-2.0