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.

  • @[email protected]
    link
    fedilink
    English
    148 months ago

    I set up a notify group for each of us. I use notify.me and add/remove the devices as needed.

    notify:
    - name: me
      platform: group
      services:
       # - service: mobile_app_pixel_2_xl
        - service: mobile_app_pixel_6
    
    - name: her
      platform: group
      services:
        - service: mobile_app_iphone
    

    Then you can use it like any other service:

    service: notify.me
    data:
      message: Test
      title: Alert!
    
    • Synestine
      link
      fedilink
      English
      28 months ago

      This is how my partner and I do our notifications. We’ve got “him”, “her”, and “us”, depending on who needs the notification. Whenever either of us gets a new device, I add it to either of our groups and then works.

  • The Pantser
    link
    English
    88 months ago

    Yes notifications need an overhaul, we assign devices to people we should be able to choose notify.user as a service and choose the user to send the notification to. That way when we change devices we only have to associate the device with the user again.

  • mojo17
    link
    English
    5
    edit-2
    8 months ago

    I use the notify service with a group platform. This way you add and remove devices in one place only. Here’s how I set it up in configuration.yaml:

    notify:
      - name: notify_all_devices
        platform: group
        services:
          - service: mobile_app_pixel_6_pro
          - service: mobile_app_pixel_3_xl
    

    In my automation triggers, I simply call my notify_all_devices service.

  • @[email protected]
    link
    fedilink
    English
    3
    edit-2
    8 months ago

    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
    
    • @[email protected]
      link
      fedilink
      English
      2
      edit-2
      8 months ago

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

    • @[email protected]OP
      link
      fedilink
      English
      28 months ago

      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!

      • @[email protected]
        link
        fedilink
        English
        18 months ago

        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.

  • @yesterdayshero
    link
    English
    18 months ago

    Recently did this and yes it’s a pain. I don’t know if it’s going to help until next time we change phones, but what I did this time was name the device after the person, rather than the phone model.

    The idea being that I can delete the old device in the future and replace it with the new device, named the same. That way I don’t have to change the device name in each automation every time. Hopefully that made sense. But I still haven’t tested it in reality.

    • @[email protected]OP
      link
      fedilink
      English
      18 months ago

      I could see that working in theory, but in reality we both still have our old phones - in fact I had to find my wife’s old phone this morning and shut off the alarm she’d left on.