Skip to content

Instantly share code, notes, and snippets.

@bbbenji
Created March 19, 2026 19:52
Show Gist options
  • Select an option

  • Save bbbenji/cea8473cddf53ef3fb3ae3334a9d4f55 to your computer and use it in GitHub Desktop.

Select an option

Save bbbenji/cea8473cddf53ef3fb3ae3334a9d4f55 to your computer and use it in GitHub Desktop.
blueprint:
name: "Actionable Smoke/Fire Alert (Critical)"
description: "High-priority fire alert that bypasses 'Do Not Disturb' and provides a direct link to your floorplan or camera dashboard."
domain: automation
input:
smoke_sensors:
name: Smoke Sensors
description: "Select one or multiple smoke or CO detectors."
selector:
entity:
multiple: true
filter:
device_class: smoke
notify_device:
name: Notify Device
description: "The mobile device to receive the critical alert."
selector:
device:
integration: mobile_app
camera_dashboard:
name: Dashboard/Camera Path
description: "Path to open (e.g., /lovelace/cameras) to verify the fire visually."
default: "/lovelace/0"
selector:
text:
trigger:
- platform: state
entity_id: !input smoke_sensors
to: "on"
condition: []
action:
# 1. Send Critical Mobile Notification
- device_id: !input notify_device
domain: mobile_app
type: notify
title: "🔥 FIRE/SMOKE DETECTED"
message: >
CRITICAL: {{ trigger.to_state.name }} has detected smoke!
Time: {{ now().strftime('%H:%M:%S') }}
data:
# Critical Alert Settings (Bypasses Mute/DND)
push:
sound:
name: "default"
critical: 1
volume: 1.0
ttl: 0
priority: high
# Click Action to see the house
clickAction: !input camera_dashboard
# Adds a quick action button to the notification
actions:
- action: "URI"
title: "Open Cameras"
uri: !input camera_dashboard
# 2. Create Persistent Notification in HA UI
- service: notify.persistent_notification
data:
title: "FIRE ALERT: {{ trigger.to_state.name }}"
message: "Smoke detected by {{ trigger.to_state.name }} at {{ now().strftime('%H:%M') }}. Evacuate if necessary!"
notification_id: "smoke_alert_{{ trigger.entity_id.split('.')[1] }}"
mode: parallel
max: 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment