A Home Assistant integration for Imou Life cameras and devices, providing comprehensive monitoring and control capabilities.
- Camera Integration: Live video streaming and snapshot capture
- Motion Detection: Real-time motion alerts and notifications
- Device Control: PTZ control, recording management, and more
- Automation Ready: Full Home Assistant automation support
- HACS Compatible: Easy installation through HACS
- Home Assistant: 2024.2.0 or later (including latest 2025.x versions)
- Python: 3.11, 3.12, 3.13 (fully compatible)
- Operating System: Any platform supported by Home Assistant
- Imou Account: Valid Imou Life account with registered devices
- Developer Account: App ID and App Secret from Imou Open Platform
- Home Assistant 2024.2.0+: β Fully supported (Python 3.11-3.13)
- Home Assistant 2024.12.0+: β Python 3.13 support added
- Python 3.11-3.13: β All versions supported
- Cross-platform: β Windows, macOS, Linux, Docker, etc.
Before installing the integration, you need to obtain your Imou API credentials:
- Register on Imou Life if you haven't already
- Create a Developer Account at https://open.imoulife.com
- Access the Imou Console at https://open.imoulife.com/consoleNew/myApp/appInfo
- Go to "My App" β "App Information" and click Edit
- Fill in the required information and copy your App ID and App Secret
Note: These credentials are required for the integration to communicate with your Imou devices.
- Install HACS if you haven't already (HACS Installation Guide)
- Add this repository to HACS:
- Go to HACS β Integrations β Explore & Download Repositories
- Search for "Imou Life"
- Click "Download this repository with HACS"
- Restart Home Assistant
- Add the integration via Settings β Devices & Services β Add Integration
- Download the latest release from GitHub Releases
- Extract the files to your
custom_components/imou_life/
directory - Restart Home Assistant
- Add the integration via Settings β Devices & Services β Add Integration
- Search for "Imou Life" in the Add Integration screen
- Enter your credentials:
- App ID: Your Imou developer App ID
- App Secret: Your Imou developer App Secret
- Choose discovery method:
- Auto-discover devices: Automatically finds all devices in your Imou account
- Manual device entry: Enter a specific Device ID
Once added, each device will create several entities:
- Switches: Enable/disable push notifications and device features
- Sensors: Storage usage, callback URL, device status
- Binary Sensors: Online status, motion detection
- Select: Night vision mode selection
- Buttons: Restart device, refresh data, refresh motion alarm
- Camera: Live streaming and snapshots
After adding a device, you can configure advanced options:
- Polling Interval: How often to refresh device data (default: 15 minutes)
- API Base URL: Imou API endpoint (default: https://openapi.easy4ip.com/openapi)
- API Timeout: API call timeout in seconds (default: 10 seconds)
- Callback URL: For push notifications (requires internet exposure)
For real-time motion detection updates:
- Expose Home Assistant to the internet (required)
- Set up a reverse proxy (NGINX recommended)
- Configure callback URL in the integration settings
- Enable push notifications on one device (applies to all devices)
- Create the automation for handling webhook events
Important: Push notifications require Home Assistant to be exposed to the internet and behind a reverse proxy due to API limitations.
If your device supports PTZ (Pan-Tilt-Zoom), the integration provides:
imou_life.ptz_location
: Move to specific coordinatesimou_life.ptz_move
: Move in specific directions with duration
These services can be called from automations or manually via Developer Tools.
The integration creates a "Motion Alarm" binary sensor that can be used in automations. You have three update options:
- Default: Updates every 15 minutes (no internet required)
- Manual refresh: Use the "Refresh Alarm" button or automation
- Push notifications: Real-time updates (requires internet exposure)
- API Errors: Verify your App ID and App Secret are correct
- Device Not Found: Ensure the device is registered in your Imou account
- Push Notifications: Check that Home Assistant is exposed to the internet and behind a reverse proxy
Enable debug logging for troubleshooting:
logger:
default: info
logs:
custom_components.imou_life: debug
imouapi: debug
Download diagnostics from the device page in Home Assistant for detailed information.
- Complete Installation Guide - Detailed setup and configuration
- Development Guide - Contributing and development setup
- Performance Guide - Optimization tips
- HACS Guide - HACS-specific features
- Changelog - Version history and changes
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: Project Wiki
Python Version | Home Assistant Support | Integration Status |
---|---|---|
3.11 | 2023.3+ | β Fully Supported (2024.2.0+) |
3.12 | 2024.2+ | β Fully Supported (2024.2.0+) |
3.13 | 2024.12+ | β Fully Supported (2024.2.0+) |
Note: Our integration requires Home Assistant 2024.2.0+ which automatically provides Python 3.11-3.13 compatibility.
- Home Assistant: 2024.2.0 β 2025.8.3+ (latest)
- Python: 3.11, 3.12, 3.13
- Platforms: Windows, macOS, Linux, Docker, Home Assistant OS
- Architectures: x86_64, ARM64, ARM32
- GitHub Actions: Automated testing on Python 3.11, 3.12, 3.13
- Coverage: Maintains >60% test coverage across all versions
- Quality: Scrutinizer CI integration for code quality monitoring
- Unofficial Integration: This is not supported by Imou
- API Limitations: Imou limits developer accounts to 5 devices
- Internet Required: Push notifications require Home Assistant to be internet-accessible
- Reverse Proxy: Required for push notifications due to API request formatting
This project is licensed under the MIT License - see the LICENSE file for details.
- Original integration by @user2684
- Enhanced and maintained by @maximunited
- Community contributors and testers
Made with β€οΈ for the Home Assistant community