this post was submitted on 26 Mar 2024
22 points (100.0% liked)

homeassistant

12135 readers
1 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io

founded 2 years ago
MODERATORS
 

Hi, all. My wife and I recently got new phones, and it got me thinking again about how notifications work.

Currently I have several automations (maybe 10) that send notifications to my phone, her phone, both, and possibly other devices.

But when we get a new phone, or replace a tablet, etc., I have to update every single one of those automations. And I inevitably forget some or introduce errors.

Is there a better way to do this? For example, it'd be nice if I could abstract the concept of "my phone" out in those automations, then I'd only have to change the device "my phone" in one place, rather than a bunch of places.

Any thoughts on this? Maybe I'm missing a way to do it. Thanks.

you are viewing a single comment's thread
view the rest of the comments
[–] TreeGhost@lemm.ee 3 points 8 months ago* (last edited 8 months ago) (2 children)

I utilize scripts for all of my notification needs. It allows me to utilize logic based around certain criteria, like this on that will only notify family members at home. If no one is home it will wait and notify the first person to show up. This also allows me to be able to quickly toggle notifications for my wife when I'm testing automations with notifications.

alias: Notify People at Home
fields:
  title:
    description: The title of the notification
    example: Laundry
  message:
    description: The message content
    example: Washer Finished!
sequence:
  - if:
      - condition: state
        entity_id: zone.home
        state: "0"
    then:
      - wait_for_trigger:
          - platform: numeric_state
            entity_id: zone.home
            above: "0"
    else: []
  - parallel:
      - if:
          - condition: state
            entity_id: person.bob
            state: home
        then:
          - service: script.notify_bob
            data:
              title: "{{ title }}"
              message: "{{ message }}"
      - if:
          - condition: state
            entity_id: person.mary
            state: home
        then:
          - service: script.notify_mary
            data:
              title: "{{ title }}"
              message: "{{ message }}"
mode: queued
icon: mdi:exclamation-thick
max: 10
[–] KairuByte@lemmy.dbzer0.com 2 points 8 months ago* (last edited 8 months ago)

I have something similar, but added user names to the mix. “names_iphone” works for “alert name” and similar.

[–] limelight79@lemm.ee 2 points 8 months ago (1 children)

This is really cool. I've been out and about and have gotten notification the laundry is done, and it's like, welp, that's not very useful information right now. Thanks!

[–] TreeGhost@lemm.ee 1 points 8 months ago (1 children)

The only issue with doing it this way is that the UI to call the script isn't as nice as calling the notification service directly, but it isn't too bad to switch to yaml mode and populate the parameters once you get used to it.

[–] limelight79@lemm.ee 2 points 8 months ago

Yeah, I'm okay with the YAML mode, so that's not a major problem for me.