Skip to content

Mobile Push Transport Adaptor

Transport ID Source Requirements Optional
mobile_push mobile_push.py Companion App Notifications -

Send a push message out, with option for camera integration, mobile actions, and translate general priority to Apple specific push priority.

Some functionality may also work with Android push, though has not been tested.

Although Supernotify will automatically set most useful mobile push options, its also possible to directly set them, as in this example:

  - action: notify.supernotify
    data:
      message: Movement at garden gate
      data:
        priority: high
        media:
          camera_entity_id: camera.porch
          camera_ptz_preset: garden_gate
        action_groups:
          - security_actions
        delivery:
          mobile_push:
            data:
              tag: "backyard-motion-detected"
              presentation_options:
                - alert
                - badge
              push:
                sound:
                  name: "US-EN-Alexa-Motion-Detected-Generic.wav"
                  volume: 1.0

Info

This has not been tested with Android, although both Apple and Android devices share same common core mobile push notifications. Pull Requests for adding Android functionality are welcome.

Default Delivery

A default Delivery called DEFAULT_mobile_push will be automatically generated for Mobile Push transport if no explicit ones created, since this is the new standard HomeAssistant notification provider. If you don't want to use it, then use configuration as below:

transports:
  mobile_push:
    disabled: false

Auto generating targets

By default, where no explicit target is given, mobile push will send to all known devices of all known recipients ( usually the list of Person integration entries in Home Assistant, and mobile apps found in Home Assistant that have their user_id and Notify Entities available), and filter those recipients by occupancy status if wanted in the Delivery configuration.

Mobile Push can also do its own device discovery and ignore recipients. If you want to switch off that behaviour, and drive it only by the defined recipients, then switch on device discovery.

Configuration snippet
transports:
  mobile_push:
    delivery_defaults:
      options:
        device_discovery: true

By default this will look for all mobile_app devices, and can be narrowed down by using the device_model_select,device_manufacturer_select, device_area_select, device_label_select and device_os_select patterns.

Configuration snippet
transports:
  mobile_push:
    delivery_defaults:
      options:
        device_discovery: true
        device_label_select:
          include:
            - parents
          exclude:
            - kids
        device_manufacturer_select:
          exclude:
            - Apple
            - Amazon
        device_model_select: .*Pixel.*
        device_os_select:
          exclude:
            - MacOS
            - iOS

References

Home Assistant Core