Vince Posté(e) le 25 mars 2018 Signaler Posté(e) le 25 mars 2018 (modifié) Etant passé chez un grand magasin de bricolage (enseigne en majorité verte) pour chercher des prises électriques, je tombe sur une multiprise WiFI (5 prises dépendantes du "On" et "Off" ) de la marque Chacon à un prix dérisoire (moins de 30 euro). (pour aider, il faut rechercher : Multiprise filaire wi-fi, 5 prises blanc CHACON ) J'essaye... alors là, il faut installer une application, créer un compte, ajouter son périph sur son réseau WiFi... je me dis...il va falloir trouvé une solution pour que ça fonctionne avec ma box HC2. Alors j'analyse les paquets qui passent sur mon réseau en actionnant le "on" ou "off" sur l'application... et je trouve les trames UDP. Dans la trame UDP se trouve l'identifiant de la prise (12 caractères) qui est affiché sur l'appli (utile pour le module sur la HC2) En faisant des tests, tout d'abord en PHP (c'est mon language de prédilection), j'arrive à contrôlé la prise, sans avoir besoin de l'appli !! Génial J'ai donc créé un module virtuel sur la HC2 : Paramètres à renseigner: Adresse Ip : Mettre l'adresse IP de la prise Port TCP: 18530 J'ai créé une étiquette "Status" avec comme ID: Status Puis 2 Bouton pour "On" et "Off" Pour le bouton "On": local msg = "1025053d523ba2d7ed02f3314628234bb9" -- mettre l'identifiant de votre prise (12 caractères en minuscule) local idPrise="xxxxxxxxxxxx" local ipPrise = fibaro:get(fibaro:getSelfId(), "IPAddress") local udpPort = fibaro:get(fibaro:getSelfId(), "TCPPort") local enteteUdp = "0140" local msgHex=enteteUdp..idPrise..msg function string.fromhex(str) return (str:gsub('..', function (cc) return string.char(tonumber(cc, 16)) end)) end local msgBin=msgHex:fromhex() socket = Net.FUdpSocket() socket:setBroadcast(true) local bytes, errorCode = socket:write(msgBin, ipPrise, udpPort) socket = nil; if errorCode == 0 then fibaro:debug('status'..bytes) fibaro:call(fibaro:getSelfId(),"setProperty","ui.Status.value","On"); else fibaro:debug("error") end Pour le bouton "Off" Le même programme sauf que : local msg = "1013e321f55d34def745f5fdcedea008ca" et modifier la ligne sur la Status.value à "Off" Et voilà !! La multiprise est "Fibaro"isée Peut être il y a un moyen plus simple ou plus optimal. A vous de tester si vous avez acheté une telle multiprise, en espérant que la trame UDP soit la même et que ça marche pour vous. Modifié le 25 mars 2018 par Vince 1
Dragoniacs Posté(e) le 25 mars 2018 Signaler Posté(e) le 25 mars 2018 Ça m'intéresse pour gérer mon aquarium !2 questions du coup :- penses tu que la trame est la même pour chaque multiprise ou il peut y avoir une codification propre ?- est-ce que tu arrives à gérer chaque prise indépendamment avec ton module? Je crois comprendre que tu fais un "off on global" Envoyé de mon SM-A520F en utilisant Tapatalk
Lazer Posté(e) le 25 mars 2018 Signaler Posté(e) le 25 mars 2018 Bravo pour ta trouvaille. Mais j'espère que tu n'as rien de critique à mettre sur la prise Chacon, parce que ce vieux protocole domotique non sécurisé, sans retour d'état, au final c'est fiabilité nulle. OK c'est pas cher, mais bon.... Faut pas oublier, qu'à la base le DIO c'était pour piloter une lumière avec une télécommande depuis son canapé... donc le retour d'état, on s'en fou, puisque c'est visuel. Utiliser DIO en domotique, faut vraiment pas avoir peur....
Dragoniacs Posté(e) le 25 mars 2018 Signaler Posté(e) le 25 mars 2018 Si l'appli mobile te donne un retour d'État tu dois pouvoir le récupérer aussi non ?Envoyé de mon SM-A520F en utilisant Tapatalk
Lazer Posté(e) le 25 mars 2018 Signaler Posté(e) le 25 mars 2018 Le module ne donne pas de retour d'état, je vois pas comment l'application mobile pourrait le donner, à part l'inventer. Je vais être franc, DIO est un vieux protocole tout pourri qui doit être abandonné en domotique (il peut encore servir pour son usage premier, piloter une lumière depuis son canapé avec la télécommande vendue en kit chez Leroy Merlin).
Messages recommandés