[Article] Vos entités sous surveillance

Salut,

Je ne comprend pas pourquoi cela ne marche pas chez toi : la notification ne doit bien entendu jamais se déclencher quand tous les devices sont disponibles. Tu ne devrais pas avoir une notification avec « rien ». Je viens de refaire un test chez moi et cela fonctionne bien.

Je te propose de réessayer de recréer l’automatisation de 0 en suivant exactement le tuto et de refaire un test (ou réimporte le blueprint dans la section des blueprint pour recharge les automatisations).
Pour tester, met une heure quelques minutes après l’heure courante pour provoquer le déclenchement sans trop attendre (ne pas forcer l’exécution à la main).

Pour isoler le pb, tu peux peut être tester avec un tag de test temporaire et juste quelques entités…

Si tu reçois encore une notification, il faudrait m’envoyer le texte de la notification.

Tu pourra aussi vérifier dans les traces ce qui s’est passé :
Pour comprendre le fonctionnement, le blueprint liste les entités non disponibles avec le tag indiqué et met la liste dans une chaine de caractères entities (elle sera reprise dans le message). La notification est envoyée que si la longueur de la chaine de caractères entities est > 5 (pas 0 car elle contient des caractères spéciaux).

Voici ce qui se passe dans les traces si tous les devices sont disponibles :

La longueur de la chaine entities est < 5 et donc l’automatisation s’arrête : pas de notification envoyée.

Si cela ne marche pas, il faudra regarder le contenu de entities en l’affichant dans le message.

Changer le code du message n’apportera rien par contre…

Merci pour ta réponse rapide et complète qui m’a permis potentiellement de comprendre mon erreur.
Afin de tester l’automatisme, je lançais manuellement depuis le menu « activer » mais dans ta réponse, tu indiques qu’il faut modifier un horaire et non lancer en manuel. C’est donc ce que je viens de faire et l’historique de déclenchement a permis de confirmer le lancement de l’automatisation sans que je ne reçoive de notification m’indiquant qu’aucun device n’était indisponible. Donc çà marche et je te remercie sincèrement pour ta soluce.
Concernant mes précédentes notifications, je ne sais pas ce qui devait coincer car pour l’instant je ne suis pas reparti de zéro. Si çà recommence, je le ferai.
Encore un grand merci.
excellente journée.

1 « J'aime »

Bonjour,

J’ai installé le BluePrint « wildcards »
j’ai des équipements en IP (wemos d1 mini, esp-01, sonoff, …)
les entités commencent toutes par « binary_sensor.10_0 »

use_blueprint:
  path: argonaute199/availability_check_wildcards.yaml
  input:
    time2: "10:44:00"
    time4: "22:00:00"
    time5: "04:00:00"
    selector: binary_sensor.10_0*
    actions:
      - action: notify.sms
        metadata: {}
        data:
          target: 6********
          message: |-
            Attention, devices non disponibles :
              {{entities}}
    time3: "16:00:00"

J’ai actuellement un device non joignable
image
mais à l’exécution de l’automatisation j’ai reçu un sms avec :

Attention, devices non disponibles :

Qu’est-ce qui cloche ?

Si le device est off, c’est qu’il est joignable à priori. Je pense que c’est la raison. Que dit zigbee2mqtt ?

As tu regardé les traces de l’automatisation ?

Est ce que tu lances à la main l’automatisation depuis l’éditeur d’automatisation ou elle s’exécute à une des heures paramétrées ?
Si exécution manuelle, un SMS sera envoyé même si aucun des entités n’est indisponible car les conditions de l’automatisation ne sont pas testées (comme indiqué dans le tuto).

Enfin, tu peux tester la chaine de wildcard dans l’outil de développement : voir chapitre test des filtres de sélection.

Bonjour @Argonaute ,
tous les sensors sont sous esphome, j’ai des ping qui tournent
image
j’ai créé des cartes, mais j’aimerais être notifié dès qu’un équipement n’est plus joignable (qui ne répond plus au ping)

As tu regardé les traces de l’automatisation ?

tu vois ça où ?

Est ce que tu lances à la main l’automatisation depuis l’éditeur d’automatisation ou elle s’exécute à une des heures paramétrées ?

j’ai fait les 2, mais vu qu’un équipement est injoignable le sms devrait contenir le nom de « entities » non ?

Enfin, tu peux tester la chaine de wildcard dans l’outil de développement

je l’ai fait et cela me sort tous es équipements concernés

D’après ta copie d’écran, ton binary sensor indique off, donc il est probablement resté sur l’ancienne valeur, et est considéré comme encore disponible, même si pas raffaichis depuis longtemps.

Pour les traces : tu as créé une automatisation d’après le blue print. Il faut l’ouvrir (paramétres-automatisations) et tu as « historique des exécutions » en haut à droite.

Tu vois ensuite ce qui s’est passé : ci-dessous, il n’y avais pas d’entités indisponible pour moi, et l’automatisation a quittée (entities ne contient que des caractères spéciaux => longueur < 5).

ok j’ai cherché dans les journaux, mais j’ai rien trouvé, donc j’ai ça :

Quelles sont les traces d’une exécution déclenchée par l’heure et non les à la main ?

Encore une fois, je pense que ton entitée est noté disponible par ESPHome, mais avec une vieille valeur…

Bonjour @Argonaute,

Désolé je n’avais pas vu ta réponse.
Les déclenchements aux heures configurées non rien donné car aucun équipement étaient injoignables à ce moment là.
Par contre j’ai créé une nouvelle Automatisation :

alias: check test
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.10_x
      - binary_sensor.10_x
      - binary_sensor.10_x
      - binary_sensor.10_x
    to: "off"
    from: "on"
condition: []
action:
  - action: notify.sms
    metadata: {}
    data:
      target: 612345678
      message: test {{ entities }}
mode: single

et j’ai reçu plusieurs SMS mais il contenaient juste « test »
exemple de déclenchement :

comment faire pour qu’il y ait « test » suivi du nom du déclencheur

Le coup de l’étiquette, ca me plait bien ^^

1 « J'aime »

Oups, désolé mais tu est un peu loin de l’utilisation du blueprint la…. Ton code ne gère pas le contenu de la variable entities comme le fait le code jinja2 dans mon blueprint.

Bonjour,
C’est la même chose avec le blueprint :

alias: Check équipements IP
description: |-
  check 4/jour de la disponibilité des équipement en IP
  https://www.hacf.fr/surveillance-entites/
use_blueprint:
  path: argonaute199/availability_check_wildcards.yaml
  input:
    time3: "10:00:00"
    time2: "10:44:00"
    time3: "16:00:00"
    time4: "22:00:00"
    selector: binary_sensor.10_0_0_*
    actions:
      - action: notify.sms
        metadata: {}
        data:
          target: 612345678
          message: | -
            Attention, devices non disponibles :
              {{entities}}

mais je ne reçois que :

Attention, devices non disponibles :

Bonsoir @herveaurel

Ton code m’intéresse pour l’adapter à mon besoin
https://forum.hacf.fr/t/recuperer-la-liste-des-peripheriques-wifi-indisponibles/46626

Par contre étant encore débutant, peux tu m’indiquer comment créer un compteur et sensor avec un value_template

Merci par avance

Attention @romu044, comme indiqué dans le tuto, le wildcard est .* (un point suivi d’une étoile). Tu as juste mis une étoile.

ah bien vu @Argonaute, je viens de tester :


je vois bien tous mes sensors à surveiller.

J’ai changé l’heure pour une exécution à 14h25 et à 14h32
pour l’éxécution de 14h25 tous mes sensors étaient joignables, donc pas de notification.
à 14h30 j’ai coupé l’alimentation d’un des sensors, il est passé down, à l’exécution de 14h32, toujours pas de notification :


et en lançant l’exécution en manuel je reçois bien un SMS, sans le nom de l’entitié :

Attention, devices non
disponibles : -

j’ai loupé autre chose ?
A 14h32 j’aurais du recevoir un SMS vu qu’un des sensors n’était plus joignable.

Ah zut.
As tu testé ton expression avec le wildcard dans l’outil de dev pour voir si elle est correcte ? ça pourrait expliquer.
Est ce que l’entité a bien la valeur " indisponible" (unavailable) ?

Après, maintenant que les labels existent, je conseillerai plutôt d’utiliser l’autre méthode, plus facile à maintenir…

l’expression du wildcard c’est pas ce que j’ai fait sur la 1ère copie d’écran de mon précédent post ?
Pour l’état c’est ON ou OFF :
image
J’utilise l’intégration Ping

Je viens de faire le test avec la méthode des labels.
J’ai affecté l’étiquette « Check » à quelques binary_sensors, dont un injoignable

alias: check_01
description: ""
use_blueprint:
  path: argonaute199/availability_check_label.yaml
  input:
    time1: "14:12:00"
    time2: "15:08:00"
    time3: "16:00:00"
    time4: "17:00:00"
    selector: Check
    actions:
      - action: notify.sms
        metadata: {}
        data:
          target: 612345678
          message: |-
            Attention, devices non disponibles :
              {{entities}}

Si je fais une exécution manuelle je recois bien un SMS avec :

Attention, devices non disponibles :

et en mode auto rien

Etonnant. Peux tu envoyer une copie de l’entité avec sa valeur indisponible ?

1 « J'aime »

la copie dans mon message du 28/09 c’est pas ce que tu me demandes ?