Un template un peu comme un sensor avec plusieurs états

Bonjour à tous,

Il me manque un petit coup de pouce pour arriver à comprendre le fonctionnement d’éventuels switchs mais dont l’état peut prendre plusieurs valeurs.

J’ai bien compris les entités switch.xxx et le turn_on et le turn_off.
Je voudrais utiliser ce principe pour une entité qui a 4 états possibles (pour le chauffage)

  • Confort
  • Eco
  • Hors Gel
  • Off

A ce stade, j’ai créé un template, je peux afficher son état en fonction d’autres entités (Relais 1 et relais2) , je maitrise, pas de souci, mais comment commander ce template ?

Par exemple si je pouvais changer l’état de cette entité de Confort à Eco, je voudrais que cela envoi un changement d’état sur deux autres entités (Relais1 et Relais2)

Ma question du coup, existe il un modèle d’entité qui prennent plusieurs états (4) qui puisse se mettre à jour en fonction d’autres entités et qui puisse piloter ces autres entités si on change leur valeur.

Pas simple à expliquer, j’espère que vous avez compris.

Merci pour votre aide

Hello,

Je sais pas si c’est gérable avec un template.
Par contre, un input_select et une automation ça le fait.
Et si tu veux une carte avec un selecteur à bouton, tu peux te baser sur ce genre de truc (c’est un select mais le principe est le même) :
image

                      type: custom:auto-entities
                      show_empty: false
                      card:
                        type: custom:mushroom-chips-card
                        view_layout:
                          grid-area: chips
                        alignment: center
                      card_param: chips
                      filter:
                        template: >
                          {% set ns =
                          namespace(select=[],entity="select.convecteur_bureau_cable_outlet_mode")
                          %} {% for opt in state_attr(ns.entity, 'options') %}
                            {% set icon = iif(opt== 'off', 'mdi:radiator-off', icon) %}
                            {% set icon = iif(opt== 'frost_protection', 'mdi:snowflake-thermometer', icon) %}
                            {% set icon = iif(opt== 'eco', 'mdi:thermometer-low', icon) %}
                            {% set icon = iif(opt== 'comfort', 'mdi:checkbox-multiple-outline', icon) %}
                            {% set icon = iif(opt== 'comfort-1', 'mdi:numeric-1-box-multiple-outline', icon) %}
                            {% set icon = iif(opt== 'comfort-2', 'mdi:numeric-2-box-multiple-outline', icon) %}
                            {% set ns.select = ns.select + [
                              {
                                "type": "template",
                                "icon": icon,
                                "entity": ns.entity,
                                "icon_color": '{{ iif(is_state("select.convecteur_bureau_cable_outlet_mode", "' ~ opt ~ '"), "yellow", "disabled") }}',
                                "tap_action": {
                                  "action": "call-service",
                                  "service": "select.select_option",
                                  "service_data": {
                                    "entity_id": ns.entity,
                                    "option": opt
                                  }
                                },
                                "card_mod": {
                                  "style": 'ha-card {
                                      {% if is_state( "' ~ ns.entity ~ '" , "' ~ opt ~ '" ) %}
                                         --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                                      {% else %}
                                        --chip-background: rgba(var(--rgb-grey), 0.1);
                                      {% endif %}
                                    }'
                                }
                              }
                            ] %}
                          {% endfor %} {{ ns.select }}

D’accord, merci pour l’aiguillage, je vais tester
Template j’arrive à récupérer les infos et à le mettre à jour mais je n’arrive pas à le commander.

Je regarde après le sélecteur à bouton.

@Pulpy-Luke c’est top, j’y suis arrivé !!!

Le input_select comme template de support. 4 états. l’automatisation qui commande les relais, et la carte toute belle et propre sous forme de sélecteur à bouton.
J’ai changé les icones et je vais essayer de modifier la carte pour changer la couleur du bouton (vert eco, bleu hors gel, rouge off, orange confort)…
Je documenterai tout ça si ça interesse quelqu’un

Merci @Pulpy-Luke !!!

1 « J'aime »

@Pulpy-Luke

Impeccable, j’y suis bien arrivé, voilà le résultat :

chauffage

2 « J'aime »

Et voilà, j’ai tout documenté

@Pulpy-Luke l’exemple de carte que tu m’as donné c’est sur on HA ? une petite boulette trouvée, si c’est ailleurs, laisse tomber on s’en moque. Merci pour ton aide.

1 « J'aime »

ça tourne chez moi oui. C’est quoi la boulette ?
PS j’ai vu un entity en dur :wink:

c’est ça un select.convecteur_bureau_cable_outlet_mode au lieu de ns.entity

j’ai un peu modifié la carte et géré les couleurs si ça t’interesse. La base était top.

Oui je vais probablement faire pareil pour les couleurs. Bravo

1 « J'aime »

Bonjour messieurs,
Je suis sur la création de cette card pour décortiquer un input_select en bouton, mais rien ne s’affiche.
Vous utilisez quoi pour debuguer dans ce genre de situation ? il y a une technique particulière pour élaborer des cartes et débuguer facilement ?

merciii

Je m’auto répond, la section modèle est quand même très bien foutue.
Merci pour ce template, il est très très bien.