In your automation you can simply call this service, making you live easier to maintain it. So in the end the service does the same thing, but you don’t have to go through the whole documentation.
My current counter is now on 56 automations that uses this service. If I would update the service, then I don’t have to redo all other 56 automations, since they all point to this single service.
Have a look at the examples that you can use in your automation: Useful examples
I recently discovered this blueprint and would love to put this to use.
After an assortment of tests, I think I’m seeing a bug that prevents messages from being sent. It is coming up with the wrong notify.[device name]. The notify.[device name] may have been a valid entry in the past - but it is not now.
I have removed the blueprint, redownloaded, performed restart… it’s just not working. If I send a notification without the blueprint - those work.
I have tried the blueprint function with “both” and “home” and the messages don’t go through. They do, however, say it’s looking for a service that doesn’t exist; this applies both to my phone and my wife’s phone.
Flip side: it does work for my WearOS watch. But that’s one of three devices I’d need to hit.
I nosed around some and found a way to view the effects of the script. I’ll add what I’ve learned here, since I didn’t see it in what I reviewed.
I have this working on all three device.
The script looks at the device_trackers and extrapolates the notify.mobile_app_[device name] and if it doesn’t match, the script doesn’t work. For my wife’s phone, the router had reserved the non-“_2”, so her device_Tracker was [device]_2 and for mine, I had renamed the device to be more human-friendly. In both cases, this threw things off.
I made sure that the device in mobile app and the device_tracker had the exact same name. Once that was done, success.
Awesome to see that you were able to find to issue and resolve it, and thanks for the feedback!
Currently there is no way to get the device services, so that is why I had to used the “find and replace” -part. But as you mentioned it did not work initially, so I’ll need to see if I can come up with some solution, since also others have noticed the same.
Thanks for this script which seems great, but which I couldn’t really try because I systematically get an error when sending the notification “Service notify.mobile_app_sm_a536b not found”.
For the record, “standard” notifications from HA work fine.
Here are some screenshots taken from the development tool :
So I may be a total idiot, I can’t figure how this blueprint work.
I have installed the newest version of the Blueprint without any issues.
I clicked “Create a Script” and immediately save it with a new name.
The newly created script shows up in the “Script” section next to the blueprints
I go to “Services” and can bring up the script just created.
I can fill all the necessary information and click “Call Service” and everything works as it should.
But how can the resulting yaml from the Services tab be saved in the script.yamil file?
If I click on the script name in the Scripts section and switch to YAML mode, I see the following as an example:
alias: Notify of Power Failure
use_blueprint:
path: Grumblezz/notify_devices.yaml
input: {}
description: Sends Notification when the Power Has been Restored
If I try to copy the yaml code from the services tab in the script itself, I get an error:
stating: "Message malformed: extra keys not allowed @ data[‘service’]
So long way around to ask, how can I store my information in the scripts.yaml file.
For reference here is the full copy/paste that I am trying to save in the scripts file:
alias: Notify of Power Failure
use_blueprint:
path: Grumblezz/notify_devices.yaml
input: {}
description: Sends Notification when the Power Has been Restored
service: script.notify_of_power_failure
data:
notify_devices:
- 4e6e3...[my device number]
notify_home_or_away: Both
notify_title: POWER RESTORED
notify_message: The Power has been Restored at Home!
data_importance: high
data_device_ring: Max
data_critical: true
data_ios_sound: alarm.caf
data_ios_sound_volumelevel: 0.8
data_ios_interruption_level: time-sensitive
Once you imported the blueprint then you will have an entry like: script.the_name_of_imported_blue_print. The in the automation you just call the script like you would do when turning an light blub on/off.
I have an idea what that could mean, but I think it would be to confusing, as what counts as if no one home? Only the devices that can be notified? Or zone.home = 0 ( {{is_state('zone.home',0)}} )? What if I want to exclude something/device/person…? It would become quite an rabbithole in the ‘simple’ automation. What I have done so far is to solve this using the automation with a Choose option
I see your point. But what I mean is (hopefully) much easier.
Currently you implemented already three “device states”: home, away, both.
My idea is just to mix “home” and “away”. Similar to “both” but a litte bit different. So if if none of the device state is “home” than all devices with state “away” would be notified.
No new business logic Just another version of “both”.
With this additional option you can easily setup something like e.g. notify device which are home that someone needs to take out the trash but if no device is home than every device away will be notified.
Thanks @Grumblezz
This seems to work for me, I am not sue why I really didn’t get how to implement this blueprint in the first palce. :). I appreciate you taking the time to explain it.