I am a bit confused and possibly I have things set wrong.
I have this in YAML mode with the blueprint:|
alias: Gate Vehicle Motion Detection
use_blueprint:
path: samuelthng/notifications.yaml
input:
notify_device: 9f8ff81591a0936eb19abc1b944fd120
title: Vehicle Detected at Intercom
message: A vehicle was detected at the Rio Crest gate intercom
icon: mdi:motion-sensor
confirm_uri: com.mcu.reolink
confirm_text: Launch Reolink
confirm_option_mode: action
dismiss_enabled: false
notification_link: app://com.mcu.reolink
attachment_type: camera_entity
attachment_camera_entity: camera.rc_intercom_fluent
confirm_is_destructive: false
timeout:
hours: 0
minutes: 2
seconds: 0
clear_on_timeout: true
visibility: public
icon: mdi:motion-sensor
I do get a perfect screen and if I click āLaunch Reolinkā it dismisses the notification and does nothing. If I click the image or anything else, it lanuches āReolinkā.
Why am I backwards?
I would have thought it was the other way.
Maybe the confirm uri is wrong and should be āapp://com.mcu.reolinkā ā¦ testing.
It has to be an āapp://ā link for confirm_uri (for first action button), just like you have done for notification_link (for clicking anywhere else)
You can refer to the documentation here for more details about deep linking.
Yes, I did see that and stated at the end I likely missed that.
I an now (unsuccessfully so far) trying to implement a notification that would have three āactionsā
Launch Reolink (works)
Dismiss (canāt figure that out)
Open Gate (Runs a webhook or script ā¦ can;t figure that out either)
Given what I posted, it would be interesting to tell me the YAML behind. The reason I want the YAML (and not just the GUI) is because I use this in an automation that depends on the camera and also uses parallel mode to send to multiple devices.
Is this expected? Or is there any way of controlling this? It looks to me like the Android tablet has room for four options and the Android phone only three and perhaps this is the issue.
Sadly, thereās no way to control this as this is dictated by the Companion app (or the OS) rather than the blueprint.
It could be because one of the OS only limits up to 3 options while the other supports 10. I canāt remember which, but thatās the primary reason why the script only supports up to 3 (highest common factor).
Understood. I was playing a bit yesterday as I use an automation which is triggered by motion at one of some cameras. I can template that as the message (which camera) and I can style that message in case you are not aware of that.
As in, this works:
field_message: A vehicle was detected at the Rio Crest <b>{{camera_location}}</b>
Where camera_location is the trigger_id:
variables:
camera_location: "{{trigger.id}}"
Simple formatting like bold, italic, probably colors works (at least in Android for phone and tablet). It is not clear to me what formatting is allowed in message body and if any at all is allowed in the option text fields but I will test later today and see.
To be clear, this is 90% of what I want. So close. This automation (I of course changed some device ids):
alias: Gate Vehicle Camera Alerts
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.rc_intercom_vehicle
- binary_sensor.rc_intercom_person
id: intercom
from: "off"
to: "on"
- platform: state
entity_id:
- binary_sensor.rc_gate_vehicle
- binary_sensor.rc_gate_person
id: gate
from: "off"
to: "on"
condition: []
action:
- parallel:
- service: script.gate_vehicle_motion_detection
metadata: {}
data:
field_notify_device: 9f8ff81591afdfdfdfgdffdgdfgdfdfg
field_title: "{{reason}} at <font color='red'>{{camera_location|title}}</font>"
field_message: >-
A {{reason}} was detected at the Rio Crest
<b>{{camera_location|title}}</b>
field_subtitle: ""
field_attachment_type: camera_entity
field_attachment_camera_entity: camera.rc_{{camera_location}}_fluent
field_timeout:
hours: 0
minutes: 2
seconds: 0
field_notification_link: app://com.mcu.reolink
field_confirm_uri: app://com.mcu.reolink
- service: script.gate_vehicle_motion_detection
metadata: {}
data:
field_notify_device: fc4d03d44446c9fdgdfgfdgfgfgfgfddfgdf
field_title: "{{reason}} at <font color='red'>{{camera_location|title}}</font>"
field_message: >-
A {{reason}} was detected at the Rio Crest
<b>{{camera_location|title}}</b>
field_subtitle: ""
field_attachment_type: camera_entity
field_attachment_camera_entity: camera.rc_{{camera_location}}_fluent
field_timeout:
hours: 0
minutes: 2
seconds: 0
field_notification_link: app://com.mcu.reolink
field_confirm_uri: app://com.mcu.reolink
- service: script.gate_vehicle_motion_detection
metadata: {}
data:
field_notify_device: 4f39f9ccf30dedfgddgdgffgdfg
field_title: "{{reason}} at <font color='red'>{{camera_location|title}}</font>"
field_message: >-
A {{reason}} was detected at the Rio Crest
<b>{{camera_location|title}}</b>
field_subtitle: ""
field_attachment_type: camera_entity
field_attachment_camera_entity: camera.rc_{{camera_location}}_fluent
field_timeout:
hours: 0
minutes: 2
seconds: 0
field_notification_link: app://com.mcu.reolink
field_confirm_uri: app://com.mcu.reolink
variables:
camera_location: "{{trigger.id}}"
reason: "{{trigger.entity_id.split('_')[3] | title}}"
mode: single
And the script is:
alias: Gate Vehicle Motion Detection
use_blueprint:
path: samuelthng/notifications.yaml
input:
notify_device: 9f8ff81591a093sdsddfdsfdsfdfsdsfsdfsdf
title: Vehicle Detected at Intercom
message: A vehicle was detected at the Rio Crest gate intercom
icon: mdi:camera-iris
confirm_uri: app://com.mcu.reolink
confirm_text: Reolink
confirm_option_mode: uri
dismiss_enabled: true
notification_link: app://com.mcu.reolink
attachment_type: camera_entity
attachment_camera_entity: camera.rc_intercom_fluent
confirm_is_destructive: false
timeout:
hours: 0
minutes: 2
seconds: 0
clear_on_timeout: true
visibility: public
icon_color:
- 249
- 6
- 31
dismiss_text: Dismiss
dismiss_option_mode: action
enable_icon_color: true
option_three_option_mode: action
option_three_action:
- service: script.open_gate
data: {}
option_three_enabled: true
option_three_text: Open Gate
icon: mdi:motion-sensor
So the message and such have formatting (Bold, red. etc/.) and is custom content via templates,.I tried today simplifying to templatize the devices to allow multiples and failed because of the timeouts.
Goal:
I have a sensor that has everyoneās phone who is working at the winery.
A vehicle arrives at the gate of the winery, triggering this notification.
MIssing: I can write very simply, send then all a message in parallel for someone to respond to.
Now I only am missing the send to multiple devices which are dynamic and come for a sensor which is a list of staff that on duty as I do not want that sent to those not on duty.
I would guess I could āscriptize thisā:
- service: script.gate_vehicle_motion_detection
metadata: {}
data:
field_notify_device: 9f8ff81591afdfdfdfgdffdgdfgdfdfg
field_title: "{{reason}} at <font color='red'>{{camera_location|title}}</font>"
field_message: >-
A {{reason}} was detected at the Rio Crest
<b>{{camera_location|title}}</b>
field_subtitle: ""
field_attachment_type: camera_entity
field_attachment_camera_entity: camera.rc_{{camera_location}}_fluent
field_timeout:
hours: 0
minutes: 2
seconds: 0
field_notification_link: app://com.mcu.reolink
field_confirm_uri: app://com.mcu.reolink
And pass in appropriate variables for each of the devices.
Hi thanks for this.
How many times will the trigger action repeat i.e. how many notifications will I receive?
In my case the notification suggests turning on the AC when the temp rises. If I dismiss, But donāt turn on AC and donāt want more notifications,how can I achieve that?
It will only send one when an automation calls the script.
If you are receiving more than one, it would mean your automation is triggering it multiple times. You might want to check your conditions on the automation instead.
First, thanks for sharing this awesome blueprint.
I would like ask how I need to set to āClear Notificationā works. And Iām testing on iOS.
This is the configuration that Iām using:
I have a strange issue. It seems if I create a new notification it tends to work. If I make any changes to the script afterwards, it stops working and logs the following:
āThe length of [apns-collapse-id] header must not exceed [64] bytes. This message is generated externally to Home Assistant.ā
It doesnāt really matter what I then change hereafter, I can strip it of any actions, camera entity, etc. it still fails.
Below is an example notification script. Any idea what I might be doing wrong here? Thanks.
alias: Notify MIC - Garage door opening
use_blueprint:
path: samuelthng/notifications.yaml
input:
notify_device: 09340e0b2a2f10f30fa447f79aa45932
title: Garage
message: Garage door 1 opening
confirm_text: Close garage door 1
confirm_option_mode: action
confirm_action:
- service: cover.close_cover
metadata: {}
data: {}
target:
entity_id: cover.garage_port_1_garage_door
dismiss_action: []
dismiss_enabled: false
attachment_type: camera_entity
attachment_camera_entity: camera.driveway
description: ""```
Thank you so much for this blueprint! Unfortunately, itās not working in my case. I am using HA 2024.8.2, but I didnāt get any notifications via the mobile app. If I send a custom notification manually, the notification is working fine. Do you have any ideas what could be the issue here? Iād really appreciate your help!
I have two major usecases but Iām not sure if this blueprint can handle it. So any hints are welcome
1:
I want to sent a notification to all mobile apps (of my family) if e.g. the front door is open to long. So someone need to go and close the door.
In this case I want to periodically (re)sent the notification as long as the door is open but let the notifcation disappear on all mobile devices as soon as the door has been closed.
Currently I donāt know how to a) setup the resent part and b) call the script to make the notification disappear (clear).
2:
If e.g. the washing maschine is ready I want to sent a notifcation with an āI took the laundryā-action. As soon as someone pressed this action I want the notification to disappear from all devices.
In this case I donāt know how to make the action sent the clear message.