Créer une variable en fonction d'un résultat d'un calcul entre deux données

Bonjour

J’aimerais créer une variable supplémentaire pour gérer les batteries de mes détecteurs incendies

Si sensor.alarme_incendie_cave_battery ou sensor.alarme_incendie_cuisine_battery ou … est < 15 %

alors créer une variable « Alarme incendie, niveau batterie » avec comme valeur par exemple « critique »

J’avais imaginé faire comme cela, mais cela ne fonctionne pas.

automation:
  - alias: "Alerte Batterie Incendie"
    trigger:
      - platform: numeric_state
        entity_id: sensor.alarme_incendie_cave_battery
        below: 15
      - platform: numeric_state
        entity_id: sensor.alarme_incendie_cuisine_battery
        below: 15
    action:
      - service: alarme_incendie_niveau_batterie.set_value
        data:
          entity_id: alarme_incendie_niveau_batterie
          value: "Attention niveau batterie"

N’existe sûrement pas ! ce service !

Tu créé une entité Texte et tu lui demande de la remplir , là oui!

Hello

@Doubledom a raison.
Il te faut d’abord creer un helper ( entree) type boolean ( interrupteur) dont tu feras varier l’état en fonction des trigger de ton automatisation.

Après, tu pourras utiliser l’etat de ce helper comme trigger ou condition dans une automatisation, un service…etc

@+

Seulement une entité texte, doit suffire ! si c’est pour affichage.
Sinon envoie message direct
image
image
image
image


sélectionne texte

1 « J'aime »

Merci à tous, mais je suis un peu perdu là.

Pour résumer

1°) entrée
l’entrée de type « input_texte_alarme_incendie_niveau_batterie »
mode d’affichage « texte »
ide de l’entité « input_texte_alarme_incendie_niveau_batterie »

2° ) automatisation

alias: Alarme incendie niveau batterie
description: ""
trigger:
  - type: bat_low
    platform: device
    device_id: xxxxxx
    entity_id: xxxx
    domain: binary_sensor
condition:
  - condition: numeric_state
    entity_id: binary_sensor.alarme_incendie_cave_battery_low
    below: 15
action:
  - variables:
      input: alarme-incendie-niveau-batterie
mode: single

là il faut appeler le service pour mettre à jour ton entité.
fait test sous développement avant !

Merci

Je me suis peut-être mal exprimé, mais je désire afficher un texte « niveau de batterie critique », si une des entités alarme-incendie-cave-batterie ou alarme-incendie-cuisine-batterie est inférieur à 15%.

Donc dans les exemples ci-dessus, pourquoi introduire la valeur de l’entrée texte, comme dans l’écran de développement. Cette valeur est définie dans le code.

Dans l’automatisation, il ne me propose pas le service « input_texte_alarme_incendie_niveau_batterie » pour l’action.

Je me trompe, mauvaise compréhension de ma part.

Le but est d’afficher une seule ligne pour les niveaux de batterie au lieu de

batterie cave 100%
batterie cuisine 90%
batterie buanderie 15%

Par exemple

Niveau de batterie critique

ou mieux

Niveau de batterie critique dans la pièce
buanderie - xxxx

il faut que tu selectionnes l’entité

moi j’ai un truc comme çà mais en liste

alias: Mise à jour compteur Mois
description: ""
trigger:
  - platform: time
    at: "00:00:00"
condition: []
action:
  - service: input_select.set_options
    data:
      options: >-
        {{states('sensor.ma_date_locale')}} =>
        HC={{states('sensor.eredes_t1_creuse')}}KW
        HP={{states('sensor.eredes_t3_pleine')}}KW
        Hpt={{states('sensor.eredes_t2_pointe')}}KW
    target:
      entity_id:
        - input_select.enregistre_jour_compteur
mode: single

Encore merci pour ton aide mais je n’arrive pas à trouver le bon chemin pour que cela fonctionne.

Je vais commencer à relire de haut en bas de gauche à droite les différents tutos pour y voir plus clair entre automatisation, scripts, entités, entrées…

oui lecture!
on apprend un peu !
@+
Confused Bugs Bunny GIF by Looney Tunes

1 « J'aime »

Bon, j’ai essayé de faire comme cela

Entrée

nom: Alarme incendie niveau de batterie faible
valeur min: 0
valeur maximum: 50
mode d’affichage
taille du pas : 1
unité de mesure : %
id entité : input.number.alarme_incendie_niveau_de_batterie_faible

automatisation


alias: Alarme incendie, notifcation batterie faible
description: ""
trigger:
  - type: battery_level
    platform: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 100
  - type: battery_level
    platform: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 100
  - type: battery_level
    platform: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 100
  - type: battery_level
    platform: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 100
  - type: battery_level
    platform: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 100
condition:
  - type: is_battery_level
    condition: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 50
  - type: is_battery_level
    condition: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 50
  - type: is_battery_level
    condition: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 50
  - type: is_battery_level
    condition: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 50
  - type: is_battery_level
    condition: device
    device_id: xxx
    entity_id: xxx
    domain: sensor
    above: 0
    below: 50
action:
  - service: notify.persistent_notification
    data:
      title: Niveau de batterie faible
      message: La batterie est faible
mode: single

Comment peut-on tester ? Peut-on forcer le résultat par exemple de " battery_level" pour la cave à 30.

Suis-je dans le bon ?

Donc le but est d’afficher

Niveau de batterie faible pour « cave » , « palier 1 » (si inférieur à la valeur introduite)


type: entities
entities:
  - entity: input_number.alarme_incendie_niveau_de_batterie_faible
title: Niveau de batterie faible

Merci

Pas trop de contournement directement, car un sensor te donne son état!
Création de input number et faire test sur ces input( plusieurs)
image
image
image

Ou utiliser outils de développement / Etats, choisir ton entité et modifier la valeur :wink:

@+

Voir aussi capteur de seuil !

Merci.

Je viens de tester, la valeur est bien changée, mais je ne trouve pas le moyen d’afficher dans le tableau de bord, la valeur « niveau de batterie faible pour cave … »

Si tu as créé un input en texte, tu lui demande par le service de la mettre à Jour !

Il y a aussi l’option groupe de tes batteries , et tu mets minimum !

Tu peux m’en dire un peu plus ?

Concernant le service. Je ne parviens pas à trouver le lien entre le service et la valeur introduite

Et le groupe ?

Merci

Pour le service

Sinon pour le groupe tu vas aussi sur création, il y a groupe, tu ajoutes toutes celles que tu veux vérifier

et tu peux récupérer laquelle avec la value de l’attribut min_entity_id:
Voir info de ces attributs dans: develop

Pour l’affichage tu peux partir sur du texte ou sur une carte style gauge (évoluée)
Exemple
image
Elle affiche le sensor du groupe qui a la valeur mini

Pour commencer, déjà merci pour l’aide.

Petit à petit, j’avance, mais il me reste encore quelques petits à éclaircir

Groupes

mode développeur

Page d’accueil
Screenshot_20231022_183258

page sur les détecteurs
Screenshot_20231022_183323
Ce qui me permet de régler le seuil d’alerte

Il me reste à réaliser en page d’accueil

Un affichage du genre
Détecteur(s) ayant une batterie faible (en dessous de 30%) (selon le curseur voir image ci-dessus)
Détecteur(s) de la cave, palier 1 (par exemple)

Dois-je passer via une automatisation, un script ?

Merci