Pourquoi ce projet ?

Voulant équiper ma maison en domotique, j'ai installé Debian sur une machine et installé OpenHab dessus.

OpenHab est gratuit, est opensource et supporte un grand nombre d'objets connectés. Si on est prêt à mettre un peu les mains dans le cambouis. Mais j'en reparlerai peut-être dans un autre article.

 

Il s'avère que les ampoules à led connectées les moins chères que j'aie trouvé utilisent le réseau ZigBee. Pas de bol, j'ai acheté deux dongle, un rfxcom (compatible avec les volets somfy) et un z-wave parce qu'on trouve un tas de trucs rigolo sur ce réseau (dont des vannes thermostatiques pour radiateurs).

En plus, comme les modules ZigBee sont pas trop chers et que tout est opensource, y a moyen de bricoler ses propres appareils (sondes, télécommandes, machins divers ...).

Donc, je cherchais des dongle usb ZigBee pour mon serveur et là, je tombe sur le ZiGate, mis au point par un français, avec firmware opensource toussah, toussah. COOL!

Sauf qu'aucun binding n'est compatible avec le ZiGate dans OpenHab.

 

Ce n'est qu'un début ...

Sur le repo GitHub du ZiGate, on retrouve la structure des messages. Sur le wiki, sont renseignées toutes les commandes disponibles. En utilisant un logiciel type hyperterminal pour dialoguer avec le ZiGate via le port com virtuel (adaptateur USB - TTL), la calculatrice de windows et un peu de temps j'ai réussit à passer des commandes pour piloter une ampoule connectée.

Comme dit plus haut, OpenHab est opensource (c'est même dans le nom wink ). On peut donc récupérer les sources et faire des modifs.

Aussitôt dit, aussitôt fait!

Ah.. Sauf qu'OpenHab se repose sur un framework extérieur pour les binding ZigBee. Framework opensource luis aussi. Un petit coup de GitHub plus tard, j'ai la copie du repo sur mon disque dur.

Installation d'Eclipse et tous les outils pour pouvoir compiler les sources... J'arrive pas à compiler, que des erreurs à longueur de temps.

Finalement, en installant le SDK Java 8 et en le mettant par défaut dans les path de Windows, boum, ça compile.

 

La fin du début ?

J'en suis à regarder comment le code est fait pour les autres dongle pour deviner comment mettre au point mes classes.
Les dongles ayant tous des protocoles de comm assez différent, c'est pas évident de se calquer sur le modèle.

En gros, j'ai pas la motiv' aujourd'hui d'aller plus loin laughing

 

- LA SUITE DES QUE JE SERAI MOTIVE A REPLONGER DANS LE BOUZIN -