Bonjour à tous.
Je débute dans la programmation sur Home Assistant et je cherche à gérer toutes les possibilités de ma télécommande Zigbee en un seul script.
La télécommande possède 4 boutons qui peuvent gérer :
- Clic simple
- Double clic
- Appui long
Ce qui me donne 12 possibilités.
Sur mon ancienne box domotique (DomoticZ), je pouvais avec un seul script gérer toutes les possibilités en donnant comme déclencheur « Telecommande_Salon ».
Est-ce que c’est possible de faire la même chose avec HA?
Actuellement, je ne gère que les appuis simple ce qui me donne (déjà) 4 scripts.
Est possible de dire (en gros) :
Déclencheur : Telecommande_Salon (sans spécifier quelle action)
Gestion des conditions :
Si appui simple sur bouton 1 alors → action
Si appui simple sur bouton 2 alors → action
etc…
Je n’ai pas besoin d’un code tout fait (du moins pour le moment), mais au moins de savoir si c’est faisable et à la rigueur un lien qui donne une piste pour le faire.
Je n’ai rien trouvé pour le moment et j’aimerais comprendre afin d’avancer « seul » pour pouvoir évoluer.
Ma configuration
System Information
version |
core-2023.11.2 |
installation_type |
Home Assistant OS |
dev |
false |
hassio |
true |
docker |
true |
user |
root |
virtualenv |
false |
python_version |
3.11.6 |
os_name |
Linux |
os_version |
6.1.59 |
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.33.0 |
Stage |
running |
Available Repositories |
1338 |
Downloaded Repositories |
6 |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Home Assistant Supervisor
host_os |
Home Assistant OS 11.1 |
update_channel |
stable |
supervisor_version |
supervisor-2023.11.3 |
agent_version |
1.6.0 |
docker_version |
24.0.6 |
disk_total |
30.8 GB |
disk_used |
7.1 GB |
healthy |
true |
supported |
true |
board |
ova |
supervisor_api |
ok |
version_api |
ok |
installed_addons |
File editor (5.7.0), ESPHome (2023.11.2), Advanced SSH & Web Terminal (16.0.1) |
Dashboards
dashboards |
2 |
resources |
3 |
views |
6 |
mode |
storage |
Recorder
oldest_recorder_run |
12 novembre 2023 à 08:20 |
current_recorder_run |
13 novembre 2023 à 13:29 |
estimated_db_size |
53.02 MiB |
database_engine |
sqlite |
database_version |
3.41.2 |
___
Merci d’avance pour votre aide.
Bonsoir,
Tu peux le faire depuis l’interface graphique directement :
Bonjour,
tu peux effectivement créer un automatisme, en mettant chaque clic en déclencheur et affectant un ID à chaque déclencheur.
tu peux créer de actions avec si alors ou choisir avec option (style select case). tu fais référence à ton ID puis tu mets tes actions associées.
un exemple que j’utilise pour mes volets (simple clic) mais l’idée reste la même :
alias: Volets Télécommande Tuya + boutons lovelace
description: y compris gestion volets lovelace
trigger:
- platform: device
domain: mqtt
device_id: c8d66cf9d829af102ee00afa150b85d8
type: action
subtype: 1_single
discovery_id: 0xa4c138a70a3dabdf action_1_single
id: "Téléc: ouv RDC"
- platform: device
domain: mqtt
device_id: c8d66cf9d829af102ee00afa150b85d8
type: action
subtype: 2_single
discovery_id: 0xa4c138a70a3dabdf action_2_single
id: "Téléc: ouv étage"
- platform: device
domain: mqtt
device_id: c8d66cf9d829af102ee00afa150b85d8
type: action
subtype: 3_single
discovery_id: 0xa4c138a70a3dabdf action_3_single
id: "Téléc: ouv tout"
- platform: device
domain: mqtt
device_id: c8d66cf9d829af102ee00afa150b85d8
type: action
subtype: 4_single
discovery_id: 0xa4c138a70a3dabdf action_4_single
id: "Téléc: ferm tout"
- platform: state
entity_id:
- input_button.ouverture_volets_rdc
id: "bouton: ouv RDC"
- platform: state
entity_id:
- input_button.ouverture_volets_etage
id: "bouton: ouv Etage"
- platform: state
entity_id:
- input_button.ouverture_tous_les_volets
id: "bouton: ouv tout"
- platform: state
entity_id:
- input_button.fermeture_tous_les_volets
id: "bouton: Ferm tout"
condition: []
action:
- if:
- condition: or
conditions:
- condition: trigger
id: "Téléc: ouv RDC"
- condition: trigger
id: "bouton: ouv RDC"
then:
- service: script.script_ouverture_volet_rdc_matin
data: {}
- if:
- condition: or
conditions:
- condition: trigger
id: "Téléc: ouv étage"
- condition: trigger
id: "bouton: ouv Etage"
then:
- service: script.script_ouverture_etage
data: {}
- if:
- condition: or
conditions:
- condition: trigger
id: "Téléc: ouv tout"
- condition: trigger
id: "bouton: ouv tout"
then:
- service: script.script_ouverture_tous_les_volets
data: {}
- if:
- condition: or
conditions:
- condition: trigger
id: "Téléc: ferm tout"
- condition: trigger
id: "bouton: Ferm tout"
then:
- service: script.script_fermeture_tous_les_volets
data: {}
mode: single
Parfait c’est exactement ce que je cherchais, je vais pouvoir réduire un peu le nombre de scripts 
Merci