Un interrupteur Wi-Fi HomeKit pour moins de 10 € avec un Sonoff Basic (et RavenCore v2)

J’en parlais il y a quelques jours, j’ai changé le nom de mon réseau Wi-Fi. Et quand j’ai voulu remettre à zéro le Sonoff Basic qui me servait d’interrupteur… impossible. La méthode donnée, qui consiste à presser plusieurs fois (une dizaine) le switch n’avait aucun effet. Comme RavenCore (v1) était de toute façon obsolète, j’ai installé RavenCore v2.

Le Sonoff Basic

J’espérais quelque chose de simple, ce n’est malheureusement pas le cas. Je suis parti du matériel que j’utilisais en 2018 : un Sonoff Basic avec le header pour la connexion série, le même adaptateur à base de CH340, etc. Je ne vais pas détailler une seconde fois le matériel, tout est là. j’ai utilisé un Mac Intel, avec les pilotes déjà installé, donc je ne sais pas si les pilotes CH340 existent pour les Mac M1. La première étape, une fois le Sonoff débranché complètement du courant (c’est important) a été d’effacer la mémoire flash.

python esptool.py -p /dev/cu.usbserial-1450 erase_flash

Ensuite, j’ai téléchargé le firmware RavenCore v2. C’est une recréation à partir de zéro pour une compatibilité HomeKit plus complète et une configuration plus simple. Il faut télécharger le fichier binaire sur le site (un lien direct) et flasher avec ESP Tool.

python esptool.py -p /dev/cu.usbserial-1450 --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin

Flash en cours

Après quelques secondes, le fichier est flashé, et l’appareil va émettre son propre réseau Wi-Fi pour la configuration. Normalement, vous pouvez vous connectez dessus avec un iPhone par exemple. Il va falloir entre quelques infos pour configurer le produit. La bonne nouvelle, c’est qu’avec le firmware v2, il est possible d’accéder facilement à cette interface, en pressant rapidement 8x le switch (le physique ou le virtuel). Quand c’est fait, la page est accessible sur l’adresse IP de l’appareil s’il est connecté à votre réseau.

Il propose quelques options, la première est évidemment le réseau Wi-Fi. Il va scanner les réseaux et il suffit de choisir le bon et de mettre le mot de passe. Il y a quelques options liées aux mises à jour (cochées), ainsi que la possibilité de remettre le tout à zéro. Le point important va être la configuration JSON. Si vous êtes motivés, il est possible de configurer aux petits oignons le firmware. Si vous voulez juste un switch basique (comme moi), il existe un petit site qui va générer le fichier. Il suffit de choisir le type de périphérique (dans mon cas un Sonoff Basic, un simple interrupteur), d’indiquer le fonctionnement par défaut (allumage, etc.), si vous voulez un retour de la LED, etc. Vous pouvez bêtement copier le JSON généré et de le coller dans l’interface. Ensuite, il faut simplement sauver et attendre.

Très clairement, ça peut prendre du temps (plusieurs minutes au moins) pour mettre à jour le firmware. Pour l’ajout à HomeKit, c’est assez simple : il faut lancer l’ajout d’un produit, indiquer que vous n’avez pas de code, et il devrait apparaître dans la liste. Le code est assez standard : 021-82-017. De plus, le site contient deux versions visuelles pour ceux qui veulent scanner. Dans mon cas, il a fallu plusieurs dizaines de minutes pour la détection et j’avais fait une erreur dans le JSON, ce qui l’empêchait d’activer le relais. Mais après une simple correction, tout fonctionne parfaitement (et sur le bon réseau).

Je dois dire qu’un vrai switch (comme celui annoncé récemment par Philips) ou une simple prise connectée font la même chose, mais ce n’est pas le même prix et le Sonoff Basic a l’avantage d’avoir un bouton physique accessible facilement, contrairement à une prise. Puis je suppose que c’est toujours mieux quand on le fait soi-même.