«

»

Nov 04

Chacon module wifi

Je l’avais dit, la domotique revient sur le blog :)
Grâce aux copains de chez Domadoo, j’ai pu tester un module Chacon qui se base sur le Wifi. Je possède plusieurs modules on/off Chacon sur la fréquence 433Mhz. Je communique par l’intermédiaire de Jeedom avec un RfxTrx433. L’énorme avantage du 433Mhz, c’est le faible coup des modules (moins de 20€ le module on/off contre 60 pour du z-wave par exemple ^^). Le gros défaut, c’est le manque de retour d’état. L’ordre est envoyé et la communication s’arrête là.

C’est pourquoi, j’ai voulu tester le module Chacon Wifi. Via le Wifi, le retour d’état devient possible, ce qui ouvre la porte à pleins de fonctionnalités.

Déballage du module

Une fois la boite ouverte, on découvre un module très classique et une notice qui détaille toutes les fonctionnalités de l’appli mobile, qui permet de piloter le module. Héééé oui, le module est piloté via une appli android/ios ET C’EST TOUT!!! (mais j’y reviendrais plus tard).
Les notices de montage du module sont très succinctes. Plan de montage derrière une ampoule, derrière un interrupteur. Par contre, rien en ce qui concerne un éventuel va-et-vient (alors que le module est prévu pour conserver les interrupteurs et les va-et-vient justement…).

Le module et son appli

Le module fonctionne bien, l’appli est très simple d’utilisation. Pour l’association sur le réseau Wifi, il faudra penser à désactiver le filtrage sur adresse MAC le temps de l’association. Une fois le module associé, il est très simple de retrouver son IP et son adresse MAC pour enregistrer tout ça sur le routeur et réactiver le filtrage MAC :).
L’appli permet de régler les heures d’allumage/extinction, de faire de la simulation de présence et pleins d’autres choses.

L’intégration dans une solution domotique

(Attention, à partir d’ici, ça va devenir plus technique ^^)

C’est là que l’on va reparler du fait que le module n’est pilotable que par l’appli mobile. C’est LE point négatif du module et qui le rend (en tout cas pour moi) complètement inutile.
En effet, impossible de le gérer par une solution domotique de type Jeedom (ou n’importe quelle autre box domotique…). J’ai contacté Chacon, qui me dit qu’il n’y a pas d’API prévu pour le module, et je trouve ça fort dommage u_u Ça n’empêcherait pas l’utilisation de l’appli, et ça permettrait à pleins de possesseurs de système domotique de profiter de ce module….

Pour solutionner ce problème, j’ai essayé de voir si je pouvais faire un peu de reverse engineering pour piloter le module autrement que par l’appli. Et après quelques soirées de bataille à coup de sniffage réseau et d’annalyse de code source de l’appli android, j’arrive à envoyer les ordres ON et OFF au module. C’est très basique et loin d’être exploitable pour un plugin jeedom par exemple.
Les datas envoyées au module sont « encodées/cryptées ». Par chance, bien que la valeur HEXA de la data change, les paquets sont réutilisables. Les échanges se font sur un port UDP, j’ai testé de ré-envoyer la data ON en UDP et la lumière s’est allumée. Par contre, je ne sais pas de quoi sont constituées ces datas (il me manque quelques infos que je n’ai pas encore trouvé dans l’appli mobile…). Donc impossible de reconstruire les datas, ni d’interpréter le retour du module. Même chose ici, j’arrive à récupérer le paquet envoyé par le module, j’ai un beau code HEXA mais je ne sais pas ce qu’il y a dedans….

Histoire de me compliquer la vie, je ne connais pas le Java (langage utilisé pour les applis androïd). Donc la décompilation de l’apk me donne bien des sources exploitables, mais j’ai du mal à lire et comprendre la totalité du code XD
Au final, je sais que les datas envoyées sont composées de l’IP du module, de son adresse MAC, d’un identifiant et de quelques autres trucs qu’il me reste à préciser u_u Si jamais j’arrive à savoir ce qui compose les datas et comment les transformer pour les avoirs au bon format, je pourrais peut être faire un script un peu plus générique, voir mettre en place de quoi récupérer les infos en interrogeant directement le module.
Si jamais j’y parviens, je me ferais plaisir avec un module Jeedom et un code open source histoire que tout le monde puisse améliorer le bousin :)

Le module est très simple d’utilisation, mais le coté restriction à l’appli mobile est franchement très gênant pour moi. Pour le moment, ce module ne sera pas intégré à mon système.

2 Commentaires

  1. akeena

    Bonjour Platypus,

    je suis tombé par hazard sur ton article et je suis confronté au même problème : j’essaye d’utiliser ce produit en domotique mais qui est juste exploitable qu’avec une App Android ou IPhone !!!!

    HAM212 Velleman

    http://www.selectronic.fr/capteur-magnetique-wifi.html

    As-tu avancé dans tes recherches stp ? Je souhaite utiliser les mêmes techniques que toi pour pouvoir l’interfacer avec un logiciel de domotique… Sérieux, quel intérêt d’utiliser ces produits avec une App ==> pour faire joujou et montrer à son copain ?? super…. pffffff

    Si tu as des infos, un site qui pourrait m’aider, un forum, quoi que se soit, je suis preneur !!!!

    Merci beaucoup pour ton retour.

    Akeena

    1. platypus

      Malheureusement il n’y a pas de solution miracle ou de site pour aider à faire ça.
      Chaque appli est unique et les méthode de communication entre l’appli et le module vont être différente u_u

      J’ai utilisé wireshark qui est un outil de sniffage du réseau.
      Ça permet de voir les informations envoyé et reçus par l’appli. Mais bien souvent c’est encodé u_u

      J’ai également été chercher l’apk de l’appli chacon que j’ai depackagé avec un outil en ligne. Un truc dans ce genre http://www.decompileandroid.com/

      Après il faut faire de l’analyse de code pour essayer de re-développer les différentes méthode de l’appli qui te seront utile.

      Pour mon module, j’en suis toujours au même point (pas eu le temps d’y revenir plus que ça, même si j’y réfléchi régulièrement). Il faut que j’arrive à trouver ce qu’il y a de présent dans la requête envoyé au module pour pouvoir la reconstruire moi même et envoyer des ordres au module depuis autre chose que l’appli u_u

      Je te souhaite bon courage dans ta quête :)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>