Notificaties

Notificaties zijn meldingen die gestuurd kunnen worden naar diverse platforms. Er dient tenminste één ‘notifier‘ aanwezig te zijn, denk hierbij bijvoorbeeld aan LG_TV, tts, whatsapp, telegram, etc… Een aantal platforms zijn standaard al aanwezig in Home Assistant:

Persistent Notification Service

Notificaties kunnen ook naar de GUI van Home Assistant gestuurd worden met de ‘Persistent Notification Service‘.

Notify entity service

Home Assistant kan notificaties sturen met de ‘Notify Entity Service‘ dat gebruik maakt van de ‘send_message‘ service.

Companion app notifications

Notificaties kunnen ook naar de smartphone gestuurd worden indien deze gebruik maakt van de Companion App via de ‘notify.mobile_app_smartphone_naam‘ service.

Met alle notificaties geldt dat het bericht dat gestuuurd wordt in een ‘message‘ veld geplaatst dient te worden, de overige velden zijn optioneel.

Notificaties kunnen ook naar zogenaamde ‘notify_groups‘ gestuurd worden waardoor meerdere devices in één keer aangestuurd kunnen worden. Voorbeeld voor een notify_group in notifiers.yaml:

- platform: group
  name: "Nico's notificatie groep"
  services:
    - service: mobile_app_iphone_nico
    - service: whatsapp

Deze kan dan met een service aangeroepen worden:

Hetzelfde in Node-RED geschiedt middels een service-node:


Berichten versturen naar Whatsapp wordt hier uitgelegd


Push Notifications met Actions

Push notifications met Actions zijn berichten naar de companion app op een smartphone waarbij gevraagd wordt om te reageren met een button (of met een keuze uit meerdere opties) hetgeen een action oplevert in de vorm van een ‘event‘ dat door Home Assistant ingelezen wordt. Aan de hand van de ‘Action’ kan een automatisering aangeroepen worden in Home Assistant of via een call-service-node in Node-RED.

Hieronder een voorbeeld voor een notificatie-met-action naar een iPhone in Node-RED. In een call-service-node wordt het domain ‘notify’ gebruikt naar een mobile_app_iphone service en in de data komt de volgende JSONata-expression:

Zodra deze service wordt aangeroepen verschijnt de notificatie op de iphone:

Vervolgens wordt dan een event-node gebruikt om de action af te vangen die door een van de twee buttons als Action terug wordt gestuurd naar Home Assistant:

De payload bevat de keuze van de Action en is dan of LEFT_LAMP of RIGHT_LAMP hetgeen we bepalen in een switch-node:

En aan de outputs van de switch komen de call-service-nodes die de lampen aan of uit zetten middels een toggle.

De totale flow ziet er dan als volgt uit:

In plaats van een inject-node zou bijvoorbeeld een sensor de notificatie kunnen activeren.

Mocht je om wat voor reden dan ook de notificatie op een iPhone (en op een CarPlay scherm in de auto) als kritisch en door de screensaver heen laten verschijnen, gebruik dan deze JSONata-expression in de call-service-node:

Voor een Android smartphone is dat het volgende:


Notificatie met camera-beeld en action: