Picture element card, vaste sujet, mes pistes de recherche, voir les solutions qui me conviennent

Re,

Nouveau challenge ? en tout local sur un pi4 de test avec un vieux fichier qui trainait, (je n’ai pas retrouvé le bon pour le moment …

1

1

je doute de le faire, mais j’aime bien l’idée :smiley:

cdt

Salut

J’avais réfléchi à ça à un moment aussi, mais niveau manipulation c’est pas aussi souple (ou trop) et sur un petit écran il faut pas de gros doigts

Hello,

Pour le moment je me heurte surtout à la transparence du rendu 3D et je m’y casse les dents j’ai pourtant simplifié au max …

si je ne trouve pas je mettrais mon code :sweat_smile:

cdt

Re,

Bon ben j’ai trouvé, je pensais que le soucis c’était le code, mais le soucis c’est le navigateur ( firefox )…

firefox

edge

Bref je trouve pas (et vu que je veux conserver firefox, on va en rester là).
Si quelqu’un à une idée lumineuse je prend, sinon je stoppe la recherche. J’ai tenté un tas d’approches…

      - type: custom:mod-card
        style:
          left: 50%
          top: 50%
          transform: translate(-50%, -50%)
          width: 1000px
          height: 80%
        card_mod:
          style: |
            ha-card {
              background: transparent !important;
              border: none !important;
              box-shadow: none !important;
            }
        card:
          type: vertical-stack
          cards:
            - type: iframe
              aspect_ratio: 100%
              url: /local/3d_view/index.html
              style:
                top: 55.3%
                left: 53.2%
                width: 80.5%
                height: 80%
                z-index: 10
                filter: opacity(0.999);
              card_mod:
                style: |
                  ha-card {
                    background: none transparent !important;
                    border: none !important;
                    box-shadow: none !important;
                  }
                  iframe {
                    background: transparent !important;
                  }
                  :host {
                    --ha-card-background: transparent !important;
                  }

pas très propre et blindé en transparence

<!DOCTYPE html>
<html lang="fr" style="background: transparent;">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Test 3D</title>
    <script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body, html { 
            width: 100%; 
            height: 100%; 
            background: transparent !important;
            overflow: hidden;
        }
        model-viewer {
            width: 100%;
            height: 100%;
            display: block;
            --poster-color: transparent;
            --progress-bar-color: transparent;
        }
        /* Forcer la transparence du canvas WebGL */
        model-viewer > canvas {
            background: transparent !important;
        }
    </style>
</head>
<body>
    <model-viewer
        src="plan.glb"
        camera-controls
        auto-rotate
        exposure="1"
        shadow-intensity="1"
        tone-mapping="neutral"
        alt="Plan 3D">
    </model-viewer>
    
    <script>
        // Forcer la transparence du canvas après le chargement
        document.addEventListener('DOMContentLoaded', function() {
            const viewer = document.querySelector('model-viewer');
            viewer.addEventListener('load', function() {
                // Tenter de forcer l'alpha sur le contexte WebGL
                const canvas = viewer.shadowRoot.querySelector('canvas');
                if (canvas) {
                    canvas.style.background = 'transparent';
                }
            });
        });
    </script>
</body>
</html>

cdt

Re,

J’ai revu la partie météo, je ne savais pas trop quoi mettre en bas à droite hors la carte lune que je vois en live sur le plan, du coup j’ai mis l’ISS :slight_smile:

cdt

Re,

Du coup après l’ISS je viens d’enchainer

on installe l’intégration

on mélange bien les entités et les attributs et on met tout dans une button card

et 15 min (réglable) avant un launch

1

et mise en test de meteocss II le retour :smiley:

cdt

Hello,

Frigate tourne enfin et sur le coral :smiley: en à peine 6 mois :smiley: sur une machine debian dediée ( pour le moment ) du coup je peux afficher mes 12 flux 2560x1440 sur le pi5 ( ce qu’il est impossible de faire directement ( encore que je n’ai pas testé récemment )). Bon on va remettre du conditionnel dans tout ça mais ça tourne.

CPU du pi5

cdt

1 « J'aime »

Re,

Petit sondage pour savoir si ça intéresse, sinon je n’y passe pas mon temps et j’en reste là dans l’explication :wink:

Peek 02-02-2026 17-30

Code à ouvrir en connaissance, ça pique qd streamline card n'est pas de la partie
type: custom:layout-card
style:
  left: 50%
  top: 50%
  width: 100%
  height: 100%
layout_type: custom:grid-layout
layout:
  grid-template-columns: 10% 80% 10%
  grid-template-rows: 67px 1fr 67px
  grid-template-areas: |
    "topbar topbar topbar"
    "menu plan menu1"
    "ticker ticker ticker"
  gap: 0
cards:
  - type: horizontal-stack
    view_layout:
      grid-area: topbar
    cards:
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 56px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 56px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 56px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 56px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 56px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
  - type: vertical-stack
    view_layout:
      grid-area: menu
    cards:
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: clock
        clock_style: analog
        clock_size: small
        show_seconds: false
        no_background: false
        border: false
        ticks: minute
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px;
              border: none !important;
              padding: 0 !important;
            }
  - type: picture-elements
    view_layout:
      grid-area: plan
    image: /local/plan3D/Transparent 1920x1080.png
    card_mod:
      style: |
        ha-card {
          height: 100% !important;
          width: 100% !important;
          border-radius: 8px !important; 
          outline: 2px solid rgba(255, 255, 255, 0.3) !important;
          outline-offset: -2px;
          border: none !important;
          display: flex !important;
        }
    elements:
      - type: custom:button-card
        name: Picture element
        style:
          top: 50%
          left: 50%
  - type: vertical-stack
    view_layout:
      grid-area: menu1
    cards:
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
      - type: custom:button-card
        name: Freetronic
        show_icon: false
        show_name: false
        entity: person.ha_principal_maison
        card_mod:
          style: |
            ha-card {
              margin-bottom: 0px;
              background: rgba(255,255,255,0.1) !important;
              border-radius: 8px !important;
              padding: 0 !important;
              outline: 2px solid rgba(255, 255, 255, 0.3) !important;
              outline-offset: -2px; 
              border: none !important;
            }
        custom_fields:
          menu: |
            [[[
              return `<div class="subbtn"><span class="button-emoji">🧑‍💼</span> Freetronic</div>`;
            ]]]
        styles:
          grid:
            - grid-template-areas: "\"menu\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            menu:
              - justify-self: stretch
              - align-self: stretch
              - padding: 0
              - margin: 0
        extra_styles: |
          .subbtn {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 4px !important; /* Ajusté de 12px à 4px */
            gap: 4px !important;        /* Ajusté de 8px à 4px */
            border-radius: 6px !important;
            background: transparent !important;
            color: white !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: left !important;
          }
          .button-emoji {
            text-shadow: 0 0 2px #222, 1px 1px 2px #222;
          }
          ha-card:hover {
            background: rgba(0,123,255,0.4) !important;
            outline-color: rgba(255, 255, 255, 0.8) !important; /* Focus lumineux */
            transform: translateX(2px) !important;
          }
          ha-card:hover .subbtn {
            color: white !important;
          }
  - type: custom:button-card
    name: Ticker
    view_layout:
      grid-area: ticker
      entity: input_text.derniere_notif
    show_icon: false
    show_name: false
    show_state: false
    tap_action:
      action: none
    hold_action:
      action: none
    double_tap_action:
      action: none
    styles:
      card:
        - height: 67px
        - background: rgba(255,255,255,0.1)
        - border-radius: 8px
        - overflow: hidden
        - pointer-events: auto
        - padding: 0
        - outline: 2px solid rgba(255, 255, 255, 0.3) !important;
        - outline-offset: "-2px; /* Force l'outline à l'intérieur pour ne pas déborder */"
        - border: none !important;
      custom_fields:
        ticker:
          - pointer-events: auto
    custom_fields:
      ticker: |
        [[[
          function pathFromNotif(notif) {
            if (!notif) return '/lovelace/plan3d';
            const n = notif.toLowerCase();
            if (n.includes('entree')) return '/lovelace/entree';
            if (n.includes('cuisine')) return '/lovelace/cuisine';
            if (n.includes('salon')) return '/lovelace/salon';
            if (n.includes('veranda')) return '/lovelace/veranda';
            if (n.includes('garagext')) return '/lovelace/garage-ext';
            if (n.includes('garage int')) return '/lovelace/garage-int';
            if (n.includes('labo')) return '/lovelace/labo';
            if (n.includes('chaufferie')) return '/lovelace/chaufferie';
            if (n.includes('laurent')) return '/lovelace/chambre-laurent';
            if (n.includes('papa')) return '/lovelace/chambre-papa';
            if (n.includes('amis')) return '/lovelace/chambre-amis';
            if (n.includes('sdb') || n.includes('salle de bain')) return '/lovelace/salle-de-bain';
            if (n.includes('cour')) return '/lovelace/cour';
            if (n.includes('cave')) return '/lovelace/cave';
            if (n.includes('cagibi')) return '/lovelace/cagibi';
            if (n.includes('jardin')) return '/lovelace/jardin';
            if (n.includes('couloir')) return '/lovelace/couloir-haut';
            if (n.includes('grenier')) return '/lovelace/grenier';
            if (n.includes('wc')) return '/lovelace/toilettes';
            return '/lovelace/plan3d';
          }
          function makeNotif(notif) {
            if (!notif || notif === 'unknown' || notif === 'unavailable' || notif === '') return '';
            const path = pathFromNotif(notif);
            return `<span style="cursor:pointer;margin-right:80px;" onclick="window.location.href='${path}'">📢 ${notif}</span>`;
          }
          const notif1 = states['input_text.derniere_notif'].state;
          const notif2 = states['input_text.notif2'].state;
          const notif3 = states['input_text.notif3'].state;
          const messages = [makeNotif(notif1), makeNotif(notif2), makeNotif(notif3)].filter(Boolean);
          const content = messages.length > 0
            ? messages.join('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;')
            : '<span style="color:white;">📢 Aucune notification</span>';
          return `<div style="display: flex; align-items: center; height: 67px; width: 100%; overflow: hidden; color: white; font-size: 40px; font-weight: 600; text-shadow: 2px 2px 4px rgba(0,0,0,0.5);"><div style="flex: 0 0 180px; height: 100%; display: flex; justify-content: center; align-items: center; background: rgba(0,0,0,0.3); border-right: 2px solid rgba(255,255,255,0.2);"><img src="/local/freetronic-news.png" style="width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 0 3px black);" alt="Freetronic News"></div><div style="flex: 1; overflow: hidden; white-space: nowrap;"><div style="display: inline-block; padding-left: 100%; animation: scroll-left 50s linear infinite;">${content} ${content} ${content}</div></div><style>@keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } span:hover { text-decoration: underline; opacity: 0.8; }</style></div>`;
        ]]]
    entities:
      - input_text.derniere_notif
      - input_text.notif2
      - input_text.notif3

image

cdt

Tu es un grand malade :sweat_smile:

ça … :smiley: vaste sujet lol

qd streamline est passé c’est pas si copieux, j’en ai 38… sinon c’est ingérable…

cdt