Accueil » Domotique » Home Assistant » Home Assistant et le design du tableau de bord Lovelace. Comment faire un beau tableau de bord HA ?
Home Assistant

Home Assistant et le design du tableau de bord Lovelace. Comment faire un beau tableau de bord HA ?

home-assistant-guide-design-lovelace

Lovelace, c’est le tableau de bord graphique de Home Assistant. Fort de nombreux développements disponibles et de nombreux développeurs contributeurs, Lovelace permet de faire des tableaux de bord aux designs incomparables. Si vous vous rappelez de mon guide sur les designs Jeedom, sachez qu’avec Lovelace et Home Assistant vous pouvez faire encore plus beau et fonctionnel.

Nous avons vu dans un précédent guide comment échanger des données entre Jeedom et Home Assistant. Cela peut être un moyen de faire une transition douce de Jeedom à Home Assistant. HA étant, il faut l’avouer plus compliqué à appréhender par rapport à Jeedom.

Lire aussi

home-assistant-et-jeedom-systeme-domotique-hybride

La domotique libre et hybride entre Home Assistant et Jeedom

En tant que blogueur domotique, j’ai au domo-lab beaucoup de box domotiques. Ces box ont toutes leurs avantages et inconvénients. Nous avions vu, il y a quelques temps comment baser son installation sur une hybridation domotique entre Jeedom et Eedomus.…


Je vous propose alors de ne pas migrer toute votre domotique vers Home assistant dans un premier temps, mais utiliser ce dernier comme superviseur. Voyez cela plutôt comme un complément à Jeedom. Les deux cohabitent parfaitement et je dirais même plus, se complètent !

Un des points forts de Home assistant est certainement son visuel, customisable à souhait et sans véritable égal à ce niveau. Alors, oui c’est vrai, Jeedom permet aussi de construire des designs intéressants. Mais Home Assistant propose d’aller encore plus loin dans la personnalisation.

L’autre véritable bon point pour Home Assistant, c’est sans conteste son application mobile.

Piloter la domotique n’a jamais été aussi beau et simple à faire. Toutefois, il y a un peu de paramétrage à effectuer pour arriver à ce résultat. C’est ce que je vous propose de faire ensemble dans ce nouveau guide.

Avant de démarrer il vous faudra avoir HACS d’installé sur votre système. Si ce n’est pas encore fait, je vous invite à suivre notre guide pas à pas pour y arriver.

home-assistant-hacs-guide-installation

Comment installer HACS sur Home Assistant 2024 et étendre les possibilités de votre domotique

guide mis à jour le 15 janvier 2024 HACS pour Home Assistant Community Store, c’est tout simplement un indispensable pour la customisation de home assistant. Intégrations, composants du Frontend ou encore automatisations C’est dans ce market alternatif que la communauté…


Lovelace et les boutons d’action

1 Rendez-vous dans HACS, dans la section Frontend et recherchez puis installez button-card

Vous disposez à présent d’un plugin graphique vous permettant de mettre en forme vos boutons d’actionneur. Clairement les options sont nombreuses avec ce plugin.

Cas numéro 1 : La gestion des ouvrants extérieurs

Un cas pratique chez moi, il s’agit de la gestion des ouvrants extérieurs. Sur une même carte Lovelace, j’ai donc un bouton pour actionner le portail, puis deux autres pour gérer les deux portes de garages. Cela donne ce résultat.

Pour obtenir cette carte, créez simplement une nouvelle carte vierge via Ajouter une carte / Manuel puis collez le code suivant. Vous n’aurez qu’à l’adapter en remplaçant l’action par le périphérique à actionner.

type: grid
title: Ouvrants exterieurs
cards:
  - type: button
    tap_action:
      action: call-service
      service: rest_command.action_portail
    show_state: true
    icon: 'mdi:gate'
    name: Portail
  - type: button
    tap_action:
      action: call-service
      service: rest_command.action_garage_A
    show_state: true
    icon: 'mdi:garage-alert-variant'
    name: Garage A
  - type: button
    tap_action:
      action: call-service
      service: rest_command.action_garage_S
    show_state: true
    icon: 'mdi:garage-alert-variant'
    name: Garage S

Cas numéro 2 : La centralisation des volets roulants

Un autre exemple est une carte pour la gestion de la centralisation des volets de la maison sur une même carte.

Pour ce cas, le code est le suivant et la logique est la même, il faut adapter à votre cas, ce n’est qu’un exemple.

type: vertical-stack
title: Centralisation des volets
cards:
  - type: 'custom:button-card'
    color: 'rgba(255, 255, 255.)'
    name: Tout ouvrir
  - type: horizontal-stack
    cards:
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_1
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter-open'
        name: piscine
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_2
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter-open'
        name: terrasse
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_3
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter-open'
        name: bar
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_4
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter-open'
        name: cuisine
      - type: 'custom:button-card'
        entity: switch.kitchen_off
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter-open'
        name: lecture
  - type: 'custom:button-card'
    color: 'rgba(255, 255, 255.)'
    name: Tout fermer
  - type: horizontal-stack
    cards:
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_1
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter'
        name: piscine
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_2
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter'
        name: terrasse
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_3
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter'
        name: bar
      - type: 'custom:button-card'
        entity: switch.kitchen_scene_4
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter'
        name: cuisine
      - type: 'custom:button-card'
        entity: switch.kitchen_off
        color_type: card
        color: 'rgba(255, 255, 255.)'
        icon: 'mdi:window-shutter'
        name: lecture

De nombreuses options sont disponibles comme la couleur, ou encore l’icône. Pour personnaliser une icône, rendez-vous sur le site Materiel Desing Icons et recherchez l’icône voulue. La base dispose d’un nombre impressionnant d’icônes.

Si je veux, par exemple, remplacer l’icône par une porte, j’utilise le champ de recherche et utilise le terme anglais. Important, il ne faut pas essayer de rechercher “porte”.

Je sélectionne l’icône qui me convient en cliquant dessus et je copie son nom (ici door-open)

Enfin, dans le code proposé plus haut, il faut remplacer la valeur pour obtenir cette ligne icon: ‘mdi:door-open’.

Je vous montre une petit partie de ce qu’il est possible de faire avec, mais sachez qu’il est capable de plus, je vous invite alors à lire la page GitHub du plugin pour voir les autres possibilités.

Lovelace et la mise en forme des données de vos capteurs

1 Rendez-vous dans HACS, dans la section Frontend et recherchez puis installez mini-graph-card

Une fois installé, à vous les graphiques designs pour vos données domotiques.

Cas numéro 1 : multiples valeurs sur une même carte

Ce premier cas permet d’afficher dans une carte 3 températures différentes sur les dernières 24 heures. Le tout accompagné d’une modélisation de l’état du jour, affiché en live mais également en fond du graphique pour une meilleure exploitation des données.

Bien entendu, ce n’est qu’un exemple et tout est modifiable. Je vous invite à vous inspirer de ce design en copiant/collant le code ci-dessous dans une carte vierge, puis changer les noms des capteurs et ajuster les options à votre convenance.

entities:
  - entity: sensor.temp_exterieur_3
    unit: °C
    color: '#df6366'
    name: T ext
  - entity: sensor.temp_eau_piscine
    unit: °C
    color: '#4e91d8'
    name: T eau
  - entity: sensor.capteur_palier_temperature
    unit: °C
    color: '#9c54b3'
    name: T maison
  - entity: binary_sensor.night
    color: '#6f7480'
    y_axis: secondary
    smoothing: false
    aggregate_func: min
    show_state: true
    show_line: false
    show_points: false
state_map:
  - value: 'off'
    label: Jour
  - value: 'on'
    label: Nuit
height: 200
hours_to_show: 24
line_width: 2
name: Temperatures
points_per_hour: 2
type: 'custom:mini-graph-card'

Cas numéro 2 : Suivi de la consommation électrique d’un appareil

Dans ce second cas, on effectue un suivi de la consommation du chauffe-eau de la maison sur les 3 derniers jours.

Une fois encore, voici le code de ma carte, à personnaliser.

type: 'custom:mini-graph-card'
entities:
  - entity: sensor.chauffe_eau
    color: '#e15441'
  - entity: binary_sensor.night
    color: '#6f7480'
    y_axis: secondary
    smoothing: false
    aggregate_func: min
    show_state: true
    show_line: false
    show_points: false
state_map:
  - value: 'off'
    label: Jour
  - value: 'on'
    label: Nuit
icon: 'mdi:flash'
hours_to_show: 72
line_width: 2

Cas numéro 3 : Suivi d’une température sur une semaine

Dans cette carte, il s’agit de la même température qui est remaniée pour obtenir 3 courbes T mini, T maxi et T moyenne sur les 7 derniers jours.

Voici le code de cette carte à modifier à votre guise.

type: 'custom:mini-graph-card'
entities:
  - entity: sensor.temp_exterieur_3
    aggregate_func: max
    name: Max
    color: '#df6366'
  - entity: sensor.temp_exterieur_3
    aggregate_func: min
    name: Min
    color: '#4e91d8'
  - entity: sensor.temp_exterieur_3
    aggregate_func: avg
    name: Moyenne
    color: '#9c54b3'
name: temperature Exterieur semaine
hours_to_show: 140
line_width: 2
group_by: date

Cas numéro 4 : 3 températures sur une même carte

Autre façon de modéliser des températures avec cette intégration. Il s’agit d’afficher 3 températures dans des petits carrés sur une même carte.

Voici le code de cette carte pour vous en inspirer.

type: horizontal-stack
cards:
  - type: 'custom:mini-graph-card'
    entities:
      - sensor.temp_exterieur_3
    line_color: '#e16366'
    icon: 'mdi:tree'
    line_width: 8
    font_size: 75
    unit: °C
    name: Ext
  - type: 'custom:mini-graph-card'
    entities:
      - sensor.temp_eau_piscine
    line_color: '#4e93dd'
    icon: 'mdi:wave'
    line_width: 8
    font_size: 75
    unit: °C
    name: Eau
  - type: 'custom:mini-graph-card'
    entities:
      - sensor.capteur_palier_temperature
    line_color: '#9c54b3'
    icon: 'mdi:home'
    line_width: 8
    font_size: 75
    unit: °C
    name: Maison

Cas numéro 5 : Une température avec couleur qui évolue en fonction de la valeur

Une autre courbe du plus bel effet, il s’agit de cette carte qui change la couleur de la courbe en fonction de la température.

Ici encore, tout est personnalisable. Voici le code de cette carte à adapter chez vous.

type: 'custom:mini-graph-card'
entities:
  - sensor.temp_exterieur_3
show:
  labels: true
color_thresholds:
  - value: -7
    color: '#ffffff'
  - value: -5
    color: '#4e91d8'
  - value: 0
    color: '#4e91d8'
  - value: 5
    color: '#9c54b3'
  - value: 15
    color: '#e15441'
group_by: interval
unit: °C
points_per_hour: 2
hours_to_show: 72
line_width: 2

Cas numéro 6 : Le suivi de consommation en histogramme

Plus adapté aux valeurs de consommation électrique, cette intégration permet également de faire des affichages en barres.

Plus simple que les courbes vues plus haut, voici le code de cette carte.

type: 'custom:mini-graph-card'
entities:
  - entity: sensor.baie_it
    name: Conso baie IT
    color: '#61656e'
    hours_to_show: 168
    points_per_hour: 0.25
    line_width: 4
    aggregate_func: max
    group_by: hour
    unit: W
show:
  graph: bar

Cas numéro 7 : Le suivi de la luminosité

Vous avez un capteur de luminosité, pourquoi ne pas en exploiter ses valeurs pour modéliser l’évolution de la lumière dans la journée.

Voici le code de cette carte, à adapter en fonction de votre capteur.

type: 'custom:mini-graph-card'
entities:
  - entity: sensor.luminosite_exterieur
    color: '#feca57'
    unit: Lux
  - entity: binary_sensor.night
    color: '#606572'
    name: Nuit
    y_axis: secondary
    smoothing: false
    aggregate_func: min
    show_state: true
    show_line: false
    show_points: false
state_map:
  - value: 'off'
    label: Jour
  - value: 'on'
    label: Nuit
icon: 'mdi:brightness-6'
hours_to_show: 72
line_width: 2

Conclusion

Vous avez à présent les bonnes pratiques à adopter pour construire votre design Home Assistant. Nous n’avons vu ici qu’une petite partie, mais voilà déjà beaucoup d’informations pour vous permettre d’avancer. Enfin, sachez que tout ces boutons et graphiques sont entièrement compatibles avec l’application mobile. Les proportions s’adapteront automatiquement à l’écran de votre smartphone, donc nul besoin de multiplier les designs en fonction de l’écran.

Enfin, vous voyez des courbes avec fond blanc ou noir, cela est dû à une autre particularité de Lovelalce, il s’agit des thèmes. Mais ce sera l’objet d’un prochain guide Home Assistant à venir.

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

2 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Bonjour et merci pour cet article 🙂
    J’ai une question, comment faire des barres vers le bas ?
    Je m’explique, j’ai créé une carte avec un graphique barre pour représenter une dérivée de température mais pour les valeurs négatives les barres sont tracées vers le haut !
    Du coup j’ai une ligne de 0 virtuel qui évolue selon les min/max…
    Je ne suis même pas certain que cela soit possible mais ça m’aurait arrangé 😀
    Exemples : En rouge les barres positives et en bleu les barres négatives
    Ce que fait le module : https://imgur.com/x6Rz7Vr
    Ce qu’il faudrait qu’il fasse : https://imgur.com/tquZLeO
    Merci encore, je suis tout ouïe si tu as une idée 😉

    • J’ai oublié de préciser que la version “Ce qu’il faudrait qu’il fasse” a été réalisée par retouche d’image, je n’aurais pas besoin d’aide si elle sortait telle qu’elle sous HASS 😅

construction et domotique
promos domotique
Choix box domotique
promos domotique

Lire aussi

Lovelace et les boutons d’action

1 Rendez-vous dans HACS, dans la section Frontend et recherchez puis installez button-card

Lovelace et la mise en forme des données de vos capteurs

1 Rendez-vous dans HACS, dans la section Frontend et recherchez puis installez mini-graph-card

Conclusion

Vous avez à présent les bonnes pratiques à adopter pour construire votre design Home Assistant. Nous n’avons vu ici qu’une

  • Lire aussi
  • Lovelace et les boutons d’action
  • Lovelace et la mise en forme des données de vos capteurs
  • Conclusion