Smart Security
Cameras and motion sensors.
Smart baby equipment gives parents peace of mind and oversight - from HD video monitoring and breathing tracking to automatic night lights and white noise. Combine with Home Assistant for the ultimate smart nursery.
| Type | Function | HA Integration | Price |
|---|---|---|---|
| Video baby monitor | HD video, two-way audio | Via RTMP/Docker | 💰💰-💰💰💰 |
| Breathing monitor | SpO2, heart rate | Limited | 💰💰💰 |
| Sound machine | White noise, night light | HACS | 💰-💰💰 |
| Smart night light | Dimmable, colors | Native/Zigbee | 💰 |
| Temperature/humidity | Environment sensors | Native | 💰 |
Price: ~$200
Nanit Pro is the most advanced baby monitor:
| Spec | Value |
|---|---|
| Resolution | 1080p HD |
| Field of view | 130° |
| Night light | Yes (dimmable) |
| Subscription | Free 1 year, then paid |
Nanit can be integrated via RTMP restreaming:
# Docker container for Nanit# https://github.com/indiefan/home_assistant_nanit
# docker-compose.ymlversion: '3'services: nanit: image: indiefan/nanit container_name: nanit restart: unless-stopped volumes: - /path/to/data:/data environment: - NANIT_RTMP_ADDR=192.168.1.100:1935 - NANIT_LOG_LEVEL=info ports: - "1935:1935"
# Home Assistant configuration.yamlcamera: - platform: ffmpeg name: "Nanit Nursery" input: rtmp://192.168.1.100:1935/local/BABY_UID# REST sensors (requires API access)sensor: - platform: template sensors: baby_room_temperature: friendly_name: "Nursery Temperature" unit_of_measurement: "°C" value_template: "{{ states('sensor.nanit_temperature') }}"
baby_sleep_status: friendly_name: "Baby Sleep Status" value_template: > {% if is_state('binary_sensor.nanit_sleeping', 'on') %} Sleeping {% else %} Awake {% endif %}Price: ~$160
Local connection (no cloud):
Best for: Parents who prefer privacy and no subscription.
Price: ~$130
Perfect together with Owlet Dream Sock:
Price: ~$300
FDA-cleared breathing monitor:
| Spec | Value |
|---|---|
| Heart rate range | 60-220 BPM |
| SpO2 range | 80-100% |
| Battery | 16 hours |
| Socks included | 3 sizes |
Owlet currently has no official HA integration, but data can be retrieved via unofficial methods:
# Via Owlet API (unofficial)# Requires login credentials
# Example sensor templatesensor: - platform: rest name: "Owlet Heart Rate" resource: https://api.owletdata.com/... headers: Authorization: !secret owlet_token value_template: "{{ value_json.heart_rate }}" unit_of_measurement: "BPM"
# Alarm automationautomation: - alias: "Owlet - Low oxygen" trigger: - platform: numeric_state entity_id: sensor.owlet_oxygen below: 90 action: - service: notify.mobile_app data: title: "⚠️ OWLET ALARM" message: "Low oxygen saturation detected!" data: priority: high ttl: 0Buy: Amazon, Owletcare.com
Price: ~$70
All-in-one sleep assistant:
| Spec | Value |
|---|---|
| Sounds | 11 built-in |
| Colors | 16 million (RGB) |
| WiFi | 2.4 GHz |
| Battery | 8 hours (Rest+) |
# HACS → Add custom repository# https://github.com/dahlb/ha_hatch
# Entities:# - light.hatch_rest_light# - media_player.hatch_rest_sound# - switch.hatch_rest_power# - number.hatch_rest_volume
# Example: Bedtime routineautomation: - alias: "Bedtime - Start Hatch" trigger: - platform: time at: "19:30:00" action: # Turn on dim orange light - service: light.turn_on entity_id: light.hatch_rest_light data: brightness_pct: 20 rgb_color: [255, 140, 0] # Start white noise - service: media_player.play_media entity_id: media_player.hatch_rest_sound data: media_content_type: sound media_content_id: white_noise - service: number.set_value entity_id: number.hatch_rest_volume data: value: 40
# Time-to-Rise automationautomation: - alias: "Morning - Hatch green light" trigger: - platform: time at: "07:00:00" action: - service: light.turn_on entity_id: light.hatch_rest_light data: brightness_pct: 50 rgb_color: [0, 255, 0] # Green = ok to wake up - service: media_player.turn_off entity_id: media_player.hatch_rest_soundPrice: ~$90
Upgraded version with:
Price: ~$20
Simple and affordable solution:
# Via Zigbee2MQTT or IKEA integrationlight: - platform: group name: "Nursery Night Light" entities: - light.tradfri_nursery
automation: - alias: "Night light - Motion at night" trigger: - platform: state entity_id: binary_sensor.nursery_motion to: "on" condition: - condition: time after: "22:00:00" before: "06:00:00" action: - service: light.turn_on entity_id: light.tradfri_nursery data: brightness_pct: 5 color_temp: 500Price: ~$15
Perfect for the nursery:
# Via Zigbee2MQTT
# Temperature alarmautomation: - alias: "Nursery - Temperature warning" trigger: - platform: numeric_state entity_id: sensor.nursery_temperature above: 75 # °F - platform: numeric_state entity_id: sensor.nursery_temperature below: 65 # °F action: - service: notify.mobile_app data: title: "🌡️ Nursery temperature" message: > Temperature is {{ states('sensor.nursery_temperature') }}°F. Recommended: 65-72°F for sleeping baby.
# Dashboard cardtype: gaugeentity: sensor.nursery_temperaturename: "Nursery"min: 60max: 85segments: - from: 60 color: '#1E88E5' - from: 65 color: '#43A047' - from: 72 color: '#FB8C00' - from: 75 color: '#E53935'automation: - alias: "Baby - Bedtime routine" trigger: - platform: time at: input_datetime.baby_bedtime action: # Dim all lights gradually - service: light.turn_on entity_id: light.nursery_main data: brightness_pct: 30 color_temp: 500 transition: 300 # Start Hatch - service: light.turn_on entity_id: light.hatch_rest data: brightness_pct: 15 rgb_color: [255, 100, 50] - service: media_player.play_media entity_id: media_player.hatch_rest data: media_content_id: white_noise # Turn off main light after 15 min - delay: "00:15:00" - service: light.turn_off entity_id: light.nursery_main
- alias: "Baby - Awake at night" trigger: - platform: state entity_id: binary_sensor.nursery_motion to: "on" condition: - condition: time after: "22:00:00" before: "06:00:00" action: # Turn on dim light for feeding/diaper change - service: light.turn_on entity_id: light.nursery_night_light data: brightness_pct: 10 color_temp: 500 # Turn off after 10 min without motion - wait_for_trigger: - platform: state entity_id: binary_sensor.nursery_motion to: "off" for: "00:10:00" - service: light.turn_off entity_id: light.nursery_night_lightautomation: - alias: "Baby - Good morning" trigger: - platform: time at: "07:00:00" condition: - condition: time weekday: - mon - tue - wed - thu - fri action: # Green light = ok to wake up - service: light.turn_on entity_id: light.hatch_rest data: rgb_color: [0, 255, 0] brightness_pct: 40 # Fade out white noise - service: number.set_value entity_id: number.hatch_volume data: value: 20 - delay: "00:05:00" - service: media_player.turn_off entity_id: media_player.hatch_restSmart Security
Cameras and motion sensors.
Smart Climate
Maintain optimal temperature.
Last updated: December 2025