Bonjour à tous,
Cela fait plusieurs que j’ai des problèmes avec mes prises Meross, mais surtout une multiprise que j’ai achetée. En effet, avec le plugin Meross HomeAssistant que vous trouverez sur HACS, celui-ci passe par le cloud pour commander les prises. Hors, il y a quelques soucis, car pour ma multiprise, lorsque j’envoie un signal d’allumer une ou plusieurs prises, cela se fait bien, mais 10 secondes plus tard, elle s’éteint toute seule.
C’est pour cela que je me suis lancé, et que je voudrais vous partager la gestion des prises Meross via un MQTT local avec 2 avantages : Plus de dépendances à internet, et plus de dépendances au Cloud Meross.
Je vous raconte comme j’ai fait, sans dire que c’est la meilleure des solutions, mais elle m’a permis d’arriver à mes fins, même si cela n’a pas été simple :
1. Prérequis
Configuration actuelle : PC sous Linux et Home Assistant et Mosquitto sous Docker. Le poste en Windows 10 n’est utile que pour la préparation.
Sur un poste en Windows 10, installer Debian via WLS (voir sur le net beaucoup de tuto parle de ça). En effet, tout le monde n’a pas un linux, et surtout que je suis plus à l’aise sous Linux pour des choses comme ça :
Une fois sur la Debian il faut installer les paquets nécessaires :
apt install -y nodejs npm unzip
npm install commander
Puis récupérer les sources pour l’utilisation d’un MQTT local sur la machine en Debian
wget https://github.com/bytespider/Meross/archive/refs/heads/master.zip
unzip master.zip
cd Meross-master/bin/
Ensuite, il vous faut réinitialiser votre prise par un appui long sur le bouton ON/OFF jusqu’à ce que la LED clignote en vert/orange.
Vous vous connecter maintenant via wifi au réseau Meross de votre prise.
Puis retourner sous votre Debian et lancer la commande :
./meross info
Ou vous devriez avoir un résultat comme cela
Cela indique que la prise est visible et remonte les informations.
2. Broker MQTT
Pour ma part, ayant déjà un MQTT (sans chiffrement avec authentification) et que Home Assistant n’accepte qu’un Broker, sachant que les prises necessite l’inverse (chiffré sans authentification - à priori l’authentification devrait fonctionné, mais je n’ai pas réussi), voici la configuration de mon docker Mosquitto :
log_dest file /mosquitto/log/mosquitto.log
log_type error
log_timestamp_format %Y-%m-%dT%H:%M:%S
per_listener_settings true
port 1883
allow_anonymous false
password_file /mosquitto/config/mosquitto.passwd
listener 8883
require_certificate false
allow_anonymous true
cafile /mosquitto/config/ssl/ca.crt
certfile /mosquitto/config/ssl/server.crt
keyfile /mosquitto/config/ssl/server.key
Puis nous allons passer à la création des certificats (bien faire les lignes et les après les autres, car vous allez devoir renseigner des informations sur au moment du FQDN, où il faut donner soit l’IP utilisé du broker ou son nom DNS) :
openssl genrsa -des3 -out ca.key 2048
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
openssl genrsa -out server.key 2048
openssl req -new -out server.csr -key server.key
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt -days 3650
3. Association et Home assistant
Maintenant, vous devriez pouvoir intégrer votre prise à votre MQTT, mais avant cela, il faut installer le plugin présent dans HACS « Meross LAN » en pointant sur votre broker MQTT.
Une fois cela fait lancer la commande suivante pour intégrer votre prise
./meross setup --gateway 10.10.10.1 --wifi-ssid SSID --wifi-pass password --mqtt mqtts://x.x.x.x:8883
Si tout se passe bien, votre prise redémarrer, clignote vert et devient fixe (association OK avec wifi et MQTT), et si vous devriez avoir une proposition d’ajout d’un device sous Home Assistant.
Je pense avoir était le plus complet possible.