Présentation Integra

Bonjour à toutes et tous,

J’ai 32 ans et fraichement inscrit sur le forum après maintes et maintes consultations sur pleins de topics différents.
Passionné en informatique aussi bien en hardware qu’en software, les bidouilles en domotique devaient tôt ou tard m’intéresser, voilà chose faite depuis mon passage sur HA il y a maintenant quelques mois.
Dans un premier temps, j’ai simplement voulu déployer HA pour me faire une alarme maison, tout en ayant conscience que ce n’est pas forcément la solution la plus « pro », elle convient cependant tout à fait à mon usage domestique.
Puis dans un second temps, pour monitorer certains aspects de ma maison (température/humidité, conso. électrique…etc).
Le champ d’application de HA évoluera chez moi en fonction des besoins et envies futurs.

Côté hardware, je suis parti sur :

  • MiniPC à base de N100, 16go RAM et SSD 500go (un peu overkill mais évolutif pour de potentielles VM)
  • Capteurs de porte Aqara
  • Capteurs de température Sonoff
  • Détecteur de gaz Heiman
  • Caméra TP-Link
  • Clavier Frient avec RFID pour alarme
  • Onduleur Eaton

Côté software, dans un premier temps j’ai directement installé HAOS qui pourrait évoluer sur un système avec VM dans le futur si besoin (serveur Plex, Frigate, NAS DiY…etc.). J’ai également l’appli HA Companion pour le smartphone avec accès à distance par Zerotier ce qui me suffit pour le moment.

Enfin côté HA, j’ai installé plusieurs modules complémentaires assez classique :

  • Zigbee2mqtt
  • Frigate
  • Network UPS Tools
  • Linky
  • Node-Red
  • Samba share
  • Studio Code Server
  • Terminal & SHH
  • Zerotier

Pour ce qui est des automatisations, elles me servent principalement à gérer des aspects de l’alarme (boot de la caméra et Frigate, notification Telegram…etc.), mais également l’onduleur (notification, extinction auto de HA et du miniPC) et sauvegarde hebdomadaire auto sur serveur Freebox.

Puis j’ai été amené à installer HA pour des proches intéressés, dans des situations plus « complexes » à savoir, gestion de clim, des ouvrants (portail et garage) et accès à distance par NDD OVH pour plus de flexibilité.

Pour conclure, j’ai aujourd’hui un système que je juge fiable, à jour et suffisamment bien monitoré pour en suivre l’évolution.

Voici un aperçu de mon dashboard actuel sur PC, que j’ai repris pour le smartphone de manière plus verticale et séparé sur différents onglets (sécurité/monitoring) :

Merci de m’avoir lu et au plaisir de vous lire en retour !

7 « J'aime »

Bonjour,
bienvenue sur HACF.

1 « J'aime »

Bonjour @Integra ,
Bienvenue beau dashboard épuré.
Tu utilise apex pour tes radial bar ?
Est-ce que tu pourra partagé le code de tes cartes s’il te plaît !
Et pour l’onduleur comment as tu fait pour avoir le temps en minutes j’ai qu’en secondes fourni par l’entité de nut
Merci par avance

1 « J'aime »

Merci @oli_34 !

Oui j’essaie de trouver un équilibre entre dashboard complet et épuré, et pour l’instant celui-ci me convient parfaitement.

Oui j’utilise Apex charts pour les radial bar.

Pas de soucis, j’ai organisé mon dashboard en 3 colonnes. Le code est sûrement loin d’être parfait et les marges sont adaptées à ma résolution (1080p) grâce à Card Mod. Voici le code pour chacune d’entre elles :

  • Première colonne
type: vertical-stack
cards:
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Météo
          icon: mdi:weather-partly-cloudy
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 6px
            icon:
              - height: 42px
              - width: 63px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 18% min-content
          card_mod:
            style: |
              ha-card {
                margin-top: 10px;
                border: none;
              } 
        - show_current: true
          show_forecast: true
          type: weather-forecast
          entity: weather.forecast_maison
          forecast_type: hourly
          name: Météo
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
                margin-top: -20px;
                margin-bottom: -40px  !important;
              }
        - show_current: false
          show_forecast: true
          type: weather-forecast
          entity: weather.forecast_maison
          forecast_type: daily
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
              }
  - type: custom:gap-card
    height: 15
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Capteurs et déctecteurs
          icon: fas:door-open
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 15px
            icon:
              - height: 32px
              - width: 48px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 15% min-content
          card_mod:
            style: |
              ha-card {
                border: none;
                margin-bottom: -10px  !important;
              } 
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_porte_garage_contact
          primary: Porte du garage
          secondary: "{% if is_state('binary_sensor.capteur_porte_garage_contact', 'on') %}\t Ouvert à {{ as_timestamp(states.binary_sensor.capteur_porte_garage_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% elif is_state('binary_sensor.capteur_porte_garage_contact', 'off') %} Fermé à {{ as_timestamp(states.binary_sensor.capteur_porte_garage_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% endif %}"
          icon: >-
            {% if is_state('binary_sensor.capteur_porte_garage_contact', 'on')
            %}
              mdi:door-open
            {% elif is_state('binary_sensor.capteur_porte_garage_contact',
            'off') %}
              mdi:door-closed
            {% endif %}
          badge_icon: |-
            {% if states('sensor.capteur_porte_garage_battery') | int > 70 %}
              mdi:battery
            {% elif states('sensor.capteur_porte_garage_battery') | int > 20 %}
              mdi:battery-50
            {% elif states('sensor.capteur_porte_garage_battery') | int > 1 %}
              mdi:battery-10
            {% endif %}
          badge_color: |-
            {% if states('sensor.capteur_porte_garage_battery') | int > 70 %}
              green
            {% elif states('sensor.capteur_porte_garage_battery') | int > 20 %}
              orange
            {% elif states('sensor.capteur_porte_garage_battery') | int > 1 %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_porte_garage_contact', 'on')
            %}
              blue
            {% elif is_state('binary_sensor.capteur_porte_garage_contact',
            'off')

            %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_porte_garage_contact', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_porte_veranda_contact
          primary: Porte de la véranda
          secondary: "{% if is_state(\"binary_sensor.capteur_porte_veranda_contact\", \"on\") %}\t Ouvert à {{ as_timestamp(states.binary_sensor.capteur_porte_veranda_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% elif is_state('binary_sensor.capteur_porte_veranda_contact', 'off') %} Fermé à {{ as_timestamp(states.binary_sensor.capteur_porte_veranda_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% endif %}"
          icon: >-
            {% if is_state('binary_sensor.capteur_porte_veranda_contact', 'on')
            %}
              mdi:door-open
            {% elif is_state('binary_sensor.capteur_porte_veranda_contact',
            'off') %}
              mdi:door-closed
            {% endif %}
          badge_icon: |-
            {% if states('sensor.capteur_porte_veranda_battery') | int > 70 %}
              mdi:battery
            {% elif states('sensor.capteur_porte_veranda_battery') | int > 20 %}
              mdi:battery-50
            {% elif states('sensor.capteur_porte_veranda_battery') | int > 1 %}
              mdi:battery-10
            {% endif %}
          badge_color: |-
            {% if states('sensor.capteur_porte_veranda_battery') | int > 70 %}
              green
            {% elif states('sensor.capteur_porte_veranda_battery') | int > 20 %}
              orange
            {% elif states('sensor.capteur_porte_veranda_battery') | int > 1 %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_porte_veranda_contact', 'on')
            %}
              blue
            {% elif is_state('binary_sensor.capteur_porte_veranda_contact',
            'off')

            %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_porte_veranda_contact', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_porte_veranda_2_contact
          primary: Porte de la véranda 2
          secondary: "{% if is_state(\"binary_sensor.capteur_porte_veranda_2_contact\", \"on\") %}\t Ouvert à {{ as_timestamp(states.binary_sensor.capteur_porte_veranda_2_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% elif is_state('binary_sensor.capteur_porte_veranda_2_contact', 'off') %} Fermé à {{ as_timestamp(states.binary_sensor.capteur_porte_veranda_2_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% endif %}"
          icon: >-
            {% if is_state('binary_sensor.capteur_porte_veranda_2_contact',
            'on') %}
              mdi:door-open
            {% elif is_state('binary_sensor.capteur_porte_veranda_2_contact',
            'off') %}
              mdi:door-closed
            {% endif %}
          badge_icon: >-
            {% if states('sensor.capteur_porte_veranda_2_battery') | int > 70 %}
              mdi:battery
            {% elif states('sensor.capteur_porte_veranda_2_battery') | int > 20
            %}
              mdi:battery-50
            {% elif states('sensor.capteur_porte_veranda_2_battery') | int > 1
            %}
              mdi:battery-10
            {% endif %}
          badge_color: >-
            {% if states('sensor.capteur_porte_veranda_2_battery') | int > 70 %}
              green
            {% elif states('sensor.capteur_porte_veranda_2_battery') | int > 20
            %}
              orange
            {% elif states('sensor.capteur_porte_veranda_2_battery') | int > 1
            %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_porte_veranda_2_contact',
            'on') %}
              blue
            {% elif is_state('binary_sensor.capteur_porte_veranda_2_contact',
            'off')

            %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_porte_veranda_2_contact', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.tapo_c225_e601_cell_motion_detection
          primary: Caméra du salon
          secondary: >-
            Dernière détection à {{
            as_timestamp(states.binary_sensor.tapo_c225_e601_cell_motion_detection.last_changed,
            default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0)
            }}
          icon: >-
            {% if is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'on') %}
              mdi:motion-sensor
            {% elif
            is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'off') %}
              mdi:motion-sensor-off
            {% elif
            is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'unavailable') %}
              mdi:motion-sensor-off
            {% endif %}
          badge_icon: |-
            {% if is_state('switch.tapo_c225_e601_privacy', 'on') %}
              mdi:shield-lock-outline
            {% elif is_state('switch.tapo_c225_e601_privacy', 'off') %}
              mdi:shield-lock-outline
            {% endif %}
          badge_color: |-
            {% if is_state('switch.tapo_c225_e601_privacy', 'on') %}
              green
            {% elif is_state('switch.tapo_c225_e601_privacy', 'off') %}
              blue
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'on') %}
              blue
            {% elif
            is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'off') %}
              #e5e5e5
            {% elif
            is_state('binary_sensor.tapo_c225_e601_cell_motion_detection',
            'unavailable') %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.tapo_c225_e601_cell_motion_detection', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_mouvement_salon_occupancy
          primary: Détecteur du salon
          secondary: >-
            Dernière détection à {{
            as_timestamp(states.binary_sensor.capteur_mouvement_salon_occupancy.last_changed,
            default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0)
            }}
          icon: >-
            {% if is_state('binary_sensor.capteur_mouvement_salon_occupancy',
            'on') %}
              mdi:motion-sensor
            {% elif is_state('binary_sensor.capteur_mouvement_salon_occupancy',
            'off') %}
             mdi:motion-sensor-off
            {% endif %}
          badge_icon: >-
            {% if states('sensor.capteur_mouvement_salon_battery') | int > 70 %}
              mdi:battery
            {% elif states('sensor.capteur_mouvement_salon_battery') | int > 20
            %}
              mdi:battery-50
            {% elif states('sensor.capteur_mouvement_salon_battery') | int > 1
            %}
              mdi:battery-10
            {% endif %}
          badge_color: >-
            {% if states('sensor.capteur_mouvement_salon_battery') | int > 70 %}
              green
            {% elif states('sensor.capteur_mouvement_salon_battery') | int > 20
            %}
              orange
            {% elif states('sensor.capteur_mouvement_salon_battery') | int > 1
            %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_mouvement_salon_occupancy',
            'on') %}
              blue
            {% elif is_state('binary_sensor.capteur_mouvement_salon_occupancy',
            'off') %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_mouvement_salon_occupancy', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_fenetre_chambre_contact
          primary: Fenêtre de la chambre
          secondary: "{% if is_state('binary_sensor.capteur_fenetre_chambre_contact', 'on') %}\t Ouvert à {{ as_timestamp(states.binary_sensor.capteur_fenetre_chambre_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% elif is_state('binary_sensor.capteur_fenetre_chambre_contact', 'off') %} Fermé à {{ as_timestamp(states.binary_sensor.capteur_fenetre_chambre_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% endif %}"
          icon: >-
            {% if is_state('binary_sensor.capteur_fenetre_chambre_contact',
            'on') %}
              mdi:window-open-variant
            {% elif is_state('binary_sensor.capteur_fenetre_chambre_contact',
            'off') %}
              mdi:window-closed-variant
            {% endif %}
          badge_icon: >-
            {% if states('sensor.capteur_fenetre_chambre_battery') | int > 70 %}
              mdi:battery
            {% elif states('sensor.capteur_fenetre_chambre_battery') | int > 20
            %}
              mdi:battery-50
            {% elif states('sensor.capteur_fenetre_chambre_battery') | int > 1
            %}
              mdi:battery-10
            {% endif %}
          badge_color: >-
            {% if states('sensor.capteur_fenetre_chambre_battery') | int > 70 %}
              green
            {% elif states('sensor.capteur_fenetre_chambre_battery') | int > 20
            %}
              orange
            {% elif states('sensor.capteur_fenetre_chambre_battery') | int > 1
            %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_fenetre_chambre_contact',
            'on') %}
              blue
            {% elif is_state('binary_sensor.capteur_fenetre_chambre_contact',
            'off')

            %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_fenetre_chambre_contact', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
        - type: custom:mushroom-template-card
          entity: binary_sensor.capteur_fenetre_chambre_2_contact
          primary: Fenêtre de la chambre 2
          secondary: "{% if is_state('binary_sensor.capteur_fenetre_chambre_2_contact', 'on') %}\t Ouvert à {{ as_timestamp(states.binary_sensor.capteur_fenetre_chambre_2_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% elif is_state('binary_sensor.capteur_fenetre_chambre_2_contact', 'off') %} Fermé à {{ as_timestamp(states.binary_sensor.capteur_fenetre_chambre_2_contact.last_changed, default=0)|timestamp_custom('%Hh%M'' (le ''%d/%m/%Y'')', default=0) }} {% endif %}"
          icon: >-
            {% if is_state('binary_sensor.capteur_fenetre_chambre_2_contact',
            'on') %}
              mdi:window-open-variant
            {% elif is_state('binary_sensor.capteur_fenetre_chambre_2_contact',
            'off') %}
              mdi:window-closed-variant
            {% endif %}
          badge_icon: >-
            {% if states('sensor.capteur_fenetre_chambre_2_battery') | int > 70
            %}
              mdi:battery
            {% elif states('sensor.capteur_fenetre_chambre_2_battery') | int >
            20 %}
              mdi:battery-50
            {% elif states('sensor.capteur_fenetre_chambre_2_battery') | int > 1
            %}
              mdi:battery-10
            {% endif %}
          badge_color: >-
            {% if states('sensor.capteur_fenetre_chambre_2_battery') | int > 70
            %}
              green
            {% elif states('sensor.capteur_fenetre_chambre_2_battery') | int >
            20 %}
              orange
            {% elif states('sensor.capteur_fenetre_chambre_2_battery') | int > 1
            %}
              red
            {% endif %}
          tap_action:
            action: more-info
          hold_action:
            action: none
          double_tap_action:
            action: none
          icon_color: >-
            {% if is_state('binary_sensor.capteur_fenetre_chambre_2_contact',
            'on') %}
              blue
            {% elif is_state('binary_sensor.capteur_fenetre_chambre_2_contact',
            'off')

            %}
              #e5e5e5
            {% endif %}
          fill_container: false
          multiline_secondary: false
          card_mod:
            style: |
              ha-card {
                {% if is_state('binary_sensor.capteur_fenetre_chambre_2_contact', 'on') %}
                background: rgba(25,25,25,0.75);
                {% else %}
                background: none;
                {% endif %}
                box-shadow: none;
                border: 0px  !important;
              }
view_layout:
  grid-area: Left

  • Deuxième colonne :
type: vertical-stack
cards:
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Sécurité
          icon: mdi:shield-home-outline
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 6px
            icon:
              - height: 42px
              - width: 63px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 18% min-content
          card_mod:
            style: |
              ha-card {
                margin-top: 10px;
                border: none;
              } 
        - type: custom:alarmo-card
          entity: alarm_control_panel.alarmo
          name: Alarme
          keep_keypad_visible: false
          use_clear_icon: true
          button_scale_actions: 1
          button_scale_keypad: 1
          states: {}
          show_messages: true
          show_ready_indicator: true
          show_bypassed_sensors: true
          card_mod:
            style: |
              ha-card {
                margin-top: 10px;
                background: none;
                box-shadow: none;
                margin-top: -25px;
                border: none;
              }
  - type: custom:gap-card
    height: 15
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Caméra
          icon: mdi:cctv
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 6px
            icon:
              - height: 42px
              - width: 63px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 18% min-content
          card_mod:
            style: |
              ha-card {
                
                border: none;
              } 
        - camera_view: live
          type: picture-glance
          title: Salon
          image: https://demo.home-assistant.io/stub_config/kitchen.png
          tap_action:
            action: fire-dom-event
            browser_mod:
              service: browser_mod.popup
              data:
                size: fullscreen
                content:
                  type: picture-glance
                  camera_image: camera.salon
                  camera_view: live
                  entities:
                    - entity: camera.salon
          entities:
            - entity: button.tapo_c225_e601_move_up
              tap_action:
                action: call-service
                service: button.press
                data:
                  entity_id: button.tapo_c225_e601_move_up
            - entity: button.tapo_c225_e601_move_down
              tap_action:
                action: call-service
                service: button.press
                data:
                  entity_id: button.tapo_c225_e601_move_down
            - entity: button.tapo_c225_e601_move_left
              tap_action:
                action: call-service
                service: button.press
                data:
                  entity_id: button.tapo_c225_e601_move_left
            - entity: button.tapo_c225_e601_move_right
              tap_action:
                action: call-service
                service: button.press
                data:
                  entity_id: button.tapo_c225_e601_move_right
            - entity: button.tapo_c225_e601_reboot
              tap_action:
                action: call-service
                service: button.press
                data:
                  entity_id: button.tapo_c225_e601_reboot
            - entity: switch.tapo_c225_e601_privacy
              icon: mdi:shield-lock-outline
          camera_image: camera.salon
          card_mod:
            style: |
              ha-card {
                background: none;
                box-shadow: none;
                border: none;
              }
  - type: horizontal-stack
    cards:
      - type: custom:gap-card
      - show_name: true
        show_icon: true
        type: custom:button-card
        tap_action:
          action: navigate
          navigation_path: /ccab4aaf_frigate
        name: Frigate
        icon: mdi:cctv
        color: '#5aa5f0'
        show_state: false
        hold_action:
          action: none
        styles:
          card:
            - font-size: 5px
          name:
            - font-size: 12px
          icon:
            - width: 55%
            - margin-top: '-10%'
            - margin-bottom: '-10%'
        card_mod:
          style: |
            ha-card {
              background: rgba(25,25,25,0.65);
              box-shadow: none;
              border-radius: 40px;
            }
      - show_name: true
        show_icon: true
        type: custom:button-card
        tap_action:
          action: navigate
          navigation_path: >-
            /media-browser/browser/app%2Cmedia-source%3A%2F%2Ffrigate/image%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Fevent-search%2Fsnapshots%2F%2F%2F%2F%2F%2F
        name: Photos
        icon: mdi:camera-iris
        color: '#5aa5f0'
        show_state: false
        hold_action:
          action: none
        styles:
          card:
            - font-size: 5px
          name:
            - font-size: 12px
          icon:
            - width: 55%
            - margin-top: '-10%'
            - margin-bottom: '-10%'
        card_mod:
          style: |
            ha-card {
              background: rgba(25,25,25,0.65);
              box-shadow: none;
              border-radius: 40px;
            }
      - show_name: true
        show_icon: true
        type: custom:button-card
        tap_action:
          action: navigate
          navigation_path: >-
            /media-browser/browser/app%2Cmedia-source%3A%2F%2Ffrigate/video%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Frecordings%2F%2F%2F/video%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Frecordings%2FSalon%2F%2F
        name: Vidéos
        icon: mdi:movie-open-play-outline
        color: '#5aa5f0'
        show_state: false
        hold_action:
          action: none
        styles:
          card:
            - font-size: 5px
          name:
            - font-size: 12px
          icon:
            - width: 55%
            - margin-top: '-10%'
            - margin-bottom: '-10%'
        card_mod:
          style: |
            ha-card {
              background: rgba(25,25,25,0.65);
              box-shadow: none;
              border-radius: 40px;
            }
      - show_name: true
        show_icon: true
        type: custom:button-card
        tap_action:
          action: navigate
          navigation_path: /dashboard-smartphone/camera-hd
        name: HD
        icon: mdi:quality-high
        color: '#5aa5f0'
        show_state: false
        hold_action:
          action: none
        styles:
          card:
            - font-size: 5px
          name:
            - font-size: 12px
          icon:
            - width: 55%
            - margin-top: '-10%'
            - margin-bottom: '-10%'
        card_mod:
          style: |
            ha-card {
              background: rgba(25,25,25,0.65);
              box-shadow: none;
              border-radius: 40px;
            }
      - type: custom:gap-card
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Température & Humidité
          icon: fas:temperature-half
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 6px
            icon:
              - height: 32px
              - width: 48px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 15% min-content
          card_mod:
            style: |
              ha-card {
                margin-top: 10px;
                margin-bottom: -5px  !important;
                border: none;
              } 
        - square: false
          columns: 2
          type: grid
          cards:
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.capteur_temperature_1_temperature
                      max: 40
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -5
                        hollow:
                          size: 85%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: vertical
                        opacityFrom: 0
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#7dc8ff'
                            opacity: 1
                          - offset: 40
                            color: '#2a75cf'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 200
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.capteur_temperature_1_humidity
                      max: 100
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -5
                        hollow:
                          size: 85%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: vertical
                        opacityFrom: 0
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#ffd27f'
                            opacity: 1
                          - offset: 100
                            color: '#ffc04c'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 180
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -150px;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:button-card
                  entity: sensor.capteur_temperature_1_temperature
                  size: 12%
                  icon: mdi:sofa
                  show_state: false
                  show_name: false
                  label: Salon
                  show_label: true
                  styles:
                    grid:
                      - grid-template-areas: '"i" "l" "temp" "hum"'
                  custom_fields:
                    temp: >
                      [[[ var temp =
                      states['sensor.capteur_temperature_1_temperature' ].state;
                      return `<ha-icon
                        icon="fas:temperature-half"
                        style="width: 15px; height: 15px; color: #7dc8ff ">
                        </ha-icon>` + temp + '°C'; ]]]
                    hum: >
                      [[[ var hum =
                      states['sensor.capteur_temperature_1_humidity'
                      ].state;     return `<ha-icon
                        icon="mdi:water"
                        style="width: 15px; height: 15px; color: #7dc8ff ">
                        </ha-icon>` + hum + '%'; ]]]
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -150px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                  }
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.capteur_temperature_2_temperature
                      max: 40
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -5
                        hollow:
                          size: 85%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: vertical
                        opacityFrom: 0
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#7dc8ff'
                            opacity: 1
                          - offset: 40
                            color: '#2a75cf'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 200
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.capteur_temperature_2_humidity
                      max: 100
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -5
                        hollow:
                          size: 85%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: vertical
                        opacityFrom: 0
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#ffd27f'
                            opacity: 1
                          - offset: 100
                            color: '#ffc04c'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 180
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -150px;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:button-card
                  entity: sensor.capteur_temperature_2_temperature
                  size: 12%
                  icon: mdi:bed-king
                  show_state: false
                  show_name: false
                  label: Chambre
                  show_label: true
                  styles:
                    grid:
                      - grid-template-areas: '"i" "l" "temp" "hum"'
                  custom_fields:
                    temp: >
                      [[[ var temp =
                      states['sensor.capteur_temperature_2_temperature' ].state;
                      return `<ha-icon
                        icon="fas:temperature-half"
                        style="width: 15px; height: 15px; color: #7dc8ff ">
                        </ha-icon>` + temp + '°C'; ]]]
                    hum: >
                      [[[ var hum =
                      states['sensor.capteur_temperature_2_humidity'
                      ].state;     return `<ha-icon
                        icon="mdi:water"
                        style="width: 15px; height: 15px; color: #7dc8ff ">
                        </ha-icon>` + hum + '%'; ]]]
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -150px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                  }
        - type: horizontal-stack
          cards:
            - type: custom:mini-graph-card
              name: Salon
              height: 120
              hours_to_show: 24
              points_per_hour: 1
              hour24: true
              line_width: 2
              decimals: 1
              entities:
                - entity: sensor.capteur_temperature_1_temperature
                  name: Temp.
                  color: '#2a75cf'
                - entity: sensor.capteur_temperature_1_humidity
                  color: '#ffc04c'
                  name: Humidité
                  show_line: true
                  show_points: true
                  show_legend: true
                  y_axis: secondary
              show:
                fill: true
                graph: line
                icon: false
                name: false
                state: false
                labels: false
                extrema: true
                average: true
                icon_adaptive_color: false
                labels_secondary: false
              align_icon: right
              align_state: left
              card_mod:
                style: |
                  ha-card {
                  margin-top: -45px;
                  background: none;
                  box-shadow: none;
                  border: none;
                  }
            - type: custom:mini-graph-card
              name: Chambre
              height: 120
              hours_to_show: 24
              points_per_hour: 1
              hour24: true
              line_width: 2
              decimals: 1
              entities:
                - entity: sensor.capteur_temperature_2_temperature
                  name: Temp.
                  color: '#2a75cf'
                - entity: sensor.capteur_temperature_2_humidity
                  color: '#ffc04c'
                  name: Humidité
                  show_line: true
                  show_points: true
                  show_legend: true
                  y_axis: secondary
              show:
                fill: true
                graph: line
                icon: false
                name: false
                state: false
                labels: false
                extrema: true
                average: true
                icon_adaptive_color: false
                labels_secondary: false
              align_icon: right
              align_state: left
              card_mod:
                style: |
                  ha-card {
                  margin-top: -45px;
                  background: none;
                  box-shadow: none;
                  border: none;
                  }
view_layout:
  grid-area: Middle

  • Troisième colonne :
type: vertical-stack
cards:
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Beelink Mini S12 Pro
          icon: fas:computer
          layout: icon_name
          tap_action:
            action: navigate
            navigation_path: /config/devices/device/dce81020ba4dfa25b473527e36818e9a
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 6px
            icon:
              - height: 32px
              - width: 48px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 20% min-content
          card_mod:
            style: |
              ha-card {
                margin-top: 10px;
                border: none;
              } 
        - type: custom:button-card
          name: Alder Lake N100
          icon: fas:microchip
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 12px
            icon:
              - height: 21px
              - width: 32px
              - justify-self: center
              - align-self: end
            name:
              - font-weight: 500
              - font-size: 16px
              - text-align: left
            grid:
              - grid-template-columns: 45px min-content
          card_mod:
            style: |
              ha-card {
                border: none;
                margin-top: 5px !important;
                margin-bottom: -15px  !important;
              } 
        - square: false
          columns: 2
          type: grid
          cards:
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.system_monitor_temperature_du_processeur
                      max: 105
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -10
                        startAngle: -108
                        endAngle: 108
                        hollow:
                          size: 75%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: horizontal
                        opacityFrom: 1
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#7dc8ff'
                            opacity: 1
                          - offset: 105
                            color: '#2a75cf'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 240
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.system_monitor_temperature_du_processeur
                  primary_info: state
                  secondary_info: name
                  name: Température CPU
                  icon_color: '#5aafff'
                  layout: vertical
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -105px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                  }
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.system_monitor_utilisation_du_processeur
                      max: 100
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -10
                        startAngle: -108
                        endAngle: 108
                        hollow:
                          size: 75%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: horizontal
                        opacityFrom: 1
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#5aafff'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 240
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.system_monitor_utilisation_du_processeur
                  primary_info: state
                  secondary_info: name
                  name: Utilisation CPU
                  icon_color: '#5aafff'
                  layout: vertical
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -105px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                    margin-bottom: -15px  !important;
                  }
        - type: custom:button-card
          name: RAM & SSD
          icon: mdi:database-check
          layout: icon_name
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 0px
            icon:
              - height: 24px
              - width: 36px
              - justify-self: center
              - align-self: end
            name:
              - font-weight: 500
              - font-size: 16px
              - text-align: left
            grid:
              - grid-template-columns: 65px min-content
          card_mod:
            style: |
              ha-card {
                border: none;
                margin-bottom: -5px !important;
              } 
        - square: false
          columns: 2
          type: grid
          cards:
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.system_monitor_memoire_utilisee
                      max: 16
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -10
                        startAngle: -108
                        endAngle: 108
                        hollow:
                          size: 75%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: horizontal
                        opacityFrom: 1
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#5aafff'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 240
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.system_monitor_memoire_utilisee
                  primary_info: state
                  secondary_info: name
                  name: Utilisation RAM
                  icon_color: '#5aafff'
                  layout: vertical
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -105px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                  }
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.system_monitor_utilisation_du_disque
                      max: 100
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -10
                        startAngle: -108
                        endAngle: 108
                        hollow:
                          size: 75%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: horizontal
                        opacityFrom: 1
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#5aafff'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 240
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.system_monitor_utilisation_du_disque
                  primary_info: state
                  secondary_info: name
                  name: Utilisation SSD
                  icon_color: '#5aafff'
                  layout: vertical
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -105px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                    margin-bottom: -15px  !important;
                  }
  - type: custom:gap-card
    height: 15
  - type: custom:mod-card
    style: |
      ha-card {
        background: rgba(25,25,25,0.65);
      }
    card:
      type: vertical-stack
      cards:
        - type: custom:button-card
          name: Eaton 3S 850FR
          icon: fas:plug-circle-bolt
          layout: icon_name
          tap_action:
            action: navigate
            navigation_path: /config/devices/device/6df1cde1503782adf143920214bf18fe
          styles:
            card:
              - background-color: rgba(0,0,0,0)
              - padding: 8px
            icon:
              - height: 32px
              - width: 48px
            name:
              - font-weight: 500
              - font-size: 22px
              - text-align: left
            grid:
              - grid-template-columns: 18% min-content
          card_mod:
            style: |
              ha-card {
                border: none;
                margin-top: 10px !important;
                margin-bottom: -10px;
              } 
        - square: false
          columns: 2
          type: grid
          cards:
            - type: custom:stack-in-card
              cards:
                - type: custom:apexcharts-card
                  chart_type: radialBar
                  series:
                    - entity: sensor.eaton3s850fr_charge_de_la_batterie
                      max: 100
                      show:
                        legend_value: false
                  apex_config:
                    plotOptions:
                      radialBar:
                        offsetY: -10
                        startAngle: -108
                        endAngle: 108
                        hollow:
                          size: 75%
                          dropShadow:
                            enabled: true
                            top: 3
                            left: 0
                            blur: 4
                            opacity: 0.24
                        dataLabels:
                          name:
                            show: false
                          value:
                            show: false
                        track:
                          strokeWidth: 70%
                          margin: 0
                    fill:
                      type: gradient
                      gradient:
                        shadeIntensity: 1
                        type: horizontal
                        opacityFrom: 1
                        opacityTo: 1
                        colorStops:
                          - offset: 0
                            color: '#7dc8ff'
                            opacity: 1
                          - offset: 100
                            color: '#2a75cf'
                            opacity: 1
                    legend:
                      show: false
                    chart:
                      height: 240
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.eaton3s850fr_charge_de_la_batterie
                  primary_info: state
                  secondary_info: name
                  name: Charge de la batterie
                  icon_color: '#5aafff'
                  layout: vertical
                  card_mod:
                    style: |
                      ha-card {
                        margin-top: -105px;
                        width: 140px;
                        margin-left: auto;
                        margin-right: auto;
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                  }
            - type: custom:stack-in-card
              cards:
                - type: custom:mushroom-entity-card
                  entity: sensor.eaton3s850fr_etat
                  name: État
                  icon: mdi:connection
                  hold_action:
                    action: none
                  double_tap_action:
                    action: none
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                        margin-bottom: -20px  !important;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.eaton3s850fr_autonomie_de_la_batterie
                  name: Autonomie batterie
                  icon: mdi:battery-charging
                  fill_container: false
                  hold_action:
                    action: none
                  double_tap_action:
                    action: none
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                        margin-bottom: -20px  !important;
                      }
                - type: custom:mushroom-entity-card
                  entity: sensor.eaton3s850fr_puissance_reelle_actuelle
                  name: Puissance actuelle
                  fill_container: false
                  tap_action:
                    action: more-info
                  hold_action:
                    action: none
                  double_tap_action:
                    action: none
                  card_mod:
                    style: |
                      ha-card {
                        background: none;
                        box-shadow: none;
                        border: none;
                      }
              card_mod:
                style: |
                  ha-card {
                    background: none;
                    box-shadow: none;
                    border: none;
                    margin-bottom: 10px  !important;
                  }
view_layout:
  grid-area: Right

Pour l’onduleur je ne me souviens pas avoir modifié quelque chose pour avoir l’affichage en minute mais dans le doute ci-dessous tu trouveras le paramétrage de l’entité chez moi :

Salut Integra :wink:
C’est du beau boulot que tu nous as fait là.
Sois le bienvenu sur HACF :wink:
@+ Guy

Merci à vous tous pour l’accueil !