Carte automatique pour suivi des batteries

Bonjour
j’ai besoin d’aide svp

j’ai intégré cette map pour la gestion de mes batteries mais je n’arrive pas a exclure les batteries en point ? si quelqu’un veut bien me guider svp je suis n’est pas beaucoup de connaissance
par avance merci
Cédric

Bonjour,

Normalement se sont des binary_sensor, tu peux donc les exclures, c’est se que j’ai fait

2 « J'aime »

Salut à tous.

Avec l’arrêt de bar card, pour ceux qui chercheraient, voici ma version basée sur des tuiles…

Cet affichage se situe dans mon dashboard domotique, il est basé sur auto-entities et des cartes tuiles entièrement standard

j’utilise les subtilités suivantes:

  • je modifie le friendly name des entités « piles » en y ajoutant le type de piles entre parenthèse
  • je filtre l’affichage sur le type de pile dans le friendly name

De plus j’ai un affichae adaptatif comme décrit

  • j’utilise un input boolean: « more_info_syteme_domotique » et la visibilité des cartes pour basculer entre deux affichages suivant l’état du booléen (un réduit sans les piles >50% et un complet avec toutes les piles)
  • j’ai un badge en haut du dashboard pour basculer le booléen et une automatisation qui le remet à false au bout de 3 minutes.
    image
Le code de la section piles

Le code complet de la section avec les deux cartes, réduite et full :

type: grid
cards:
  - type: heading
    heading: Piles < 50%
    heading_style: subtitle
    visibility:
      - condition: state
        entity: input_boolean.more_info_syteme_domotique
        state: "off"
  - type: custom:auto-entities
    card:
      type: vertical-stack
    card_param: cards
    filter:
      include:
        - options:
            type: tile
            features_position: inline
            vertical: false
            features:
              - type: bar-gauge
          name: ^*AAA*
        - options:
            type: tile
            features_position: inline
            vertical: false
            features:
              - type: bar-gauge
          name: ^*CR*
      exclude:
        - options: {}
          state: ">50"
    sort:
      method: state
      numeric: true
    show_empty: true
    visibility:
      - condition: state
        entity: input_boolean.more_info_syteme_domotique
        state: "off"
  - type: heading
    heading: Piles
    heading_style: subtitle
    visibility:
      - condition: state
        entity: input_boolean.more_info_syteme_domotique
        state: "on"
  - type: custom:auto-entities
    card:
      type: vertical-stack
    card_param: cards
    filter:
      include:
        - options:
            type: tile
            features_position: inline
            vertical: false
            features:
              - type: bar-gauge
          name: ^*AAA*
        - options:
            type: tile
            features_position: inline
            vertical: false
            features:
              - type: bar-gauge
          name: ^*CR*
    sort:
      method: state
      numeric: true
    show_empty: true
    visibility:
      - condition: state
        entity: input_boolean.more_info_syteme_domotique
        state: "on"

L’état par défaut:

avec le filtrage suivant:

      exclude:
        - options: {}
          state: ">50"

on affiche toutes les piles < ou = à 50% et celles dont l’état est unavailable ou unknown (par exemple déjà à 0).

L’état étendu:

Truc pratique, avec le type de pile dans le friendly name, deux avantages:

  • le filtrage est super facile
  • on voit du premier coup d’œil quel type de pile mettre sur la liste de courses (du CR2032 dans le cas présent)
1 « J'aime »

Bonsoir,
j’utilise ça:

type: custom:auto-entities
card:
  type: entities
  title: Batteries faibles
  state_color: true
filter:
  include:
    - options: {}
      entity_id: sensor.*battery*
      state: < 60
  exclude:
    - options: {}
      entity_id: "*temperature*"
    - options: {}
      entity_id: "*power*"
    - options: {}
      entity_id: "*eaton*"
sort:
  method: state
  reverse: false
  numeric: true
  ignore_case: true

Bob

Bonjour,

Dans ce cas, tout risque de ne pas remonter car il faut être certain qu’ils soient nommé “battery” dans le nom de l’entité. une solution serait de reprendre la class du sensor :

  include:
    - options: {}
      attributes:
        device_class: battery
      domain: sensor

Tu vas te retrouver avec toutes les batteries et pas seulement les piles (la batterie du robot, la batterie du telephone, etc…) et tu vas devoir gérer des tas d’exclusions, et mettre ta carte à jour à chaque fois qu’une nouvelle batterie non prise en compte par tes exclusions est ajoutée (le lien n’étant pas toujours evident de l’ajout d’un nouvel équipement par exemple aspirateur robot et la mise à jour de la carte batteries).

Personnellement la solution qui me satisfait le plus sur le long terme c’est de mettre le type de pile dans le friendly name des entités dont je veux monitorer la pile et de filtrer sur le friendly name (cf mon post ci dessus).

Du coup seules maintenances ou mises à jour à faire sont à l’ajout d’un équipement à pile dont on veut monitorer la pile:

  • ajouter le type de pile au friendly name lors de l’ajout d’un nouveau capteur à monitorer (prend 30s, et je modifie régulièrement les friendly names donc me semble naturel à ce moment là).
  • modifier le filtre dans le cas d’un nouveau type de pile non encore filtré (rare vu que je filtre sur *CR* et *AAA* mais possible… Mais se fait au même moment…)

bonjour
j’ai tenté de suivre la proposition de carte de Pulpy-Luke (merci à lui pour le partage) pour attaquer les tableaux de bord plus évolués que les miens, et, une fois corrigé toutes les erreurs d’indentation, j’ai enfin franchi l’étape des « paramétrage incorrect », mais ma liste reste vide, aucune batterie n’apparait. Je pense que c’est la section filter / include qui n’est pas bonne, car avec HA-Battery-Notes, j’ai bien une liste de batteries dont certaines ont un % visible

voici le code :

type: custom:auto-entities
card:
  type: custom:bar-card
  title_position: inside
  height: 38
  card_mod: null
  positions:
    icon: inside
    indicator: inside
    name: inside
    value: inside
show_icon: true
align: split
columns: "2"
max: 100
unit_of_measurement: "%"
severity:
  - color: "#d11e1e"
    from: 0
    to: 5
    icon: mdi:battery-outline
  - color: "#cf2d11"
    from: 6
    to: 10
    icon: mdi:battery-10
  - color: "#cc3900"
    from: 11
    to: 15
    icon: mdi:battery-10
  - color: "#c84400"
    from: 16
    to: 20
    icon: mdi:battery-20
  - color: "#c44d00"
    from: 21
    to: 25
    icon: mdi:battery-20
  - color: "#bf5600"
    from: 26
    to: 30
    icon: mdi:battery-30
  - color: "#b95f00"
    from: 31
    to: 35
    icon: mdi:battery-30
  - color: "#b36600"
    from: 36
    to: 40
    icon: mdi:battery-40
  - color: "#ac6e00"
    from: 41
    to: 45
    icon: mdi:battery-40
  - color: "#a57500"
    from: 46
    to: 50
    icon: mdi:battery-50
  - color: "#9d7b00"
    from: 51
    to: 55
    icon: mdi:battery-50
  - color: "#948100"
    from: 56
    to: 60
    icon: mdi:battery-60
  - color: "#8b8700"
    from: 61
    to: 65
    icon: mdi:battery-60
  - color: "#818d00"
    from: 66
    to: 70
    icon: mdi:battery-70
  - color: "#769200"
    from: 71
    to: 75
    icon: mdi:battery-70
  - color: "#6a9700"
    from: 76
    to: 80
    icon: mdi:battery-80
  - color: "#5d9c00"
    from: 81
    to: 85
    icon: mdi:battery-80
  - color: "#4da100"
    from: 86
    to: 90
    icon: mdi:battery-90
  - color: "#39a500"
    from: 91
    to: 95
    icon: mdi:battery-90
  - color: "#15a911"
    from: 96
    to: 100
    icon: mdi:battery
style: |
  bar-card-currentbar, bar-card-current, bar-card-backgroundbar {

    height: 5px !important;
    margin-top: 30px;
  }
  ha-card {
    background: none;
    box-shadow: none;
  }
  ha-icon{
    color: white !important;
  }
  bar-card-iconbar {
    margin-bottom: 10px;
  }
animation:
  state: "on"
  speed: "2"
filter:
  include:
    - options: {}
      attributes:
        device_class: batterie
      domain: sensor
sort:
  method: state
  numeric: true
show_empty: false

et l’état de mon tableau de bord (en haut HA-Battery-Notes, en bas la carte avec le code ci-dessus)

merci d’avance à qui pourra m’aiguiller

j’ai repris le code le plus calmement possible et ai trouvé deux erreurs d’indentation, mais même après correction, je reste dans le même état
voici le code actuel,

type: custom:auto-entities
card:
  type: custom:bar-card
  title_position: inside
  height: 38
  card_mod: null
  positions:
    icon: inside
    indicator: inside
    name: inside
    value: inside
  show_icon: true
  align: split
  columns: "2"
  max: 100
  unit_of_measurement: "%"
  severity:
    - color: "#d11e1e"
      from: 0
      to: 5
      icon: mdi:battery-outline
    - color: "#cf2d11"
      from: 6
      to: 10
      icon: mdi:battery-10
    - color: "#cc3900"
      from: 11
      to: 15
      icon: mdi:battery-10
    - color: "#c84400"
      from: 16
      to: 20
      icon: mdi:battery-20
    - color: "#c44d00"
      from: 21
      to: 25
      icon: mdi:battery-20
    - color: "#bf5600"
      from: 26
      to: 30
      icon: mdi:battery-30
    - color: "#b95f00"
      from: 31
      to: 35
      icon: mdi:battery-30
    - color: "#b36600"
      from: 36
      to: 40
      icon: mdi:battery-40
    - color: "#ac6e00"
      from: 41
      to: 45
      icon: mdi:battery-40
    - color: "#a57500"
      from: 46
      to: 50
      icon: mdi:battery-50
    - color: "#9d7b00"
      from: 51
      to: 55
      icon: mdi:battery-50
    - color: "#948100"
      from: 56
      to: 60
      icon: mdi:battery-60
    - color: "#8b8700"
      from: 61
      to: 65
      icon: mdi:battery-60
    - color: "#818d00"
      from: 66
      to: 70
      icon: mdi:battery-70
    - color: "#769200"
      from: 71
      to: 75
      icon: mdi:battery-70
    - color: "#6a9700"
      from: 76
      to: 80
      icon: mdi:battery-80
    - color: "#5d9c00"
      from: 81
      to: 85
      icon: mdi:battery-80
    - color: "#4da100"
      from: 86
      to: 90
      icon: mdi:battery-90
    - color: "#39a500"
      from: 91
      to: 95
      icon: mdi:battery-90
    - color: "#15a911"
      from: 96
      to: 100
      icon: mdi:battery
  card-mod:
    style: |
      bar-card-currentbar, bar-card-current, bar-card-backgroundbar {

        height: 5px !important;
        margin-top: 30px;
      }
      ha-card {
        background: none;
        box-shadow: none;
      }
      ha-icon{
        color: white !important;
      }
      bar-card-iconbar {
        margin-bottom: 10px;
      }
    animation:
      state: "on"
      speed: "2"
filter:
  include:
    - options: {}
      entity_id: ^sensor.*_battery$
sort:
  method: state
  numeric: true
show_empty: false

j’ai vu des commentaires plus haut qui évoquent :

  • la ligne avec card-mod: null (ma ligne 6) à conserver ou supprimer ?
  • le besoin de mettre card-mod avant style : je l’ai fait, mais sans changement sur le tableau de bord

j’ai eu un doute avec les noms d’entité en anglais ou français (batterie / battery) mais modifier la ligne include en ce sens n’a rien donné de mieux : toujours rien ne s’affiche

Bonjour,
la ligne card-mod: null a supprimer, elle est inutile.

oui, card_mod: est a mettre avant style:.

bonjour
merci de la confirmation, j’ai bien card-mod avant style, et je viens de supprimer la ligne inutile : pas de changement

j’ai eu le doute sur le nom des entités, entre « battery » en anglais et « batterie » , comme j’ai trouvé dans une des entités : sensor.sonoff_snzb_02dr2_batterie
j’ai donc modifié le filtre pour couvrir les deux cas :

  card-mod:
    style: |
      bar-card-currentbar, bar-card-current, bar-card-backgroundbar {

        height: 5px !important;
        margin-top: 30px;
      }
      ha-card {
        background: none;
        box-shadow: none;
      }
      ha-icon{
        color: white !important;
      }
      bar-card-iconbar {
        margin-bottom: 10px;
      }
    animation:
      state: "on"
      speed: "2"
filter:
  include:
    - options: {}
      entity_id: ^_batter$
sort:
  method: state
  numeric: true
show_empty: false

mais sans changement

aucun soucis avec ton code précédent :


tu as bien installer auto-entities et bar-card a partir de HACS ?

Une autre proposition:

type: custom:auto-entities
card:
  type: vertical-stack
card_param: cards
filter:
  include:
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*AAA*
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*CR*
  exclude:
    - options: {}
      state: ">50"
sort:
  method: state
  numeric: true
show_empty: true


Avec des cartes « tuiles » 100% standard, donc en n’installant que auto-entities depuis HACS.

Le filtrage se base sur:

  • le friendly name (dans lequel j’ajoute le type de pile je filtre donc sur *AAA* et *CR*) => il faut ajouter le type de pile dans le friendly name de chaque batterie à afficher (à faire une fois pour toute, et après c’est pratique pour les courses…)
  • l’état du sensor (j’exclue ce qui est >50, donc je garde les déchargés et les perdus)

Et si besoin, la version non filtrée sur l’état:

Résumé

type: custom:auto-entities
card:
  type: vertical-stack
card_param: cards
filter:
  include:
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*AAA*
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*CR*
sort:
  method: state
  numeric: true
show_empty: true



1 « J'aime »

auto entities oui, je vérifie pour bar-card : j
si j’avais mal fait l’installation / paramétrage, je n’aurais pas une erreur pour une fonction manquante ?

j’avais testé le code de BBE donné plus haut, et avais des résultats, donc cela tendrait à confirmer que auto-entities est OK, mais pas bar-card

edit : donc bar-card n’est pas installé , désolé :confused:

mais je ne le trouve pas dans les dépôts HACS : :zany_face:

le seul approchant est « Timer bar card », qui semble plus orienté vers les échéances temporelles (durées, compte-à rebours)

EDIT 2 bar-card a été retiré de HACS, car plus supporté par son développeur, avec quelques options alternatives évoquées sur le forum anglo saxon :
https://community.home-assistant.io/t/custom-bar-card-what-to-use-in-its-place/904150/5

cela explique que je ne l’ai pas retrouvé

les barres de couleur ne me sont pas indispensables pour le suivi des batteries, je vais me caler sur l’approche de BBE, qui dispense de bar-card, et me va bien sur le plan visuel

pour ceux qui utilisent plus largement bar-card, il faut peut être creuser les alternatives

2 « J'aime »

je dois être peu doué avec le YAML, car j’ai encore des surprises, même en repartant de ce code (la seule modification faite est de filtrer sur ^AA au lieu de ^AAA, puisqu’un de mes capteurs demande des AA

voici où j’en suis, je n’arrive pas à un formatage correct, le texte étant masqué par la barre colorée, ce qui me fait perdre l’information du type de piles (sauf si le friendly name est très court)

et voici le code :

type: custom:auto-entities
card:
  type: vertical-stack
card_param: cards
filter:
  include:
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*AA*
    - options:
        type: tile
        features_position: inline
        vertical: false
        features:
          - type: bar-gauge
      name: ^*CR*
sort:
  method: state
  numeric: true
show_empty: true

je vois le paramètre « feature: type bar-gauge », que je sacrifierais bien pour ne mettre que le jeu d’icones en couleur, pour retrouver la place d’afficher un peu plus de texte, comme la mise en forme de la partie haute, mais avec des tuiles plus larges

tu peux supprimer la ligne features_position: inline pour avoir la barre sous la tuile
ou supprimer le bloc

        features:
          - type: bar-gauge

pour supprimer la feature.

Le plus simple dans ces cas là, c’est d’étudier comment marche la carte tuile (tile) toute seule en dehors de auto-entities, dans l’interface graphique et le yaml, en faisant des aller-retours entre les deux, pour voir les options dispo et comment elles s’appliquent en yaml.

1 « J'aime »

j’utilise ce fork qui fonctionne :

il faut ajouter le dépôt dans HACS, les 3 points et ajouter dépôt personnalisé.

1 « J'aime »

merci , je vais lire la doc avant de m’y remettre pour voir si je m’en sors
ce qui m’étonne est la différence entre le rendu que j’obtiens et le tien, mais il y a beaucoup de variables en jeu entre deux configurations.

J’essaie de rester très standard pour ne pas m’embarquer dans les mise à jour multiples

As tu joué sur la largeur des colonnes avec un thème?

pas de thème, mais j’ai essayé de varier la largeur au niveau des paramètres des sections, là aussi je dois creuser car cela ne donne pas toujours ce que je pensais

j’ai commencé à voir l’intérêt des auto-entities, car j’ai quelques capteurs en plus qui ne sont pas dans ma première colonne, basée sur une liste
la carte donnant l’état de batterie de mon téléphone serait plus utile si elle se mettait à jour , là c’est l’état il y a 13 heures, sans vraiment que ce soit visible

Regarde dans l’article, le chapitre mise en page:

Pour régler les largeurs, les paramètres « normaux » sont répartis à trois endroits:

  • dans la vue pour le nombre de sections total maxi
  • dans la section pour la largeur de la section (nb de colonnes)
  • dans la carte pour la largeur de la carte dans la section

Et en plus c’est responsive en fonction de ta largeur d’écran…

Et par dessus il y a des valeurs min max de largeur de colonne par défaut, réglables par le thème (ça c’est pas dans l’article), mais tu peux trouver ça là : Modifier la largeur d'une section - #4 par WarC0zes

1 « J'aime »