[NodeMCU] Un wattmètre connecté à Domoticz pour environ 10€

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par adv »

Merci pour ta contribution, c'est un excellent travail !!!

J'avais déjà vu ce module chez Ali mais désespérait de pouvoir le voir fonctionner avec Domoticz. ;)

Je crois que je vais passer commande !

A+
Raspberry pi 3 - Domoticz 2024.4 | Piface v.2 + Téléinfo + RFXtrx433E
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
digdogger
Messages : 213
Inscription : 16 juil. 2017, 09:21

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par digdogger »

vinz973 a écrit :
digdogger a écrit :
vinz973 a écrit :
Salut digdogger
desoler mais je n'arrive pas a obtenir ton erreur est tu sous une version superieur a arduino 1.6.6
essaye les exemple dans PZEM004T
Oui, je suis en 1.8.2 mais j'ai essayé avec un PC qui lui est en 1.6.4 et même problème.
Les exemples ne compilent pas non plus. La librairie du PZE a été mise à jour le 5 août dernier, tu utilises bien la dernière?
j'ai essayé avec la version du 05 août et effectivement j'ai le même message d'erreur
moi j'utilise un version antérieur ,essaye de recompiler avec cette version

Salut vinz973,
avec cette librairie, çà compile impeccable.
Merci. Je commande de suite le matériel.

NB: pour ceux qui trouvent le PZEM004T pas très safe, il y a un tuto pour le modifier pour l'utiliser en toute sécurité:
https://forum.arduino.cc/index.php?topic=435594.0
Raspberry Pi 3 + Raspbian Jessie Lite + Domoticz V4.9700 - RFlink USB V48 433.42MHz - Volets Somfy RTS - MySensors USB V2.1.1 - IDE Arduino 1.8.8
vinz973
Messages : 31
Inscription : 30 août 2017, 13:50

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par vinz973 »

Il est installé sur mon tableau général depuis 8 mois et la différence d'énergie(kWh) relevé entre le compteur EDF et le PZEM est inférieur à 4% ce qui pour du comptage est très bon

quelque valeur:
Pmax mesuré : 7,6 kW
Imax mesuré : 34,5 A
Tension généralement entre 230 et 236V
Thierry_06
Messages : 167
Inscription : 02 janv. 2017, 11:02
Localisation : Alpes maritimes

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par Thierry_06 »

Bonsoir

pour Vinz973

tout d'abord Félicitation pour le tuto ...... mais plusieurs questions

1er ) Si je regarde le schéma et la photo du câblage entre le PZM004 et le NodeMCU , il y a deux fils qui me chagrinent . Le VCC et le gnd qui partent du PZM et qui vont sur deux pins du NodeMCU qui sont rsv et rsv et non gnd et VV.
Image4.jpg
Image4.jpg (100.69 Kio) Consulté 11717 fois
Ou doit on brancher ces deux fils .

2eme ) Ces deux fils venant du PZM alimentent ils le NodeMCU ? ou faut il une alimentation 5V pour le NodeMCU

3eme ) Sur mon PZM quand il est sous tension (220V ) je n'ai pas de courant entre les pin 1 et 4 ( 5v et gnd )
=> mon exemplaire de PZM défectueux ?

Merci d'avance pour mon montage
Mon installation Pi4+ OS Raspbian
Rfxcom(pour VR Somfy)+ 2 Zigbee 3.0 USB dongle Plus(Sonoff) + Esp12(avec sonde ds1820/GY30 + Tasmota)
vinz973
Messages : 31
Inscription : 30 août 2017, 13:50

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par vinz973 »

Bonsoir Thierry_06

Le NodeMCU doit obligatoirement être alimenté par la prise USB.
C'est le NodeMCU qui alimentera l’électronique du PZEM (qui a besoin de 5V) par les pin Ground et VU (USB Power Output)

il semble que sur ton modèle de NodeMCU c'est les 2 pin RSV
Si tu a un voltmètre vérifie qu'entre les 2 borne (RSV) tu as 5V sinon essaye entre 1 RSV et un ground ou l'autre pin RSV et un ground

voici le schéma des pin sur ma version du nodemcu on voit bien le gnd et le VU qui fournissent le 5V a mon PZEM
http://ouilogique.com/files/2015-05-28- ... pinout.jpg
Thierry_06
Messages : 167
Inscription : 02 janv. 2017, 11:02
Localisation : Alpes maritimes

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par Thierry_06 »

Merci pour ta prompte reponse.
Ca me permet de mieux comprendre le montage.
Ce serait peut etre utile de rajouter les 3 premieres lignes de ta reponse dans ton tuto , comme cela il serait parfait ;)
Mon installation Pi4+ OS Raspbian
Rfxcom(pour VR Somfy)+ 2 Zigbee 3.0 USB dongle Plus(Sonoff) + Esp12(avec sonde ds1820/GY30 + Tasmota)
vinz973
Messages : 31
Inscription : 30 août 2017, 13:50

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par vinz973 »

Modif effectué dans le tuto
aleph0
Messages : 328
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par aleph0 »

Salut ! Et merci pour ce superbe tuto :) Il va ouvrir plein de perspectives :)

J'ai déjà joué avec des wemos et espeasy, mais suis un noob sur le nodemcu et leur programmation. Du coup j'ai qqes questions avant de me lancer :
- ton tuto marcherai-t'il avec une wemos d1 ou utilises-tu des caractéristiques que les nodemcu ont en plus par rapport à la wemos ?
- un nodemcu permet-il d'utiliser du 5V sur les entrées D1, D2... au lieu du 3.3V ? ou alors le PZEM permet-il de communiquer en 3.3V sur les pins RX et TX ?
- sur ton schema tu utilises les bornes D1 et D2 du node mcu, et non les bornes RX et TX ; avec un peu d'adaptation du sktech, serait-il possible de connecter plusieurs PZEM sur le même nodemcu/wemos ? (je suis en triphasé à la maison, j'aimerai en avoir 3 :) )
- Qu'est-ce que le paramètre IPAddress ip(192,168,1,1); en ligne 12 de ton sktech ?
ericd
Messages : 157
Inscription : 24 janv. 2017, 11:04
Localisation : Toulouse

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par ericd »

aleph0 a écrit :Salut ! Et merci pour ce superbe tuto :) Il va ouvrir plein de perspectives :)

J'ai déjà joué avec des wemos et espeasy, mais suis un noob sur le nodemcu et leur programmation. Du coup j'ai qqes questions avant de me lancer :
- ton tuto marcherai-t'il avec une wemos d1 ou utilises-tu des caractéristiques que les nodemcu ont en plus par rapport à la wemos ?
- un nodemcu permet-il d'utiliser du 5V sur les entrées D1, D2... au lieu du 3.3V ? ou alors le PZEM permet-il de communiquer en 3.3V sur les pins RX et TX ?
- sur ton schema tu utilises les bornes D1 et D2 du node mcu, et non les bornes RX et TX ; avec un peu d'adaptation du sktech, serait-il possible de connecter plusieurs PZEM sur le même nodemcu/wemos ? (je suis en triphasé à la maison, j'aimerai en avoir 3 :) )
- Qu'est-ce que le paramètre IPAddress ip(192,168,1,1); en ligne 12 de ton sktech ?
Wemos et nodeMCU (c'est pareil) .

Il me semble que c'est en 3.3V sur les ports, c'est ESP8266 qui impose ça !!!!

Sur le papier plusieurs PZEM => Oui car les ports peuvent plusieurs fonctions

https://projetsdiy.fr/wemos-d1-mini-esp8266-test/

Ericd
vinz973
Messages : 31
Inscription : 30 août 2017, 13:50

Re: [NodeMCU]Un wattmètre connecté à Domoticz pour environ 10€

Message par vinz973 »

aleph0 a écrit :Salut ! Et merci pour ce superbe tuto :) Il va ouvrir plein de perspectives :)

- sur ton schema tu utilises les bornes D1 et D2 du node mcu, et non les bornes RX et TX ; avec un peu d'adaptation du sktech, serait-il possible de connecter plusieurs PZEM sur le même nodemcu/wemos ? (je suis en triphasé à la maison, j'aimerai en avoir 3 :) )
- Qu'est-ce que le paramètre IPAddress ip(192,168,1,1); en ligne 12 de ton sktech ?
j'ai fais quelque essai pour adapter le code exemple "PZEMDisplay" pour 3 PZEM sur 1 NodeMCU
mais comme je n'avais qu'1 PZEM004T dispo je déplaçait les câbles sur les différente pin du NodeMCU

Code : Tout sélectionner

#include <SoftwareSerial.h> // Arduino IDE <1.6.6
#include <PZEM004T.h>

PZEM004T pzem(5,4);    // D1 D2
PZEM004T pzem1(0,2);    // D3 D4
PZEM004T pzem2(14,12);  // D5 D6
IPAddress ip(192,168,1,1);


void setup() {
  Serial.begin(9600);
  pzem.setAddress(ip);
  pzem1.setAddress(ip);
  pzem2.setAddress(ip);
}

void loop() {

  Serial.print("PZEM 0 ");
  float v = pzem.voltage(ip);
  if (v < 0.0) {v = 0.0;}
  else{  
  Serial.print(v);Serial.print("V; ");
  float i = pzem.current(ip);
  if(i >= 0.0){ Serial.print(i);Serial.print("A; "); }  
  float p = pzem.power(ip);
  if(p >= 0.0){ Serial.print(p);Serial.print("W; "); }  
  delay(100);
  float e = pzem.energy(ip);
  if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); }  
  }
  Serial.println();
  delay(1000);
  
  Serial.print("PZEM 1 ");
  float v1 = pzem1.voltage(ip);
  if (v1 < 0.0) {v1 = 0.0;}
  else {
  Serial.print(v1);Serial.print("V; ");
  float i1 = pzem1.current(ip);
  if(i1 >= 0.0){ Serial.print(i1);Serial.print("A; "); }  
  float p1 = pzem1.power(ip);
  if(p1 >= 0.0){ Serial.print(p1);Serial.print("W; "); }
  delay(100);  
  float e1 = pzem1.energy(ip);
  if(e1 >= 0.0){ Serial.print(e1);Serial.print("Wh; "); }  
  }
  Serial.println();
  delay(1000);
  
  Serial.print("PZEM 2 ");
  float v2 = pzem2.voltage(ip);
  if (v2 < 0.0) {v2 = 0.0;}
  else{
  Serial.print(v2);Serial.print("V; ");
  float i2 = pzem2.current(ip);
  if(i2 >= 0.0){ Serial.print(i2);Serial.print("A; "); }  
  float p2 = pzem2.power(ip);
  if(p2 >= 0.0){ Serial.print(p2);Serial.print("W; "); }
  delay(100);  
  float e2 = pzem2.energy(ip);
  if(e2 >= 0.0){ Serial.print(e2);Serial.print("Wh; "); }  
  }
  Serial.println();
  
  delay(1000);
}
ça fonctionne tu garde le même ip pour tous le PZEM

reste plus qu'a adapté le code tuto
Répondre