PZEM004T

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

adv a écrit : 19 avr. 2020, 15:49 ....
1/ Comment est géré la reconnexion au Wifi ?
....

2/ As tu testé plusieurs jours consécutivement sans bug ?

....
Bon j'ai testé la coupure du wifi avec celui qui est en cablâge :
Coupure courte ça se reconnecte et coupure longue aussi (en tout cas chez moi, je n'utilise pas le wifi de la box mais un routeur sous OpenWrt)

Le proto tourne toujours sans problème depuis 2 jours (pas de reprog ni coupure)

A+
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

Bonjour
J'ai changé mon fusil d'épaule pour les LED et est ajouté une résistance (c'était trop flashy) de 330 ohm par groupe (TX RX) 1 seule LED étant allumée par groupe.

Et les photos finale du montage
Pièces jointes
20200421_110925.jpg
20200421_110925.jpg (2.22 Mio) Consulté 7008 fois
20200421_110907.jpg
20200421_110907.jpg (2.46 Mio) Consulté 7008 fois
Cablage 2.png
Cablage 2.png (620.83 Kio) Consulté 7008 fois
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

Comme pour le sujet DS18B20 sur 1 seule GPIO j'ai modifier la librairie WifiClient par ESP8266HTTPClient et créer des fonctions

#include <PZEM004Tv30.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>

HTTPClient domoticz_client;

//Variables
const char* ssid ="NomsduWifi";//SSID du Wifi
const char* password = "MotsdePasse";//Mot de passe du Wifi
const char* NameLan = "PZEMx3";//Nom sur le réseau
const String AdrIP = "192.168.x.x";//Adresse IP de domoticz
const int Portdz = 8080;//Port de domoticz
//Temps d'attente entre 2 mesures
const int Temps = 5;//5 = 5 secondes
//Boucles
int Boucle;//Ne pas toucher
float Data;//Ne pas toucher
int IDX;//Ne pas toucher
String DataInput;//Ne pas toucher
int TempsActuel = Temps;//Ne pas toucher
//IDX des recepteurs dans domoticz
//D0 GPIO 16
const int EntreeActive = 1;//0= entrée inactive 1=entrée active
int StatusInput;//Ne pas toucher
String Control;//Ne pas toucher
const int IDXI1 = 106;//IDX de l'interrupteur
//D8 GPIO 15
const int RaZActif = 1;//0= RaZ inactif 1=RaZ actif
//PZEM004T n°1
const int IDX1A = 274;//IDX PZEM004T n°1 Tension (General Voltage) ou 0 si pas utilisé
const int IDX2A = 275;//IDX PZEM004T n°1 Intensité (General Current) ou 0 si pas utilisé
const int IDX3A = 276;//IDX PZEM004T n°1 Puissance (Usage Electric) ou 0 si pas utilisé
const int IDX4A = 277;//IDX PZEM004T n°1 Energie (General Custom Sensor KWh) ou 0 si pas utilisé
const int IDX5A = 278;//IDX PZEM004T n°1 Fréquence (General Custom Sensor Hz) ou 0 si pas utilisé
const int IDX6A = 279;//IDX PZEM004T n°1 Facteur de puissance (General Custom Sensor Cos Phi) ou 0 si pas utilisé
//PZEM004T n°2
const int PZEM2Actif = 1;//0= PZEM004T n°2 inactif 1=actif
const int IDX1B = 280;//IDX PZEM004T n°2 Tension (General Voltage) ou 0 si pas utilisé
const int IDX2B = 281;//IDX PZEM004T n°2 Intensité (General Current) ou 0 si pas utilisé
const int IDX3B = 282;//IDX PZEM004T n°2 Puissance (Usage Electric) ou 0 si pas utilisé
const int IDX4B = 283;//IDX PZEM004T n°2 Energie (General Custom Sensor KWh) ou 0 si pas utilisé
const int IDX5B = 284;//IDX PZEM004T n°2 Fréquence (General Custom Sensor Hz) ou 0 si pas utilisé
const int IDX6B = 285;//IDX PZEM004T n°2 Facteur de puissance (General Custom Sensor Cos Phi) ou 0 si pas utilisé
//PZEM004T n°3
const int PZEM3Actif = 1;//0= PZEM004T n°3 inactif 1=actif
const int IDX1C = 286;//IDX PZEM004T n°3 Tension (General Voltage) ou 0 si pas utilisé
const int IDX2C = 287;//IDX PZEM004T n°3 Intensité (General Current) ou 0 si pas utilisé
const int IDX3C = 288;//IDX PZEM004T n°3 Puissance (Usage Electric) ou 0 si pas utilise
const int IDX4C = 289;//IDX PZEM004T n°3 Energie (General Custom Sensor KWh) ou 0 si pas utilisé
const int IDX5C = 290;//IDX PZEM004T n°3 Fréquence (General Custom Sensor Hz) ou 0 si pas utilisé
const int IDX6C = 291;//IDX PZEM004T n°3 Facteur de puissance (General Custom Sensor Cos Phi) ou 0 si pas utilisé
Pièces jointes
PZEM004Tx3TorRaz.zip
(3.08 Kio) Téléchargé 327 fois
lecanard38
Messages : 34
Inscription : 26 avr. 2019, 16:20

Re: PZEM004T

Message par lecanard38 »

Bonjour,
J'ai réalisé ce montage avec pour l'instant 1 seul pzem et tout fonctionne correctement même après coupure générale.
Cependant, j'aurais une petite question :
J'ai branché le tore du pzem à la sortie du compteur.
Je suis équipé de panneau photovoltaïques et la puissance affiché m'indique toujours une puissance positive alors que de temps en temps je produit plus que je ne consomme.
n'y aurait-il pas moyen d'avoir le sens du courant ?
Exemple :
Je consomme 1000w au total.
Je produis 1300w au panneaux. (J'ai l'info)
Le linky m'affiche consommation 0
Le Pzem m'affiche 300W mais ce sont des Watts dans l'autre sens.
Je ne sais pas si je suis clair dans mes explications mais j'espère que vous comprenez la démarche.
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

Salut
Il est possible de connaitre le sens du courant au prix d'un petite modif des pzem : récupérer l'info sur la puce du pzem et par l'intermédiaire d'un optocoupleur (817 par ex) récupérer l'info sur l'ESP, il faudra alors multiplier la valeur Watt et courant par -1.
Pour l’énergie consommé par contre ...
Je suis aussi en train de voir pour modifier le programme et le câblage car il est possible de n'utiliser qu'un seule RX et 3 TX (les 3 pzem n'étant interrogés que les uns après les autres)
Pièces jointes
Direction courant pzem.png
Direction courant pzem.png (205.39 Kio) Consulté 6885 fois
lecanard38
Messages : 34
Inscription : 26 avr. 2019, 16:20

Re: PZEM004T

Message par lecanard38 »

Super merci pour l'info. Je pense que ça va intéresser tous les producteurs photovoltaique en autoconsommation. C'est une bonne base pour faire du delestage en cas de surproduction.
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

VBill a écrit : 05 mai 2020, 21:12 Salut
Il est possible de connaitre le sens du courant au prix d'un petite modif des pzem : récupérer l'info sur la puce du pzem et par l'intermédiaire d'un optocoupleur (817 par ex) récupérer l'info sur l'ESP, il faudra alors multiplier la valeur Watt et courant par -1.
Pour l’énergie consommé par contre ...
Je suis aussi en train de voir pour modifier le programme et le câblage car il est possible de n'utiliser qu'un seule RX et 3 TX (les 3 pzem n'étant interrogés que les uns après les autres)
Bon et bien comme dirait l'autre : ça c'était avant, cette astuce fonctionne sur les anciennes version de pzem-004t à base de SD3004, j'ai voulu regarder pour modifier les miens et .... les V3 sont à base de V9881D donc c'est mort.
Je cherche la datasheet du V9881D si quelqu'un là car je ne la trouve pas sur le net ou que des liens morts...
lecanard38
Messages : 34
Inscription : 26 avr. 2019, 16:20

Re: PZEM004T

Message par lecanard38 »

Bonjour,
J'ai trouvé ça :
https://innovatorsguru.com/wp-content/u ... Manual.pdf
Mais je ne pense pas que ça va t'avancer d'avantage.
Je cherche....
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: PZEM004T

Message par adv »

Hello, nan nan il veut le datasheet du composant, pas le protocole de comm du module entier. ;)
J'ai regardé ce matin aussi et pas trouvé... :(
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
VBill
Messages : 86
Inscription : 26 janv. 2019, 16:43

Re: PZEM004T

Message par VBill »

J'ai fait une demande chez vango, on verra bien
Répondre