Faire un cycle inversé avec une liste déroulante

Mon problème

Bonjour à tous !

J’ai un interrupteur mural qui me sers à sélectionné les options d’une liste déroulante. J’ai configuré l’interrupteur de cette façon :

alias: Chambre Charlie / Wall switch droit
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: e05ab0b8f6f76862839b60a51a3fedca
    type: action
    subtype: right_press
    discovery_id: 0x001788010cc3c89a action_right_press
condition:
  - condition: state
    entity_id: input_boolean.ri7n4e1frh
    state: "on"
action:
  - service: input_select.select_next
    data:
      cycle: true
    target:
      entity_id: input_select.xh1ck2pyv6
mode: single

Le cycle actuel fait : Option 1, Option 2, Option 3, Option 1, Option 2, Option 3… L’idée est d’avoir ce cycle : Option 1, Option 2, Option 3, Option 2, Option 1…

Quelqu’un à une idée de comment faire ça ?


System Information

version core-2023.8.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.39
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.32.1
Stage running
Available Repositories 1268
Downloaded Repositories 2
Home Assistant Cloud
logged_in true
subscription_expiration 6 juillet 2024 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled false
remote_server eu-central-1-3.ui.nabu.casa
certificate_status ready
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.4
update_channel stable
supervisor_version supervisor-2023.08.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 30.8 GB
disk_used 15.8 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.6.0), Mosquitto broker (6.2.1), Zigbee2MQTT (1.32.1-1), Samba Backup (5.2.0)
Dashboards
dashboards 2
resources 1
views 10
mode storage
Recorder
oldest_recorder_run 16 août 2023 à 16:17
current_recorder_run 25 août 2023 à 07:46
estimated_db_size 5999.10 MiB
database_engine sqlite
database_version 3.41.2

Salut,

C’est chiant à faire… Parce que quand tu es à option 2, comment savoir si tu viens de option 1 ou de option 3 ???

La seule solution facile à faire c’est de doubler la liste (sauf le premier/dernier) :

  • option 1
  • option 2
  • option 3
  • option 2

du coup, tu as 2 cycles inversés sans doublon
Ensuite à voir si avec une liste de 3 tu y gagnes vraiment en nb de clics : 1 est plus loin (+1 clic), 2 est plus prêt (-1 clic) … A vue de nez, c’est juste un permutation

C’est chiant à faire… Parce que quand tu es à option 2 , comment savoir si tu viens de option 1 ou de option 3 ???

J’ai eu cette idée mais oui impossible de savoir en effet d’où l’on vient !

Ensuite à voir si avec une liste de 3 tu y gagnes vraiment en nb de clics : 1 est plus loin (+1 clic), 2 est plus prêt (-1 clic) … A vue de nez, c’est juste un permutation

C’est pas tant une histoire de nombre de clic, c’est que cette liste gère mon éclairage, option 1 du plus puissant à option 3 le moins puissant, c’est pour éviter de se prendre un flash dans la tête en pleine nuit.

La seule solution facile à faire c’est de doubler la liste (sauf le premier/dernier) :

  • option 1
  • option 2
  • option 3
  • option 2

J’essaye cette option et je redis ! Par contre sur Lovelace la liste ne fera pas « propre ». On ne peux pas masquer une option de liste je suppose sur Lovelace ?

Je viens de penser que mon interrupteur gère le long press, je vais essayer de faire quelques choses avec, mais on perd la simplicité du clic simple (WAF…)

A partir du moment où la liste est commune (automatisation et lovelace), elle s’affiche pareil
Si tu veux masquer un truc, c’est pas possible ou alors il faut créer 2 listes et gerer la synchro…

Et pourquoi pas faire une automatisation si on est sur option 3 et que le bouton est enclenché alors passer option 2. Et si cette automatisation est déclencher alors indiquer le sens de la prochaine option.

Exemple :
1 puis 2 puis 3 puis (si 3 alors 2) et si automatisation (on peut imaginer un input bolean « on ») alors 1.

On indique aussi que si le bolean est on et que le bouton a été utilisé alors il passe en off.

Et voilà la boucle est bouclée :wink: en espérant que cela soit réalisable

1 « J'aime »

C’est bon j’ai fait avec ton astuce, à savoir une liste déroulante pour la partie Lovelace et une pour la partie automatisation. Avec deux automatisations pour la synchro entre les deux listes. Tout marche impec et je ne perds pas le coté WAF !

Merci à toi !