# Maj de HACS version 1.34, vers la version 2.0. procédure d'installation?

**URL:** <https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439>\
**Category:** Entraide Home Assistant\
**Tags:** integration, hacs, aide\
**Created:** [Août 22, 2024, 4:09 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439 "2024-08-22T04:09:31Z")\
**Posts on this page:** 20\
**Page:** 6

<div class="post-metadata">

**Author:** ![Pbranly](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pbranly/32/1757_2.png) [@Pbranly](https://forum.hacf.fr/u/Pbranly)\
**Post date:** [Août 27, 2024, 11:30 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/103 "2024-08-27T11:30:10Z")

</div>

Merci  
Je ferai ça depuis un pc ! Directement sur Home assistant sur iPad c’est quasi impossible de gérer les erreurs d’Indentations  
Merci en tous cas pour ton boulot  
Phil

---

<div class="post-metadata">

**Author:** ![mrgrlscz](https://forum.hacf.fr/user_avatar/forum.hacf.fr/mrgrlscz/32/56240_2.png) [@mrgrlscz](https://forum.hacf.fr/u/mrgrlscz)\
**Post date:** [Août 27, 2024, 11:44 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/104 "2024-08-27T11:44:06Z")

</div>

> [@MilesTEG1](#):
>
> Autre question sur les bubble-card et la popup : c’est quoi qui est censé s’afficher en popup ?

https://github.com/Clooos/Bubble-Card

😃

---

<div class="post-metadata">

**Author:** ![MilesTEG1](https://forum.hacf.fr/user_avatar/forum.hacf.fr/milesteg1/32/45824_2.png) [@MilesTEG1](https://forum.hacf.fr/u/MilesTEG1)\
**Post date:** [Août 27, 2024, 12:04 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/105 "2024-08-27T12:04:14Z")

</div>

Je suis déjà aller voir la doc, mais je ne saisi pas vraiment ce qui doit s’afficher en popup avec tes cartes…

Je ne vois pas où cliquer pour avoir une popup…

Ou sinon, j’ai raté quelque chose…

---

<div class="post-metadata">

**Author:** ![mrgrlscz](https://forum.hacf.fr/user_avatar/forum.hacf.fr/mrgrlscz/32/56240_2.png) [@mrgrlscz](https://forum.hacf.fr/u/mrgrlscz)\
**Post date:** [Août 27, 2024, 12:27 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/106 "2024-08-27T12:27:20Z")

</div>

Ah ok, j’avais pas compris.  
En fait c’est un Pop-up en soit. Le screenshot que tu as vu c’est mon Pop-up bubble-card, qui comporte deux conditional-Card qui elles même comportent un separator Bubble et un tableau avec les MAJ.

---

<div class="post-metadata">

**Author:** ![MilesTEG1](https://forum.hacf.fr/user_avatar/forum.hacf.fr/milesteg1/32/45824_2.png) [@MilesTEG1](https://forum.hacf.fr/u/MilesTEG1)\
**Post date:** [Août 27, 2024, 12:29 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/107 "2024-08-27T12:29:13Z")

</div>

Tu veux dire que quand ton dashboard se charge, ça va afficher ou non les deux cartes des mises à jour ?  
Et qu’il n’y a pas de clic à faire pour faire afficher une popup ?

---

<div class="post-metadata">

**Author:** ![mrgrlscz](https://forum.hacf.fr/user_avatar/forum.hacf.fr/mrgrlscz/32/56240_2.png) [@mrgrlscz](https://forum.hacf.fr/u/mrgrlscz)\
**Post date:** [Août 27, 2024, 12:35 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/108 "2024-08-27T12:35:02Z")

</div>

Mon dashboard affiche cette carte :

 ![IMG_20240827_143115](https://forum.hacf.fr/uploads/default/original/3X/3/c/3c340574b1b67ee0d61b4db0a39e20a55d9c0229.jpeg)  
Et en cliquant sur l’icône entourée (qui n’apparaît que si des mises à jour sont à faire) ça m’ouvre le popup suivant (bon là il est vide parce que tout est à jour) :  
 ![IMG_20240827_143400](https://forum.hacf.fr/uploads/default/original/3X/4/a/4a69e108ba278971aa4fba8c9076c5d49cfdd576.jpeg)

---

<div class="post-metadata">

**Author:** ![MilesTEG1](https://forum.hacf.fr/user_avatar/forum.hacf.fr/milesteg1/32/45824_2.png) [@MilesTEG1](https://forum.hacf.fr/u/MilesTEG1)\
**Post date:** [Août 27, 2024, 12:38 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/109 "2024-08-27T12:38:07Z")

</div>

Haaa !!!  
Mais voilà ce dont j’ai besoin ^^  
Une icone sur mon dashboard qui me dise qu’il y a une ou plusieurs mises-à-jours à faire, et quand je clique dessus, ça ouvre les cartes dont tu as mis le code précédemment 😉

Pourrais-tu partager le code permettant de faire celà s’il te plait ?

---

<div class="post-metadata">

**Author:** ![mrgrlscz](https://forum.hacf.fr/user_avatar/forum.hacf.fr/mrgrlscz/32/56240_2.png) [@mrgrlscz](https://forum.hacf.fr/u/mrgrlscz)\
**Post date:** [Août 27, 2024, 12:42 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/110 "2024-08-27T12:42:02Z")

</div>

https://github.com/Clooos/Bubble-Card

😃

Na j’deconne:

```auto
tap_action:
  action: navigate
  navigation_path: "#update"

```

A mettre dans ta carte qui appelle le popup.  
Le hash (#update) doit correspondre avec la carte du Pop-up.

---

<div class="post-metadata">

**Author:** ![MilesTEG1](https://forum.hacf.fr/user_avatar/forum.hacf.fr/milesteg1/32/45824_2.png) [@MilesTEG1](https://forum.hacf.fr/u/MilesTEG1)\
**Post date:** [Août 27, 2024, 12:46 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/111 "2024-08-27T12:46:13Z")

</div>

Merci, je teste ça dès que je peux 😉

---

<div class="post-metadata">

**Author:** ![WarC0zes](https://forum.hacf.fr/user_avatar/forum.hacf.fr/warc0zes/32/62511_2.png) [@WarC0zes](https://forum.hacf.fr/u/WarC0zes)\
**Post date:** [Août 27, 2024, 12:54 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/112 "2024-08-27T12:54:59Z")

</div>

> [@MilesTEG1](#):
>
> edit : en regardant dans HACS, les 3 entités qui ont une MAJ on bien une icône :

une icône, n’est pas un entity\_picture 😉

> [@MilesTEG1](#):
>
> C’est quoi le `customize` ? Comment je spécifie une icône ?

C’est à mettre dans ton configuration.yaml, sous `homeassistant:`

exemple :

```auto
homeassistant:
  customize:
    # Add an entry for each entity that you want to overwrite.
    thermostat.family_room:
      entity_picture: /local/images/nest.jpg
    switch.wemo_switch_2:
      icon: mdi:kettle

```

```auto
/local/images/ = /config/www/images/

```

> **[Home Assistant Core Integration](https://www.home-assistant.io/integrations/homeassistant/#manual-customization)**
>
> Description of the homeassistant integration.

---

<div class="post-metadata">

**Author:** ![Bob](https://forum.hacf.fr/user_avatar/forum.hacf.fr/bob/32/64908_2.png) [@Bob](https://forum.hacf.fr/u/Bob)\
**Post date:** [Août 27, 2024, 1:07 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/113 "2024-08-27T13:07:22Z")

</div>

Bonjour,  
à lire tout ça je vais rester en version 1.34 de HACS 🤣, pourtant j’ai cru lire que les mises à jour apparaissaient maintenant avec les mises à jour HA «&nbsp;de base&nbsp;» !  
Bob

---

<div class="post-metadata">

**Author:** ![WarC0zes](https://forum.hacf.fr/user_avatar/forum.hacf.fr/warc0zes/32/62511_2.png) [@WarC0zes](https://forum.hacf.fr/u/WarC0zes)\
**Post date:** [Août 27, 2024, 1:08 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/114 "2024-08-27T13:08:37Z")

</div>

> [@Bob](#):
>
> pourtant j’ai cru lire que les mises à jour apparaissaient maintenant avec les mises à jour HA « de base » !

Salut, tu as bien lu 😉

 ![image](https://forum.hacf.fr/uploads/default/original/3X/1/9/191fb27db6a949e0ea367d1444a465abc07f60ec.png)

---

<div class="post-metadata">

**Author:** ![Bob](https://forum.hacf.fr/user_avatar/forum.hacf.fr/bob/32/64908_2.png) [@Bob](https://forum.hacf.fr/u/Bob)\
**Post date:** [Août 27, 2024, 1:14 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/115 "2024-08-27T13:14:11Z")

</div>

Et bien ça me convient très bien comme ça, je ferai la mise à jour prochainement 😉  
Bob

---

<div class="post-metadata">

**Author:** ![anon21985933](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/a/ecb155/32.png) [@anon21985933](https://forum.hacf.fr/u/anon21985933)\
**Post date:** [Août 27, 2024, 1:24 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/116 "2024-08-27T13:24:09Z")

</div>

D’accord avec toi @Bob , pourquoi se compliquer la vie 🤪

---

<div class="post-metadata">

**Author:** ![Tank](https://forum.hacf.fr/user_avatar/forum.hacf.fr/tank/32/3190_2.png) [@Tank](https://forum.hacf.fr/u/Tank)\
**Post date:** [Août 28, 2024, 10:12 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/117 "2024-08-28T10:12:20Z")

</div>

Vraiment sympa ton intégration.

Je vais m’en inspirer, surtout que je suis en train de faire mon interface via `bubble-card`.

Par contre, pour tes `sensor` et `binary_sensor`, tu n’as pas beosin de mettre d’argument `platform` dans ta config ?

---

<div class="post-metadata">

**Author:** ![Ludoc](https://forum.hacf.fr/user_avatar/forum.hacf.fr/ludoc/32/79819_2.png) [@Ludoc](https://forum.hacf.fr/u/Ludoc)\
**Post date:** [Août 28, 2024, 10:41 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/118 "2024-08-28T10:41:45Z")

</div>

Hello,

En mode package :

```auto
template:

  - sensor:
    - name: "Nombre de mises à jour HACS"
      unique_id: "nombre_de_mises_a_jour_hacs"
      state: >
        {{
          integration_entities('hacs')
          | select('search', '^update.')
          | select('is_state', 'on')
          | list
          | count
        }}

###############################################################################
# Updates availables / disponibles
# #############################################################################

    - name: available_updates_system
      state: |
        {% set var = states.update
          |selectattr('state', 'equalto', 'on')
          |select('search', 'home_assistant')
          ...............................................
          ...............................................
  - binary_sensor:
    - name: "...............................
         ..........................................

```

---

<div class="post-metadata">

**Author:** ![BBE](https://forum.hacf.fr/user_avatar/forum.hacf.fr/bbe/32/64915_2.png) [@BBE](https://forum.hacf.fr/u/BBE)\
**Post date:** [Août 28, 2024, 11:54 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/119 "2024-08-28T11:54:59Z")

</div>

Bon ben ça y est…  
Le passage HACS v2.0, c’est fait…

J’ai bien joué avec toutes vos propositions, j’ai découvert de nouvelles cartes et de nouvelles façon de faire… Vous êtes tous de grand malades, bravo !

Mais après quelques tests, je suis revenu à encore plus simple qu’avant… Vu que toutes les updates sont désormais traitées de la même façon, j’ai cherché à respecter cette nouvelle philosophie et j’ai donc évité de faire plusieurs cartes différentes…

Donc j’ai laissé tous les updates ensemble et j’ai revu cette partie du dashboard comme ça:

- Toujours ma carte de synthèse sur le dashboard principal qui affiche les maj si il y en a avec l’icone et le badge:  
tout est à jour :  

- Puis si on clique pour ouvrir la sous vue système, il y a désormais dedans une carte avec une vue de synthèse qui affiche le nb de mises à jour et, avec auto entities, l’ensemble des mises à jour à faire (tout en vrac du coup, je n’ai fait aucun tri entre HA, HACS, modules complémentaires etc…):  
ici sans MaJ:  
 ![image](https://forum.hacf.fr/uploads/default/original/3X/6/f/6f0269f97fa952bfade0af254f7fd3bea738d5c5.png)  
avec 1 MaJ:  
 ![image](https://forum.hacf.fr/uploads/default/original/3X/d/c/dcb380ec35b1af61a532cee31d91e4036c0deffe.png)  
Ici avec 2 MaJ:  
 ![image](https://forum.hacf.fr/uploads/default/original/3X/9/9/992750039bf39f83c7f72962a022e1a0229aecec.png)

> **le code de la carte:**
>
> Bien sur il faut avoir vertical-stack-in-card, mushroom et auto-entities
> 
> ```auto
> type: custom:vertical-stack-in-card
> cards:
> - type: custom:mushroom-template-card
> primary: Software et modules
> secondary: |2-
> {% if is_state(entity, '0') %} 
> Tout est à jour
> {% elif is_state(entity, '1') %} 
> 1 mise à jour
> {% else %}
> {{ states(entity)}} mises à jour
> {% endif %}
> icon: mdi:home-assistant
> entity: sensor.available_updates
> icon_color: |2-
> {% if is_state(entity, '0') %} 
> light-blue
> {% else %}
> orange
> {% endif %}
> - type: custom:auto-entities
> card:
> type: custom:vertical-stack-in-card
> card_param: cards
> filter:
> include:
> - entity_id: update.*
> state: 'on'
> options:
> type: custom:mushroom-template-card
> primary: '{{ state_attr(entity,''friendly_name'')}}'
> secondary: >-
> instalé: {{ state_attr(entity,'installed_version')}} | dernier: {{
> state_attr(entity,'latest_version')}}
> icon: |-
> {% if is_state(entity, 'on') %} 
> mdi:upload-box
> {% else %}
> mdi:thumb-up
> {% endif %}
> icon_color: |-
> {% if is_state(entity, 'on') %} 
> orange
> {% else %}
> green
> {% endif %}
> layout: horizontal
> tap_action:
> action: more-info
> hold_action:
> action: more-info
> double_tap_action:
> action: more-info
> exclude: null
> sort:
> method: state
> reverse: true
> 
> ```

- Et lorsqu’on clique sur une des cartes des soft à mettre à jour, ça ouvre le «&nbsp;more info&nbsp;» de l’entité update:  
Celui ci contient les details, le lien vers le changelog et les boutons ignorer / installer…  
 ![image](https://forum.hacf.fr/uploads/default/original/3X/a/c/acf0601712132fcef34937ae0f78a8bc2a6635a2.png)  
 ![image](https://forum.hacf.fr/uploads/default/original/3X/3/1/3104f7e779fb9ff5232dfe2a390334d0ad1f211d.png)  
Et lorsqu’on clique sur le contenu des versions, on ouvre une nouvelle page de navigateur.

Au final c’est simple, c’est complet… Ca me semble pragmatique… On verra à l’usage si c’est problématique de traiter de la même façon tous les updates…

---

<div class="post-metadata">

**Author:** ![mrgrlscz](https://forum.hacf.fr/user_avatar/forum.hacf.fr/mrgrlscz/32/56240_2.png) [@mrgrlscz](https://forum.hacf.fr/u/mrgrlscz)\
**Post date:** [Août 28, 2024, 1:07 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/120 "2024-08-28T13:07:31Z")

</div>

Quand t’en as moins de 5 ça va 🙂  
Très limpide ce que tu as fait. En réalité on n’a pas vraiment besoin de plus !

---

<div class="post-metadata">

**Author:** ![Frosh](https://forum.hacf.fr/user_avatar/forum.hacf.fr/frosh/32/42799_2.png) [@Frosh](https://forum.hacf.fr/u/Frosh)\
**Post date:** [Août 28, 2024, 1:45 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/121 "2024-08-28T13:45:02Z")

</div>

Merci à tous ici d’avoir poster vos idées et vos card!  
Grace à vous j’ai fais un mélange d’un peut tout et je suis arrivé à une version de dashboard qui me satisfait pour mon usage.  
On va pas dire que je me suis «&nbsp;amusé&nbsp;», le CSS et card\_mod quel tannée !! 😅 😅  
Mais voila mon resultat 😃

 ![Elia 2024-08-28 à 15.27.04](https://forum.hacf.fr/uploads/default/original/3X/8/9/89246680bfaa9b0cb307124c42034305938a52dd.jpeg)  
Pendant une MAJ  
 ![Elia 2024-08-28 à 15.27.09](https://forum.hacf.fr/uploads/default/original/3X/f/c/fc12704a0a74933155dd26a168fb04cae4539498.jpeg)  
et apres la MAJ  
 ![Elia 2024-08-28 à 15.29.56](https://forum.hacf.fr/uploads/default/original/3X/f/3/f3921fd56626527e024f856a7c469ac67d880527.jpeg)

## Et voici le code

> **Panneau de gauche**
>
> ```auto
> type: vertical-stack
> cards:
> - type: custom:button-card
> show_name: false
> show_icon: false
> show_state: false
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> styles:
> grid:
> - grid-template-areas: '"card1 card2 card3" '
> - grid-template-columns: 1fr 0.69fr 0.05fr
> - grid-template-rows: 0fr 0fr
> card:
> - margin-top: 1.5rem
> - padding: 5px 0px 5px 10px
> - background: rgba(0,0,0,0)
> custom_fields:
> card1: null
> card2:
> - align-self: top
> - height: 100%
> custom_fields:
> card1:
> card:
> type: custom:mushroom-title-card
> title: Home Assistant Server
> subtitle: >
> Core v{{ state_attr('update.home_assistant_core_update',
> 'installed_version') }} - OS v{{
> state_attr('update.home_assistant_operating_system_update',
> 'installed_version') }} - Supervisor v{{
> state_attr('update.home_assistant_supervisor_update',
> 'installed_version') }}
> alignment: start
> card_mod:
> style: |
> .header {
> padding: 0px !important;
> }
> ha-card {
> margin-right: -15rem;
> }
> card2:
> card:
> type: markdown
> content: >-
> {% set
> maj=integration_entities('hassio')|select('search','update.home')|select('is_state','on')|list|count|int(2)
> %} {% set
> total=integration_entities('hassio')|select('search','update.home')|list|count|int(2)
> %} {% if maj == 0 %} <ha-alert alert-type="success" title="{{maj}}
> mise a jour sur {{total}}" > {% elif maj == 1 %} <ha-alert
> alert-type="warning" title="{{maj}} mise a jour sur {{total}}" > {%
> elif maj > 1 %} <ha-alert alert-type="warning" title="{{maj}} mises
> a jour sur {{total}}" ></ha-alert> {% else %} {% endif %}
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> margin: 0px !important;
> }
> ha-card {
> margin-top: -1rem;
> font-size: 1rem;
> --mdc-icon-size: 1.3rem;
> }
> - type: vertical-stack
> cards:
> - type: horizontal-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.home_assistant_core_update
> name: HA Core
> show_buttons_control: true
> icon_type: entity-picture
> fill_container: false
> - type: custom:mushroom-template-card
> primary: Version Information
> secondary: >-
> Installed v{{ state_attr('update.home_assistant_core_update',
> 'installed_version')}}
> 
> Latest v{{ state_attr('update.home_assistant_core_update',
> 'latest_version')}}
> icon: mdi:package-variant-closed
> multiline_secondary: true
> fill_container: true
> entity: update.home_assistant_core_update
> tap_action:
> action: more-info
> icon_color: |-
> {% if is_state('update.home_assistant_core_update', 'on') %}
> orange
> {% else %}
> green
> {% endif %}
> badge_color: |-
> {% if is_state('update.home_assistant_core_update', 'on') %}
> red
> {% else %}
> blue
> {% endif %}
> badge_icon: |-
> {% if is_state('update.home_assistant_core_update', 'on') %}
> mdi:help
> {% else %}
> mdi:check-bold
> {% endif %}
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> - type: horizontal-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.home_assistant_operating_system_update
> name: HA OS
> show_buttons_control: true
> icon_type: entity-picture
> - type: custom:mushroom-template-card
> primary: Version Information
> secondary: >-
> Installed v{{
> state_attr('update.home_assistant_operating_system_update',
> 'installed_version')}}
> 
> Latest v{{
> state_attr('update.home_assistant_operating_system_update',
> 'latest_version')}}
> icon: mdi:package-variant-closed
> multiline_secondary: true
> fill_container: true
> entity: update.home_assistant_operating_system_update
> tap_action:
> action: more-info
> icon_color: >-
> {% if is_state('update.home_assistant_operating_system_update',
> 'on') %}
> orange
> {% else %}
> green
> {% endif %}
> badge_color: >-
> {% if is_state('update.home_assistant_operating_system_update',
> 'on') %}
> red
> {% else %}
> blue
> {% endif %}
> badge_icon: >-
> {% if is_state('update.home_assistant_operating_system_update',
> 'on') %}
> mdi:help
> {% else %}
> mdi:check-bold
> {% endif %}
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> - type: horizontal-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.home_assistant_supervisor_update
> name: HA Supervisor
> show_buttons_control: true
> icon_type: entity-picture
> - type: custom:mushroom-template-card
> primary: Version Information
> secondary: >-
> Installed v{{
> state_attr('update.home_assistant_supervisor_update',
> 'installed_version')}}
> 
> Latest v{{ state_attr('update.home_assistant_supervisor_update',
> 'latest_version')}}
> icon: mdi:package-variant-closed
> multiline_secondary: true
> fill_container: true
> entity: update.home_assistant_core_update
> tap_action:
> action: more-info
> icon_color: |-
> {% if is_state('update.home_assistant_supervisor_update', 'on') %}
> orange
> {% else %}
> green
> {% endif %}
> badge_color: |-
> {% if is_state('update.home_assistant_supervisor_update', 'on') %}
> red
> {% else %}
> blue
> {% endif %}
> badge_icon: |-
> {% if is_state('update.home_assistant_supervisor_update', 'on') %}
> mdi:help
> {% else %}
> mdi:check-bold
> {% endif %}
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> - type: vertical-stack
> cards:
> - type: custom:button-card
> show_name: false
> show_icon: false
> show_state: false
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> styles:
> grid:
> - grid-template-areas: '"card1 card2 card3" '
> - grid-template-columns: 1fr 0.69fr 0.05fr
> - grid-template-rows: 0fr 0fr
> card:
> - padding: 5px 0px 5px 10px
> - background: rgba(0,0,0,0)
> custom_fields:
> card1: null
> card2:
> - align-self: top
> - height: 100%
> custom_fields:
> card1:
> card:
> type: custom:mushroom-title-card
> title: HACS
> subtitle: >-
> Installed v{{ state_attr('update.hacs_update',
> 'installed_version') }} - Latest v{{
> state_attr('update.hacs_update', 'latest_version') }}
> alignment: start
> card_mod:
> style: |
> .header {
> padding: 0px !important;
> }
> ha-card {
> margin-right: -15rem;
> }
> card2:
> card:
> type: markdown
> content: >-
> {% set
> need_update=integration_entities('hacs')|select('search','update.hacs_update')|select('is_state','on')|list|count|int(2)
> %} {% if need_update == 0 %} <ha-alert alert-type="success"
> title="HACS est à jour" > {% else %} <ha-alert
> alert-type="error" title="1 mise a jour de HASC est disponible"
> ></ha-alert> {% endif %}
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> margin: 0px !important;
> }
> ha-card {
> margin-top: -1.3rem;
> margin-bottom: -1.3rem;
> margin-left: -1rem;
> font-size: 1rem;
> --mdc-icon-size: 1.3rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: template
> icon: mdi:web
> icon_color: blue
> content: Release Changelog
> tap_action:
> action: url
> url_path: https://github.com/hacs/integration/releases
> - type: template
> entity: update.hacs_update
> content: >-
> Installed v{{ state_attr('update.hacs_update',
> 'installed_version') }}
> icon_color: green
> icon: mdi:package-variant-closed
> tap_action:
> action: none
> - type: template
> entity: update.hacs_update
> content: Latest v{{ state_attr('update.hacs_update', 'latest_version') }}
> icon_color: orange
> icon: mdi:package-variant-closed
> tap_action:
> action: none
> card_mod:
> style:
> mushroom-template-chip:nth-child(2):
> $: |
> mushroom-chip{
> pointer-events: none;
> }
> mushroom-template-chip:nth-child(3):
> $: |
> mushroom-chip{
> pointer-events: none;
> }
> - type: custom:auto-entities
> card:
> type: vertical-stack
> card_param: cards
> filter:
> include:
> - entity_id: update.hacs_update
> state: 'on'
> options:
> type: custom:button-card
> show_name: true
> show_icon: true
> show_state: true
> show_entity_picture: true
> variables:
> url: |
> [[[
> return entity.attributes.release_url
> ]]]
> sensor: |
> [[[
> let name = Object.values(entity)
> return name[0]
> ]]]
> name: |
> [[[
> return entity.attributes.friendly_name.replace('update','')
> ]]]
> state_display: >
> [[[ 
> 
> if(entity.state== "on" & entity.attributes.in_progress ==
> false)
> return entity.attributes.installed_version +' - ' + entity.attributes.latest_version
> else if(entity.state== "off")
> return helpers.localize(entity) +' - '+ entity.attributes.installed_version
> else
> return "instal - "+entity.attributes.update_percentage+"%"
> ]]]
> styles:
> grid:
> - grid-template-areas: '"i n n cardupload" "i s cardurl cardupload"'
> - grid-template-columns: 1fr 1fr 1fr 1.5fr;
> - grid-template-rows: repeat(2, 50%);
> - gap: 0px 0px;
> card:
> - padding: 0px
> - height: 100%
> - width: 100%
> icon:
> - align-self: center
> - left: 25%
> - width: 55%
> name:
> - justify-self: start
> - font-size: 0.9em
> - font-weight: 450
> - padding-top: 8px
> state:
> - justify-self: start
> - font-size: 0.75em
> - padding-bottom: 0.7em
> - padding-right: 8rem
> custom_fields:
> cardurl:
> - justify-self: center
> - margin-bottom: 0.7em
> - margin-left: 2rem
> - margin-right: '-2rem'
> custom_fields:
> cardurl:
> card:
> type: custom:button-card
> show_icon: false
> name: |
> [[[
> if (variables.url == null)return ""
> else
> {return '<a style="color:white" href="'+[variables.url]+'">'+[variables.url.substr(8,18).toLowerCase()]+'</a>'}
> endif
> ]]]
> tap_action:
> action: url
> url_path: |
> [[[
> return variables.url
> ]]]
> styles:
> card:
> - background: rgba(100,150,255,0.5)
> - width: 13rem
> - box-sizing: border-box
> - padding: 0px
> name:
> - font-size: 1.2rem
> - font-weight: bold
> - font-style: italic
> cardupload:
> card:
> show_icon: true
> type: custom:button-card
> icon: |
> [[[
> if(entity.state == "off")
> return ""
> if(entity.attributes.in_progress == false)
> return 'mdi:upload-circle'
> else return 'mdi:rotate-right'
> ]]]
> styles:
> card:
> - background: none
> - border: none
> icon:
> - animation: |
> [[[
> if(entity.attributes.in_progress == false)
> return '' 
> else return 'rotating 1s linear infinite'
> ]]]
> - color: |
> [[[
> if(entity.state == 'on' & entity.attributes.in_progress != false)
> return 'green'
> else return 'rgba(85,252,252, 1)'
> ]]]
> - left: 18%
> - width: 40%
> tap_action:
> action: perform-action
> perform_action: update.install
> target:
> entity_id: '[[[return variables.sensor]]]'
> exclude: []
> card_param: cards
> 
> ```

> **Panneau centrale**
>
> ```auto
> type: vertical-stack
> cards:
> - type: custom:button-card
> show_name: false
> show_icon: false
> show_state: false
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> styles:
> grid:
> - grid-template-areas: '"card1 card2 card3"'
> - grid-template-columns: 1fr 0.63fr 0.1fr
> - grid-template-rows: 1fr
> card:
> - margin-top: 1.5rem
> - padding: 5px 0px 5px 10px
> - background: rgba(0,0,0,0)
> custom_fields:
> card1:
> - width: 90%
> card2:
> - align-self: top
> - height: 100%
> custom_fields:
> card1:
> card:
> type: custom:mushroom-title-card
> title: Addons updates
> alignment: start
> card_mod:
> style: |
> .header {
> padding: 0px !important;
> }
> .header div {
> margin: 0px !important
> }
> card2:
> card:
> type: markdown
> content: >-
> {% set
> rejet=['update.home_assistant_core_update','update.home_assistant_operating_system_update','update.home_assistant_supervisor_update']
> %} {% set
> maj=integration_entities('hassio')|select('search','update.')|select('is_state','on')|reject('in',rejet)|list|count|int(2)
> %} {% set
> total=integration_entities('hassio')|select('search','update.')|reject('in',rejet)|list|count|int(2)
> %} {% if maj == 0 %} <ha-alert alert-type="success" title="{{maj}}
> mise a jour sur {{total}}" > {% elif maj == 1 %} <ha-alert
> alert-type="warning" title="{{maj}} mise a jour sur {{total}}" > {%
> elif maj > 1 %} <ha-alert alert-type="warning" title="{{maj}} mises
> a jour sur {{total}}" ></ha-alert> {% else %} {% endif %}
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> padding: 0px !important;
> margin: 0px !important;
> margin-right: 3em !important;
> margin-left: -3em !important;
> }
> ha-card {
> font-size: 1rem;
> --mdc-icon-size: 1.3rem;
> }
> - type: custom:auto-entities
> card:
> type: vertical-stack
> card_param: cards
> filter:
> include:
> - domain: update
> state: 'on'
> options:
> type: custom:button-card
> show_name: true
> show_icon: true
> show_state: true
> show_entity_picture: true
> variables:
> sensor: |
> [[[
> let name = Object.values(entity)
> return name[0]
> ]]]
> name: |
> [[[
> return entity.attributes.friendly_name.replace('Home Assistant','HA').replace('Update','')
> ]]]
> state_display: |
> [[[ if(entity.state== "on")
> return 'v' + entity.attributes.installed_version +' - v' + entity.attributes.latest_version
> else if(entity.state== "off")
> return helpers.localize(entity) +' - v'+ entity.attributes.installed_version
> else
> return "instal - "+entity.attributes.update_percentage+"%"
> ]]]
> styles:
> grid:
> - grid-template-areas: '"i n n cardupload" "i s s cardupload"'
> - grid-template-columns: 0.6fr 1fr 1.6fr 1fr;
> - grid-template-rows: repeat(2, 50%);
> - gap: 0px 0px;
> card:
> - padding: 0px
> - height: 100%
> - width: 100%
> icon:
> - align-self: center
> - left: 25%
> - width: 55%
> name:
> - justify-self: start
> - font-size: 0.9em
> - font-weight: 450
> - padding-top: 8px
> state:
> - justify-self: start
> - font-size: 0.75em
> - padding-bottom: 0.7em
> custom_fields:
> cardupload:
> card:
> show_icon: true
> type: custom:button-card
> icon: |
> [[[
> if(entity.state == "off")
> return ""
> if(entity.attributes.in_progress == false)
> return 'mdi:upload-circle'
> else return 'mdi:rotate-right'
> ]]]
> styles:
> card:
> - background: none
> - border: none
> icon:
> - animation: |
> [[[
> if(entity.attributes.in_progress == false)
> return '' 
> else return 'rotating 1s linear infinite'
> ]]]
> - color: |
> [[[
> if(entity.state == 'on' & entity.attributes.in_progress != false)
> return 'green'
> else return 'rgba(85,252,252, 1)'
> ]]]
> - left: 17%
> tap_action:
> action: perform-action
> perform_action: update.install
> target:
> entity_id: '[[[return variables.sensor]]]'
> exclude:
> - name: Home*
> - integration: hacs
> - integration: mqtt
> card_param: cards
> - type: custom:button-card
> show_name: false
> show_icon: false
> show_state: false
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> styles:
> grid:
> - grid-template-areas: '"card1 card2 card3"'
> - grid-template-columns: 1fr 0.63fr 0.1fr
> - grid-template-rows: 1fr
> card:
> - padding: 5px 0px 5px 10px
> - background: rgba(0,0,0,0)
> custom_fields:
> card1:
> - width: 90%
> card2:
> - align-self: top
> - height: 100%
> custom_fields:
> card1:
> card:
> type: custom:mushroom-title-card
> title: HACS updates
> alignment: start
> card_mod:
> style: |
> .header {
> padding: 0px !important;
> }
> .header div {
> margin: 0px !important
> }
> card2:
> card:
> type: markdown
> content: >-
> {% set
> maj=integration_entities('hacs')|select('search','update.')|select('is_state','on')|reject('in','update.hacs_update')|list|count|int(2)
> %} {% set
> total=integration_entities('hacs')|select('search','update.')|reject('in','update.hacs_update')|list|count|int(2)
> %} {% if maj == 0 %} <ha-alert alert-type="success" title="{{maj}}
> mise a jour sur {{total}}" > {% elif maj == 1 %} <ha-alert
> alert-type="warning" title="{{maj}} mise a jour sur {{total}}" > {%
> elif maj > 1 %} <ha-alert alert-type="warning" title="{{maj}} mises
> a jour sur {{total}}" ></ha-alert> {% else %} {% endif %}
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> padding: 0px !important;
> margin: 0px !important;
> margin-right: 3em !important;
> margin-left: -3em !important;
> }
> ha-card {
> font-size: 1rem;
> --mdc-icon-size: 1.3rem;
> }
> - type: markdown
> content: >-
> {% set maj = states.update |
> selectattr('attributes.release_summary','defined') |
> selectattr('attributes.release_summary','eq','<ha-alert
> alert-type=\'error\'>Restart of Home Assistant required</ha-alert>')
> |map(attribute='name') |list %}
> 
> {% set maj_count = maj|count|int(2) %}
> 
> {% if maj_count >= 1 %} <ha-alert alert-type="error" title="{{maj_count}}
> intégrations nécessitent un redémarrage">
> 
> <hr>
> 
> <ul>{% for i in maj%}
> 
> <li>{{i}}</li>
> 
> {% endfor%}</ul>
> 
> {% else %}
> 
> {% endif %}</ha-alert>
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> padding: 4rem !important;
> padding-top: 0rem !important;
> padding-bottom: 0rem !important;
> }
> - type: custom:auto-entities
> card:
> type: vertical-stack
> card_param: cards
> filter:
> include:
> - domain: update
> state: 'on'
> integration: hacs
> options:
> type: custom:button-card
> show_name: true
> show_icon: true
> show_state: true
> show_entity_picture: true
> variables:
> url: |
> [[[
> return entity.attributes.release_url
> ]]]
> sensor: |
> [[[
> let name = Object.values(entity)
> return name[0]
> ]]]
> name: |
> [[[
> return entity.attributes.friendly_name.replace('update','')
> ]]]
> state_display: |
> [[[ 
> if(entity.state== "on" & entity.attributes.in_progress == false)
> return entity.attributes.installed_version +' - ' + entity.attributes.latest_version
> else if(entity.state== "off")
> return helpers.localize(entity) +' - '+ entity.attributes.installed_version
> else
> return "instal - "+entity.attributes.update_percentage+"%"
> ]]]
> styles:
> grid:
> - grid-template-areas: '"i n n cardupload" "i s cardurl cardupload"'
> - grid-template-columns: 1fr 1fr 1fr 1.5fr;
> - grid-template-rows: repeat(2, 50%);
> - gap: 0px 0px;
> card:
> - padding: 0px
> - height: 100%
> - width: 100%
> icon:
> - align-self: center
> - left: 25%
> - width: 55%
> name:
> - justify-self: start
> - font-size: 0.9em
> - font-weight: 450
> - padding-top: 8px
> state:
> - justify-self: start
> - font-size: 0.75em
> - padding-bottom: 0.7em
> - padding-right: 8rem
> custom_fields:
> cardurl:
> - justify-self: center
> - margin-bottom: 0.7em
> - margin-left: 2rem
> - margin-right: '-2rem'
> custom_fields:
> cardurl:
> card:
> type: custom:button-card
> show_icon: false
> name: |
> [[[
> if (variables.url == null)return ""
> else
> {return '<a style="color:white" href="'+[variables.url]+'">'+[variables.url.substr(8,18).toLowerCase()]+'</a>'}
> endif
> ]]]
> tap_action:
> action: url
> url_path: |
> [[[
> return variables.url
> ]]]
> styles:
> card:
> - background: rgba(100,150,255,0.5)
> - width: 13rem
> - box-sizing: border-box
> - padding: 0px
> name:
> - font-size: 1.2rem
> - font-weight: bold
> - font-style: italic
> cardupload:
> card:
> show_icon: true
> type: custom:button-card
> icon: |
> [[[
> if(entity.state == "off")
> return ""
> if(entity.attributes.in_progress == false)
> return 'mdi:upload-circle'
> else return 'mdi:rotate-right'
> ]]]
> styles:
> card:
> - background: none
> - border: none
> icon:
> - animation: |
> [[[
> if(entity.attributes.in_progress == false)
> return '' 
> else return 'rotating 1s linear infinite'
> ]]]
> - color: |
> [[[
> if(entity.state == 'on' & entity.attributes.in_progress != false)
> return 'green'
> else return 'rgba(85,252,252, 1)'
> ]]]
> - left: 18%
> - width: 40%
> tap_action:
> action: perform-action
> perform_action: update.install
> target:
> entity_id: '[[[return variables.sensor]]]'
> exclude:
> - entity_id: update.hacs_update
> card_param: cards
> sort:
> method: friendly_name
> - type: custom:button-card
> show_name: false
> show_icon: false
> show_state: false
> card_mod:
> style: |
> ha-card {
> pointer-events: none;
> }
> styles:
> grid:
> - grid-template-areas: '"card1 card2 card3"'
> - grid-template-columns: 1fr 0.63fr 0.1fr
> - grid-template-rows: 1fr
> card:
> - padding: 5px 0px 5px 10px
> - background: rgba(0,0,0,0)
> custom_fields:
> card1:
> - width: 90%
> card2:
> - align-self: top
> - height: 100%
> custom_fields:
> card1:
> card:
> type: custom:mushroom-title-card
> title: ZigBee2MQTT
> alignment: start
> card_mod:
> style: |
> .header {
> padding: 0px !important;
> }
> .header div {
> margin: 0px !important
> }
> card2:
> card:
> type: markdown
> content: >-
> {% set
> maj=integration_entities('mqtt')|select('search','update.')|select('is_state','on')|list|count|int(2)
> %} {% set
> total=integration_entities('mqtt')|select('search','update.')|list|count|int(2)
> %} {% if maj == 0 %} <ha-alert alert-type="success" title="{{maj}}
> mise a jour sur {{total}}" > {% elif maj == 1 %} <ha-alert
> alert-type="warning" title="{{maj}} mise a jour sur {{total}}" > {%
> elif maj > 1 %} <ha-alert alert-type="warning" title="{{maj}} mises
> a jour sur {{total}}" ></ha-alert> {% else %} {% endif %}
> card_mod:
> style: |
> :host {
> --ha-card-margin: 0px;
> --ha-card-background: #00000000 !important;
> --ha-card-border-color: #00000000 !important;
> }
> ha-markdown.no-header {
> padding: 0px !important;
> margin: 0px !important;
> margin-right: 3em !important;
> margin-left: -3em !important;
> }
> ha-card {
> font-size: 1rem;
> --mdc-icon-size: 1.3rem;
> }
> - type: custom:auto-entities
> card:
> type: vertical-stack
> card_param: cards
> filter:
> include:
> - domain: update
> state: 'on'
> integration: mqtt
> options:
> type: custom:button-card
> show_name: true
> show_icon: true
> show_state: true
> show_entity_picture: true
> variables:
> sensor: |
> [[[
> let name = Object.values(entity)
> return name[0]
> ]]]
> name: |
> [[[
> return entity.attributes.friendly_name.replace('Home Assistant','HA').replace('Update','')
> ]]]
> state_display: >
> [[[ if(entity.state== "on" & entity.attributes.in_progress ==
> false)
> return 'v' + entity.attributes.installed_version +' - v' + entity.attributes.latest_version
> else if(entity.state== "off")
> return helpers.localize(entity) +' - v'+ entity.attributes.installed_version
> else
> return "instal - "+entity.attributes.update_percentage+"%"
> ]]]
> styles:
> grid:
> - grid-template-areas: '"i n n cardupload" "i s s cardupload"'
> - grid-template-columns: 0.6fr 1fr 1.6fr 1fr;
> - grid-template-rows: repeat(2, 50%);
> - gap: 0px 0px;
> card:
> - padding: 0px
> - height: 100%
> - width: 100%
> icon:
> - align-self: center
> - left: 25%
> - width: 55%
> name:
> - justify-self: start
> - font-size: 0.9em
> - font-weight: 450
> - padding-top: 8px
> state:
> - justify-self: start
> - font-size: 0.75em
> - padding-bottom: 0.7em
> custom_fields:
> cardupload:
> card:
> show_icon: true
> type: custom:button-card
> icon: |
> [[[
> if(entity.state == "off")
> return ""
> if(entity.attributes.in_progress == false)
> return 'mdi:upload-circle'
> else return 'mdi:rotate-right'
> ]]]
> styles:
> card:
> - background: none
> - border: none
> icon:
> - animation: |
> [[[
> if(entity.attributes.in_progress == false)
> return '' 
> else return 'rotating 1s linear infinite'
> ]]]
> - color: |
> [[[
> if(entity.state == 'on' & entity.attributes.in_progress != false)
> return 'green'
> else return 'rgba(85,252,252, 1)' 
> ]]]
> - left: 17%
> tap_action:
> action: perform-action
> perform_action: update.install
> target:
> entity_id: '[[[return variables.sensor]]]'
> exclude: []
> card_param: cards
> sort:
> method: friendly_name
> 
> ```

> **Panneau de droite**
>
> ```auto
> type: vertical-stack
> cards:
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.home_assistant_core_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: Home Assistant Core
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: template
> icon: mdi:web
> icon_color: blue
> content: Release Changelog
> tap_action:
> action: url
> url_path: https://www.home-assistant.io/latest-release-notes/
> - type: entity
> entity: sensor.home_assistant_core_cpu_percent
> icon_color: blue
> - type: entity
> entity: sensor.home_assistant_core_memory_percent
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.home_assistant_supervisor_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: Home Assistant Supervisor
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: template
> icon: mdi:web
> icon_color: blue
> content: Release Changelog
> tap_action:
> action: url
> url_path: https://github.com/home-assistant/supervisor/releases/latest
> - type: entity
> entity: sensor.home_assistant_supervisor_cpu_percent
> icon_color: blue
> - type: entity
> entity: sensor.home_assistant_supervisor_memory_percent
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.adguard_home_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: Adguard Home
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: entity
> entity: binary_sensor.adguard_home_en_cours_d_execution
> icon_color: green
> - type: entity
> entity: sensor.adguard_home_pourcentage_du_processeur
> icon_color: blue
> - type: entity
> entity: sensor.adguard_home_pourcentage_de_memoire
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.nginx_proxy_manager_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: Nginx Proxy Manager
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: entity
> entity: binary_sensor.nginx_proxy_manager_en_cours_d_execution
> icon_color: green
> - type: entity
> entity: sensor.nginx_proxy_manager_pourcentage_du_processeur
> icon_color: blue
> - type: entity
> entity: sensor.nginx_proxy_manager_pourcentage_de_memoire
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.mosquitto_broker_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: Mosquitto Broker
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: entity
> entity: binary_sensor.mosquitto_broker_en_cours_d_execution
> icon_color: green
> - type: entity
> entity: sensor.mosquitto_broker_pourcentage_du_processeur
> icon_color: blue
> - type: entity
> entity: sensor.mosquitto_broker_pourcentage_de_memoire
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.zigbee2mqtt_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: ZigBee2MQTT
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: entity
> entity: binary_sensor.zigbee2mqtt_en_cours_d_execution
> icon_color: green
> - type: entity
> entity: sensor.zigbee2mqtt_pourcentage_du_processeur
> icon_color: blue
> - type: entity
> entity: sensor.zigbee2mqtt_pourcentage_de_memoire
> icon_color: orange
> - type: vertical-stack
> cards:
> - type: custom:mushroom-update-card
> entity: update.influxdb_update
> show_buttons_control: false
> icon_type: entity-picture
> layout: horizontal
> secondary_info: none
> name: InfluxDB
> card_mod:
> style: |
> ha-card {
> --card-primary-line-height: 2.5rem;
> --card-primary-font-size: 1.7rem;
> --card-primary-font-weight: normal;
> border: none;
> box-shadow: none;
> background: rgba(0,0,0,0);
> margin-top: 1.2rem;
> }
> - type: custom:mushroom-chips-card
> chips:
> - type: entity
> entity: binary_sensor.influxdb_en_cours_d_execution
> icon_color: green
> - type: entity
> entity: sensor.influxdb_pourcentage_du_processeur
> icon_color: blue
> - type: entity
> entity: sensor.influxdb_pourcentage_de_memoire
> icon_color: orange
> 
> ```

---

<div class="post-metadata">

**Author:** ![Floww77](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/f/c0e974/32.png) [@Floww77](https://forum.hacf.fr/u/Floww77)\
**Post date:** [Août 28, 2024, 2:11 UTC](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439/122 "2024-08-28T14:11:20Z")

</div>

C’est très propre. Serait-il possible de partager le code du sensor.available\_updates ?

[Page précédente](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439.md?page=5)

[Page suivante](https://forum.hacf.fr/t/maj-de-hacs-version-1-34-vers-la-version-2-0-procedure-dinstallation/46439.md?page=7)
