Aller au contenu

Multiprise filaire Chacon WiFI


Messages recommandés

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é par Vince
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Ç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

Lien vers le commentaire
Partager sur d’autres sites

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....

Lien vers le commentaire
Partager sur d’autres sites

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).

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...