Mise a jour des add-on HACS

Je te partage mon code pour une carte markdown .
Ca liste les intégrations a mettre a jour , avec ta version actuelle et la nouvelle et un lien github pour le changelog.

{% if is_state('sensor.hacs', '0') or
is_state('sensor.hacs','unknown') %} Aucune mise à jour {% else %}
{{states('sensor.hacs') }} {{ 'mise à jour disponible' if
is_state('sensor.hacs', '1') else 'mises à jour disponibles' }} {{'\U0001f389' }}

{% for repo in state_attr('sensor.hacs', 'repositories') %} -
{{repo.display_name }} - New: {{ repo.available_version }} / Current: {{repo.installed_version }}
https://github.com/{{ repo.name }}/releases 
{% endfor %} 
{% endif %}

hacs

Merci. Je cherche à le faire dans ma card de type glance mais je n’y arrive pas. Cela ne change rien quand je copie le code que j’ai dans mon sensor custom

Card :

type: glance
entities:
  - type: button
    icon: hacs:hacs
    tap_action:
      action: navigate
      navigation_path: ' /hacs/entry'
    entity: sensor.hacs_fr
    name: HACS

HACS_MAJ2

Je vois ce message dans HACS qui ne disparait pas du coup j’ai peur d’avoir encore dégommer quelque chose en jouant avec les sensors…avez vous une idée de ce que c’est et si c’est normal ?

Salut,

En créant des uniquement des sensors et des cartes, aucune chance de casser HACS… Avec le temps ou au prochain restart, ça devrait disparaitre

Ok merci.

Par contre mon sensor custom ne se met pas à jour…j’ai laissé le sensor.hacs à côté pour contrôler
HACS5

Si tu as laissé ça, alors c’est normal… le IF ne sera jamais vrai… Teste ton code et le sensor.hacs avec les outils de dev, tu va vite comprendre

J’essaye mais je ne sais pas me servir des outils de dév en dehors de l’onglet « Etat » pour mettre à jour les états. J’aimerais apprendre à utiliser l’onglet « Modèle ». J’ai essayé de bidouiller mais quoi que je fasse ça reste « A jour » mais je ne vois pas ce qui cloche au niveau du code. Le « pending update(s) » qui ne doit pas être bon puisqu’il faut que je scrute l’état (avec le nombre) ?

C’est pas bien difficile, tu fais déjà ce boulot en créant le template, c’est même plus court

Mets ça dans un modèle

Valeur state {{ states('sensor.hacs') }}
{% if is_state('sensor.hacs', 'pending update(s)') %}
 ligne si vrai : 
 {% set sum=states('sensor.hacs')|int %}{{ sum }} Mise{{ 's' if sum > 1 else '' }} à jour disponible{{ 's' if sum > 1 else '' }}
{% else %}
 ligne si faux :
 A jour
{% endif %}

A priori ça marche merci.

{% if states('sensor.hacs') %}
{% set sum=states('sensor.hacs')|int %}{{ sum }} Mise{{ 's' if sum > 1 else '' }} à jour disponible{{ 's' if sum > 1 else '' }}
{% else %}
 A jour
{% endif %}

Ce qui m’a induit en erreur je suppose c’est le code que j’ai utilisé pour mon badge de sauvegarde

 sauvegarde_fr:
       friendly_name: "Statut de sauvegarde"
       entity_id: sensor.backup_state
       value_template: "{% if is_state('sensor.backup_state', 'backed_up') %}Réussie{% else %}Echouée{% endif %}"

Petite question au passage : comment fait on si on veut changer la couleur des icônes en fonction des conditions (états) ?

Je pense qu’il y a plusieurs 10 aines d’exemples partout sur le forum

J’ai essayé ça mais marche pas…je suis nul
J’ai testé dans le modèle des outils de dev et ça me retourne « yellow »…mais l’icône reste blanche.

hacs_fr:
       friendly_name: "HACS"
       entity_id: sensor.hacs
       value_template: "{% if states('sensor.hacs') %}{% set sum=states('sensor.hacs')|int %}{{ sum }} Mise{{ 's' if sum > 1 else '' }} à jour disponible{{ 's' if sum > 1 else '' }}{% else %}A jour{% endif %}"
       icon_template: >-
        {% if states('sensor.hacs') <= '0' %}
           white
        {% else %}
           yellow
        {% endif %}

Oui, tu mélanges un peu tout là …

C’est pas fondamental (ici), mais autant prendre le pli :
L’indentation du yaml, c’est toujours 2 espaces : pas 3, 4 ou 6. Dans le partie plus critique, si tu ne prends pas l’habitude de bien faire, ça va être pire.

image
Donc ça donne une icone, pas la couleur !

Et pour finir quand tu écrit ça

Tu demandes littéralement à HA de récupérer le chiffre de sensors.hacs, et de comparer s’il est plus petit ou égal à la chaine de caractère 0 … Les choux et le carrotes c’est pas valable ;), donc il faut virer les ’ autour du 0 pour bien faire.
D’ailleurs, il n’y a pas beaucoup de chance pour avoir -1 dans le sensor, donc on peut faire plus simple

{% if states('sensor.hacs') == 0 %}

Pour finir la partie couleur se gère principalement dans la carte, pas dans le template
Par exemple

Je ne sais pas si le fait d’être sur une card type glance fait que cela ne marche pas ?

type: glance
entities:
  - type: button
    tap_action:
      action: navigate
      navigation_path: ' /config/dashboard'
    entity: binary_sensor.updater
    name: HA Core
  - type: button
    tap_action:
      action: navigate
      navigation_path: ' /config/dashboard'
    entity: binary_sensor.home_assistant_operating_system_update_available
    name: HA Superviseur
  - type: button
    icon: hacs:hacs
    styles:
      icon:
        - color: |
            [[[
                if ( (states['sensor.hacs'].state == 0) ) return 'white';
                else return 'yellow';
            ]]]
    tap_action:
      action: navigate
      navigation_path: ' /hacs/entry'
    entity: sensor.hacs_fr
    name: HACS

tu as essayé avec une carte button comme dans l’exemple que tu repris ?

J’ai une carte glance donc j’essaie de l’adapter à ce que j’ai. J’ai essayé ca marche mais c’est pas ce que j’aimerais avoir. Ce doit être possible puisque les 2 icônes que j’ai à côté pour les mises à jour de HAOS et du core passent en jaune automatiquement.

Pourquoi tu utilise pas GitHub - Mariusthvdb/custom-ui: Adapted Custom-ui for HA 110+ / HA 2021.6 ?
comme ca c’est custom-ui qui change la couleur de t’es icones et pas la carte glance ou autre.

dans le customize.yaml

sensor.hacs:
  templates:
    icon_color: "if (state === '0') return 'white'; else return 'yellow';"

Je n’ai pas de customize.yaml au passage, juste mon config.

homeassistant:
  customize_domain: #for all covers
    cover:
      device_class: shutter
  customize: 
    cover.garage_door:
      device_class: garage
    #cover.portail_gate:
      #device_class: gate
    sensor.hacs:
      templates:
        icon_color: "if (state == '0') return 'white'; else return 'yellow';"

Mais ça ne marche pas plus…ma version HA est en 2022.2.0 car j’ai eu des soucis avec ma VM ça m’a tout planté du coup je n’ose plus mettre à jour quoi que ce soit…

Custom-ui a été maj pour HA core 2022.4. Donc il te faut une ancienne version pour que ca fonctionne avec ta vesion 2022.2 du core.
la dernière version avant qui migre vers la 2022.4 est celle la Release Update for HA 2021.6 · Mariusthvdb/custom-ui · GitHub
dans hacs , retélécharge c’est version 2021.5.28.

Si ta pas de customize.yaml, tu peu ajouter ca dans ton configuration.yaml:

homeassistant:
  customize: !include customize.yaml

Puis tu créer un fichier customize.yaml dans /config/
et tu copie le code:

sensor.hacs:
  templates:
    icon_color: "if (state === '0') return 'white'; else return 'yellow';"

un reboot et voila.

C’est de loin la moins bonne idée que de rester dans une vieille version. Plus le temps va passer, plus tu vas avoir des trucs qui ne fonctionnent plus et plus ta configuration sera à retravailler/corriger…
Puisque tu as une VM, tu fais un backup (ha), tu montes une nouvelle VM à coté, tu restaure (le backup ha) dessus pour partir d’une base propre. Tu fais les montages usb/corrections qui vont bien tranquillement

1 « J'aime »