Automatisation avec bouton Xiaomi

Pas obliger de créer une automatisation par action, tous rentre dans une seul automatisation.

Après oui le blueprint simplifie la tache.

Maintenant je serais curieux de connaitre l’impact sur les ressources entre un blueprint ou une automatisation car souvent les blueprint propose plusieurs actions qui ne sont pas forcement utiles.

Sujet intéressant. Sur les ressources probablement négligeable (c’est un if then else un peu plus élaboré). Par contre c’est probablement plus lent qu’une automatisation classique sans pour autant être humainement perceptible. C’est le même cas en pire avec NR est très franchement ça ne me choque pas.

1 « J'aime »

Hello,
je fait seulement le test et je ne parviens pas à faire fonctionner le simple clic.
En cherchant un peu sur le forum je suis allé dans :
Outils de développement > Evenements, puis dans Ecouter les événements, j’ai mis state_changed puis commence à écouter.

Il m’en ressort ça :

> {
>     "event_type": "state_changed",
>     "data": {
>         "entity_id": "binary_sensor.switch_158d00022b7792",
>         "old_state": {
>             "entity_id": "binary_sensor.switch_158d00022b7792",
>             "state": "off",
>             "attributes": {
>                 "last_action": "single",
>                 "voltage": 3.03,
>                 "battery_level": 46.4,
>                 "friendly_name": "Bouton Xiaomi"
>             },
>             "last_changed": "2022-04-09T19:07:35.230790+00:00",
>             "last_updated": "2022-04-09T19:13:58.814906+00:00",
>             "context": {
>                 "id": "576ab29d87b99297cdfa38670708c002",
>                 "parent_id": null,
>                 "user_id": null
>             }
>         },
>         "new_state": {
>             "entity_id": "binary_sensor.switch_158d00022b7792",
>             "state": "off",
>             "attributes": {
>                 "last_action": "double",
>                 "voltage": 3.03,
>                 "battery_level": 46.4,
>                 "friendly_name": "Bouton Xiaomi"
>             },
>             "last_changed": "2022-04-09T19:07:35.230790+00:00",
>             "last_updated": "2022-04-09T19:14:54.932041+00:00",
>             "context": {
>                 "id": "802e45ab8a553f43159ca34aa9e5f6a5",
>                 "parent_id": null,
>                 "user_id": null
>             }

Mais je ne vois passer à aucun moment le « single ».
Le double et le long_click_press.

Mais merci beaucoup pour ton aide en fait je doit me baser sur l’event pour récupérer l’état et surtout ça me permet de mieux comprendre le langage de NodeRed.
Je doit avouer que si y’as bien un truc que je deteste c’est tout ces langages de programmation du coup j’ai du mal à faire l’apprentissage je suis en revanche à fond technique…

Je vais essayer de creuser mon ce single click.

edit : je m’aperçois que beaucoup m’ont aidé et je n’ai pas fait attention à leur post ayant regardé sur le téléphone en journée… je vais tout regarder.
Merci beaucoup l’équipe le forum est agréable et l’aide vraiment précieuse vous êtes des chefs !

Pas compris …

Je vois au moins 2 actions sur les 3 (action pas event…)

Oulà non j’ai bien plus vieux que ça c’est une modèle dgnwg02lm donc si je dit pas de bétise une V2. Ca fait un bon moment que j’ai ces produits chez moi ça date de quand je me suis lancé la première fois en domotique :grin:
Je l’ai intégré avec l’intégration « Xiaomi Aqara Gateway ».

Si je vais dans les entités pour ressortir les « Last action » : j’ai 3 actions : single double et hold.
ce qui est différent de ce que je trouve en passant dans les evenements…
Comme je disais d’ailleurs le flow nodered de pulpy fonctionne sauf le simple click.

pardon tu as raison :
en fait en « new state » j’ai bien une « last action » : double. Mais si je passe dans les evenements je ne vois pas le new state passer à single. Je ne sais pas si je suis clair :sweat_smile:

Du coup je comprends le message.
Etrange quand même, il y a pas de raison que le single ne fonctionne pas comme au moins le double
Tu peux debugger en NR directement… il y a un noeud debug exprès

Bisard également si je regarde le « last action » directement dans mon entité je ne vois pas passer de « long_click_press » mais un « hold » à la place.
Alors que dans les evenement j’ai bien un « long_click_press »…
Si je met hold dans ton flow le click long ne fonctionne plus… :exploding_head:
Pas grave ça fonctionne en changeant mais c’est quand même plutôt étrange le comportement.

Cest quoi la ref de ton boutton ?

WXKG01LM un bouton rond xiaomi Zigbee.
Je n’ai pas encore testé l’Aqara carré.

Donc c’est logique que le comportement soit différent le mien est un WXKG11LM (carré)

bin pas vraiment. Suivant là où je check le resultat de l’event varie… Si je me base sur l’entité je vois bien passer mes 3 actions différentes dans le last action.
Cela a fonctionné d’ailleurs pour le 2 dernière sortie mais là plus rien ne fonctionne pour une raison que j’ignore (pourtant l’entité avec le last_action se met bien à jour).
Je vais redémarrer ma VM au complet.

Sur le carré de temps en temps, si on appuie un peu de coté/de travers, ça clique pas…

Voilà un retour en me basant sur la proposition de McFly :

J’ai pu créer 3 scénarios distincts et cela fonctionne voici le code cela permettra peut-être de comprendre pourquoi cela ne tourne pas sous nodered :

Code Long Click :

alias: Long Click Bouton Rond Xiaomi
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.switch_158d00022b7792
    attribute: last_action
    to: hold
condition: []
action:
  - type: toggle
    device_id: c2f3797ba0cf206d2b40315be2914bfd
    entity_id: switch.plug_158d0002161e4e
    domain: switch
  - type: toggle
    device_id: 18da4aaf8b5b3c6ed64b99b4e4764bcb
    entity_id: switch.plug_158d0002161e1a
    domain: switch
  - service: light.turn_off
    data: {}
    target:
      entity_id: light.salon
mode: parallel

Code Click Simple :

alias: Single Click Bouton Rond Xiaomi
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.switch_158d00022b7792
    attribute: last_action
    to: single
condition: []
action:
  - type: toggle
    device_id: c2f3797ba0cf206d2b40315be2914bfd
    entity_id: switch.plug_158d0002161e4e
    domain: switch
mode: parallel

Code double click :

alias: Double Click Bouton Rond Xiaomi
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.switch_158d00022b7792
    attribute: last_action
    to: double
condition: []
action:
  - service: light.turn_on
    data: {}
    target:
      entity_id: light.salon
  - type: toggle
    device_id: 18da4aaf8b5b3c6ed64b99b4e4764bcb
    entity_id: switch.plug_158d0002161e1a
    domain: switch
mode: parallel

Edit : j’ai modifié l’automation au niveau des actions de « basculer » à « desactiver » ou « activer » en fonction du besoin ce qui est mieux

cela fonctionne !
En revanche le NodeRed qui a marchouillé au tout début avant que je cherche à débuguer le non fonctionnement du single click n’est plus du tout opérationnel malgré le reboot de ma VM.

Par curiosité je vais tenter de trouver pourquoi mais avoir l’automation fonctionnel en tout cas est une bonne chose !
Merci à vous tous pour votre contribution et votre aide précieuse !

1 « J'aime »

Bonjour, je n’arrive pas à faire l’automatisme simple click avec node red.,j’ai bien suivi le tuto du début du poste

salut j’ai voulut utilise t’on flow mes chez moi il fonctionne pas

Salut.
C’est vague ça…

Oui c’est un peut normal, alors j’ai importe t’on flux, j’ai enlevées les 2 bouton qui etait dans t’on flow pour mettre 2 boutons de chez moi, puis mi de debug et un node call service pour ouvrire mon portail.

C’est peut être une question de syntaxe mais juste au cas où voilà ce que je ferai pour corriger :

  • Reprendre mon Flow
  • Changer le nom des entités bouton sans effacer le node !
  • Mettre le debug après chaque node et analyser

bon j’ai refait ce que tu ma dis, il y a rien qui ce passe , j’ai aucun info avec les debug