Afficher alerte batterie faible

Bonsoir a tous

Mon problème

J’ai plusieurs devices sur batterie et je souhaiterais avoir une alerte sur mon dashboard quand au moins une de ces batteries est arrivé à un certain seuil , du genre : batterie du capteur X arrivée à 10%.
Je ne vois pas du tout comment faire ça. Je vous remercie de l’aide que vous m’apporterez.

Ma configuration


___## System Information

version core-2023.11.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.59
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.33.0
Stage running
Available Repositories 1400
Downloaded Repositories 4
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.1
update_channel stable
supervisor_version supervisor-2023.11.3
agent_version 1.6.0
docker_version 24.0.6
disk_total 30.8 GB
disk_used 5.5 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons ESPHome (2023.11.0), Advanced SSH & Web Terminal (16.0.0), Terminal & SSH (9.7.1), File editor (5.6.0), Samba share (10.0.2)
Dashboards
dashboards 3
resources 3
views 3
mode storage
Recorder
oldest_recorder_run 7 novembre 2023 à 15:10
current_recorder_run 12 novembre 2023 à 05:11
estimated_db_size 4.27 MiB
database_engine sqlite
database_version 3.41.2

Salut

tu as la carte conditionnel dans le dashboard qui te permet de l’afficher seulement à une valeur précise.
Je ne sais pas si il y a mieux à faire.

Salut

Commence par faire une recherche sur le forum : Résultats de recherche pour « batterie #decouverte-de-home-assistant » - Home Assistant Communauté Francophone

Je te remercie, je vais étudier cette option

J’ai découvert il y a pas longtemps un syper blueprint pour ça :

Les cartes conditionnelles c’est Parfait, cette solution fonctionne.

je vais quand meme etudier la solution proposée par Idaho947

https://community.home-assistant.io/t/low-battery-level-detection-notification-for-all-battery-sensors/258664

Bon , je me suis réjouis un peu trop vite.
En effet, ma carte conditionnelle qui surveille l’état de ma batterie de mon portable (pour les tests ) fonctionne[img]

[/img]

mais si je rajoute des conditions , a savoir surveiller l’état des batteries de mes devices sur batterie , rien ne s’affiche , comme si pour avoir une alerte , c’est un Et entre toutes les conditions et moi je souhaite avoir une alerte des qu’au moins une batterie ait atteint un seuil critique

j’ai testé avec cette carte :[img]

[/img]

et ça n’a pas fonctionné , quand le seuil de la batterie de mon portable a été atteint.

que dois je faire pour résoudre ce problème.

Essaie avec cette carte :

type: custom:auto-entities
card:
  type: entities
  title: Contrôle des batteries
  state_color:
    green: '#00FF00'
    yellow: '#FFFF00'
    red: '#FF0000'
filter:
  include:
    - entity_id: '*_battery'
      state: <=10
sort:
  method: state

image

Mais elle fonctionne que pour les éléments encore allumés.
Quand les appareils ne sont plus dispo, j’utilise une autre carte :

type: markdown
content: |
  {%- set ns = namespace(sensors=[])  -%}
  {%- for state in states.sensor
      | selectattr('attributes.device_class', 'defined')
      | selectattr('state', '==', 'unavailable')  -%}
      {%- set ns.sensors = ns.sensors + [dict(name = state.name, state = state.attributes.device_class)] -%}
  {%- endfor -%}
  {%- for state in states.binary_sensor
      | selectattr('attributes.device_class', 'defined')
      | selectattr('state', '==', 'Undefined')  -%}
      {%- set ns.sensors = ns.sensors + [dict(name = state.name, state = state.attributes.device_class)] -%}
  {%- endfor -%}
  {%- set unav = ns.sensors | sort(attribute='state') -%}
  {%- set ns = namespace(unav='') -%}
  {%- for state in unav -%}
      {%- set ns.unav = ns.unav + (state.name ~ ' (' ~ state.state ~ ')' ~ "\n")  -%}
  {%- endfor -%}
  {%- if ns.unav -%}
    {{ ns.unav }}
  {%- else -%}
    {{ 'none' }}
  {%- endif -%}
title: Equipements indisponibles

image

1 « J'aime »

:anguished: je crains fort que ça sorte de mon domaine de compétence , la c’est de la programmation pur

Tu crées une carte manuel et t’as juste besoin de faire un copier/coller.
Ce n’est pas dans tes compétences ? :wink:

copier/ coller si ca j’y arrive mais il y a des terme que je ne comprends pas encore :thinking:
mais j’y travaille

quand je crée la carte manuel : [img]

[/img]
j’ai un message d’erreur

Bon j’avais une ligne vide en 1, mais le résultat n’est pas encore probent
[img]

[/img]

Dans HACS, il te faut auto-entities : GitHub - thomasloven/lovelace-auto-entities: 🔹Automatically populate the entities-list of lovelace cards

Ok merci, ça marche avec la bonne intégration :slightly_smiling_face:

@Giga77 je me suis permis de modifier ton script pour limiter la liste des équipements indisponibles à ceux qui sont sous batterie. J’ai bon ?

{%- set ns = namespace(sensors=[])  -%}
{%- for state in states.sensor
    | selectattr('attributes.device_class', 'defined')
    | selectattr('state', '==', 'unavailable')  
    | select('match', '.*_battery$') -%} 
    {%- set ns.sensors = ns.sensors + [dict(name = state.name, state = state.attributes.device_class)] -%}
{%- endfor -%}
{%- for state in states.binary_sensor
    | selectattr('attributes.device_class', 'defined')
    | selectattr('state', '==', 'Undefined')  
    | selectattr('state', '==', 'Undefined')  
    | selectattr('state', '==', 'Undefined')  
    | select('match', '.*_battery$') -%}
    {%- set ns.sensors = ns.sensors + [dict(name = state.name, state = state.attributes.device_class)] -%}
{%- endfor -%}
{%- set unav = ns.sensors | sort(attribute='state') -%}
{%- set ns = namespace(unav='') -%}
{%- for state in unav -%}
    {%- set ns.unav = ns.unav + (state.name ~ ' (' ~ state.state ~ ')' ~ "\n")  -%}
{%- endfor -%}
{%- if ns.unav -%}
  {{ ns.unav }}
{%- else -%}
  {{ 'none' }}
{%- endif -%}

@Thierry.P tu fais comme tu veux :wink: je ne vais pas le vérifier, je suis en vacances et sur téléphone pas évident de tester… :santa:
Ce n’est pas mon script, je l’ai moi-même récupéré sur le forum et adapté à mon besoin. :stuck_out_tongue_closed_eyes: