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 action aangeroepen worden:
Hetzelfde in Node-RED geschiedt middels een action-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 action-node in Node-RED.
Hieronder een voorbeeld voor een notificatie-met-action naar een iPhone in Node-RED. In een action-node wordt de actie ‘notify.mobile_app_iphone’ gebruikt en in de data komt de volgende JSONata-expression:
Zodra deze action 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 action-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 action-node:
Voor een Android smartphone is dat het volgende:
Notificatie met camera-beeld en action: