Bring your CuboAI baby monitor into Home Assistant!
Monitor alerts, camera status, subscription, and more—directly in your smart home dashboard.
If you found this project helpful, you can buy me a coffee!
Warning:
This is an unofficial integration.
You are fully responsible for the use of your credentials and your data.
The author and contributors take no responsibility for any issues, account restrictions, or data loss that may occur.Use at your own risk.
- Sensor for baby info (name, gender, birth date)
- Sensor for last CuboAI alerts (with image thumbnails)
- Optionally download alert images locally for fast, private display
- Sensor for subscription status (Premium, trial, grace period, etc.)
- Sensor for camera online/offline state
- Support for multiple CuboAI cameras (multi-instance integration)
- Easy authentication with CuboAI (uses pycognito for SRP/AWS Cognito)
- All data stays local—no cloud polling from Home Assistant servers
- Go to HACS in Home Assistant.
- Click the three dots menu (⋮) > Custom repositories.
- Add this repository URL:
https://github.com/niruse/cuboai - In the Category dropdown, select Integration.
- Click Add.

- Search for CuboAI in HACS and click Install.
- Restart Home Assistant to complete the installation.
- Download the
cuboaifolder from this repository - Place it in
/config/custom_components/on your Home Assistant instance - Restart Home Assistant
Here are example screenshots from the CuboAI integration:
Below is a sample of how you might present the alerts in a Markdown card, including event images:

💡 Replace
{{Your Baby Name}}with the actual entity suffix (e.g.,nir).
type: markdown
title: 🍼 CuboAI Last 5 Alerts
content: >
{% set alerts = state_attr('sensor.cuboai_last_alert_{{Your Baby Name}}', 'alerts') %}
{% if alerts %}
| Type | Time | Image |
|------|------|-------|
{% for alert in alerts %}
| **{{ alert['type'].replace('CUBO_ALERT_','').replace('_',' ').title() }}**
|
{{ as_timestamp(alert['created']) | timestamp_custom('%Y-%m-%d %H:%M', true) }} |
{% if alert['image'] %}{% else %}-{% endif %} |
{% endfor %}
{% else %}
_No recent alerts_
{% endif %}
We welcome:
- 🔧 Bug fixes
- 🌟 Features
- 🧠 Suggestions
Submit a PR or open an issue



