Bonjour,
voilà, j’ai un petit problème. J’ai bien intégrer ma passerelle xiaomi avec les token et mot de passe. Tout remonte. Sauf que lorsque je clic sur un BP, par exemple binary_sensor.switch_158d00015aa84a, il me renvoit une erreur « Échec d’appel du service « binary_sensor/turn_on ». Service not found. »
Le message est clair…
Il n’existe pas de service turn_on/off
pour le domaine binary_sensor
…
C’est quoi ce bouton poussoir ? Il vient d’où ? Qu’essaie tu de faire ?
un bouton en anglais c’est switch
pour interrupteur et il existe turn_on/off
pour ce domaine
@Clemalex : Ça oui c’est clair …
Mais je comprends pas ce que je dois faire. Il s’est intégré comme ça en binary …
C’est le bouton rond Xiaomi aquara, celui là :
Bin je veux faire un coup on l’autre coup off… à minima…et appuies long, court…
Le bouton est physique donc dans HA tu as simplement à récupérer les évènements du bouton :
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d
click_type: single # `double` pour le double click
condition:
action:
- data:
entity_id: light.cuisine
service: light.turn_on
Tu pars dans le mauvais sens
Ton bouton va envoyer un évènement qui sera récupéré par HA et qui fera ce que tu en feras (ici, une automatisation).
Tu n’as pas de commande à passer, juste à scruter s’il y en a.
Pour les boutons, l’état n’est pas exploitable, seul l’évènement
Ok, je vois. Merci @Clemalex !
Je pensais que c’était directement le bouton.
Pourquoi tu dis que c’est une automation ?
Ah oui parceque tu dis que si t’as un clic sur le bouton, tu allumes la lumière, c’est bien ça ?
Parce que c’est le seul moyen de récupérer les événements de passer par une automatisation. Et de déclarer l’événement au niveau des triggers comme déclencheur
Ok, je vais essayer de comprendre comment ça marche…
Salut @Clemalex , je reviens sur le sujet. En gros, j’ai déclaré dans configuration.yaml des commandes rest HTTP pour envoyer à mon ancienne zibase une commande ON et une commande OFF (car j’ai des « vieux » modules delta dare…).
Dans automation yaml, dans entity_id je mets quoi ? Comment puis je faire sans ce cas pour que le bp xiaomi m’envoie en toggle une info ON et après une OFF ?? De plus je comprends q’il faudrait que je teste un flag qui passerait à 1, puis à 0 pour faire le switch, mais là je suis un peu dépassé…
Comprends pas…
Tu peux expliquer plus en détails l’architecture et ce que tu souhaites faire ?
De ce que je comprends :
- Quand tu appuis sur le bouton poussoir (évite le langage SMS
) → Envoie de la commande REST vers la zibase
Est-ce cela ?
Donc ce que j’aimerai faire c’est lorsque j’appuie sur le bouton poussoir Xiaomi, la première fois j’envoie une commande REST à la zibase avec la commande ON éclairage. Une fois allumée, je rappuis sur le bouton poussoir Xiaomi et là j’envoie la commande REST OFF éclairage.
Dans configuration.yaml j’ai configuré mes 2 commandes rest :
spot_entree_on:
url :xxxxxxON
sport_entree_off:
url:xxxxxxOFF
Ca, ça fonctionne…Maintenant je cherche le reste
Concernant l’état tu le stocke quelque part ? Ou tu peux l’extraire de la zibase ?
Merde j’avais oublié ce point. Y’a moyen de stocker l’état dans home assistant ?
Oui d’où le sens de ma question :
- Tu veux récupérer l’état depuis la zibase (si tu peux) et le stocker dans Home Assistant ?
ou
- Tu veux déterminer l’état depuis Home Assistant (avec la dernier action envoyée) et le stocker l’état dans Home Assistant ?
Ok. Alors non sur ce module je ne peux pas récupérer l’état de la zibase.
Donc la 2, déterminer depuis Home Assistant et le stocker dans Home Assistant serait parfait
@Clemalex hello,
bon j’ai déjà essayer de faire juste allumer ma lampe extérieur. Dans automations.yaml, j’ai écrit ça :
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d00015aa9fd
click_type: single # `double` pour le double click
condition:
action:
- data:
entity_id: switch.spot_terrasse
service: rest_command.spot_terrasse_on
Pas de résultat
Tu as besoin de l’entity_id
?
Tu l’as renseigné dans le payload ? (plusieurs posts plus haut ce n’est pas le cas)
Que dit le log ?
As-tu essayer juste avec le service ? Il fonctionne ? As-tu essayé avec une carte bouton ?
As tu une notification avec cette automatisation :
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d00015aa9fd
click_type: single # `double` pour le double click
condition:
action:
- service: persistent_notification.create
data:
message: "Un clic"
title: "Bouton"
notification_id: "{{ (range(1, 9999)|random) }}"
Salut,
alors j’ai juste mis les infos pour le simple click. Ca marche. Je vais essayer de rajouter le double clic en dessous…
Salut @Clemalex ,
J’ai tapé ça :
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d00015aa9fd
click_type: single # `double` pour le double click
action:
service: switch.toggle
target:
entity_id: switch.spot_terrasse
Ça en clic simple ça fonctionne. Je me suis dit facile, t’as qu’à copier coller tout ça une 2eme fois et remplacer simple par double pour gérer le double clic sur une autre action…
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d00015aa9fd
click_type: single # `double` pour le double click
action:
service: switch.toggle
target:
entity_id: switch.spot_terrasse
- alias: automatisation_clic_simple
trigger:
platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_158d00015aa9fd
click_type: double
action:
service: switch.toggle
target:
entity_id: switch.spot_terrasse
Bin ça marche pas
De mémoire, mes boutons quand ils étaient sous la passerelle envoyaient comme évènement :
simple
double
long_click_press
Le plus simple est de voir ce que tu reçois (j’en ai associé un pour l’exemple concret, c’est mieux ):
avec une automatisation :
alias: Notification de mise au point
description: >
Permet d'afficher une notification pour la mise au point lors de
l'utilisation du déclencheur(trigger)
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data: {}
condition: []
action:
# Affiche une notification persistente
- service: persistent_notification.create
data:
message: |
{% for list in trigger %}
{{list}} : {{trigger[list]}}
{% endfor %}
title: |
Le Déclencheur de l'automatisation
notification_id: '{{ (range(1, 9999)|random) }}'
mode: single
Merci m’sieur, j’ai enfin réussi en suivant tes conseils !!