A Homebridge plugin that integrates SensorPush temperature and humidity sensors with Apple HomeKit.
- Automatic Discovery: Automatically discovers all SensorPush sensors registered to your account
- Temperature & Humidity: Exposes temperature and humidity readings as HomeKit sensors
- Battery Monitoring: Shows battery level and low battery warnings for your sensors
- Auto-Refresh: Automatically polls for new sensor data while respecting API rate limits
- Token Management: Handles OAuth authentication and automatic token refresh
- Homebridge v1.6.0 or higher
- A SensorPush Gateway and one or more SensorPush sensors
- An active SensorPush account with Gateway Cloud API access
- Search for "SensorPush" in the Homebridge Config UI X plugin search
- Install the
homebridge-sensorpushplugin - Configure your SensorPush account credentials
- Restart Homebridge
npm install -g homebridge-sensorpushAdd the platform to your Homebridge config.json:
{
"platforms": [
{
"platform": "SensorPush",
"name": "SensorPush",
"email": "your-email@example.com",
"password": "your-password",
"pollingInterval": 60000
}
]
}| Option | Required | Default | Description |
|---|---|---|---|
platform |
Yes | - | Must be "SensorPush" |
name |
Yes | - | Name for the platform (e.g., "SensorPush") |
email |
Yes | - | Your SensorPush account email |
password |
Yes | - | Your SensorPush account password |
pollingInterval |
No | 60000 |
How often to poll for data in milliseconds (minimum 60000) |
Before using this plugin, you must activate API access for your SensorPush account:
- Log in to the SensorPush Gateway Cloud Dashboard
- Accept the API terms of service
- Your account will now have API access
For more information, see the SensorPush Gateway Cloud API documentation.
- The plugin authenticates with the SensorPush Gateway Cloud API using your credentials
- It discovers all active sensors registered to your account
- Each sensor is registered as a HomeKit accessory with:
- Temperature Sensor service
- Humidity Sensor service
- Battery service (if battery data is available)
- The plugin polls the API at the configured interval (default: 60 seconds) to update sensor readings
- Authentication tokens are automatically refreshed before expiration
The SensorPush API has a rate limit of 1 request per minute. This plugin respects this limit by:
- Enforcing a minimum polling interval of 60 seconds
- Batching all sensor updates into a single API call
- The SensorPush API returns temperatures in Fahrenheit
- This plugin automatically converts temperatures to Celsius for HomeKit compatibility
- Your Home app will display temperatures in your preferred unit based on your device settings
# Clone the repository
git clone https://github.com/USERNAME/homebridge-sensorpush.git
cd homebridge-sensorpush
# Install dependencies
npm install
# Build the plugin
npm run build
# Link for development
npm link
# Watch for changes
npm run watchsrc/
├── index.ts # Plugin entry point
├── platform.ts # Main platform implementation
├── platformAccessory.ts # Sensor accessory implementation
├── sensorPushApi.ts # SensorPush API client
└── settings.ts # Constants and configuration
- Verify your email and password are correct
- Ensure you've logged into the Gateway Cloud Dashboard at least once to accept the API terms
- Check that your sensors are active in the SensorPush mobile app
- Verify your gateway is online and connected to the cloud
- Check Homebridge logs for any error messages
- Ensure your gateway has been seen recently (check in the SensorPush app)
- Gateways relay sensor data approximately every minute
- Consider increasing the polling interval if you're hitting rate limits
For issues and questions:
- Check the Homebridge Discord
- Open an issue on GitHub
Apache-2.0
- Built using the Homebridge Plugin Template
- Integrates with the SensorPush Gateway Cloud API