[Article] Un beau dashboard, tout simplement

Bonjour à tous les passionnés de Home Assistant !

J’ai le plaisir de partager avec vous un nouvel article pour la communauté sur l’élaboration de votre tableau de bord.

Dans cet article je vous accompagne pas à pas dans l’élaboration d’un dashboard simple et coloré, tout à fait simplement et sans avoir besoin d’utiliser le YAML…
Plutôt destiné aux débutants, cet article sera aussi utile pour ceux qui voudraient découvrir les formidables nouvelles capacités offertes par les sections, les cartes en-tête et les cartes tuiles

N’hésitez pas à faire part de vos commentaires, à poser des questions, à partager vos astuces, et à partager vos réalisations dans ce fil de discussion!

En bonus:
Je le mentionne dans l’article, mais la vidéo de @piitaya et @Jenova70 disponible sur YouTube est très complémentaire des notions abordées ici. Je vous encourage fortement à la regarder aussi, en particulier pour la façon dont ils partagent leurs visions sur la stratégie d’organisation de leurs tableaux de bord, et quelques astuces que je n’ai pas partagé ici car il fallait rester raisonnable sur la longueur de l’article:

Quelques raccourcis vers des astuces évoquées dans les discussions ci dessous:

29 « J'aime »

Superbe boulot. Je n’ose pas imaginer le temps que tu y a passé. :clap:

2 « J'aime »

Pas tant que ça…

Après il y a déjà des trucs périmés… Les devs font tellement d’évolutions que désormais le dashboard par défaut est en train de migrer doucement vers des sections et des cartes tuiles…
Je pense que d’ici une ou deux versions la première partie sera obsolète…

Mais c’est tant mieux!

Au passage, pour ceux qui voudraient expérimenter ces différentes sections présentées dans l’article, pour jouer avec les mises en pages des cartes tuiles et en-tête et voir comment c’est fait:

Voici ci dessous le code complet d'une vue équivalente:

Je vous l’ai refaite en mode « cuisine », et avec les entités du dashboard de démo pour que tout le monde puisse jouer même sans avoir les bonnes entités…

Donc:

  • Soit à copier coller chez vous dans une vue comme expliqué dans l’article, et à modifier avec vos entités: light, motion detector et cover.
  • Soit ouvrir le dashboard de démo : https://demo.home-assistant.io/ et passer ce dashboard en mode edition puis copier coller le code de la vue dans une nouvelle vue pour jouer avec la cuisine du dashboard par défaut. (voir le GIF sous le code pour ceux qui n’ont pas suivi l’article :stuck_out_tongue_winking_eye:)

title: "Exemples de mise en page:"
path: exemples-de-mise-en-page
cards: []
type: sections
sections:
  - type: grid
    cards:
      - type: heading
        heading: Utra compact
        heading_style: title
      - type: heading
        heading: Cuisine
        heading_style: title
        icon: mdi:countertop
        tap_action:
          action: navigate
          navigation_path: /lovelace/kitchen
        badges:
          - type: entity
            show_state: false
            show_icon: true
            entity: binary_sensor.kitchen_motion
            color: accent
            tap_action:
              action: more-info
            visibility:
              - condition: state
                entity: binary_sensor.kitchen_motion
                state: "on"
          - type: entity
            show_state: true
            show_icon: true
            color: state
            tap_action:
              action: toggle
            entity: light.kitchen_spotlights
          - type: entity
            show_state: true
            show_icon: true
            color: state
            tap_action:
              action: toggle
            entity: cover.kitchen_shutter
  - type: grid
    cards:
      - type: heading
        heading: Très compact
        heading_style: title
      - type: heading
        heading: Cuisine
        heading_style: title
        icon: mdi:countertop
        tap_action:
          action: navigate
          navigation_path: /lovelace/kitchen
        badges:
          - type: entity
            show_state: false
            show_icon: true
            entity: binary_sensor.kitchen_motion
            color: accent
            tap_action:
              action: more-info
            visibility:
              - condition: state
                entity: binary_sensor.kitchen_motion
                state: "on"
      - type: heading
        heading: Lumières
        heading_style: subtitle
        badges:
          - type: entity
            show_state: true
            show_icon: true
            color: accent
            entity: light.kitchen_spotlights
            icon: mdi:lightbulb
            tap_action:
              action: toggle
        icon: mdi:ceiling-light-multiple
        tap_action:
          action: navigate
          navigation_path: /lovelace/light
      - type: heading
        heading: Volets
        heading_style: subtitle
        tap_action:
          action: navigate
          navigation_path: /lovelace/covers
        icon: mdi:window-shutter
        badges:
          - type: entity
            show_state: false
            show_icon: true
            entity: cover.kitchen_shutter
            icon: mdi:arrow-up-bold
            tap_action:
              action: perform-action
              perform_action: cover.open_cover
              target: {}
              data:
                entity_id: cover.kitchen_shutter
          - type: entity
            show_state: false
            show_icon: true
            icon: mdi:stop
            tap_action:
              action: perform-action
              perform_action: cover.stop_cover
              target:
                entity_id: cover.kitchen_shutter
              data:
                entity_id: cover.kitchen_shutter
            entity: cover.kitchen_shutter
          - type: entity
            show_state: false
            show_icon: true
            icon: mdi:arrow-down-bold
            tap_action:
              action: perform-action
              perform_action: cover.close_cover
              target:
                entity_id: cover.kitchen_shutter
              data:
                entity_id: cover.kitchen_shutter
            entity: cover.kitchen_shutter
  - type: grid
    cards:
      - type: heading
        heading: Moins compact
        heading_style: title
      - type: heading
        heading: Pièces à vivre
        heading_style: title
        icon: ""
      - type: heading
        heading: Cuisine
        heading_style: subtitle
        icon: ""
        tap_action:
          action: navigate
          navigation_path: /lovelace/kitchen
        badges:
          - type: entity
            show_state: true
            show_icon: true
            entity: binary_sensor.kitchen_motion
            color: accent
            tap_action:
              action: more-info
            visibility:
              - condition: state
                entity: binary_sensor.kitchen_motion
                state: "on"
      - type: tile
        entity: light.kitchen_spotlights
        name: Lumière
        layout_options:
          grid_columns: 2
          grid_rows: 1
      - type: tile
        name: Volets
        entity: cover.kitchen_shutter
  - type: grid
    cards:
      - type: heading
        heading: Plus détaillé
        heading_style: title
      - type: heading
        heading: Cuisine
        heading_style: title
        icon: mdi:countertop
        tap_action:
          action: navigate
          navigation_path: /lovelace/kitchen
        badges:
          - type: entity
            show_state: true
            show_icon: true
            entity: binary_sensor.kitchen_motion
            color: accent
            tap_action:
              action: more-info
            visibility:
              - condition: state
                entity: binary_sensor.kitchen_motion
                state: "on"
      - features:
          - type: light-brightness
        type: tile
        entity: light.kitchen_spotlights
        name: Lumière
        vertical: false
        grid_options:
          columns: 6
          rows: 2
      - features:
          - type: cover-open-close
        type: tile
        entity: cover.kitchen_shutter
        name: Volets
        grid_options:
          columns: 6
          rows: 2
        vertical: false
  - type: grid
    cards:
      - type: heading
        heading: Très détaillé
        heading_style: title
      - type: heading
        heading: Cuisine
        heading_style: title
        icon: mdi:countertop
        tap_action:
          action: navigate
          navigation_path: /lovelace/kitchen
        badges:
          - type: entity
            show_state: true
            show_icon: true
            entity: binary_sensor.kitchen_motion
            color: accent
            tap_action:
              action: more-info
            visibility:
              - condition: state
                entity: binary_sensor.kitchen_motion
                state: "on"
      - features:
          - type: light-brightness
          - type: light-color-temp
        type: tile
        entity: light.kitchen_spotlights
        name: Lumière
        layout_options:
          grid_columns: 4
          grid_rows: 2
      - features:
          - type: cover-open-close
          - type: cover-position
        type: tile
        entity: cover.kitchen_shutter
        name: Volets
        layout_options:
          grid_columns: 4
          grid_rows: 2

2024-11-15_16-44-35

Les liens de navigation vers les sous vues ne seront pas fonctionnels, mais ça vous donne une bonne idée de ce qui est faisable et de comment c’est fait…
Ces « simples » cartes « standard »: en-tête et tuiles sont déjà tellement polyvalentes… On se demande parfois ce qu’on va faire sur HACS… :rofl:

1 « J'aime »

On est d’accord, les « > » dans les header ne sont que visuel ? Ca ne déplie pas ?

Salut
Si tu as lu l’article il est indiqué :

On a créé un titre, on naviguera vers la sous-vue comme précédemment (c’est matérialisé par le chevron >), et on a ajouté un petit badge avec le détecteur de mouvement de la pièce.

Donc non ce n’est pas dépliable, ça indique que c’est cliquable et renvoi vers une autre page.
Si on ne met pas de lien sur le titre alors pas de chevron.

3 « J'aime »

Rien à ajouter à @Tochy … Il a tout dit.

Il n’y a pas de dépliable pour l’instant dans ces cartes.

Bonjour à tous !

En plein test de ces nouvelles fonctionnalités (très jolie au passage, on va finir par supprimer mushroom à ce rythme lol), est-il possible de faire une colonne avec 2 tuiles de 2 en hauteur, et une autre colonne avec une tuile de 1 en hauteur, puis 3 en hauteur pour celle du dessous ? Je n’arrive pas à faire en sorte qu’elle se colle à la plus petite… Une image est surement plus parlante :

Merci d’avance pour votre aide !

Je pense que tu dois utiliser les cartes pile horizontale et cocher le paramètre remplir le container

Avec des cartes tuiles, en jouant avec l’onglet mise en page des différentes cartes pour être sûr qu’elles font bien 1 ligne ou 2 lignes de haut, ça marche…

Mais j’ai remarqué que dès qu’on commence à avoir des cartes un peu particulières, ça marche moins bien… Le problème vient peut être des cartes que tu utilises dans ta « colonne » de gauche (qui ne sont pas des tuiles, mais probablement des stack-in-cards…).

J’obtiens la même chose avec des stack-in-cards (contrairement aux tuiles):

Mais si je force la taille des stack-in-cards à 2x2:

Ca marche:

Même si on constate que mes stack-in-cards ne font pas tout a fait 2 lignes de haut… C’est probablement ça qui bloque dans mon cas…

Jolie travail et félicitation à toi

Je travaille aussi sur tout ça en plus des bubble card :slight_smile:


voici un cas de figure que certain vont chercher à avoir l’astuce utilisée car j’ai pas trouver de tuile vide est la suivante :

J’ai ajouté une carte en-tête en mettant un espace dans le champ en-tête :

1 « J'aime »

Suffisamment efficace et nécessaire à mon gout pour que je te rajoute en lien dans le premier post !

N’hésitez pas à poster d’autres astuces…

1 « J'aime »

Tu peux tout récupérer si tu veux modifier directement ton post j’ai pas de soucis la dessus

Au pire j’édite ton poste et te pose les images si tu ne peux pas le faire

Non…

J’anticipe qu’il y en aura probablement d’autres… ce sera plus facile à maintenir comme ça…

1 « J'aime »

Salut,
Moi je mets une bubble card >> Empty column.
Cela fonctionne très bien sans mettre d’espace.

Le soucis de mon point de vue c’est que tu as une carte custom alors que moi j’utilise une carte native donc pas d’installation supplémentaire à faire mais oui ça marche aussi

2 « J'aime »

Et tu peux la mettre en sous titre pour avoir un petit espace… :wink:

2 « J'aime »

Il y a la gap-card aussi, inclus dans layout-card. Ah mince! il faut ajouter une carte custom :joy:

ou button-card:

type: custom:button-card
color_type: blank-card

Oui le challenge lancé par @herveaurel était de faire du full standard (Mushroom étant autorisé)

Objectif désinstaller un max de carte custo qui a forcé peuvent engorger le système si on ne fait rien :grin:

1 « J'aime »

De mon coté c’est quasi tout bon !
Et tout les onglets y sont passés.

Proche de la logique de la superbe vidéo Youtube avec Horizon Domotique et Piitaya, j’ai ajouté les badges en conditionnel pour avoir l’activité importante en premier et de manière dynamique.

juste pour les pièces j’ai besoin de stack-in-card…
Pas encore trouvé une autre mise en forme qui me convienne.

2 « J'aime »