Recued
Menu
← Back to recipes

Home Assistant camera check

by recued-core v2 13 views

Use “Home Assistant camera check” in Recued. Takes a picture from one camera, asks your AI a yes-or-no question about it, such as whether someone is at the door, and alerts you on yes. Run it yourself, from chat, or on a schedule that waits for a motion sensor. The picture goes to your AI, which can miss things: an extra pair of eyes, not a safety device.

How it works 72 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (72 steps)
■ camera_given coalesce
Use the first available value from: setting camera,
■ camera_text trim
Trim whitespace from camera given
■ camera_lc lowercase
Convert camera text to lowercase
■ camera_key_raw replace
Replace text in camera lc
■ camera_key_text trim
Trim whitespace from camera key raw
■ camera_key_empty compare
Check if camera key text is empty
■ camera_key ternary
Apply ternary
■ question_given coalesce
Use the first available value from: setting question, Is there a person in the picture?
■ question trim
Trim whitespace from question given
◆ states_raw recued-core.home-assistant.state.list
List state on home assistant
■ states default
Apply default
■ states_named map
Extract attributes.friendly_name from each item
■ states_with_domain map
Extract entity_id from each item
■ cameras filter
Filter by condition
■ cameras_keyed_raw map
Extract name_lc from each item
■ cameras_keyed map
Extract name_key_raw from each item
■ camera_labels map
Extract from each item
■ camera_list join
Join items with ", "
■ camera_count count
Count items in cameras
■ no_cameras compare
Check if camera count equals 0
■ matches filter
Filter by condition
■ match_count count
Count items in matches
■ found compare
Check if match count equals 1
■ entity default
Apply default
■ camera_name coalesce
Use the first available value from: matches 0 attributes friendly name, matches 0 entity id, camera text
■ camera_seen coalesce
Use the first available value from: matches 0 attributes friendly name, matches 0 entity id
■ unavailable compare
Check if matches 0 state equals unavailable
■ sensor_given coalesce
Use the first available value from: setting motion sensor,
■ sensor_text trim
Trim whitespace from sensor given
■ sensor_lc lowercase
Convert sensor text to lowercase
■ scheduled compare
Check if caller channel equals schedule
■ has_sensor compare
Check if sensor text has data
■ gated all
Check if all conditions are true
■ sensor_rows filter
Filter by condition
■ sensor_count count
Count items in sensor rows
■ sensor_found compare
Check if sensor count equals 1
■ sensor_name coalesce
Use the first available value from: sensor rows 0 attributes friendly name, sensor text
■ sensor_on compare
Check if sensor rows 0 state equals on
■ idle all
Check if all conditions are true
■ sensor_missing all
Check if all conditions are true
■ ready all
Check if all conditions are true
◆ snapshot recued-core.home-assistant.camera.snapshot
Snapshot camera on home assistant
skip: step.ready not_equal true
✦ ask core.ai.classify
AI classifies data into one of the given categories
skip: step.snapshot.file_ref is_null
■ answer default
Apply default
■ answer_word switch
Map answer to one of: no, yes, cannot_tell
■ is_yes compare
Check if answer equals yes
■ is_unsure compare
Check if answer equals cannot_tell
■ alerts_on compare
Check if setting alert when does not equal never
■ unsure_alerts compare
Check if setting alert when does not equal yes
■ unsure_alert all
Check if all conditions are true
■ alert_worthy any
Check if any of the conditions are true
■ should_alert all
Check if all conditions are true
■ should_warn all
Check if all conditions are true
■ several compare
Check if match count is greater than 1
■ no_camera_named compare
Check if camera text is empty
■ not_found_text ternary
Apply ternary
■ blocked_missing ternary
Apply ternary
■ blocked_detail ternary
Apply ternary
■ blocked_camera ternary
Apply ternary
■ blocked_text ternary
Apply ternary
◆ notify_answer core.notification.send
Send notification
skip: step.should_alert not_equal true
◆ notify_blocked core.notification.send
Send notification
skip: step.should_warn not_equal true
■ alerted coalesce
Use the first available value from: notify answer, notify blocked
■ alert_tried compare
Check if alerted exists
■ alert_channels default
Apply default
■ alert_reached compare
Check if alert channels has data
■ alert_list join
Join items with ", "
■ alert_unreached ternary
Apply ternary
■ alert_text ternary
Apply ternary
■ not_ready_text ternary
Apply ternary
■ result_text ternary
Apply ternary
■ card to_summary
Format results as a summary card
▼
Output
summary card
Settings 5 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

camera setting = [object Object]
channels setting = [object Object]
question setting = Is there a person in the picture?
alert when setting = yes_or_unsure
motion sensor setting = [object Object]

Uses (4 operations)

Pack operation List state on home assistant recued-core.home-assistant.state.list
Pack operation Snapshot camera on home assistant recued-core.home-assistant.camera.snapshot
AI models AI classifies data into one of the given categories core.ai.classify
Notifications Send notification core.notification.send

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Permissions it requires

Read your Home_assistant connectionSend notifications
Declared by the recipe — Recued grants these at install, where you review them before approving.

What it's allowed to do

Read AI models core.ai.classify read-only
Read Notifications core.notification.send external change

2 more aren't listed here. You'll see them at install.

Data it touches

SurfacesAI modelsNotifications

About

Tags

home-assistant home-assistantsmart-homecamerasecurityalertsaipack:home-assistant

Details

72 steps 5 configurable settings recipe_id: check-camera-home-assistant