Milight/Futlight produit des spots/lampes/interrupteurs de bonne qualité et pour le pilotage avec smartphone a utilisé différents hubs jusqu’aux iBox1 et iBox2. Ils sont maintenant remplacés par la Miboxer, qui est totalement cloud et donc dépendante d’une connexion internet et des services alexia/google.
Sidoh propose de construire un hub Milight compatible avec de nombreuses télécommandes Milight et donc avec les interrupteurs et lampes qui composent l’ensemble. Il est pilotable par Jeedom en local avec le plugin wifilightV2, sans passer par internet.
Ce tuto, réalisé avec @olivvvv, est structuré en 3 parties :
- 1 Réalisation matérielle du Milight-Hub
- 2 Configuration logicielle du Milight-Hub
- 3 Configuration du plugin wifilightV2
1 - Réalisation matérielle
Il faut :
- un module NodeMCUv2 ou un NodeMCUv3 qui contient un ESP8266
- une antenne NRF24L01 2,4Ghz Radio
Remarques :
- NodeMCUv2 ou un NodeMCUv3 diffèrent en taille mais ont le même emplacement des broches sauf les 2 broches entre GPIO10 et A0 qui sont utilisées pour de l’USB en V3 mais il n’y a pas d’incidence pour le montage proposé
- on trouve 2 versions de NodeMCUv3 qui diffèrent par leur interface série : CH340G ou CP2102. Dans ce tuto, l’interface CH340G est utilisée mais la CP2102 devrait fonctionner, les drivers sont alors différents.
- Pour le NRF24L01 il y a aussi de nombreuses versions. Les plus simples ont l’antenne sur le circuit imprimé et les plus élaborées ont un ampli et une antenne externe. Les modèles simples peuvent être utilisés pour faire des tests (ils n’aiment ni le 5V ni l’inversion de polarité donc il y a souvent de la casse).
Il faut maintenant connecter l’antenne au MCU (sources : mysensors.org) :
NodeMCU | Antenne | Color |
---|---|---|
GND | GND | Black |
3V3 | VCC | Red |
D2 (GPIO4) | CE | Orange |
D8 (GPIO15) | CSN/CS | Yellow |
D5 (GPIO14) | SCK | Green |
D7 (GPIO13) | MOSI | Blue |
D6 (GPIO12) | MISO | Violet |
Il y a différentes versions du module NRF24L01, bien vérifier le nom des connexions avant de les relier ensemble.
Les deux modules connectés (du fil rose a été utilisé à la place du fil orange) :
Eviter le câblage avec des fils « dupont » car les connexions sont de mauvaise qualité, surtout pour l’antenne. Il peut aussi être intéressant de souder un condensateur de 50 microfarads en 12V aux bornes VCC et GND de la carte de l’antenne afin de mieux stabiliser l’alimentation. Attention, ces condensateurs sont polarisés.
Le site Mysensors est à consulter pour obtenir de l’aide sur le câblage.
2 - Configuration logicielle sous Windows
Connexion au PC :
Il faut maintenant connecter le module NodeMCU au PC, normalement reconnu par Windows 10.
S’il n’est pas reconnu, il faut installer les drivers ici .
Notes :
- certains câbles USB n’ont pas les fils de données de câblés
- pour voir le driver installé : rechercher sur vottre machine : panneau de configuration puis système → gestionnaire de périphériques → ports (COM et LPT)
Installation du Firmware sur le module
Il faut maintenant télécharger le dernier firmware du Milight-Hub :
La version esp8266_milight_hub_nodemcuv2-1.10.7.bin, fonctionne bien également avec un MCU V3.
Télécharger l’outil pour Flasher le firmware ici :
https://github.com/nodemcu/nodemcu-flasher/archive/master.zip
Démarrer ESP8266flasher.exe
Il faut choisir le port COM correspondant au module, pour l’exemple ici COM8 :
Clic sur Config :
Maintenant, cliquer sur la roue et aller chercher le firmware précédemment téléchargé :
Clic sur Advanced :
Choisir une vitesse (Baudrate) égale à 9600 comme sur beaucoup de nodeMCU (sinon se renseigner sur la configuration de la vitesse) :
Clic sur Operation :
Clic sur Flash :
Attendre l’installation du Firmware :
L’installation est terminée (coche verte) :
Configuration du Milight-Hub :
Débrancher le Milight-Hub de l’USB et le reconnecter, attendre 30 secondes. Un reset sur la carte semble être utile. Ouvrir le réseau wifi sur le PC et se connecter au réseau ESPXXXXXX . Le mot de passe wifi est : milightHub
Le navigateur s’ouvre et faire “Configure wifi” :
Choisir le réseau wifi et entrer le mot de passe wifi et sauvegarder.
Débrancher et rebrancher le module, un reset sur la carte semble être utile, attendre 30 secondes pour que le Milight-Hub se connecte à votre wifi.
Il est obligatoire de rendre fixe l’adresse IP du Milight-Hub sur le routeur qui gère votre réseau. En tout état de cause il faut connaitre son adresse IP pour pouvoir s’y connecter.
Accès au Milight-Hub :
Se connecter sur l’adresse IP (ici : 192.168.2.101) du Milight-Hub :
Lorsque la page de configuration du Milight-Hub s’ouvre c’est qu’il fonctionne, il reste à le configurer.
Configuration de l’antenne
Si vous avez une antenne amplifiée, il peut être nécessaire de réduire l’amplification pour que la communication avec les lampes fonctionnent, il est d’ailleurs recommandé de débuter les essais avec une faible amplification et de l’augmenter ensuite.
Pour cela aller dans Settings->Radio->nRF24 Power Level
Comment récupérer les codes des télécommandes Milight
Vous avez déjà une télécommande appairée avec vos lampes et vous ne voulez pas tout reprendre, nous allons voir ici comment sniffer les trames afin que le pont Milight-Hub puisse envoyer les mêmes commandes que votre télécommande sans avoir besoin de tout appairer.
Sniffer les trames
Cliquer sur “Start Sniffing” :
L’icône passe en rouge :
Appuyer sur une touche de votre télécommande :
Les trames apparaissent en dessous comme par exemple :
Arrêter le sniffing et noter l’ID (ici 5889). Dans device ID, renseigner l’ID noté avec 0x devant (donc 0x5889). Cet ID est le même pour tous les canaux d’une même télécommande physique
Redémarrer le sniffing et faite la même manipulation pour toutes vos télécommandes.
Création des alias
Ok, les ID c’est bien mais on peut vite ne plus savoir à quoi cela correspond avec les canaux associés.
Ce pourquoi Alias existe.Il suffit de sélectionner l’ID, le canal, et dans “Device Name” ajouter un nom “Salon” :
Sélectionner ensuite les autres canaux un par un jusqu’au canal 4 (si vous les utilisez bien sûr et dans la même logique, ajouter un nom :
Préparation à l’utilisation dans le plug-in wifilightV2 de Jeedom :
Aller dans “Settings” :
Dans l’onglet “UDP” ajouter une configuration :
Dans device ID, renseigner le même Device ID que ci-dessus.
Dans UDP port : 5987 (c’est le port historique de la communication Mi.Light)
Protocol Version : 6
Sauvegarder puis redémarrer le Milight-Hub dans “Admin”, “Actions”, “Restart” :
Attendre 30 secondes max.
ATTENTION :
il semble q’un reset du nodeMCU est à faire après chaque changement de configuration. Il peut être fait avec l’interface Milight-hub
3 - Configuration de wifilightV2
Configuration en mode historique
Ce mode est à privilégier si vous désirez ne pas modifier une configuration existante et simplement remplacer une iBox1 ou 2 par un Milight-Hub. Il suffit de reporter le port de la configuration UDP précédente dans le champ Port :
(copie d’écran à refaire : le champ Identifiant n’est plus présent)
Votre Jeedom fonctionnera de manière identique avec le nouveau hub.
Il est possible de mettre plusieurs iBox1/2 dans le même Milight-Hub . Il faut configurer le Milight-Hub en associant un Device ID et un port comme dans cet exemple :
Côté plugin, il faut créer un premier périphérique avec l’adresse IP du Milight-Hub et renseigner le Port avec 5987 qui correspondra au device Id 0x5889 :
Vous pouvez créer de cette façon 4 périphériques correspondant aux 4 canaux (ou groupes).
Ensuite, il faut créer un deuxième périphérique avec l’adresse IP du Milight-Hub et renseigner le Port avec 5988 qui correspondra au device Id 0x6867 :
Configuration en mode ESP
Ce mode doit être privilégié pour toute nouvelle configuration utilisant des ampoules Mi.Light.
Il faut utiliser le type Mi.Light ESP et créer un périphérique Mi.Light ESP pour chaque canal utilisé :
Pour chaque canal :
- Choisir la même télécommande que celle choisie dans la configuration du Milight-Hub
- Renseigner dans le champ identifiant, le « Device Id » de la télécommande
Après sauvegarde, les commandes pour piloter les lampes seront créées et vous pourrez tester les actions sur les lampes.