Pouvoir contrôler mes lumières à distance c'est, comme beaucoup, ce qui m'a permis de m'intéresser à la domotique.

Il y a 7 ans j'ai emménagé dans un appartement qui ne disposait pas de plafonnier (et je ne m'en étais pas rendu compte lorsque je l'avais visité). Je me suis retrouvé bien bête le soir de mon emménagement :-).
Une visite chez Ikea et 3 lampadaires plus tard, je vois enfin le jour.
C'est sympa sauf que cela implique de faire le tour de tous les lampadaires à chaque entrée/sortie de l'appartement. J'avais bien une prise électrique qui était commandée par un interrupteur, mais c'était sur cette prise que j'avais décidé de brancher ma télé, ma console, ma box, etc.

J'aurai pu simplement brancher mes lampadaires sur des prises Chacon/DI-O qu'on peut trouver chez Leroy Merlin, mais c'était le début des ampoules Philips Hue et je trouvais ça plutôt sympa. J'ai donc investi, mais pas dans des Philips.

Milight / EasyBulb / LimitlessLed

Milight, EasyBulb, LimitlessLed, ce sont 3 marques qui vendent les mêmes produits mais sous un nom différent : des ampoules de différents types et des led strips. Ces ampoules peuvent être contrôlés via une télécommande et/ou via un pont qui se connecte à votre réseau local en WiFi.

Une fois votre pont configuré, vous pouvez contrôler vos ampoules en envoyant une requête UDP au pont. En Python ça se fait assez simplement :

import socket

IP = "192.168.0.30" ## IP du bridge
PORT = 8899
ON = bytearray([0x45, 0x00, 0x55])

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.sendto(ON, (IP, PORT))

Ce bout de code permet d'allumer la ou les ampoules associées au groupe numéro 1.
Le site de limitlessled listait de façon assez claire tout ce qu'il était possible de faire avec ces ampoules et ce pont, mais il semble ne plus exister aujourd'hui. Une archive du site est disponible sur GitHub.

Depuis, tout ça est très bien intégré sur Domoticz (ou Home Assistant) et j'ai mis mes vieux codes au placard.

Sur le papier, ces ampoules ont tout pour elles :

  • Un prix relativement faible en comparaison des Philips Hue (une quinzaine d'euros par ampoule)
  • Contrôle de la luminosité (il y a même un night mode sur les dernières ampoules)
  • Contrôle des couleurs
  • Contrôlable via une télécommande, une application ou via une API
  • Gestion par zones pour regrouper plusieurs ampoules (4 zones sur les précédents modèles, visiblement 8 sur les nouveaux)

Mais il y a un problème avec les ampoules "connectées" : à partir du moment ou vous en installez chez vous, il faut condamner (ou remplacer) les interrupteurs. Parce que oui, si vous coupez électriquement votre ampoule, vous allez difficilement pouvoir la rallumer autrement que via votre interrupteur...

Cahier des charges

Dans mon nouveau chez moi, je souhaite que toutes les lumières soient pilotables (même celles des toilettes). Je ne voulais pas rester sur du Milight à cause de la limitation des 4 zones et le manque de retour d'état (même si ce projet aurait pu lever ces limitations), j'ai donc fait un cahier des charges :

  • Un seul protocole, mais pas une seule marque d'ampoules
  • Pas plus de 10€ par ampoule, pas plus de 40€ par interrupteur
  • Contrôle de la luminosité (pas d'intérêt dans mon cas de changer la couleur)
  • Pilotable depuis une centrale domotique (dans mon cas ce sera Domoticz) et via un interrupteur
  • Retour d'état : si j'allume la lumière depuis l'interrupteur, mon état doit être à jour dans Domoticz
  • Doit survivre à une coupure de mon Domoticz et/ou Internet (= je ne veux pas rester dans le noir si mon Raspberry Pi crame)
  • Ne doit pas passer par un pont propriétaire (pas de cloud Chinois)
  • Ne doit pas nécessiter de gros travaux d'électricité (je veux bien remplacer l'interrupteur ou y ajouter un micro-module mais pas plus)

Dans la prochaine partie, on verra quel protocole répond au cahier des charges.