Bubendorff / iDiamant & HomeAssistant

Bonjour à tous !

Je viens récemment d’acquérir le boitier iDiamant pour centraliser la gestion de mes volets Bubendorff et, comme vous, je souhaiterais les intégrer dans Home Assistant.
Cela dit, la solution de HomeKit ne me satisfait pas plus que vous puisque pas de possibilité d’arrêter les volets.

Après avoir parcouru ce fil, je me suis mis à fouiller à droite et à gauche dans les différentes intégrations et API offertes par Legrand, Netatmo et le iDiamant.

Il existe en effet une intégration officielle Legrand Home+Control, mais celle-ci ne permet pas de contrôler les volets roulant. De plus, comme le signale la page « Works with Legrand » (developer.legrand .com, désolé je ne peux pas mettre de lien) (sur laquelle il faut se créer un compte Legrand Developer), cette API est dépréciée et sera supprimée dans les 2 ans à venir.
Cependant, ils ont le bon goût de nous redirigé vers Netatmo Connect (dev.netatmo .com/apidocumentation/control).

Et quelle ne fut pas ma surprise de voir une API ultra simple, documentée et avec un playground en ligne. Sur cette page, vous pouvez vous authentifier avec votre compte Netatmo et directement tester l’API en utilisant les bouton « Try it Out » de chaque endpoint.

J’ai donc joué un peu avec le endpoint « GET /homesdata » qui me renvoie parfaitement mon boitier iDiamant ainsi que mes pièces et mes volets roulants.
Et j’ai ensuite beaucoup joué avec le endpoint « POST /setstate » qui prend le « homeId » de sa maison, le « moduleId » d’un volet roulet et le « bridgeId » du boitier iDiamant, ainsi qu’une position.

D’abord la mauvaise nouvelle : bien que « position » soit un entier, seule les valeurs 1 et 100 fonctionnent. Donc pas de contrôle de la position du volet roulant (mais bon contournable grâce à l’intégration basé sur le temps proposée plus haut)

En revanche, bonnes nouvelles :

  • Déjà ça fonctionne. Mes volets roulants réagissent, et rapidement en plus. Durant mes tests je n’ai eu aucun raté. Envoyer 0 fait descendre le volet. Envoyer 0 une seconde l’arrête 1 seconde puis continue sa descente. Envoyer 100 interrompt la descente et remonte le volet, etc.
  • Excellente nouvelle : en bidouillant, j’ai réussi à obtenir l’arrêt de mon volet pendant une montée ou un descente. Il suffit pour cela tout simplement d’envoyer « -1 » comme position

Fort de toutes ces découvertes, je vais tenter de faire une custom intégration via HACS. Et peut-être dans le futur une intégration officielle.

Si certains d’entre vous souhaitent me donner un coup de main, je vous communiquerai le repository GitHub lorsque celui-ci sera prêt.

Je vous souhaite à tous une bonne journée et je vous tiens au jus !

Clément

4 « J'aime »