Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push vers HA #45

Closed
matnoublanche opened this issue Nov 7, 2023 · 11 comments
Closed

Push vers HA #45

matnoublanche opened this issue Nov 7, 2023 · 11 comments

Comments

@matnoublanche
Copy link

Bonjour,

Après avoir cherché dans la doc et dans le code source, je n'arrive pas à trouver comment faire un toggle sur un groupe de lumières.

J'ai tenté d'appeler cette URL mais cela ne fonctionne pas comme attendu : /api/ipx800v4/light.chambre_parents/toggle

Le principe est de pouvoir changer l'état toggle des lumières plutôt que du ON/OFF car l'IPX ne connait pas l'état des lumières à l'avance, et je voudrais éviter les envois de type ON alors que la lumière est déjà sur ON sur HA.

Merci bien !

Mathieu

@LHommeQuAVuLOurs
Copy link

Bonjour,
Qu'est-ce que vous essayez de faire exactement ? Déclencher un service dans hass sur un changement de digital input de l'IPX ?
J'ai peut être mal compris le usecase.

Bonne journée

@matnoublanche
Copy link
Author

Bonjour @LHommeQuAVuLOurs

Oui c'est exactement ça, quand j'appuie sur un digital input de mon IPX, je veux déclencher un PUSH qui va toggle une lumière qui n'est pas sur un relais de l'IPX mais qui est sur le pont Hue.

Comme le pont n'est pas compatible directement avec la V4, je voudrais passer par HASS pour déclencher le toggle en passant par l'API spécifique du plugin.

Bonne journée.

@LHommeQuAVuLOurs
Copy link

ok j'ai exactement le même scénario chez moi, et ce que tu dois mettre à jour sur hass c'est le statut de ton entrée digitale IPX. Ensuite tu as une automatisation HASS qui toggle ton groupe sur trigger changement de ton input IPX.

Attention moi j'ai mis 2 triggers : [Actif -> Inactif] ou [Inactif -> Actif] pour éviter que ça allume ou éteigne ma lumière en cas d'indisponibilité (sinon ça trig aussi quand ça fait [Actif -> Indispo -> Actif] et c'est relou)

image

@matnoublanche
Copy link
Author

Ok merci pour ton retour.

Ma frayeur de procéder de la sorte c'est que ce n'est pas l'IPX qui pousse l'état directement sur HA mais plutôt HA qui tire l'update de l'IPX, puis qu'après ça selon le changement d'état le trigger se déclenche. Du coup cela veut dire que tu perds en réactivité entre le moment où tu appuies sur l'interrupteur et le moment où le trigger se déclenche.

J'imagine que tu as mis la fréquence des mise à jour toutes les secondes ou 2 secondes ?

Sinon en parallèle je suis en train de regarder comment faire avec des requêtes TCP que je catche sur NodeRed.

J'aurais pu me servir de l'API de HA, mais le problème c'est que sur l'IPX V4 tu ne peux pas faire de requêtes HTTP complexes.

@LHommeQuAVuLOurs
Copy link

Non, avec la nouvelle version de l'intégration IPX tu peux "push" la valeur de tes entrées et relais IPX en temps réel avec des scénarios IPX.

En gros ça donne :

  • Changement d'état de ton inter physique
  • Déclenchement d'un scénario IPX qui "push" le nouvel état
  • Déclenchement d'une automatisation HASS qui détecte le changement d'état et active le service voulu
  • La lumière s'allume

Dans les faits quant tout marche bien c'est quasi instantané

@matnoublanche
Copy link
Author

Ok merci à toi, je vais tenter tel quel pour voir si niveau réactivité cela correspond bien à ce que j'ai en ce moment avec Jeedom.

Bonne journée.

@matnoublanche
Copy link
Author

Hello,

Bon en fait ça ne va pas de cette manière.

J'explique le problème.

Les digitaux sont tous des boutons poussoirs.

Quand on appuie sur le BP, un PUSH est envoyé vers HA lui demandant de faire un GET. Le temps que HA fasse le GET, quand il contrôle l'état du BP, on a déjà enlevé le doigt de celui-ci, il garde donc l'état éteint.

Pour que ça fonctionne, il faut rester appuyé plus d'une seconde sur le BP pour que HA aie le temps de comprendre que l'état est appuyé. Ce qui fait donc qu'on loupe l'état de cette manière.

Ou alors il faut qu'à la main, je fasse un push manuel vers chaque entité de HA, ce qui n'est pas pratique.

@Aohzan : Du coup je re-demande si c'est possible de faire un toggle sur une lumière en direct ?

Merci de ton retour.
Bonne journée.

@LHommeQuAVuLOurs
Copy link

Tu as la possibilité d'envoyer l'état sans demander de get à hass, et c'est instantané :

"You can update values of multiple entities with one request (see official wiki: http://gce.ovh/wiki/index.php?title=API_V4#Inclure_des_.C3.A9tiquettes_dans_les_notifications_.28mail.2C_push_et_GSM.29)

You have to set the entity_id=$XXYY separate by a &, example : /api/ipx800v4_data/binary_sensor.presence_couloir=$VO005&light.spots_couloir=$XPWM06."

Pour ta question de faire un toggle en direct, ça ne dépend pas de l'intégration IPX mais des capacités API de hass, c'est donc côté documentation de homeassistant que tu trouveras la réponse. Une fois que tu sais comment contrôler une lumière de hass par API, tu peux configurer l'appel via un périphérique"push" de l'ipx en natif, rien ne passera pas l'intégration d'aohzan du coup j'ai un peu l'impression que tu réinventes un peu la roue ;)

Connaissant maintenant ta contrainte de contact sec coté IPX je ne suis pas sur de pouvoir t'aider, car je n'utilise pas ce type d'inter. La seule chose que je saurai faire c'est que ton contact sec "toggle" une sortie virtuelle, et que c'est l'état de cette sortie virtuelle que tu transmets en push à hass (et là on revient dans le scénario initial) mais ça commence à faire beaucoup de zig-zag pour quelque chose de droit lol.
Pour récapituler tu as deux options :

Option 1 : Scénario de push toggle depuis l'IPX vers un device HASS via REST

Option 2 : Scénario de push state depuis l'IPX vers HASS via intégration Aohzan

  • Créer un scénario qui bascule une sortie virtuelle sur ton contact sec
  • Pousser l'état de ta sortie virtuelle vers Hass avec l'intégration Aohzan
  • Basculer l'état de ton device HASS via une automatisation HASS

Peut-être que quelqu'un d'autre aura une meilleure option, de mon coté c'est ce que je vois.

@Aohzan
Copy link
Owner

Aohzan commented Nov 13, 2023

Merci pour tes réponses @LHommeQuAVuLOurs
Je confirme, ton besoin @matnoublanche, n'est pas intégrable ici, je te conseille l'option 2 pour rester "simple"

@linkweaver
Copy link

Merci à tous les deux pour vos éclaircissements.

J'ai trouvé une solution qui me permet de couvrir mon besoin, que je détaille ici.

1/ On crée le PUSH dans l'IPX

Capture d’écran 2023-11-13 à 21 25 26

2/ On crée une scène en ON/OFF selon l'entrée digitale qui va bien faire le PUSH

Capture d’écran 2023-11-13 à 21 26 09

3/ Dans HA, on fait l'automatisation qui va faire le toggle.

Capture d’écran 2023-11-13 à 21 29 43

Ça fait faire un PUSH et une scène par bouton dans l'IPX, mais côté réactivité c'est plus rapide et plus fiable que de faire un PUSH qui fait un GET dans HA. Ça laisse aussi entrevoir des possibilité comme le fait de gérer les appuis longs dans HA, et ça c'est cool.

Bonne soirée.

@matnoublanche
Copy link
Author

Je close l'issue, je me suis trompé de compte (!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants