mirror of
https://github.com/smkrv/ha-text-ai.git
synced 2026-07-21 22:54:00 +08:00
Create ha_text_ai_request_push.yaml
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
blueprint:
|
||||
name: Push Notification Sender
|
||||
description: Send push notifications with customizable content and options
|
||||
domain: automation
|
||||
source_url: https://github.com/smkrv/ha-text-ai/blob/main/blueprints/automation/ha_push_notification.yaml
|
||||
input:
|
||||
# Trigger Configuration
|
||||
trigger_type:
|
||||
name: Trigger Type
|
||||
description: Select the type of trigger for this automation
|
||||
default: state
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- state
|
||||
- numeric_state
|
||||
- time
|
||||
- template
|
||||
|
||||
trigger_entity:
|
||||
name: Trigger Entity
|
||||
description: Entity that will trigger this automation when its state changes
|
||||
selector:
|
||||
entity: {}
|
||||
|
||||
# State Trigger Options
|
||||
state_from:
|
||||
name: From State
|
||||
description: Previous state value to trigger the automation (optional, for state trigger)
|
||||
default: ""
|
||||
selector:
|
||||
text:
|
||||
|
||||
state_to:
|
||||
name: To State
|
||||
description: New state value to trigger the automation (optional, for state trigger)
|
||||
default: ""
|
||||
selector:
|
||||
text:
|
||||
|
||||
# Numeric State Options
|
||||
numeric_above:
|
||||
name: Above Value
|
||||
description: Trigger when the numeric value exceeds this threshold
|
||||
selector:
|
||||
number:
|
||||
mode: box
|
||||
step: 0.1
|
||||
|
||||
numeric_below:
|
||||
name: Below Value
|
||||
description: Trigger when the numeric value falls below this threshold
|
||||
selector:
|
||||
number:
|
||||
mode: box
|
||||
step: 0.1
|
||||
|
||||
# Time Trigger Options
|
||||
time_at:
|
||||
name: Time
|
||||
description: Specific time to trigger the automation (for time trigger)
|
||||
selector:
|
||||
time: {}
|
||||
|
||||
# Template Trigger Options
|
||||
template_value:
|
||||
name: Template
|
||||
description: Template condition that evaluates to true/false (for template trigger)
|
||||
selector:
|
||||
template: {}
|
||||
|
||||
# Notification Configuration
|
||||
notification_target:
|
||||
name: Notification Target
|
||||
description: The target device or group to receive the notification
|
||||
selector:
|
||||
text:
|
||||
|
||||
title_template:
|
||||
name: Title Template
|
||||
description: >
|
||||
Template for the notification title. Supports Home Assistant template syntax.
|
||||
Example: Temperature Alert: {{ states('sensor.temperature') }}°C
|
||||
default: Home Assistant Notification
|
||||
selector:
|
||||
text:
|
||||
multiline: true
|
||||
|
||||
message_template:
|
||||
name: Message Template
|
||||
description: >
|
||||
Template for the notification message. Supports Home Assistant template syntax.
|
||||
Example: Current temperature is {{ states('sensor.temperature') }}°C in {{ states('sensor.location') }}
|
||||
selector:
|
||||
text:
|
||||
multiline: true
|
||||
|
||||
# Advanced Options
|
||||
importance:
|
||||
name: Importance Level
|
||||
description: Set the importance/priority level of the notification
|
||||
default: default
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- low
|
||||
- default
|
||||
- high
|
||||
|
||||
notification_sound:
|
||||
name: Notification Sound
|
||||
description: Select a sound to play with the notification (optional)
|
||||
default: default
|
||||
selector:
|
||||
text:
|
||||
|
||||
data_actions:
|
||||
name: Actions
|
||||
description: >
|
||||
JSON array of actions (optional). Example:
|
||||
[{"action": "URI", "title": "Open Map", "uri": "https://maps.google.com"}]
|
||||
default: "[]"
|
||||
selector:
|
||||
text:
|
||||
multiline: true
|
||||
|
||||
# Additional Options
|
||||
group_notifications:
|
||||
name: Group Notifications
|
||||
description: Group similar notifications together
|
||||
default: false
|
||||
selector:
|
||||
boolean:
|
||||
|
||||
notification_timeout:
|
||||
name: Timeout
|
||||
description: Time in seconds before the notification disappears (optional)
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 86400
|
||||
step: 1
|
||||
mode: box
|
||||
|
||||
mode: queued
|
||||
max_exceeded: silent
|
||||
|
||||
trigger:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ trigger_type == 'state' }}"
|
||||
sequence:
|
||||
- platform: state
|
||||
entity_id: !input trigger_entity
|
||||
from: !input state_from
|
||||
to: !input state_to
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ trigger_type == 'numeric_state' }}"
|
||||
sequence:
|
||||
- platform: numeric_state
|
||||
entity_id: !input trigger_entity
|
||||
above: !input numeric_above
|
||||
below: !input numeric_below
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ trigger_type == 'time' }}"
|
||||
sequence:
|
||||
- platform: time
|
||||
at: !input time_at
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ trigger_type == 'template' }}"
|
||||
sequence:
|
||||
- platform: template
|
||||
value_template: !input template_value
|
||||
|
||||
variables:
|
||||
notification_target: !input notification_target
|
||||
title_template: !input title_template
|
||||
message_template: !input message_template
|
||||
importance: !input importance
|
||||
notification_sound: !input notification_sound
|
||||
data_actions: !input data_actions
|
||||
group_notifications: !input group_notifications
|
||||
notification_timeout: !input notification_timeout
|
||||
|
||||
action:
|
||||
- service: notify.mobile_app_{{ notification_target }}
|
||||
data:
|
||||
title: "{{ title_template }}"
|
||||
message: "{{ message_template }}"
|
||||
data:
|
||||
importance: "{{ importance }}"
|
||||
sound: "{{ notification_sound }}"
|
||||
actions: "{{ data_actions }}"
|
||||
group: "{{ group_notifications }}"
|
||||
timeout: "{{ notification_timeout }}"
|
||||
Reference in New Issue
Block a user