Mise en forme carte chauffage

Bonjour,

Novice dans HA, je souhaite piloter mon chauffage via fil pilote.
J’ai installé des boitier NODON fil pilote et des capteurs de température que je pilote via Z2Mqtt.
Jusque là, ca va.
j’ai réalisé une carte ou j’affiche la température de la pièce et 4 boutons qui changent de couleur en fonction de l’état commandé sur le fil pilote.

Mon problème : c’est un peu brouillon visuellement parce que je n’arrive pas a séparer les pièces.
J’aimerai faire une bordure qui englobe les info de chaque pièce afin que ce soit plus lisible mais je n’y arrive pas.

type: grid
cards:
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c1387dde974f7c_temperature
        name: Chambre Parents
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d5d_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea62d5d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d5d_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea62d5d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d5d_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea62d5d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d5d_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea62d5d_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c138249c17b5d4_temperature
        name: Chambre Louis
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a85_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea18a85_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a85_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea18a85_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a85_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea18a85_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a85_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea18a85_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c138b6c0cf9043_temperature
        name: Bureau Louis
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a7d_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea18a7d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a7d_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea18a7d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a7d_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea18a7d_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea18a7d_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea18a7d_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - graph: none
        type: sensor
        entity: sensor.0xa4c1382e5eb527d5_temperature
        name: Mezzanine
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: |
              {% if states('select.nodon_mezz_pilot_wire_mode') == 'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.nodon_mezz_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: |
              {% if states('select.nodon_mezz_pilot_wire_mode') == 'eco' %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.nodon_mezz_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.nodon_mezz_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.nodon_mezz_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: |
              {% if states('select.nodon_mezz_pilot_wire_mode') == 'off' %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.nodon_mezz_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c138433dd0a981_temperature
        name: Salon
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c6b_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea61c6b_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c6b_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea61c6b_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c6b_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea61c6b_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c6b_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea61c6b_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c138433dd0a981_temperature
        name: Salle à Manger
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c61_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea61c61_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c61_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea61c61_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c61_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea61c61_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c61_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea61c61_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c1386d2daeb270_temperature
        name: Cuisine
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c64_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea61c64_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c64_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea61c64_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c64_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea61c64_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea61c64_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea61c64_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
  - type: vertical-stack
    cards:
      - type: sensor
        entity: sensor.0xa4c1385337ff4f4e_temperature
        name: Salle de Bain
        unit: °C
        detail: 1
      - type: horizontal-stack
        cards:
          - type: custom:mushroom-template-card
            primary: Conf
            icon: mdi:radiator
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d51_pilot_wire_mode') ==
              'comfort' %}
                red
              {% else %}
                grey
              {% endif %}
            badge_color: ""
            name: Confort
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: comfort
              target:
                entity_id: select.0x4c5bb3fffea62d51_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: Eco
            icon: mdi:leaf
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d51_pilot_wire_mode') == 'eco'
              %}
                green
              {% else %}
                grey
              {% endif %}
            name: Eco
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: eco
              target:
                entity_id: select.0x4c5bb3fffea62d51_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: H Gel
            icon: mdi:snowflake
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d51_pilot_wire_mode') ==
              'frost_protection' %}
                blue
              {% else %}
                grey
              {% endif %}
            name: Hors Gel
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: frost_protection
              target:
                entity_id: select.0x4c5bb3fffea62d51_pilot_wire_mode
          - type: custom:mushroom-template-card
            primary: "Off"
            icon: mdi:power
            icon_color: >
              {% if states('select.0x4c5bb3fffea62d51_pilot_wire_mode') == 'off'
              %}
                white
              {% else %}
                grey
              {% endif %}            
            name: "Off"
            tap_action:
              action: call-service
              service: select.select_option
              service_data:
                option: "off"
              target:
                entity_id: select.0x4c5bb3fffea62d51_pilot_wire_mode
    grid_options:
      columns: 12
      rows: auto
column_span: 2

Ma configuration


System Information

version core-2025.1.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.62-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1512
Downloaded Repositories 6
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.2
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 13.9 GB
disk_used 9.3 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Mosquitto broker (6.5.0), Zigbee2MQTT (2.0.0-2), Terminal & SSH (9.16.0), Advanced SSH & Web Terminal (20.0.0), File editor (5.8.0)
Dashboards
dashboards 4
resources 3
views 8
mode storage
Recorder
oldest_recorder_run 21 janvier 2025 à 21:26
current_recorder_run 1 février 2025 à 19:29
estimated_db_size 167.15 MiB
database_engine sqlite
database_version 3.47.1

Si jamais, tu dois pouvoir créer un climate avec qqc comme template climate (ou versatile thermostat, mais il fait plus que transformer en climate) .

Et une fois que tu as un objet climate, tu auras pleins de mises en formes ?

Salut @Vince45

Je peux que te conseiller de partir sur l’intégration Versatile Thermostat pour gérer ton chauffage afin d’optimiser son fonctionnement.
En présentation tu trouvera quelques exemple sur cette page

et la doc au complet sur celle-ci

En module Fils Pilotes il faudra que tu passe par la configuration over_switch car tu n’a pas de climate

Salut

Vertical-stack-in-card devrait correspondre à ce que tu cherches.

Un exemple avec des cartes tuiles :

Après il faut jouer un peu avec card mod pour décoller les cartes du bas de la bordure.

Tu as pas mal d’infos là aussi :

Merci pour la citation…

Côté carte de synthèse, le lien direct c’est celui là :

À adapter en modifiant les chips qui servent de bouton pour afficher ce que tu veux…

Il y a même un tuto pas à pas tout en interface graphique.

Bonjour,

sinon tu peux obtenir ce que tu veux avec custom:button-card sans rien utiliser d’autre (pas de vertical-stack-in-card, de card_mod ou autres)

Merci à tous, ca fait déjà pas mal de lecture…

Du coup j’ai utilisé les vertical-stack-in-card :

3 « J'aime »