Support for PZEM 004T Energy monitor
Moderators: grovkillen, Stuntteam, TD-er
-
- New user
- Posts: 2
- Joined: 24 Jan 2018, 22:57
Re: Support for PZEM 004T Energy monitor
I've a current charge, in icon pezm1 I've 0.24A
but nothing in Energie and Power
Some idear?
but nothing in Energie and Power
Some idear?
Re: Support for PZEM 004T Energy monitor
off course :
just like this but gnd and vcc on the wemos d1 mini
i tried D5-D6 and TX-RX -> same issue
just like this but gnd and vcc on the wemos d1 mini
i tried D5-D6 and TX-RX -> same issue
Re: Support for PZEM 004T Energy monitor
Para los que teneis errores en la lectura, debeis modificar en la libreria espsoftwareserial-3.2.3 , el fichero SoftwareSerial.cpp la siguiente linea:
por esta otra:
For those who have errors in reading, you must modify in the library espsoftwareserial-3.2.3, the SoftwareSerial.cpp file the following line:
for this other:
Code: Select all
unsigned long wait = m_bitTime + m_bitTime/3 - 500;
Code: Select all
unsigned long wait = m_bitTime + m_bitTime/2 - 500;
For those who have errors in reading, you must modify in the library espsoftwareserial-3.2.3, the SoftwareSerial.cpp file the following line:
Code: Select all
unsigned long wait = m_bitTime + m_bitTime / 3 - 500;
for this other:
Code: Select all
unsigned long wait = m_bitTime + m_bitTime / 2 - 500;
-
- New user
- Posts: 5
- Joined: 22 Mar 2018, 08:03
Re: Support for PZEM 004T Energy monitor
Hi,
Please forgive me but I'm new.
I have ESP12 and PZEM004 that I successfully used for one year sending data to ThingSpeak.
Now I have Demoticz system + ESPEasy. And I woudl like to add this energy meter to my system.
I downloaded bin file from:
download/file.php?id=1760
and uploaded to my ESP12.
Everything is OK beside reading of energy meter values, all are -1.
I think everything is OK from HW side but as I can see I have problem with correct settings of RX, TX lines in ESPeasy SW.
According to the doc I should use GPIO1 and GPIO3. But these lines are inactive in ESPeasy SW.
Could you help me in this case?
Please forgive me but I'm new.
I have ESP12 and PZEM004 that I successfully used for one year sending data to ThingSpeak.
Now I have Demoticz system + ESPEasy. And I woudl like to add this energy meter to my system.
I downloaded bin file from:
download/file.php?id=1760
and uploaded to my ESP12.
Everything is OK beside reading of energy meter values, all are -1.
I think everything is OK from HW side but as I can see I have problem with correct settings of RX, TX lines in ESPeasy SW.
According to the doc I should use GPIO1 and GPIO3. But these lines are inactive in ESPeasy SW.
Could you help me in this case?
-
- New user
- Posts: 5
- Joined: 22 Mar 2018, 08:03
Re: Support for PZEM 004T Energy monitor
Could you help me in this case?
-
- New user
- Posts: 5
- Joined: 22 Mar 2018, 08:03
Re: Support for PZEM 004T Energy monitor
Hi,
Problem solved. Works grate!!! The problem was that my PCB was configured for use UART0 (GPIO1..3).
When I changed do 13-15 everything is OK.
But I wonder why the Voltage measurement is such unstalble ( I get -1 in most readings).
Any ideas? Update rate is 1min
Problem solved. Works grate!!! The problem was that my PCB was configured for use UART0 (GPIO1..3).
When I changed do 13-15 everything is OK.
But I wonder why the Voltage measurement is such unstalble ( I get -1 in most readings).
Any ideas? Update rate is 1min
Re: Support for PZEM 004T Energy monitor
Hello from yesterday I trying to configure PZEM 004 with ESP.
Everything is fine but some of the values are not correct. I mean the power is incorrect.
As you can see from screenshot ESP shows power 22W but should be 236.4 V * 0.18A = 42.55 W.
Can you tell me please how I can solve this issue?
I tried with formulas but without success.
Regards
Everything is fine but some of the values are not correct. I mean the power is incorrect.
As you can see from screenshot ESP shows power 22W but should be 236.4 V * 0.18A = 42.55 W.
Can you tell me please how I can solve this issue?
I tried with formulas but without success.
Regards
Re: Support for PZEM 004T Energy monitor
With this module the ESPEasy plugin does nothing but fetching the numbers from the module and use them as they are.drfranky wrote: ↑02 Apr 2018, 14:47 Hello from yesterday I trying to configure PZEM 004 with ESP.
Everything is fine but some of the values are not correct. I mean the power is incorrect.
As you can see from screenshot ESP shows power 22W but should be 236.4 V * 0.18A = 42.55 W.
Can you tell me please how I can solve this issue?
I tried with formulas but without success.
Regards
There's no calculation beside the ones done by the PZEM-004T itselft, so i can only guess the module you have does not work properly...
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
Re: Support for PZEM 004T Energy monitor
I'm not (yet) familiar with the module. But is it possible the power in Watt is correct and also the current and voltage, but that there is some cos-phi acting up here?papperone wrote: ↑02 Apr 2018, 18:24With this module the ESPEasy plugin does nothing but fetching the numbers from the module and use them as they are.drfranky wrote: ↑02 Apr 2018, 14:47 Hello from yesterday I trying to configure PZEM 004 with ESP.
Everything is fine but some of the values are not correct. I mean the power is incorrect.
As you can see from screenshot ESP shows power 22W but should be 236.4 V * 0.18A = 42.55 W.
Can you tell me please how I can solve this issue?
I tried with formulas but without success.
Regards
There's no calculation beside the ones done by the PZEM-004T itselft, so i can only guess the module you have does not work properly...
What kind of load is connected to the sensor? Something with a true resistive load, like a heating element or something with an inductive load like an elektro motor or some switching power supply?
Re: Support for PZEM 004T Energy monitor
Hi,TD-er wrote: ↑02 Apr 2018, 22:32I'm not (yet) familiar with the module. But is it possible the power in Watt is correct and also the current and voltage, but that there is some cos-phi acting up here?papperone wrote: ↑02 Apr 2018, 18:24With this module the ESPEasy plugin does nothing but fetching the numbers from the module and use them as they are.drfranky wrote: ↑02 Apr 2018, 14:47 Hello from yesterday I trying to configure PZEM 004 with ESP.
Everything is fine but some of the values are not correct. I mean the power is incorrect.
As you can see from screenshot ESP shows power 22W but should be 236.4 V * 0.18A = 42.55 W.
Can you tell me please how I can solve this issue?
I tried with formulas but without success.
Regards
There's no calculation beside the ones done by the PZEM-004T itselft, so i can only guess the module you have does not work properly...
What kind of load is connected to the sensor? Something with a true resistive load, like a heating element or something with an inductive load like an elektro motor or some switching power supply?
The load is power supply for my laptop. There is no cos-phi variable.
I tried to fix this with formulas in Easyesp but I don't know what is the variable for Voltage and Current in the fields.
Regards
Re: Support for PZEM 004T Energy monitor
All the calculations are performed by the module itself, the plugin is simply reading data trough softserial and update the device variables.
As in my 2 modules the data are reported correcly (as in some of the screenshot I posted previously) and not knowing any calibration is possible with those devices, I see as only diagnosys that this module is faulty....
As in my 2 modules the data are reported correcly (as in some of the screenshot I posted previously) and not knowing any calibration is possible with those devices, I see as only diagnosys that this module is faulty....
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
Re: Support for PZEM 004T Energy monitor
The cos phi is the phase shift between voltage and current.
So it is perfectly acceptable when the power in Watt is lower than the power in VA. It simply mean the cos phi is not 1 and thus there is a phase shift.
A switching power supply without power factor correction (essentially eliminating cos phi phase shift) usually has a cos phi of about 0.6, which means that a power of 100 VA results in 0.6*100 = 60 Watt.
Please try the measurement with something with a resistive load, like an oldfashioned glowing light bulb or a heating element and you'll see the power in Watt equals voltage * current.
For inductive loads (that result in a phase shift of current) the cos phi will be less than 1 and thus the power in Watt is lower than V * A.
With a cos phi of 1, the sinus of Voltage and the sinus of current are perfectly in sync. That means the current is 0 when voltage is 0 and max when voltage is max.
With inductive loads, the sinus of the current will shift a little, meaning the peak of the current is not at the moment of the voltage peak.
And with switching power supplies the curve of the current is not even a sinus anymore and its peak is very unlikely to be at the peak of the voltage.
In short:
V * A = VA
V * A * cos phi = Watt.
On electric motors, you often see a cos phi mentioned.
So it is perfectly acceptable when the power in Watt is lower than the power in VA. It simply mean the cos phi is not 1 and thus there is a phase shift.
A switching power supply without power factor correction (essentially eliminating cos phi phase shift) usually has a cos phi of about 0.6, which means that a power of 100 VA results in 0.6*100 = 60 Watt.
Please try the measurement with something with a resistive load, like an oldfashioned glowing light bulb or a heating element and you'll see the power in Watt equals voltage * current.
For inductive loads (that result in a phase shift of current) the cos phi will be less than 1 and thus the power in Watt is lower than V * A.
With a cos phi of 1, the sinus of Voltage and the sinus of current are perfectly in sync. That means the current is 0 when voltage is 0 and max when voltage is max.
With inductive loads, the sinus of the current will shift a little, meaning the peak of the current is not at the moment of the voltage peak.
And with switching power supplies the curve of the current is not even a sinus anymore and its peak is very unlikely to be at the peak of the voltage.
In short:
V * A = VA
V * A * cos phi = Watt.
On electric motors, you often see a cos phi mentioned.
Re: Support for PZEM 004T Energy monitor
Hi All,
Have flashed a wemos D1 mini and a nodemcu module with the firmware build posted on this thread (ESPEasy-2.0.0-dev12_test_4096.bin.zip) with the same results.
All options can be configured with no issues until selecting the PZEM004 as a device and configuring GPIO's and pressing submit radio button the device becomes unresponsive,no reply to ping after this.
A reboot will show all -1 values under devices,pages are very slow to open in browser.
Have powered ESP8266 from PC's USB port as well as a mobile phone charger so do not think 5 volt power is a problem.
PZEM module works perfectly when tested on an arduino and on ESP8266 using enode firmware file after doing R17 resistor mod for 3v3 operation.
Is there a fix for this or a later build of ESPeasy that supports the PZEM-004 module ?
Thanks
Dave
Have flashed a wemos D1 mini and a nodemcu module with the firmware build posted on this thread (ESPEasy-2.0.0-dev12_test_4096.bin.zip) with the same results.
All options can be configured with no issues until selecting the PZEM004 as a device and configuring GPIO's and pressing submit radio button the device becomes unresponsive,no reply to ping after this.
A reboot will show all -1 values under devices,pages are very slow to open in browser.
Have powered ESP8266 from PC's USB port as well as a mobile phone charger so do not think 5 volt power is a problem.
PZEM module works perfectly when tested on an arduino and on ESP8266 using enode firmware file after doing R17 resistor mod for 3v3 operation.
Is there a fix for this or a later build of ESPeasy that supports the PZEM-004 module ?
Thanks
Dave
Re: Support for PZEM 004T Energy monitor
Thank you maluko.
Will compile this and test it.
Only need MQTT functionality !
Will compile this and test it.
Only need MQTT functionality !
Re: Support for PZEM 004T Energy monitor
I suspect that you pull all wires of the cable throught current transformer, but need only one of them.
Re: Support for PZEM 004T Energy monitor
Hello, i am completely new and lost too.
I try to link a Pezm-004t with a wemos D1 R2 board.
my goals are monitoring my energy consumption, diverting the current i don't use at any moment, with some opto couplers relays, and data-log the currrent from my solar panels.
at the very moment :
i link the Pzem-004t to a source with a load. i have 235 volts on the curent input, and the coil on pin 3 4.
RX,Tx from Pzem are connected to TX,RX on Wemos D1R2 pin 8 9.ground to GND, and 5V (Pzem) to 5V (Wemos).
Running the PzemDisplay example(modified with PZEM004T pzem(8 ,9); // (RX,TX) connect to TX,RX of PZEM)
i have allways -1.00V , with RX,TX connected or not.
at this time, i have no idea about what i may try to have results.
Please, do you have any idea?
Best regards
I try to link a Pezm-004t with a wemos D1 R2 board.
my goals are monitoring my energy consumption, diverting the current i don't use at any moment, with some opto couplers relays, and data-log the currrent from my solar panels.
at the very moment :
i link the Pzem-004t to a source with a load. i have 235 volts on the curent input, and the coil on pin 3 4.
RX,Tx from Pzem are connected to TX,RX on Wemos D1R2 pin 8 9.ground to GND, and 5V (Pzem) to 5V (Wemos).
Running the PzemDisplay example(modified with PZEM004T pzem(8 ,9); // (RX,TX) connect to TX,RX of PZEM)
i have allways -1.00V , with RX,TX connected or not.
at this time, i have no idea about what i may try to have results.
Please, do you have any idea?
Best regards
-
- New user
- Posts: 5
- Joined: 22 Mar 2018, 08:03
Re: Support for PZEM 004T Energy monitor
I wonder how can I use 3 phase measurements.
The best would be to use one ESP module and use address of 3 PZEM modules. But fist thing is to set address to each module for each phase.
As I can see Espeasy FW dosn't support using of 3 modules or using of different address. Do you have any idea how can we find solutuion for 3 phase measurements?
The best would be to use one ESP module and use address of 3 PZEM modules. But fist thing is to set address to each module for each phase.
As I can see Espeasy FW dosn't support using of 3 modules or using of different address. Do you have any idea how can we find solutuion for 3 phase measurements?
Re: Support for PZEM 004T Energy monitor
Yes... but I stopped at 2 modules because I didn't like the solution I programmed... I need to work again on this subject
-
- New user
- Posts: 5
- Joined: 22 Mar 2018, 08:03
Re: Support for PZEM 004T Energy monitor
When do you think, you finish new version of FW to handle 3 PZEM modules?
Re: Support for PZEM 004T Energy monitor
Hello,
I'm trying to compile last ESPeasy V2.0 release (ESPEasy-2.0-20180510) but I'm getting the same errors as #71 http://www.letscontrolit.com/forum/view ... 585#p22585.
Did anyone solve this issue? How to compile this plug in under the latest releases of ESPeasy software?
Thanks in advance,
I'm trying to compile last ESPeasy V2.0 release (ESPEasy-2.0-20180510) but I'm getting the same errors as #71 http://www.letscontrolit.com/forum/view ... 585#p22585.
Did anyone solve this issue? How to compile this plug in under the latest releases of ESPeasy software?
Thanks in advance,
Re: Support for PZEM 004T Energy monitor
i am also getting same error -1 randomely inbetween 1 minute readings... did you solved it ? what was the issue ? can you share ?Raspi_0x00 wrote: ↑27 Mar 2018, 11:24 Hi,
Problem solved. Works grate!!! The problem was that my PCB was configured for use UART0 (GPIO1..3).
When I changed do 13-15 everything is OK.
But I wonder why the Voltage measurement is such unstalble ( I get -1 in most readings).
Any ideas? Update rate is 1min
Re: Support for PZEM 004T Energy monitor
I have two pzem connected to my wemos ; I've also got this problem on one of them I never understood what was the cause, I simply ignore wrong reading in domoticz. Not very satisfying, but enough for my purpose
Re: Support for PZEM 004T Energy monitor
Do you think its related to software library of arduino ? or TTL 5V to 3.3V Converter issue ?
Re: Support for PZEM 004T Energy monitor
I don't think so as the 2 pzem are connected on the same module, so same software library ; I also don't use any converters and connected 5V to GPIO directly. This is not conventional but I wanted to make a test and it's working 24/7 since last november, so I think it's safe enough
It's something related to either the pzem itselft, or the GPIO used to connect them. But as my setup is now kinda "in production" I cannot make any tests anymore
I plan to buy some more for another equipment, it'll give me another testing possibility. But it'll be in a month or so
Re: Support for PZEM 004T Energy monitor
Dear all,
i have tried to compile the _P171_PZEM-004T.ino plugin (last version 8 months ago) and I get some errors and warnings:
lib/AS_BH1750/AS_BH1750A.cpp: In member function 'bool AS_BH1750A::startMeasurementAsync(TimeFuncPtr)':
lib/AS_BH1750/AS_BH1750A.cpp:518:7: warning: unused variable '_lastResult' [-Wunused-variable]
int _lastResult = -1;
^
lib/AS_BH1750/AS_BH1750A.cpp: In member function 'bool AS_BH1750A::delayExpired()':
lib/AS_BH1750/AS_BH1750A.cpp:533:19: warning: comparison between signed and unsigned integer expressions [-Ws
ign-compare]
if (timestamp < _lastTimestamp)
^
lib/AS_BH1750/AS_BH1750A.cpp:536:45: warning: statement has no effect [-Wunused-value]
delayTime = MAX_U_LONG - _lastTimestamp + timestamp;
^
lib/AS_BH1750/AS_BH1750A.cpp:542:24: warning: comparison between signed and unsigned integer expressions [-Ws
ign-compare]
return (delayTime >= _nextDelay);
ESPEasy-mega-20180809/src/_P171_PZEM-004T.ino: In function 'boolean Plugin_171(byte, Eve
ntStruct*, String&)':
ESPEasy-mega-20180809/src/_P171_PZEM-004T.ino:69:68: error: too many arguments to functi
on 'void addFormNote(const String&)'
addFormNote(string, F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
^
ESPEasy-mega-20180809/src/WebServer.ino:2788:6: note: declared here
void addFormNote(const String& text)
Could anybody help me with these issues?
i have tried to compile the _P171_PZEM-004T.ino plugin (last version 8 months ago) and I get some errors and warnings:
lib/AS_BH1750/AS_BH1750A.cpp: In member function 'bool AS_BH1750A::startMeasurementAsync(TimeFuncPtr)':
lib/AS_BH1750/AS_BH1750A.cpp:518:7: warning: unused variable '_lastResult' [-Wunused-variable]
int _lastResult = -1;
^
lib/AS_BH1750/AS_BH1750A.cpp: In member function 'bool AS_BH1750A::delayExpired()':
lib/AS_BH1750/AS_BH1750A.cpp:533:19: warning: comparison between signed and unsigned integer expressions [-Ws
ign-compare]
if (timestamp < _lastTimestamp)
^
lib/AS_BH1750/AS_BH1750A.cpp:536:45: warning: statement has no effect [-Wunused-value]
delayTime = MAX_U_LONG - _lastTimestamp + timestamp;
^
lib/AS_BH1750/AS_BH1750A.cpp:542:24: warning: comparison between signed and unsigned integer expressions [-Ws
ign-compare]
return (delayTime >= _nextDelay);
ESPEasy-mega-20180809/src/_P171_PZEM-004T.ino: In function 'boolean Plugin_171(byte, Eve
ntStruct*, String&)':
ESPEasy-mega-20180809/src/_P171_PZEM-004T.ino:69:68: error: too many arguments to functi
on 'void addFormNote(const String&)'
addFormNote(string, F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
^
ESPEasy-mega-20180809/src/WebServer.ino:2788:6: note: declared here
void addFormNote(const String& text)
Could anybody help me with these issues?
Re: Support for PZEM 004T Energy monitor
The signed/unsigned warning can be ignored.
The errors in WebServer.ino are also quite simple to resolve.
The functions used there in the "PLUGIN_WEBFORM_LOAD" case no longer need the first parameter "string"
So just remove that parameter:
addFormNote(string, F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
Change it into:
addFormNote(F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
The errors in WebServer.ino are also quite simple to resolve.
The functions used there in the "PLUGIN_WEBFORM_LOAD" case no longer need the first parameter "string"
So just remove that parameter:
addFormNote(string, F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
Change it into:
addFormNote(F("SoftSerial: 1st=RX-Pin, 2nd=TX-Pin"));
Re: Support for PZEM 004T Energy monitor
I need to review this plugin in order to move it to the standard repository...
honestly still same issue, lack of time to improve it making it working with multiple devices (e.g. to monitor multiple lines or 3-phase AC).
honestly still same issue, lack of time to improve it making it working with multiple devices (e.g. to monitor multiple lines or 3-phase AC).
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone
Re: Support for PZEM 004T Energy monitor
yes, you are right, I already corrected the error regarding addFormNote function, but I am getting more errors after the warning
ESPeasySoftwareSerial.cpp:(.iram.text+0xd4): multiple definition of `sws_isr_0()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0xf8):
first defined here
.pioenvs/normal_ESP8266_1024/libc99/ESPEasySoftwareSerial/ESPeasySoftwareSerial.cpp.o: In function `sws_isr_1
()':
ESPeasySoftwareSerial.cpp:(.iram.text+0xec): multiple definition of `sws_isr_1()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0x110)
: first defined here
.pioenvs/normal_ESP8266_1024/libc99/ESPEasySoftwareSerial/ESPeasySoftwareSerial.cpp.o: In function `sws_isr_2
()':
ESPeasySoftwareSerial.cpp:(.iram.text+0x104): multiple definition of `sws_isr_2()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0x128)
: first defined here
collect2: error: ld returned 1 exit status
*** [.pioenvs/normal_ESP8266_1024/firmware.elf] Error 1
========================== [ERROR] Took 59.91 seconds ==========================
Environment normal_ESP8266_1024 [ERROR]
ESPeasySoftwareSerial.cpp:(.iram.text+0xd4): multiple definition of `sws_isr_0()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0xf8):
first defined here
.pioenvs/normal_ESP8266_1024/libc99/ESPEasySoftwareSerial/ESPeasySoftwareSerial.cpp.o: In function `sws_isr_1
()':
ESPeasySoftwareSerial.cpp:(.iram.text+0xec): multiple definition of `sws_isr_1()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0x110)
: first defined here
.pioenvs/normal_ESP8266_1024/libc99/ESPEasySoftwareSerial/ESPeasySoftwareSerial.cpp.o: In function `sws_isr_2
()':
ESPeasySoftwareSerial.cpp:(.iram.text+0x104): multiple definition of `sws_isr_2()'
.pioenvs/normal_ESP8266_1024/lib010/SoftwareSerial/SoftwareSerial.cpp.o:SoftwareSerial.cpp:(.iram.text+0x128)
: first defined here
collect2: error: ld returned 1 exit status
*** [.pioenvs/normal_ESP8266_1024/firmware.elf] Error 1
========================== [ERROR] Took 59.91 seconds ==========================
Environment normal_ESP8266_1024 [ERROR]
Re: Support for PZEM 004T Energy monitor
Hmm, that's very strange, I only got those errors when building the latest ESP32 code.
Try to run a "clean" build first before recompiling.
Try to run a "clean" build first before recompiling.
Re: Support for PZEM 004T Energy monitor
Thank you very much.
Yes, it is very strange. I have cleaned the project and compiled it again but no luck... I dont understand what it is going on. I am using last mega release.
Any other suggestion will be appreciated.
kind regards,
Yes, it is very strange. I have cleaned the project and compiled it again but no luck... I dont understand what it is going on. I am using last mega release.
Any other suggestion will be appreciated.
kind regards,
Re: Support for PZEM 004T Energy monitor
Hello everybody,
My energy measurement is operationnal by following this post and this one http://www.domoticz.com/forum/viewtopic ... 14&t=20820
I use an ESP8266_4096.
But I have a problem :
- if I boot my ESP connected to the PZEM. My ESP doesn't start (no effect if I push on RESET button),
- If I boot my ESP (not connected to the PZEM), this one start normaly and after i can connect the PZEM to the ESP and the Energy measurement is OK.
This problem is painful because if i have a power cut, my Energy measurement does not restart.
Can you help me ?
Thanks in advance.
My energy measurement is operationnal by following this post and this one http://www.domoticz.com/forum/viewtopic ... 14&t=20820
I use an ESP8266_4096.
But I have a problem :
- if I boot my ESP connected to the PZEM. My ESP doesn't start (no effect if I push on RESET button),
- If I boot my ESP (not connected to the PZEM), this one start normaly and after i can connect the PZEM to the ESP and the Energy measurement is OK.
This problem is painful because if i have a power cut, my Energy measurement does not restart.
Can you help me ?
Thanks in advance.
Re: Support for PZEM 004T Energy monitor
Maybe you connected the sensor to one of the pins needed to indicate the boot-mode?
For example GPIO0, which is connected to the "Flash" button on NodeMCU boards, will put the ESP into flash mode when pressed.
I can imagine the sensor will do the same when connected to that pin.
For example GPIO0, which is connected to the "Flash" button on NodeMCU boards, will put the ESP into flash mode when pressed.
I can imagine the sensor will do the same when connected to that pin.
Re: Support for PZEM 004T Energy monitor
I modified the GPIO pin : GPIO-12 and 13 instead of GPIO-14 and 15 and all is OK.Dim33 wrote: ↑29 Aug 2018, 00:16 Hello everybody,
My energy measurement is operationnal by following this post and this one http://www.domoticz.com/forum/viewtopic ... 14&t=20820
I use an ESP8266_4096.
But I have a problem :
- if I boot my ESP connected to the PZEM. My ESP doesn't start (no effect if I push on RESET button),
- If I boot my ESP (not connected to the PZEM), this one start normaly and after i can connect the PZEM to the ESP and the Energy measurement is OK.
This problem is painful because if i have a power cut, my Energy measurement does not restart.
Can you help me ?
Thanks in advance.
Re: Support for PZEM 004T Energy monitor
Hi there,
I've got a PZEM an tried to compile, but got same "multiple definition" error, as miki_tnt :
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_0()':
SoftwareSerial.cpp:(.iram.text+0xd0): multiple definition of `sws_isr_0()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0xd4): first defined here
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_1()':
SoftwareSerial.cpp:(.iram.text+0xe8): multiple definition of `sws_isr_1()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0xec): first defined here
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_2()':
SoftwareSerial.cpp:(.iram.text+0x100): multiple definition of `sws_isr_2()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0x104): first defined here
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadVoltagev+0x8): undefined reference to `PZEM004T::voltage(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin171_ReadVoltage()':
ESPEasy.ino.cpp:(.text._Z21Plugin171_ReadVoltagev+0x25): undefined reference to `PZEM004T::voltage(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadCurrentv+0x0): undefined reference to `PZEM004T::current(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadCurrentv+0x1d): undefined reference to `PZEM004T::current(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z19Plugin171_ReadPowerv+0x0): undefined reference to `PZEM004T::power(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z19Plugin171_ReadPowerv+0x1d): undefined reference to `PZEM004T::power(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z20Plugin171_ReadEnergyv+0x0): undefined reference to `PZEM004T::energy(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin171_ReadEnergy()':
ESPEasy.ino.cpp:(.text._Z20Plugin171_ReadEnergyv+0x1d): undefined reference to `PZEM004T::energy(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z10Plugin_171hP11EventStructR6String+0x1c): undefined reference to `PZEM004T::PZEM004T(unsigned char, unsigned char)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z10Plugin_171hP11EventStructR6String+0x20): undefined reference to `PZEM004T::setAddress(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin_171(unsigned char, EventStruct*, String&)':
ESPEasy.ino.cpp:(.text._Z10Plugin_171hP11EventStructR6String+0x14e): undefined reference to `PZEM004T::PZEM004T(unsigned char, unsigned char)'
ESPEasy.ino.cpp:(.text._Z10Plugin_171hP11EventStructR6String+0x15b): undefined reference to `PZEM004T::setAddress(IPAddress con
.....
.....
....
Is there any suggestion to overcome this issue ?
Perhaps something changed in libraries, etc. in the last months ?
Thanx & Regards
Paolo
I've got a PZEM an tried to compile, but got same "multiple definition" error, as miki_tnt :
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_0()':
SoftwareSerial.cpp:(.iram.text+0xd0): multiple definition of `sws_isr_0()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0xd4): first defined here
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_1()':
SoftwareSerial.cpp:(.iram.text+0xe8): multiple definition of `sws_isr_1()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0xec): first defined here
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\SoftwareSerial.cpp.o: In function `sws_isr_2()':
SoftwareSerial.cpp:(.iram.text+0x100): multiple definition of `sws_isr_2()'
.pioenvs\test_ESP8266_4096\lib46c\ESPEasySoftwareSerial\ESPeasySoftwareSerial.cpp.o:ESPeasySoftwareSerial.cpp:(.iram.text+0x104): first defined here
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadVoltagev+0x8): undefined reference to `PZEM004T::voltage(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin171_ReadVoltage()':
ESPEasy.ino.cpp:(.text._Z21Plugin171_ReadVoltagev+0x25): undefined reference to `PZEM004T::voltage(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadCurrentv+0x0): undefined reference to `PZEM004T::current(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z21Plugin171_ReadCurrentv+0x1d): undefined reference to `PZEM004T::current(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z19Plugin171_ReadPowerv+0x0): undefined reference to `PZEM004T::power(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z19Plugin171_ReadPowerv+0x1d): undefined reference to `PZEM004T::power(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z20Plugin171_ReadEnergyv+0x0): undefined reference to `PZEM004T::energy(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin171_ReadEnergy()':
ESPEasy.ino.cpp:(.text._Z20Plugin171_ReadEnergyv+0x1d): undefined reference to `PZEM004T::energy(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z10Plugin_171hP11EventStructR6String+0x1c): undefined reference to `PZEM004T::PZEM004T(unsigned char, unsigned char)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o:(.text._Z10Plugin_171hP11EventStructR6String+0x20): undefined reference to `PZEM004T::setAddress(IPAddress const&)'
.pioenvs\test_ESP8266_4096\src\ESPEasy.ino.cpp.o: In function `Plugin_171(unsigned char, EventStruct*, String&)':
ESPEasy.ino.cpp:(.text._Z10Plugin_171hP11EventStructR6String+0x14e): undefined reference to `PZEM004T::PZEM004T(unsigned char, unsigned char)'
ESPEasy.ino.cpp:(.text._Z10Plugin_171hP11EventStructR6String+0x15b): undefined reference to `PZEM004T::setAddress(IPAddress con
.....
.....
....
Is there any suggestion to overcome this issue ?
Perhaps something changed in libraries, etc. in the last months ?
Thanx & Regards
Paolo
Re: Support for PZEM 004T Energy monitor
Would it give advice to throw the plugin into the latest software. PZEM has been working very well for me for half a year but I miss some features from the new software.
Greetings.
Greetings.
- grovkillen
- Core team member
- Posts: 3621
- Joined: 19 Jan 2017, 12:56
- Location: Hudiksvall, Sweden
- Contact:
Re: Support for PZEM 004T Energy monitor
Please open an issue for it on GitHub and ask the maintainer to add it as a PR.
ESP Easy Flasher [flash tool and wifi setup at flash time]
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you
Re: Support for PZEM 004T Energy monitor
Thank you very much for your answer.
I did what you wrote.
Greetings.
GieBek
I did what you wrote.
Greetings.
GieBek
Re: Support for PZEM 004T Energy monitor
I am not getting correct value for Watts when i did the calculation, example as below
Actual reading from meter = 232.20 Volts , 2.89 Amps, 665.00 Watts, 1311707.00 KWH
232.20 x 2.89 = 671.06 Watts, but in the meter it shows 665.00, can i know why its not accurate ?
Thanks in advance.
Actual reading from meter = 232.20 Volts , 2.89 Amps, 665.00 Watts, 1311707.00 KWH
232.20 x 2.89 = 671.06 Watts, but in the meter it shows 665.00, can i know why its not accurate ?
Thanks in advance.
-
- Normal user
- Posts: 307
- Joined: 06 Nov 2016, 13:45
Re: Support for PZEM 004T Energy monitor
30+ ESP units for production and test. Ranging from control of heating equipment, flow sensing, floor temp sensing, energy calculation, floor thermostat, water usage, to an interactive "fun box" for my grandson. Mainly Wemos D1.
-
- New user
- Posts: 6
- Joined: 16 Jan 2019, 22:00
Re: Support for PZEM 004T Energy monitor
I also have some problem with building this project
I have two builds ESPEasy_mega-20181231 and latest with changed Softwareserial library
ESPEasy_mega-20181231 compiles without error only if espsoftwareserial-3.2.3 used
20190110 compiles with new ESPEasySerial library also without any errors
But both firmwares always shows me 0.00, even old version mega 2.00 dev
I think that is not a hardware problem, wifi-iot firmware works fine, but with the hardware serial.
Im already tried to change GPIOs to another with the same result.
Interesting that is no voltage measuring in the log, A W Wh only
I have two builds ESPEasy_mega-20181231 and latest with changed Softwareserial library
ESPEasy_mega-20181231 compiles without error only if espsoftwareserial-3.2.3 used
20190110 compiles with new ESPEasySerial library also without any errors
But both firmwares always shows me 0.00, even old version mega 2.00 dev
I think that is not a hardware problem, wifi-iot firmware works fine, but with the hardware serial.
Im already tried to change GPIOs to another with the same result.
Interesting that is no voltage measuring in the log, A W Wh only
- Attachments
-
- Снимок.JPG (100.53 KiB) Viewed 1608429 times
Re: Support for PZEM 004T Energy monitor
Hi guys,
I got working on one esp-12f 6 of PZEM 004T. Probably I could connect up to 8 PZEM in the same time to one esp-12f.
The idea was to use many PZEM 004T on one esp-12f without using address of each one. I connected each one in parallel with RX, TX, and GND. For select with whom I am communicating right now I decided to use esp-12f ports.
If anyone interested I would share my schematic and plugin.
Thank you.
I got working on one esp-12f 6 of PZEM 004T. Probably I could connect up to 8 PZEM in the same time to one esp-12f.
The idea was to use many PZEM 004T on one esp-12f without using address of each one. I connected each one in parallel with RX, TX, and GND. For select with whom I am communicating right now I decided to use esp-12f ports.
If anyone interested I would share my schematic and plugin.
Thank you.
- Attachments
-
- IMG_20190330_161357_750.jpg (73.95 KiB) Viewed 1607152 times
-
- IMG_20190330_105736.jpg (2.54 MiB) Viewed 1607152 times
Re: Support for PZEM 004T Energy monitor
I'm interested - can you send me plugin ?
Also you can share public
Also you can share public
Re: Support for PZEM 004T Energy monitor
Hi serjkru,
I'm very interested, too! This seems to have a good fit with the direction I'd like to take, which is to measure power use in each (main) circuit in my house.
I'd be very happy if you could share your schematic and plugin, please.
Thanks in advance,
Andrew
I'm very interested, too! This seems to have a good fit with the direction I'd like to take, which is to measure power use in each (main) circuit in my house.
I'd be very happy if you could share your schematic and plugin, please.
Thanks in advance,
Andrew
Re: Support for PZEM 004T Energy monitor
Hi guys,
Thank you for your interest.
There is a pdf how to connect them
Plugin for PZEM-004T.(I used one from playground but change it a lot)
Also I had to change Software serial ESPeasySoftwareSerial.cpp because original didnot work.
I think I did not mess something.
If you have a question, do not hesitate!
Thank you for your interest.
There is a pdf how to connect them
Plugin for PZEM-004T.(I used one from playground but change it a lot)
Also I had to change Software serial ESPeasySoftwareSerial.cpp because original didnot work.
I think I did not mess something.
If you have a question, do not hesitate!
- Attachments
-
- PZEM-004T.zip
- (693.54 KiB) Downloaded 3991 times
Last edited by serjkru on 02 Apr 2019, 02:16, edited 1 time in total.
Re: Support for PZEM 004T Energy monitor
If someone use OpenHab there is sample:
items
sitemap
items
Code: Select all
Number Sensor_Laundry_Voltage "Laundry [%.1f V]" <voltage>(Home) [ "LaundryVoltage" ] { mqtt="<[myhome:/HouseVACMeter/PZEM_1/Voltage(V):state:default]" }
Number Sensor_Laundry_Current "Laundry [%.1f A]" <current>(Home) [ "LaundryCurrent" ] { mqtt="<[myhome:/HouseVACMeter/PZEM_1/Current(A):state:default]" }
Number Sensor_Laundry_Power "Laundry [%.1f W]" <power> (Home) [ "LaundryPower" ] { mqtt="<[myhome:/HouseVACMeter/PZEM_1/Power(W):state:default]" }
Number Sensor_Laundry_Energy "Laundry [%.1f Wh]" <energy> (Home) [ "LaundryEnergy" ] { mqtt="<[myhome:/HouseVACMeter/PZEM_1/Energy(Wh):state:default]" }
Code: Select all
Frame label="House Sensors" icon="house"{
Text label="Power management" icon="power" {
Text label="Laundry" icon="energy" {
Text item=Sensor_Laundry_Voltage label="Voltage" icon="energy"
Text item=Sensor_Laundry_Current label="Current" icon="energy"
Text item=Sensor_Laundry_Power label="Power" icon="energy"
Text item=Sensor_Laundry_Energy label="Energy" icon="energy"
}
}
}
Re: Support for PZEM 004T Energy monitor
Hi guys,
I have developed many projects for my smart house but not sure when I should post them.
If someone lives in US or Canada, you might be interested in WiFi wall switch.
My idea was to use jst regular wall switch and put all elecrtonics right under switch button. You can see it on the photoes:
It is dimmable switch with two buttons.
I created plugin for it as well and connected to OpenHab.
Also I developed two version of Humidity/Temperature/Pressure devices. I use BME280 as sensor.
One of them looks like usb stick for remoute mouse or keyboard another one a little bit bigger.
I have developed many projects for my smart house but not sure when I should post them.
If someone lives in US or Canada, you might be interested in WiFi wall switch.
My idea was to use jst regular wall switch and put all elecrtonics right under switch button. You can see it on the photoes:
It is dimmable switch with two buttons.
I created plugin for it as well and connected to OpenHab.
Also I developed two version of Humidity/Temperature/Pressure devices. I use BME280 as sensor.
One of them looks like usb stick for remoute mouse or keyboard another one a little bit bigger.
- Attachments
-
- usb BME280.png (2.84 MiB) Viewed 1607108 times
-
- Light3.png (3.56 MiB) Viewed 1607111 times
-
- Light2.png (4.63 MiB) Viewed 1607111 times
-
- Light.png (72.34 KiB) Viewed 1607111 times
Re: Support for PZEM 004T Energy monitor
@serjkru.
Please could you post the wiring schematic for the PZEM-004 modules to the ESP-8266 module,I do not see the pdf file.
Looking at the wiring picture posted earlier, you are sequentially supplying power to the PZEM modules and taking readings to send to openhab.
Good idea to save IO pins !
Thanks
Please could you post the wiring schematic for the PZEM-004 modules to the ESP-8266 module,I do not see the pdf file.
Looking at the wiring picture posted earlier, you are sequentially supplying power to the PZEM modules and taking readings to send to openhab.
Good idea to save IO pins !
Thanks
Who is online
Users browsing this forum: No registered users and 50 guests