Je tente de faire remonter cette information d’un équipement que j’ai via le plugin Homekit Network Device Control dans Homebridge (histoire de faire comme si j’étais intégré directement avec le pont dans l’appli maison sauf que ça passe via jeedom)
Je ne vois pas sur quel type générique je pourrais mapper cette info.
L’info est utile car il me semble que c’est sur cette base qu’on a le feedback visuel dans l’appli Maison que le volet / ouvrant est en train de se déplacer (petit rond qui tourne en faisant une animation).
Quelqu’un a une idée de comment faire ? Je ne trouve pas mon bonheur dans la documentation.
Dans Homebridge je renvoi toujours stopped quoi qu’il arrive car on a pas cette information dans jeedom généralement (les volets zigbee ou zwave par exemple) donc tous ces gens font sans et ça reste en stopped et ça pose pas de problème côté HomeKit
Justement ça tombe bien que tu parles des volets roulants Zwave également, j’ai la meme demande pour eux.
J’ai des modules fibaro Roller 3, et via script custom, je récupère l’info « temps de mouvement restant », et je n’ai jamais réussi à renvoyer via homebridge qu’ils sont en train de bouger.
La logique serait simple de mon coté à mapper : si temps de mouvement restant > 0 dire à Homebridge qu’ils sont en train de bouger. Je pourrais même dire si ils montent ou descendent sur base de la dernière action que je leur ai demandé d’effectuer.
Alors oui, tu as raison, ça n’empeche pas le bon fonctionnement, mais c’est dommage de perdre cette info. Si j’intègre les velux directement via HomeKit j’ai l’info qu’ils montent ou descendent, je voudrais avoir la possibilité de dire de pareil quand je passe via Jeedom/Homebridge.
On ne saurait pas adapter le code pour avoir cette info qui remonte ? Un nouveau type générique Homebridge peut-être ?
c’est pas tant le fait de faire un type générique, ça ne me pose pas problème et c’est vite fait… c’est le fait que nativement zwave ne l’affiche pas vraiment tel quel, ni les autres zigbee etc, s’il existait une commande toute faite binaire ou quoi je l’aurais déjà fait
Je vais jeter un oeil demain, j’ai un peu de temps pour chipoter sur mon installation.
Au niveau Zwave, en tous cas pour mes fibaro, je saurais, je pense calculer ce statut et mettre à jour une commande info sur mes volets roulants.
En gros, quand je détecte que l’info « temps de mouvement restant » change et est différente, de 0, un scenario se lance, et en voyant la position target (qui est remontée via Zwave MQTT) et en comparant avec la position actuelle (également remontée en Zwave MQTT), je sais déterminer si c’est montée ou descente, de là, je peux mettre le statut à jour. Possible aussi que je le fasse directement dans ZWAVE JS UI de rajouter un topic custom extra que je mettrais à jour directement depuis les automatismes qui sont prévus dans leur solution (mais faut que je regarde un peu plus loin à ce niveau là)
Je vois dans le protocole de Apple qu’ils prévoient la finesse de dire si c’est descente (0), montée (1) et stop (2).
Dans ce que tu rajoutes ici, c’est quoi comme valeur attendue ? Un simple binaire ou tu attends 0/1/2 ?
Je peux faire le beta testeur, ça coute pas grand chose pour moi
Oui les memes valeurs puisque le but est de renvoyer directement les status de HkControl, mais je pourrais aussi peut être prendre un binaire mais difficile de supposer l’état… si c’est ouvert on va vers du fermé et inversement mais si on est à 20% par ex, je peux plus déduire…
Oui effectivement, difficile de déduire pour toi, autant laisser ça à l’utilisateur qui verra comment il mappe la commande.
Je vais regarder pour faire quelques tests et je te tiens au courant
OK alors pour les volets velux, je sais mapper directement la valeur de hkControl, c’est nickel, ça marche out of the box.
Pour les volets Fibaro, malheureusement mon plan ne marche pas aussi bien.
Je ne sais pas rajouter une commande info que j’update à la main via scenario dans JMQTT.
Je vois une possibilité de rajouter éventuellement un type générique « Position souhaitée » dans ton plugin.
Sur base de ça, tu saurais calculer comme suit :
Status descente : si position actuelle > position souhaitée
Status montée : si position actuelle < position souhaitée
Status stop : si position actuelle == position souhaitée
Et du coup le calcul se ferait dans le plugin Homebridge.
Ca devrait couvrir les volets roulants, les ouvrants, portails, etc.
Le problème c’est que jusqu’ici un ai toujours refusé d’intégrer une intelligence dans le plugin Homebridge, il ne fait que transposer l’existant, le reste devant être fait côté jeedom ou plugin entrant
Effectivement t’as raison, c’est pas top top de mettre ça dans HomeBridge, mais d’un autre coté, la seule autre solution que je vois c’est de dupliquer tout le volet roulant sous forme de « virtuel ».
Ou bien je dois voir avec le DEV de JMQTT pour qu’on puisse rajouter des commandes custom … dans les deux cas c’est pas du 100% propre, mais je voyais plutot ça coté Homebridge.
Pour ZwaveJs UI j’ai regardé, on ne sait pas rajouter de topic custom sur base d’une automatisation, donc c’est mort de ce coté là aussi
Dans HomeBridge, on ne sait pas faire du « tuttifruti » à mapper des commandes de différents équipements sur un seul équipement homebridge, donc ça c’est pas une option non plus
Non, sans ça, tu as juste rien … ça met ouverture ou fermeture, mais c’est pas consistant.
En fait sans le truc qui renvoie l’état de l’ouvrant à HomeKit, c’est l’application maison qui devine ce que t’es en train de faire (mais par exemple, c’'est pas visible sur les autres appareils qui sont dans l’appli maison, c’est juste en local sur le téléphone où t’as envoyé la commande). Avec le truc qui a été rajouté, ça propage l’état d’ouverture / fermeture et le petit truc qui tourne sur tous les devices.
Mais du coup, le topic tu as choisi quoi ? Juste à droite de la combo « info ».
Car moi si je mets rien la dedans il me met la boite en jaune / orange et il se passe rien quand je tente de mettre la valeur à jour à travers la commande « event ».