Customisation d'une icone ou attribution d'un État en fonction de la dernière action

Bonjour à tous,
Je sais qu’il est possible de changer l’icône d’une entité en fonction de son état mais le peut on en fonction de la dernière action de cette entité ?
Je m’explique, mes volets reliés à des shellys 2.5 n’étant pas calibrables puisqu’alimentés en permanence. Je cherche un moyen de changer l’icône (voir même l’État dans l’idéal) en fonction de la dernière action effectuée. Puisque si je lui dit de monter, il montera (ou tentera de monter), il peut apparaître ouvert.
Est ce que quelqu’un saurait coder ça s’il vous plaît ?

Ma configuration


[center]## System Health

version core-2021.11.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.17-v8
arch aarch64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 5000
Installed Version 1.18.0
Stage running
Available Repositories 978
Installed Repositories 15
Home Assistant Cloud
logged_in true
subscription_expiration 5 janvier 2022, 01:00
relayer_connected true
remote_enabled false
remote_connected false
alexa_enabled true
google_enabled false
remote_server eu-central-1-1.ui.nabu.casa
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 6.6
update_channel stable
supervisor_version supervisor-2021.10.8
docker_version 20.10.8
disk_total 219.4 GB
disk_used 4.9 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.2.1), File editor (5.3.3), Duck DNS (1.14.0), Let’s Encrypt (4.12.0), deCONZ (6.10.0), Samba share (9.5.1), Check Home Assistant configuration (3.9.0), Samba Backup (5.0.0), Zigbee2mqtt (1.22.1-1), Mosquitto broker (6.0.1), AirCast (3.2.0)
Lovelace
dashboards 1
resources 10
views 2
mode storage
[/center] ___

Sur le principe, je créerais un « helper » (input_boolean ou autre). Quand tu montes ton volet dans l’automatisation tu changes l’état de ton « helper ».
Ensuite avec la button-card, GitHub - custom-cards/button-card: ❇️ Lovelace button-card for home assistant
avec le template tu peux choisir l’icone, changer la couleur en fonction de la valeur de ton helper.
Il y a pas mal d’exemples dans la doc de la button card qui montrent comment faire.

2 « J'aime »

Un « helper » ??? Tu veux bien m’en dire plus s’il te plaît. J’essaie de voir avec les templates, bin ary sensors, sensors etc mais je nagé un peu.
L’idée serait de réussir à lui faire dire un truc du genre :
Après l’apparition de l’etat " Opening" l’entité prendrait l’etat « open » jusqu’à ce que l’etat « closing » apparaisse et après lequel l’entité prendrait l’etat « close ».

Je viens de voir que tu m’as fait un doublon en mp… Pas bien… :expressionless:

Je copie ma réponses ici :

On peut essayé mais mes dispos sont rares (tard le soir en ce moment)… :innocent:

Tu as quoi comme entités actuellement ?

Liste les toutes et fait des captures de la vue Outils de développement → onglet ETATS pour chaque entités.

Si je m’avance, je dirais que tu as une seule entité (ou peut être deux) qui représente l’ordre du shelly qui est ensuite envoyé sur le volet concerné.

Je partirais sur des input_boolean je pense.

J’attends que tu me fournisse les captures pour continuer.

On va le faire pour un seul volet, ensuite tu reproduira la méthode pour les autres…

Enfin, pourquoi passer en message privé ?

Ma réponse va dans le même sens que @golfvert

Je pensais à ça :

pour l’input_boolean :

input_boolean:
  volets_bureau_fermes:
    name: Volets bureau fermés
    icon: mdi:window-shutter

automation:

- id: 'icone_volets_bureau_fermés'
  alias: Icone volets bureau fermés
  description: ''
  trigger:
  - platform: state
    entity_id: cover.volets_bureau
    to: "closing"
  condition: []
  action:
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.volets_bureau_fermes
  mode: single
- id: 'icone_volets_bureau_ouverts'
  alias: Icone volets bureau ouverts
  description: ''
  trigger:
  - platform: state
    entity_id: cover.volets_bureau
    to: "opening"
  condition: []
  action:
  - service: input_boolean.turn_off
    target:
      entity_id: input_boolean.volets_bureau_fermes
  mode: single

J’ai bon ?
Je dois en faire un par volet ?

Peut-être… Pourquoi ne pas tester directement et voir si ça marche?

Un booléen n’ayant que deux états, si tu as deux volets et que chacun est indépendant, ça fait quatre possibilités. Dans un booléen, ça va coincer.

Et pour le code, il faut le publier entre </>. Parce que là, l’indentation si critique en yaml disparait.

J’ai modifié le message pour intégrer correctement le code.

C’est pour ça que j’ai nommé le boolean « volets bureau », je pensais en faire un par volet mais je fais peut être fausse route.

Je n’étais pas encore sur « site », je viens d’y arriver, je viens de tester et ça fonctionne :slight_smile:
Maintenant, il faut que je trouve comment intégrer ça à Lovelace.

Et pourquoi ne pas partir sur une integration qui détermine la position suivant le temps d’ouverture et de fermeture :

Sinon, pour tes deux automatisation, tu pourrais regrouper en une seule avec la clé choose et les trigger_id

Ça diminuerait de moitié le nombre d’automatisation.

Ayant pas mal de choses à gérer en ce moment, javais un peu laissé tomber l’histoire des volets. Mais ton message, me donne envie de m’y remettre, je vais tester ça !
Merci pour le conseil !
Marc
Edit : Je viens de regarder et c’est pas mal quand on a deux interrupteurs. J’ai bien deux boutons sur mon interrupteurs mais il ne sont pas connectés et ne sont pas vus par HA. La seule entité vu est le Shelly 2.5.