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
# Quelques compléments indispensables
- [Quelques compléments indispensables](#quelques-compléments-indispensables)
- [Versatile Thermostat UI Card](#versatile-thermostat-ui-card)
- [Composant Scheduler !](#composant-scheduler-)
- [Courbes de régulattion avec Plotly](#courbes-de-régulattion-avec-plotly)
- [Les notification avec l'AappDaemon NOTIFIER](#les-notification-avec-laappdaemon-notifier)
- [Une très belle carte (merci @Jeffodilo)](#une-très-belle-carte-merci-jeffodilo)
## Versatile Thermostat UI Card
Une carte spéciale pour le Versatile Thermostat a été développée (sur la base du Better Thermostat). Elle est dispo ici [Versatile Thermostat UI Card](https://github.com/jmcollin78/versatile-thermostat-ui-card) et propose une vision moderne de tous les status du VTherm :

## Composant Scheduler !
Afin de profiter de toute la puissance du Versatile Thermostat, je vous invite à l'utiliser avec https://github.com/nielsfaber/scheduler-component
En effet, le composant scheduler propose une gestion de la base climatique sur les modes prédéfinis. Cette fonctionnalité a un intérêt limité avec le thermostat générique mais elle devient très puissante avec le Versatile Thermostat :
Ce fichier a été tronqué. afficher l'original
et la doc au complet sur celle-ci
[![GitHub Release][releases-shield]][releases]
[![GitHub Activity][commits-shield]][commits]
[![License][license-shield]](LICENSE)
[![hacs][hacs_badge]][hacs]
[![BuyMeCoffee][buymecoffeebadge]][buymecoffee]
[En](README.md)|[Fr](README-fr.md)

>  Cette intégration de thermostat vise à simplifier considérablement vos automatisations autour de la gestion du chauffage. Parce que tous les événements autour du chauffage classiques sont gérés nativement par le thermostat (personne à la maison ?, activité détectée dans une pièce ?, fenêtre ouverte ?, délestage de puissance ?), vous n'avez pas à vous encombrer de scripts et d'automatismes compliqués pour gérer vos thermostats. ;-).
Ce composant personnalisé pour Home Assistant est une mise à niveau et une réécriture complète du composant "Awesome thermostat" (voir [Github](https://github.com/dadge/awesome_thermostat)) avec l'ajout de fonctionnalités.
# Quoi de neuf ?

> * **Release 6.8**:
>
> Ajout d'une nouvelle méthode de régulation pour les Versatile Thermostat de type `over_climate`. Cette méthode nommée 'Contrôle direct de la vanne' permet de contrôler directement la vanne d'un TRV et éventuellement un décalage pour calibrer le thermomètre interne de votre TRV. Cette nouvelle méthode a été testée avec des Sonoff TRVZB et généralisée pour d'autre type de TRV pour lesquels la vanne est directement commandable via des entités de type `number`.
>
> Plus d'informations [ici](documentation/fr/over-climate.md) et [ici](documentation/fr/self-regulation.md).
Ce fichier a été tronqué. afficher l'original
En module Fils Pilotes il faudra que tu passe par la configuration over_switch
car tu n’a pas de climate
Tochy
Février 1, 2025, 11:24
4
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.
📐 Home Assistant Card: Group multiple cards into a single sleek card.
Tu as pas mal d’infos là aussi :
Bonjour à tous.
Je me rend compte que je n’ avais pas encore fait ma présentation alors que je suis sur le forum depuis presque 2 ans…
Vu que mon dashboard commence à ressembler à quelque chose et à être assez stable, je ferai ainsi d’une pierre deux coups, présentation, présentation de mon installation complète, et si ça peut servir à donner des idées à certains, ce ne sera qu’un modeste retour de tout ce que le forum m’aura apporté…
Note: je vous ai mis beaucoup de balises afin que ce soit …
BBE
Février 2, 2025, 8:58
5
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.
Cleya
Février 2, 2025, 9:41
6
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 »