Notify / platform: group déprécié et migration vers la nouvelle syntaxe

Bonjour,

Jusqu’à présent, j’utilisais des groupes de notification :

notify:
  - name: notification_alarm
    unique_id: notification_alarm
    friendly_name: Alarme
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: freemobile_guillaume
      - action: freemobile_emma
      - action: ntfy_alarm

Et des notifications définies de la sorte :

  - name: ntfy notification
    unique_id: ntfy_notification
    platform: apprise
    url: "ntfy://apikey@xxx.domain.ltd/homeassistant?priority=min&tags=scroll&avatar_url=https://yyy.domain.ltd/local/icons/homeassistant.png"

Depuis quelque temps, l’intégration ntfy a beaucoup évolué et supporte les paramètres qui lui manquaient pour que je switch d’apprisevers ntfy. Le souci, c’est qu’apparemment ma syntaxe est dépréciée et que je dois maintenant utiliser les helpers groupe de type notification. La difficultée, c’est que moi, j’ai défini des actions et que la nouvelle syntaxe prends des entités.

Vous auriez des pistes pour m’aider a convertir mon ancienne syntaxe vers la nouvelle ?

Bonjour

Ma syntaxe pour mes notifications est sous cette forme

 # notify group iphones free
notify:
  - platform: group
    name: "iphones_free"
    services:
      - service: iphone_pxxxxxx_free
      - service: iphone_vxxxxxx_free

en complément :

OK, donc :

notify:
  - name: notification_alarm
    unique_id: notification_alarm
    friendly_name: Alarme
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: freemobile_guillaume
      - action: freemobile_emma
      - action: ntfy_alarm

Deviens :

notify:
  - name: notification_alarm
    unique_id: notification_alarm
    friendly_name: Alarme
    platform: group
    services:
      - service: mobile_app_redmi14
      - service: freemobile_guillaume
      - service: freemobile_emma
      - service: ntfy_alarm

Mais comment je fais la liaison avec une action :

action: ntfy.publish
data:
  title: "Server Alert"
  message: "CPU usage exceeded 90%."
  priority: "5"
  click: "https://homeassistant.local"
  tags:
    - rotating_light
target:
  entity_id: notify.mytopic

Ou title et message ne seront pas en dur…

si j’ai bien compris la question …

Par exemple pour toutes mes alertes que j’appelle survey j’ai créé d’abord un script :

sequence:
  - data:
      message: "{{message}}"
    action: notify.iphones_free
alias: 05 Notification Mobiles (groupe)
mode: single
fields:
  message:
    selector:
      text: null
    name: message
    description: message notification groupe mobiles
    required: true
description: ""
icon: mdi:cellphone-sound

Ensuite dans mes automatisations alarmes “survey” j’appelle ce script en y insérant le message d’alerte, par exemple pour ma chaudière :

alias: 06 Survey Alerte Chaudière Fioul
description: ""
triggers:
  - trigger: template
    value_template: "{{ states('sensor.chaudiere_sonde_depart_temperature') <= '20' }}"
    id: "VRAI #"
conditions:
  - condition: state
    entity_id: select.home
    state: Hiver
    enabled: true
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - "VRAI #"
        sequence:
          - action: script.05_notification_mobiles_groupe
            metadata: {}
            data:
              message: Attention Chaudière HS
            enabled: true
mode: single

Ok c’est bien ce que j’avais compris… Du coup on passe d’un truc simple, mais déprécié à un truc plus complexe… Je trouve pas ça user friendly du coup…

1 « J'aime »

tu n’es pas obligé d’utiliser le script

tu peux directement appeler notify dans l’action de l’automatisation

notify.nom_groupe

J’essaie de comprendre et ça fait un petit moment que je teste de temps en temps.

De ce que je comprends tu appel un script pour faire ton groupe de notification ? Je ne trouve pas ça top, vu qu’il existe des groupe de notifications :

notify:
  - name: notification_alarm
    friendly_name: Alarme
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: freemobile_guillaume
      - action: freemobile_emma
      - action: ntfy_alarm

Par contre, le facteur limitant, c’est que si j’écris ntfy_alarm derrière, en fait ça correspond à notification.ntfy_alarm. Du coup dans un groupe de notification je ne peux appeler que des notifications (logique en fait…)… Du coup j’aimerais transformer une action en notification… Mon action :

action: ntfy.publish
data:
  title: "Server Alert"
  message: "CPU usage exceeded 90%."
  priority: "5"
  click: "https://homeassistant.local"
  tags:
    - rotating_light
target:
  entity_id: notify.mytopic

c’est complètement optionnel de faire ça, tu n’es pas obligé, c’est juste moi qui adore me compliquer la vie :slight_smile: l’intérêt de faire un script c’est surtout quand tu notifies un mobile, si jamais tu changes de mobile tu n’as qu’une modif à faire au lieu de rechercher toutes les automatisation.

c’est vrai que pour un groupe pas d’intérêt, je l’ai fait plutôt par habitude qu’autre chose et je t’ai envoyé l’exemple sans réfléchir que ça pouvait être perturbant.

ce que tu veux faire n’est pas clair pour moi, je n’utilise pas l’intégration nfy ni sa finalité. Je t’ai donné la syntaxe mais pour les reste …

Je traite des actions de survey pour ma base de données et incident chaudière mais avec les notifications et je traite les actions via des automatisations ou des scripts regroupant des actions d’alarme que j’appelle dans mes automatisations

Il y a surement quelque chose qui m’échappe dans ce que tu veux faire exactement

Bon, j’ai réussi !

# Notifications ntfy
notify:
  - name: ntfy alarm
    unique_id: ntfy_alarm
    platform: group
    services: []
  - name: ntfy alert
    unique_id: ntfy_alert
    platform: group
    services: []
  - name: ntfy_info
    unique_id: ntfy_info
    platform: group
    services: []
  - name: ntfy_notification
    unique_id: ntfy_notification
    platform: group
    services: []

automation:
  - id: "ntfy_send"
    alias: Envoie de notification avec "ntfy.publish"
    description: Utilise le service "ntfy.publish" pour envoyer des notifications.
    triggers:
      - trigger: event
        event_type: call_service
        event_data:
          domain: notify
          service: ntfy_alarm
        alias: ntfy alarm
        id: ntfy_alarm
      - trigger: event
        event_type: call_service
        event_data:
          domain: notify
          service: ntfy_alert
        alias: ntfy alert
        id: ntfy_alert
      - trigger: event
        event_type: call_service
        event_data:
          domain: notify
          service: ntfy_info
        alias: ntfy info
        id: ntfy_info
      - trigger: event
        event_type: call_service
        event_data:
          domain: notify
          service: ntfy_notification
        alias: ntfy notification
        id: ntfy_notification
    conditions: []
    actions:
      - choose:
          - conditions:
              - condition: trigger
                id:
                  - ntfy_alarm
            sequence:
              - action: ntfy.publish
                target:
                  entity_id: notify.home_assistant
                data:
                  title: "{{ trigger.event.data.service_data.title | default('Home Assistant') }}"
                  message: "{{ trigger.event.data.service_data.message }}"
                  priority: 5
                  tags: rotating_light
                  icon: "https://domain.co/local/icons/homeassistant.png"
          - conditions:
              - condition: trigger
                id:
                  - ntfy_alert
            sequence:
              - action: ntfy.publish
                target:
                  entity_id: notify.home_assistant
                data:
                  title: "{{ trigger.event.data.service_data.title | default('Home Assistant') }}"
                  message: "{{ trigger.event.data.service_data.message }}"
                  priority: 5
                  tags: warning
                  icon: "https://domain.co/local/icons/homeassistant.png"
          - conditions:
              - condition: trigger
                id:
                  - ntfy_info
            sequence:
              - action: ntfy.publish
                target:
                  entity_id: notify.home_assistant
                data:
                  title: "{{ trigger.event.data.service_data.title | default('Home Assistant') }}"
                  message: "{{ trigger.event.data.service_data.message }}"
                  priority: 3
                  tags: newspaper
                  icon: "https://domain.co/local/icons/homeassistant.png"
          - conditions:
              - condition: trigger
                id:
                  - ntfy_notification
            sequence:
              - action: ntfy.publish
                target:
                  entity_id: notify.home_assistant
                data:
                  title: "{{ trigger.event.data.service_data.title | default('Home Assistant') }}"
                  message: " {{trigger.event.data.service_data.message}} "
                  priority: 1
                  tags: scroll
                  icon: "https://domain.co/local/icons/homeassistant.png"
    mode: parallel
    max: 10

En gros, je déclare des groupes vides et j’écoute cest groupes… Et après j’ai des vrais groupes :

# Groupes de notifications
notify:
  - name: notification_alarm
    friendly_name: Alarme
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: freemobile_guillaume
      - action: freemobile_emma
      - action: ntfy_alarm

  - name: notification_alert
    friendly_name: Alerte
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: ntfy_alert

  - name: "notification_alert_tts"
    friendly_name: "Alerte + TTS"
    platform: group
    services:
      - action: mobile_app_redmi14
      - action: ntfy_alert
      - action: tts_google_home_salon

  - name: notification_info
    friendly_name: "Info"
    platform: group
    services:
      #- action: mobile_app_redmi14
      - action: ntfy_info

  - name: notification_notification
    friendly_name: "Notification"
    platform: group
    services:
      - action: ntfy_notification

  - name: "notification_notification_tts"
    friendly_name: "Notification + TTS"
    platform: group
    services:
      - action: ntfy_notification
      - action: tts_google_home_salon

  - name: "notification_tts_only"
    friendly_name: "Notification seulement TTS"
    platform: group
    services:
      - action: tts_google_home_salon

1 « J'aime »

Bravo si tu es arrivé à ce que tu voulais

Je reste quand même persuadé que tu pouvais arriver à quelque chose d’approchant en utilisant les scripts. Ce qui me gêne c’est que la chaîne est complexe en s’appuyant sur une intégration pour des notifications importantes, si jamais l’intégration a un problème suite à une mise à jour tu perds toutes tes notifications

Bon après le principal c’est que tu sois arrivé à ce que tu voulais

Moi je suis plutôt en phase d’élimination des intégrations ou je peux reproduire ce que je veux avec les fonctions natives, je ne garde que l’indispensable.