Local Tuya-switch scene 1 gang

Mon problème

Bonjour,
Je suis un petit nouveau dans le monde de la domotique et je rencontre un problème qui à l’air pourtant simple mais qui me fait m’arracher les cheveux.
Mon souci est que mon switch bloque sur le dernier signal envoyer, par exemple si j’appuie une fois sur mon switch le signal est « single_click », pour changer ce signal je dois faire un « double_click » ou « long_press », le probleme est que je ne peux pas faire plusieurs fois la même action car seul la première sera pris en compte.

mon switch:

signal envoyé par le switch après 1 appuie:

{
  "result": [
    {
      "code": "switch1_value",
      "value": "single_click"
    },
    {
      "code": "battery_percentage",
      "value": 100
    }
  ],
  "success": true,
  "t": xxxxxxxx,
  "tid": "xxxxxxxx"
}

merci d’avance.

Ma configuration


[center]## System Information

version core-2023.4.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.10
os_name Linux
os_version 5.15.90
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.31.0
Stage running
Available Repositories 1249
Downloaded Repositories 4
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 9.5
update_channel stable
supervisor_version supervisor-2023.04.0
agent_version 1.4.1
docker_version 20.10.22
disk_total 30.8 GB
disk_used 3.3 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Samba share (10.0.0), SSH & Web Terminal (13.1.0), File editor (5.5.0)
Dashboards
dashboards 1
resources 0
mode auto-gen
Recorder
oldest_recorder_run 4 avril 2023 à 18:41
current_recorder_run 7 avril 2023 à 18:31
estimated_db_size 2.20 MiB
database_engine sqlite
database_version 3.38.5
[/center] Comment récupérer ma configuration : Dans votre HA, Menu latéral `Paramètres` > `Système` > `Corrections` puis les trois petits points en haut a droite > `Informations Système` puis une fois en bas `Copier` ___

Salut,

La solution dépend peut-être de l’appli qui gère ton Zigbee, ZHA ou Zigbee2mqtt?
Tu partages un contenu de message mais pas vraiment ce qu’il se passe dans HA.

Pour les boutons de ce type qui n’ont pas d’état permanant il y a normalement une entité de « action » crée et c’est celle-ci qu’il faut suivre dans les automatisations pour détecter une nouvelle commande.

Qu’as tu essayé côté HA?
Qu’as tu comme entité crée pour ce bouton?
Vois tu quelque chose dans le journal du menu de gauche a chaque appui?

J’utilise un hub zigbee (ci-dessous) connecté à l’appli tuya smart pour lier mon switch et dans HA je me sers de local tuya pour l’intégrer.

J’ai trouvé que 2 entités sur mon switch « 1 » qui envoie justement l’état (single_click, double_click ou long_press) et « 10 » le pourcentage de batterie (que je n’utilise pas)

J’ai regardé dans Tuya IOT et effectivement je n’ai pas l’impression qu’il y en a plus.

Ce que me donne la partie « spécifications et propriétés de l’appareil » dans l’API Explorer de tuya IOT

{
  "result": {
    "category": "wxkg",
    "status": [
      {
        "code": "switch1_value",
        "name": "无线开关1",
        "type": "Enum",
        "values": "{\"range\":[\"single_click\",\"double_click\",\"long_press\"]}"
      },
      {
        "code": "battery_percentage",
        "name": "电池电量",
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      }
    ]
  },
  "success": true,
  "t": xxxx,
  "tid": "xxxx"
}

Dans HA j’ai testé l’intégration de mon switch principalement avec LocalTuya (avec la version Tuya par défaut le switch n’est pas supporté.

La configuration actuelle avec LocalTuya :


Avec une autre valeur que « 1 » dans l’ID la valeur reste fixe et rien ne se passe.
Quand je viens d’intégrer le switch il est dans cet état

Ensuite après un clic

et c’est là que je rencontre mon problème.

Il ne peut plus être désactivé à partir de ce moment (via le bouton virtuel ou manuel) et l’attribut se met à jour seulement quand on change de type de clic. par exemple dans l’attribut de l’image (single_click) si je refais un simple clic rien ne se passe au contraire de si je fais un double ou une pression longue l’attribue se met à jour.

Je pense que c’est la programmation du switch qui fait qu’il n’y a pas une entité « action » ou une erreur de ma part dans son intégration.

j’ai pensé à quelques solutions pour pallier à mon souci comme de modifier son attribut dans HA (en n’importe quelle valeur) après une pression ce qui provoquerait un changement à n’importe quel clic ou de lui attribuer une position initiale qui change en fonction de la valeur du raw state mais je ne vois pas trop comment faire.

J’ai juste besoin d’une solution afin d’avoir un changement d’état à chaque single_click :smiling_face_with_tear:

Je reste preneur de conseil concernant d’autre moyen d’intégration quitte à passer par Zigbee2MQTT ou autre.

mon hub zigbee:

Bonjour,
Local Tuya ne fonctionne quand WiFi, pas de support Zigbee.
Pour le Zigbee faut passer par Z2M ou ZHA ( faut voir quelle intégration supporte ta gateway zigbee ).

Merci pour la réponse, malheureusement ma gateway n’est compatible avec aucune autre intégration.
Il va falloir que je m’en procureun autre.
Encore merci pour l’aide apporté.

Je suis nouveau ici, alors peut-être vais-je dire une bêtise, mais pourquoi ne pas intégrer les appareils zigbee directement dans home assistant ? (pas de passrelle, pas de tuya) Mon installation passe par une Conbee 2 avec intégration directe des appareils Zigbee dont des zigbee scenes switchs de MOES. Pour moi, je peux réaliser des automations sur clic, double clic ou clic long.

Salut bienvenue @OnclBen
Ce que tu décris est effectivement le but recherché généralement.
Utiliser le Zigbee natif dans HA c’est en fait ce qu’on appelle ZHA.
Zigbee2MQTT est une alternative indépendante de HA, mais qui donne au final le même résultat, avoir touts les appareils directement contrôlables depuis HA.

Bonjour,
J’ai une configuration très proche … et exactement le même soucis. J’ai tenté de manipuler la valeur de la dernière action directement via TinyTuya et script Python… sans succès.
Mon objectif est un peu différent : lancer une scène (ou un script) à chaque appui sur le bouton, sans avoir à me soucier de l’action précédente effectuée.
je contourne en bombardant à tout hasard un simple click + un click long que j’ai associé à la même scène comme cela il y en a bien une qui marche :face_with_raised_eyebrow:
Je suis bien sûr preneur de toute solution …

Si cela t’interesse