Une alternative DIY au linky PZEM004T + Wemos + Tasmota + MQTT

Une alternative DIY au linky PZEM004T + Wemos + Tasmota + MQTT

19 décembre 2020 6 Par Jérôme Ferrari

Bonjour, aujourd’hui je vous propose de fabriquer un capteur complémentaire et indépendant au Linky et qui communique avec Jeedom via MQTT. Il a aussi l’avantage de pouvoir s’installer sur un RailDIN.

Pour cela, nous allons un capteur que nous avions vu dans l’article précédent, le PZEM004T V3. https://miniprojets.net/index.php/2019/08/23/creation-dun-enregistreur-autonome-de-puissance-electrique-monophase-base-sur-un-wemos-d1-mini-dun-shield-rtc-sd-et-dun-pzem004t/

ATTENTION, vous allez travailler sur du 220V donc c’est un réel danger. Ne faites pas ce tutoriel sans être sûr que la partie électrique est sécurité!!!! Je ne pourrais pas être tenu responsable en cas de dégât humain ou matériel.

Partie 0: Le matériel choisi

En ce qui concerne le matériel, il vous faudra:

  • Un Wemos D1 mini
  • Un Capteur de puissance PZEM004T V3
  • Un transformateur 220V AC vers 5V DC
  • Pour ceux qui ont une imprimante 3D ou un Fablab à proximité, je vous propose de fabriquer le boitier qui permettra de ranger tout cela proprement. Le modèle que j’ai choisi, se trouve sur Thingiverse

https://www.thingiverse.com/thing:4260260

  • Des connecteurs 4 broches JST pour faire la connection avec le PZEM
  • Et quelques fils pour faire les connections

Partie 1: La programmation avant assemblage

Avant de commencer l’assemblage du capteur, je vous propose de faire la programmation de votre Wemos.

Pour cela, téléchargez le fichier tasmota.bin qui se trouve à l’adresse suivante:

https://github.com/arendst/Tasmota/releases

Vous pouvez prendre le fichier le plus récent (pour ma part, je suis actuellement sur la version Tasmota 8.4.0).

On télécharge aussi le logiciel flasher le firmware, j’utilise le soft ESPEasy, issue de ce site: https://github.com/letscontrolit/ESPEasy/releases comme nous avions fait dans l’article https://miniprojets.net/index.php/2019/04/16/hack-dune-prise-alfawise-murale-etanche/

Voilà maintenant que tout est téléchargé, on peut commencer la procédure de flashage.

Je remets l’archive compressé de tous les outils au cas où les liens ne fonctionneraient plus.

Dans le dossier ESPEasy, mettez le fichier tasmota.bin

Maintenant, on commence par brancher avec un câble USB le Wemos à l’ordinateur.

Une fois que cela est fait, il faut double-cliquer sur FlashESP8266.exe

La fenêtre suivante apparait avec le port COM normalement déjà renseigné. Il ne vous reste plus qu’à choisir le firmware

Choisissez le bon port COM et cliquez sur Flash. La fenêtre suivante apparait.

Si tout est ok, normalement vous aurez cela à la fin:

Si jamais cela bug, flasher d’abord le fichier blank_4MB.bin et recommencez la procédure.

Afin de vérifier que le firmware est bien flashé, débranchez le wemos et rebranchez le.

Ouvrez votre connexion Wifi pour voir s’il apparait, mais ne vous connectez pas tout de suite dessus

Si maintenant tout est ok, on peux commencer l’assemblage de notre capteur.

Partie 2: Assemblage du capteur

On va commencer par assembler notre boitier. voici les 4 pièces imprimées en 3D.

On glisse la targette dans le boitier principal.

On installe le PZEM004T dans son emplacement

On installe le connecteur JST

On rajoute le support pour le Wemos

On fait passer les fils dans l’espace prévu à cet effet

Maintenant, soudez le RX venant du connecteur du PZEM sur le TX du Wemos et le TX du PZEM sur le RX du Wemos.

Quand cela est fait, pour le 5V il faut raccorder le fil qui vient du connecteur avec un autre fil vierge comme sur la photo

Puis soudez cette connection sur le 5V du wemos. Cette opération nous permettra d’alimenter en même temps le PZEM et le Wemos.

On fait la même chose pour le GND.

Maintenant nous plaçons le wemos dans son emplacement

Nous raccordons le 5V et le GND sur le transformateur

Maintenant, nous soudons 2 fils pour alimenter le transformateur en 220V.

Et on les place de la fçon suivante sur le PZEM

On rajoute 2 fils de mesure pour la tension ainsi que le tor pour la mesure du courant. On range ensuite le transformateur dans son emplacement.

Voilà ce que cela donne à la fin

Maintenant vous pouvez refermer le boitier avec le couvercle.

Pour faire les tests, je vous propose d’installer une prise avant de l’installer dans votre coffret électrique.

Maintenant le moment de vérité! On peux brancher sur une prise de la maison.

Partie 3: La configuration du capteur

Connectez vous sur le wifi vu précédement.

Ouvrez maintenant un navigateur et tapez l’adresse 192.168.4.1

Vous allez tomber sur cette page

Dans AP1 SSiD, rentrez le nom du wifi sur lequel vous voulez que votre capteur se connecte (Exemple wifi_miniprojets) et dans AP1 Password le mot de passe de ce réseau.

Cliquez sur Save et vous verrez apparaitre normalement cela

Maintenant, pour savoir à quelle adresse IP vous devez vous reconnecter pour accéder à ce capteur, vous devez vous reconnecter sur votre réseau wifi normal et faire la procédure suivante (procédure faite pour une Freebox):

Allez dans les paramètres de votre routeur afin de connaitre l’adresse IP qui est attribuée à votre prise (pour moi comme c’est la Freebox fait office de routeur, cela ressemble à cela)

Repérez l’objet tasmota_XXXX

Cliquez dessus

Cliquez sur Connectivité

Voilà, vous connaissez l’adresse pour se connecter sur votre capteur.

Tapez l’adresse trouvée de votre capteur dans votre navigateur

Cliquez sur Configuration, puis Configure Module

Choisissez le module Type 18

Cliquez sur Save et attendez que le module reboot.

Reconnectez vous et allez de nouveau dans configuration.

Maintenant remplissez de la façon suivante

Recliquez sur Save et attendez de nouveau que le capteur reboot.

Petite apparté, il arrive que le type 18 ne fonctionne pas donc il faut passer sur le type 0 et remplir de la façon suivante

Si je trouve l’explication ou si vous l’avez je suis preneur. Fin de l’apparté.

Maintenant que le capteur a rebooté, reconnectez vous dessus et si tout est ok vous devriez avoir cela

C’est bon? Parfait!!!

On passe maintenant à la partie MQTT. Pour cela je vous invite d’abord à configurer votre raspberry ou autres avec les liens suivants:

Installation de Jeedom — > Voir mon précédent article https://miniprojets.net/index.php/2019/05/13/jeedom-ou-comment-domotiser-sa-maison-en-quelques-clics/

Installation de Mosquitto –> Je vous conseille le site suivant https://projetsdiy.fr/jeedom-mqtt-objets-connectes-domotique-diy/

Une fois cela fait, allez de nouveau sur votre capteur et cliquez sur Configuration, puis Configure MQTT.

Renseignez l’adresse IP de la machine sur laquelle vous avez installé Mosquitto ainsi que le topic dans lequel vous voulez écrire les valeurs

Cliquez sur Save, attendez le reboot et reconnectez vous.

Allez maintenant dans Configuration et Configure Other

Cliquez sur Enable MQTT

Save, on attend le reboot et maintenant dernière manipulation sur le capteur.

On va dans Configure, Configure Logging

Dans Telemetry period, on choisi la période d’envoi des données (Ici 10 secondes)

Cliquez sur Save une dernière fois. Voilà votre capteur est prêt!!!

Vous pouvez l’installer dans votre armoire électrique. Je vous conseille de le mettre derrière un disjoncteur dédié pour les 2 fils phase/neutre et mettre la boucle Tor sur la phase derrière le disjoncteur principal.

Voici ce que cela donne sur mon installation personnelle. On remet le capot

Maintenant, nous pouvons passer à la partie Jeedom pour visualiser.

Partie 4 : Visualisation dans Jeedom

Pour cette partie, nous passons sur Jeedom et nous devons télécharger le plugin JMQTT car c’est le seul qui décrypte correctement les informations envoyé par Tasmota

Faites la configuration comme indiqué dans la documentation.

Maintenant, allez dans le plugin et cliquez sur Ajouter un broker

Donnez lui un nom et cliquez sur ok. Vous devez avoir normalement cette page

Cliquez sur l’onglet Broker et renseignez l’adresse IP de l’installation de votre broker. Laissez Localhost si c’est sur la même machine.

Cliquez maintenant sur Sauvegarder et retournez sur le plugin.

Maintenant cliquez sur Inclusion

Attendez un moment et normalement vous verrez des équipements apparaitre.

Cliquez sur l’équipement qui vous intéresse.

Cocher activer et visible, renseignez aussi l’objet parent. Sauvegardez.

Maintenant allez dans l’onglet Commande, activez et historisez les commandes qui vous intéresse.

Voila maintenant allez sur voir si cela apparait correctement dans votre dashboard

Si vous voyez les chiffres bouger en temps réel, c’est que tout est ok.

Pour la visualisation comme la fréquence de rafraichissement est de 10 secondes pour moi, j’utilise InfluxDB et Grafana pour sotcker et visualiser les données.

Voici un exemple de ce que l’on retrouve.

Comme vous pouvez le voir, on obtient des informations plus précises de notre consommation d’énergie.

Si on rajoute à cela, les autres informations récupérables via le PZEM (Tension, Courant, Fréquence, Facteur de puissance, Puissance active, Puissance réactive et Puissance apparente), on se retrouve avec un outil formidable pour comprendre et maitriser sa consommation électrique.

J’espère que cette article vous aura plu et je vous souhaite de bonnes fêtes de fin d’année.

Jérôme Ferrari