Support for PZEM 004T Energy monitor

Moderators: grovkillen, Stuntteam, TD-er

Message
Author
ut1545
Normal user
Posts: 32
Joined: 22 Mar 2016, 20:56

Re: Support for PZEM 004T Energy monitor

#101 Post by ut1545 » 08 Jul 2018, 18:26

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,

asking
Normal user
Posts: 11
Joined: 11 Aug 2017, 06:39

Re: Support for PZEM 004T Energy monitor

#102 Post by asking » 12 Jul 2018, 16:04

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
i am also getting same error -1 randomely inbetween 1 minute readings... did you solved it ? what was the issue ? can you share ?

aleph0
Normal user
Posts: 21
Joined: 08 Nov 2017, 09:28

Re: Support for PZEM 004T Energy monitor

#103 Post by aleph0 » 13 Jul 2018, 08:55

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

asking
Normal user
Posts: 11
Joined: 11 Aug 2017, 06:39

Re: Support for PZEM 004T Energy monitor

#104 Post by asking » 13 Jul 2018, 18:01

aleph0 wrote: 13 Jul 2018, 08:55 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
Do you think its related to software library of arduino ? or TTL 5V to 3.3V Converter issue ?

aleph0
Normal user
Posts: 21
Joined: 08 Nov 2017, 09:28

Re: Support for PZEM 004T Energy monitor

#105 Post by aleph0 » 13 Jul 2018, 18:18

asking wrote: 13 Jul 2018, 18:01 Do you think its related to software library of arduino ? or TTL 5V to 3.3V Converter issue ?
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

miki_tnt
New user
Posts: 3
Joined: 14 Aug 2018, 11:29

Re: Support for PZEM 004T Energy monitor

#106 Post by miki_tnt » 14 Aug 2018, 11:37

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?

TD-er
Core team member
Posts: 8642
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Support for PZEM 004T Energy monitor

#107 Post by TD-er » 14 Aug 2018, 13:56

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"));

papperone
Normal user
Posts: 497
Joined: 04 Oct 2016, 23:16

Re: Support for PZEM 004T Energy monitor

#108 Post by papperone » 14 Aug 2018, 18:46

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).
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

miki_tnt
New user
Posts: 3
Joined: 14 Aug 2018, 11:29

Re: Support for PZEM 004T Energy monitor

#109 Post by miki_tnt » 16 Aug 2018, 19:15

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]

TD-er
Core team member
Posts: 8642
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Support for PZEM 004T Energy monitor

#110 Post by TD-er » 16 Aug 2018, 21:49

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.

miki_tnt
New user
Posts: 3
Joined: 14 Aug 2018, 11:29

Re: Support for PZEM 004T Energy monitor

#111 Post by miki_tnt » 16 Aug 2018, 23:00

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,

Dim33
New user
Posts: 2
Joined: 14 May 2018, 23:43

Re: Support for PZEM 004T Energy monitor

#112 Post by Dim33 » 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.

TD-er
Core team member
Posts: 8642
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Support for PZEM 004T Energy monitor

#113 Post by TD-er » 29 Aug 2018, 13:28

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.

Dim33
New user
Posts: 2
Joined: 14 May 2018, 23:43

Re: Support for PZEM 004T Energy monitor

#114 Post by Dim33 » 30 Aug 2018, 22:56

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.
I modified the GPIO pin : GPIO-12 and 13 instead of GPIO-14 and 15 and all is OK.

pppp33
Normal user
Posts: 71
Joined: 25 Oct 2015, 17:53

Re: Support for PZEM 004T Energy monitor

#115 Post by pppp33 » 30 Aug 2018, 23:17

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

GieBek
New user
Posts: 7
Joined: 29 Aug 2018, 23:25

Re: Support for PZEM 004T Energy monitor

#116 Post by GieBek » 30 Nov 2018, 23:34

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.

User avatar
grovkillen
Core team member
Posts: 3621
Joined: 19 Jan 2017, 12:56
Location: Hudiksvall, Sweden
Contact:

Re: Support for PZEM 004T Energy monitor

#117 Post by grovkillen » 30 Nov 2018, 23:38

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 :idea: :idea: :idea:

GieBek
New user
Posts: 7
Joined: 29 Aug 2018, 23:25

Re: Support for PZEM 004T Energy monitor

#118 Post by GieBek » 01 Dec 2018, 00:01

Thank you very much for your answer.

I did what you wrote.

Greetings.
GieBek

lyovav
New user
Posts: 9
Joined: 27 Sep 2018, 12:46

Re: Support for PZEM 004T Energy monitor

#119 Post by lyovav » 10 Dec 2018, 12:13


hnaeem07
New user
Posts: 1
Joined: 23 Dec 2018, 13:16

Re: Support for PZEM 004T Energy monitor

#120 Post by hnaeem07 » 23 Dec 2018, 13:25

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. :D

Domosapiens
Normal user
Posts: 307
Joined: 06 Nov 2016, 13:45

Re: Support for PZEM 004T Energy monitor

#121 Post by Domosapiens » 23 Dec 2018, 16:11

Real power and apparent power ?

Image

https://en.wikipedia.org/wiki/Electric_power
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.

antikiller_bm
New user
Posts: 6
Joined: 16 Jan 2019, 22:00

Re: Support for PZEM 004T Energy monitor

#122 Post by antikiller_bm » 17 Jan 2019, 21:21

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
Attachments
Снимок.JPG
Снимок.JPG (100.53 KiB) Viewed 1183076 times

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#123 Post by serjkru » 30 Mar 2019, 22:14

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.
Attachments
IMG_20190330_161357_750.jpg
IMG_20190330_161357_750.jpg (73.95 KiB) Viewed 1181799 times
IMG_20190330_105736.jpg
IMG_20190330_105736.jpg (2.54 MiB) Viewed 1181799 times

RobertM
Normal user
Posts: 23
Joined: 22 Oct 2017, 15:23

Re: Support for PZEM 004T Energy monitor

#124 Post by RobertM » 31 Mar 2019, 09:53

I'm interested - can you send me plugin ?
Also you can share public ;)

AndrewJ
Normal user
Posts: 229
Joined: 14 Feb 2017, 12:38

Re: Support for PZEM 004T Energy monitor

#125 Post by AndrewJ » 31 Mar 2019, 21:27

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

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#126 Post by serjkru » 01 Apr 2019, 03:10

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!
Attachments
PZEM-004T.zip
(693.54 KiB) Downloaded 3423 times
Last edited by serjkru on 02 Apr 2019, 02:16, edited 1 time in total.

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#127 Post by serjkru » 01 Apr 2019, 03:13

If someone use OpenHab there is sample:

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]" }
sitemap

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"
		}
	}
}

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#128 Post by serjkru » 01 Apr 2019, 03:25

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.
Attachments
usb BME280.png
usb BME280.png (2.84 MiB) Viewed 1181755 times
Light3.png
Light3.png (3.56 MiB) Viewed 1181758 times
Light2.png
Light2.png (4.63 MiB) Viewed 1181758 times
Light.png
Light.png (72.34 KiB) Viewed 1181758 times

DaveS
Normal user
Posts: 25
Joined: 12 Feb 2018, 17:35

Re: Support for PZEM 004T Energy monitor

#129 Post by DaveS » 01 Apr 2019, 18:29

@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

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#130 Post by serjkru » 02 Apr 2019, 02:18

My appologies,
I updated my post viewtopic.php?p=36179#p36179
Thank you

DaveS
Normal user
Posts: 25
Joined: 12 Feb 2018, 17:35

Re: Support for PZEM 004T Energy monitor

#131 Post by DaveS » 02 Apr 2019, 19:49

Cheers mate.
Very nice work !

xury
Normal user
Posts: 44
Joined: 02 Apr 2018, 12:54

Re: Support for PZEM 004T Energy monitor

#132 Post by xury » 03 Apr 2019, 14:43

Very good idea.
What is the reading time of all sensors?
How often can you read?

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#133 Post by serjkru » 04 Apr 2019, 02:12

xury wrote: 03 Apr 2019, 14:43 Very good idea.
What is the reading time of all sensors?
How often can you read?
In my project its read every minute.

There is no problem to read each 10 second or so.

tfelleg
New user
Posts: 3
Joined: 23 Apr 2019, 18:53

Re: Support for PZEM 004T Energy monitor

#134 Post by tfelleg » 23 Apr 2019, 18:57

Hi Guys!

Thank you Serjkru for firmware. I tried with two device (Wemos D1 4 MB, and Wemos D1 mini 4 MB), but I did not found the Voltage & Current (AC) in device list.

Where did I go wrong?

Thank you
Best
Tamas

RobertM
Normal user
Posts: 23
Joined: 22 Oct 2017, 15:23

Re: Support for PZEM 004T Energy monitor

#135 Post by RobertM » 23 Apr 2019, 19:44

"P183-Voltage & Current (AC) - PZEM-004T" almost at the end of the list of devices ;)

tfelleg
New user
Posts: 3
Joined: 23 Apr 2019, 18:53

Re: Support for PZEM 004T Energy monitor

#136 Post by tfelleg » 23 Apr 2019, 20:17

I did not found.

Here is the picture about the last devices.

Thank you
Best
Tamas
pzemespeasy.png
pzemespeasy.png (66.17 KiB) Viewed 1179772 times

RobertM
Normal user
Posts: 23
Joined: 22 Oct 2017, 15:23

Re: Support for PZEM 004T Energy monitor

#137 Post by RobertM » 23 Apr 2019, 20:32

Try with attached file
Attachments
firmware_PZEM004T multiple.zip
(584.94 KiB) Downloaded 2976 times

tfelleg
New user
Posts: 3
Joined: 23 Apr 2019, 18:53

Re: Support for PZEM 004T Energy monitor

#138 Post by tfelleg » 23 Apr 2019, 20:53

RobertM, you are GENIUS! :)

It works!

Thank you very much! :)

Best
Tamas

serjkru
New user
Posts: 9
Joined: 08 Sep 2018, 18:52

Re: Support for PZEM 004T Energy monitor

#139 Post by serjkru » 26 Apr 2019, 22:09

tfelleg wrote: 23 Apr 2019, 20:53 RobertM, you are GENIUS! :)

It works!

Thank you very much! :)

Best
Tamas
Hi,

Could you please answer on some questions:
What binary did you use when you was not able to find the plugin?
Did you use a binary file which I posted?

Thank you.

xury
Normal user
Posts: 44
Joined: 02 Apr 2018, 12:54

Re: Support for PZEM 004T Energy monitor

#140 Post by xury » 03 Jun 2019, 13:29

serjkru Why did you removed R15?
And why you swap R17 to 120 Ohm except 510 Ohm?
It would not be enough to solder 1k resistor as in the picture?
Image

Jay74
New user
Posts: 4
Joined: 16 May 2018, 21:53

Re: Support for PZEM 004T Energy monitor

#141 Post by Jay74 » 19 Jun 2019, 20:17

Hi all,
I'm using the firmware provided by serjkru and is working fine (pzem-004t v2.0)...good job :D
I have another question: is it possible to use the PZEM-004T V3.0 ? The firmware on the board has changed and I think the protocol is different, so no communication with esp.
The last board I got is 3.0 :(
Anyone is working with that kind of board ?

Thank you
Gianluca

oliver92
New user
Posts: 1
Joined: 25 Jun 2019, 10:51

Re: Support for PZEM 004T Energy monitor

#142 Post by oliver92 » 25 Jun 2019, 10:54

papperone wrote: 26 Jun 2017, 12:57
Aliki wrote: 26 Jun 2017, 12:47 papperone, You already very long wait... Since January 2017. :) June already comes to an end... ;)

Somebody can already has made support ?
Can developers will add support PZEM-004T in the next release ESPEasy?
I know, oredered from China, usually 2/3 months but this was was probably lost and reordered in May.... Sorry but in Italy we have a not so good postal service :o
you should have used USPS service, it is very good
Now USPS employees can use liteblue portal (liteblue usps gov) to get all the benefits.

xury
Normal user
Posts: 44
Joined: 02 Apr 2018, 12:54

Re: Support for PZEM 004T Energy monitor

#143 Post by xury » 15 Jul 2019, 10:38

Hi I ordered PZEM-004 and got V3.0 version.
This version have new mdbus MTU protocol.
Someone tried develop a plugin?

gumilev
New user
Posts: 3
Joined: 30 Jul 2019, 18:52
Location: Russia, Moscow
Contact:

Re: Support for PZEM 004T Energy monitor

#144 Post by gumilev » 30 Jul 2019, 19:31

Friends, I bought PZEM 004t v3, he refused to work on this firmware. I found articles in the network, how people use the corrected libraries for the PZEM 004t v3. Maybe someone of you can download a new library and upload it with a new firmware for 4mb?

xury
Normal user
Posts: 44
Joined: 02 Apr 2018, 12:54

Re: Support for PZEM 004T Energy monitor

#145 Post by xury » 31 Jul 2019, 00:48

gumilev If you need only one device you can use Tasmota software.
PZEM004T v3 uses same protocol as PZEM-016 So you need set proper rx and tx gpio's in config.

gumilev
New user
Posts: 3
Joined: 30 Jul 2019, 18:52
Location: Russia, Moscow
Contact:

Re: Support for PZEM 004T Energy monitor

#146 Post by gumilev » 02 Aug 2019, 02:05

xury wrote: 31 Jul 2019, 00:48 gumilev If you need only one device you can use Tasmota software.
PZEM004T v3 uses same protocol as PZEM-016 So you need set proper rx and tx gpio's in config.
Thanks for the advice, it really works, this is enough to transfer data using MQTT to Domoticz. However, I will continue to wait for the plugin to be updated for EspEasy. In order to run pzem004t v3.0 in tasmota - it was necessary to enter only one line:

Code: Select all

{"NAME":"HW-655 PZEM","GPIO":[0,62,0,98,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
This is written in the wiki.
Then we assign gpio and go configure mqtt for data transfer!
Attachments
Screenshot_20190802-030452_Chrome.jpg
Screenshot_20190802-030452_Chrome.jpg (422.63 KiB) Viewed 1175036 times
Screenshot_20190802-030323_Chrome.jpg
Screenshot_20190802-030323_Chrome.jpg (336.19 KiB) Viewed 1175036 times
Screenshot_20190802-030427_Chrome.jpg
Screenshot_20190802-030427_Chrome.jpg (378.09 KiB) Viewed 1175036 times

TD-er
Core team member
Posts: 8642
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Support for PZEM 004T Energy monitor

#147 Post by TD-er » 03 Aug 2019, 01:46

However, I will continue to wait for the plugin to be updated for EspEasy
Can you make an issue for it on GitHub and provide a link to this topic as well.

I have to order one of these sensors too before I can work on it.
But since I've been doing a number of Modbus plugins recently I don't expect it to be very hard to do.
Is it similar to model 017?

gumilev
New user
Posts: 3
Joined: 30 Jul 2019, 18:52
Location: Russia, Moscow
Contact:

Re: Support for PZEM 004T Energy monitor

#148 Post by gumilev » 03 Aug 2019, 02:34

Unfortunately, I can’t help. My copy-paste programming level, all that I could find and try, I outlined above.

AIS
New user
Posts: 1
Joined: 21 Sep 2019, 07:35

Re: Support for PZEM 004T Energy monitor

#149 Post by AIS » 21 Sep 2019, 07:39

Hi,
I am new to automation. I got PZEM 004t. Anyone can guide how I can add it to Home Assistant as Energy Meter. Thanks in advance

djelau
Normal user
Posts: 45
Joined: 08 Nov 2019, 15:33
Location: France

Re: Support for PZEM 004T Energy monitor

#150 Post by djelau » 30 Nov 2019, 23:05

Hi guys,

This is my first post, so keep cool. I'm a great fan of ESPeasy; So I try to contribute with this code for PZEM004Tv30. I'm not a software expert so please be tolerant with me.

Hardware part:
PZEM004Tv30 can be wired in parallel without any aditionnal component: simply connect RX of PZEM together and Tx of PZEM together.
However, if programming the address, only one PZEM must be connected at once during address setting.

Software part:
If you want to use several PZEM, you need to add several occurence of the pluggin.
First occurence of pluggin allows to configure serial interface and modify address of PZEM.
Next occurence of the pluggin only allows to read an adress and reset energy
Energy can also be reset with command : http://<espeasyip>/control?cmd=resetenergy,<PZEM address> (example: "http://192.168.0.1/control?cmd=resetenergy,2" => Reset energy of the PZEM with address #2)

I modify PZEM004Tv30.h and PZEM004Tv30.cpp in order to be compatible with espeay serial. Please use it rather than official PZEM004Tv30.h and PZEM004Tv30.cpp from PZEM github.

Known restriction:
Don't use HW serial when several PZEM connected in series. Over 2 PZEM, frames conflict occurs and I don't know why. The solution is to use SW serial with GPIO3 as TX and GPIO1 as RX (or to use other pins with software serial)
I try only with WEMOS D1mini. So I compile 1M bin, but I don't test it. 4M is OK
Don't hesitate to give me your feedback. And feel free to improve my code.

Djelau
Attachments
4Mbin+1Mbin.zip
(1.07 MiB) Downloaded 5222 times
Last edited by djelau on 23 Jan 2020, 07:38, edited 2 times in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 19 guests