Skip to content

Plugin for Domoticz managing one or more PZEM-016 and PZEM-014 energy meters (Modbus)

License

Notifications You must be signed in to change notification settings

CreasolTech/domoticz-pzem-016

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

domoticz-pzem-016

This is a plugin for the free open-source Domoticz home automation system that read one or more PZEM-014, PZEM-016, PZEM-004T energy meters by Modbus connection (RS485 serial connection), providing the following data:

  • active power
  • active energy
  • voltage
  • current
  • frequency
  • power factor

Screenshot of devices created by domoticz-pzem-016 Domoticz plugin on smartphone

The following items can be configured:

  • Bitrate, by default 9600 bps
  • Meter address, for example 1 (only one meter with address 1) or 11,12 (two devices with address 11 and 12: address should be separated by comma)
  • Poll interval, in seconds: in case of a long list of devices, don't use very short poll intervals!

Domoticz plugin configuration

PZEM-014 and PZEM-016 have RS485 port: one or more modules can be connected together by a standard "sensor alarm cable" (2x 0.22mm² wires + shield), and then connected to Domoticz controller (Raspberry PI or other hardware) by using a cheap RS485/USB adapter or a RS485/net controller. Please remember that RS485 bus should be terminated in both ends by a 120 Ohm resistor.

PZEM-016 or PZEM-014 wiring schematic

PZEM-004T has TTL outputs, so it can be connected to the controller by a TTL to serial adapter.

PZEM-004T wiring schematic

Please note that while it's possible to easily connect many PZEM-016 and PZEM-014 to the same RS485 bus, to connect many PZEM-004T to a single TTL/USB interface some modifications are needed.

Setting a different address to a PZEM-014, PZEM-016 or PZEM-004T meter

From Linux it's possible to change the address of a meter (by default it's set to 1) by using the following command, that changes address from 1 to 11:

mbpoll -mrtu -Pnone -a1 -b9600 -0 -1 -r2 /dev/ttyUSB0 11

/dev/ttyUSB0 have to be replaced with the right serial port.

Using other operating systems, please use a Modbus client to set the register address 2 (base-0) to the new slave address value, using function code 6.

This plugin does not open the serial port in exclusive-mode, so it's possible to share the same serial port for many different devices; for example, it was successfully tested with 1 PZEM-016 energy meter and 1 EMMETI MIRAI heat pump (same bitrate, with different slave address of course).

Screenshot of devices created by domoticz-pzem-016 Domoticz plugin

Installation

This plugin can be installed from Python Plugin Manager or Python Plugins Manager which also permit to update plugin easily or automatically.

Alternatively, it's possible to give the following commands from the linux shell:

cd ~/domoticz/plugins
git clone https://github.com/CreasolTech/domoticz-pzem-016

Then, in the future, to update the plugin it's possible to simply type

cd ~/domoticz/plugins/domoticz-pzem-016
git pull

It uses the python plugin module minimalmodbus , than can be installed by

sudo apt install pyserial
sudo pip3 install minimalmodbus

Restart Domoticz, then go to Setup -> Hardware and add the Emmeti Mirai heat pump plugin, specifying a name for that hardware and the serial port to connect heat pump.

Translation in other languages

Plugin can be easily translate in other languages: just copy and translate the rows below, and open an issue on github writing the modified lines with your translations, with the language code.

Words to translate in other languages (in double quotes):
English (en)            Italian (it)            YourLanguage (??)
"Power/Energy"          "Potenza/Energia"       ""
"Voltage"               "Tensione"              ""
"Current"               "Corrente"              ""
"Frequency"             "Frequenza"             ""
"Power Factor"          "Fattore di Potenza"    ""

Credits

Many thanks to:

  • Moreno Risorti, that has tested the plugin with PZEM-004T

Below a list of modules, produced in Europe by Creasol, designed for Domoticz to be reliable and optimized for very very low power consumption.

Creasol DomBus modules

Our industrial and home automation modules are designed to be

  • very low power (around 10mW with relays OFF)
  • reliable (no disconnections)
  • bus connected (no radiofrequency interference, no battery to replace).

Modules are available in two version:

  1. with DomBus proprietary protocol, working with Domoticz only
  2. with Modbus standard protocol, working with Home Assistant, OpenHAB, Node-RED

Store website - Information website

Youtube video showing DomBus modules

Creasol DomBus modules video

DomBusEVSE - EVSE module to build a Smart Wallbox / EV charging station

DomBusEVSE smart EVSE module to make a Smart Wallbox EV Charging station Complete solution to make a Smart EVSE, charging the electric vehicle using only energy from renewable source (photovoltaic, wind, ...), or adding 25-50-75-100% of available power from the grid.

  • Single-phase and three-phases, up to 36A (8kW or 22kW)
  • Needs external contactor, RCCB (protection) and EV cable
  • Optional power meter to measure charging power, energy, voltage and power factor
  • Optional power meter to measure the power usage from the grid (not needed if already exists)
  • Two max grid power thresholds can be programmed: for example, in Italy who have 6kW contractual power can drain from the grid Max (6* 1.27)=7.6kW for max 90 minutes followed by (6* 1.1)=6.6kW for another 90 minutes. The module can use ALL available power when programmed to charge at 100%.
  • Works without the domotic controller (stand-alone mode), and can also work with charging current set by the domotic controller (managed mode)

DomBusTH - Compact board to be placed on a blank cover, with temperature and humidity sensor and RGW LEDs

DomBusTH domotic board with temperature and humidity sensor, 3 LEDs, 6 I/O Compact board, 32x17mm, to be installed on blank cover with a 4mm hole in the middle, to exchange air for the relative humidity sensor. It can be installed in every room to monitor temperature and humidity, check alarm sensors, control blind motor UP/DOWN, send notifications (using red and green leds) and activate white led in case of power outage.

Includes:

  • temperature and relative humidity sensor
  • red, green and white LEDs
  • 4 I/Os configurable as analog or digital inputs, pushbuttons, counters (water, gas, S0 energy, ...), NTC temperature and ultrasonic distance sensors
  • 2 ports are configured by default as open-drain output and can drive up to 200mA led strip (with dimming function) or can be connected to the external module DomRelay2 to control 2 relays; they can also be configured as analog/digital inputs, pushbuttons and distance sensors.

DomBus12 - Compact domotic module with 9 I/Os

DomBus12 domotic module with 9 I/O Very compact, versatile and cost-effective module with 9 ports. Each port can be configured by software as:

  • analog/digital inputs
  • pushbutton and UP/DOWN pushbutton
  • counters (water, gas, S0 energy, ...)
  • NTC temperature and ultrasonic distance sensors
  • 2 ports are configured by default as open-drain output and can drive up to 200mA led strip (with dimming function) or can be connected to the external module DomRelay2 to control 2 relays.

DomBus23 - Domotic module with many functions

DomBus23 domotic module with many functions Versatile module designed to control gate or garage door.

  • 2x relays SPST 5A
  • 1x 10A 30V mosfet (led stripe dimming)
  • 2x 0-10V analog output: each one can be configured as open-drain output to control external relay
  • 2x I/O lines, configurable as analog/digital inputs, temperature/distance sensor, counter, ...
  • 2x low voltage AC/DC opto-isolated inputs, 9-40V
  • 1x 230V AC opto-isolated input

DomBus31 - Domotic module with 8 relays

DomBus31 domotic module with 8 relay outputs DIN rail low profile module, with 8 relays and very low power consumption:

  • 6x relays SPST 5A
  • 2x relays STDT 10A
  • Only 10mW power consumption with all relays OFF
  • Only 500mW power consumption with all 8 relays ON !!

DomBus32 - Domotic module with 3 relays

DomBus32 domotic module with 3 relay outputs Versatile module with 230V inputs and outputs, and 5 low voltage I/Os.

  • 3x relays SPST 5A
  • 3x 115/230Vac optoisolated inputs
  • Single common for relays and AC inputs
  • 5x general purpose I/O, each one configurable as analog/digital inputs, pushbutton, counter, temperature and distance sensor.

DomBus33 - Module to domotize a light system using step relays

DomBus33 domotic module with 3 relay outputs that can control 3 lights Module designed to control 3 lights already existing and actually controlled by 230V pushbuttons and step-by-step relays. In this way each light can be activated by existing pushbuttons, and by the domotic controller.

  • 3x relays SPST 5A
  • 3x 115/230Vac optoisolated inputs
  • Single common for relays and AC inputs
  • 5x general purpose I/O, each one configurable as analog/digital inputs, pushbutton, counter, temperature and distance sensor.

Each relay can toggle the existing step-relay, switching the light On/Off. The optoisolator monitors the light status. The 5 I/Os can be connected to pushbuttons to activate or deactivate one or all lights.

DomBus36 - Domotic module with 12 relays

DomBus36 domotic module with 12 relay outputs DIN rail module, low profile, with 12 relays outputs and very low power consumption.

  • 12x relays SPST 5A
  • Relays are grouped in 3 blocks, with a single common per block, for easier wiring
  • Only 12mW power consumption with all relays OFF
  • Only 750mW power consumption with all 12 relays ON !!

DomBus37 - 12 inputs, 3 115/230Vac inputs, 3 relay outputs

DomBus37 domotic module with 12 inputs, 3 AC inputs, 3 relay outputs Module designed to be connected to alarm sensors (magnetc contact sensors, PIRs, tampers): it's able to monitor mains power supply (power outage / blackout) and also have 3 relays outputs.

  • 12x low voltage inputs (analog/digital inputs, buttons, alarm sensors, counters, temperature and distance sensors, ...)
  • 3x 115/230Vac optoisolated inputs
  • 2x relays SPST 5A
  • 1x relay SPST 10A
  • In12 port can be used to send power supply to an external siren, monitoring current consumption

DomRelay2 - 2x relays board

Relay board with 2 relays, to be used with DomBus domotic modules Simple module with 2 relays, to be used with DomBus modules or other electronic boards with open-collector or open-drain outputs

  • 2x 5A 12V SPST relays (Normally Open contact)
  • Overvoltage protection (for inductive loads, like motors)
  • Overcurrent protection (for capacitive laods, like AC/DC power supply, LED bulbs, ...)

DomESP1 / DomESP2 - Board with relays and more for ESP8266 NodeMCU WiFi module

Relay board for ESP8266 NodeMCU module IoT board designed for NodeMCU v3 board using ESP8266 WiFi microcontroller

  • 9-24V input voltage, with high efficiency DC/DC regulator with 5V output
  • 4x SPST relays 5V with overvoltage protection
  • 1x SSR output (max 40V output)
  • 2x mosfet output (max 30V, 10A) for LED dimming or other DC loads
  • 1x I²C interface for sensors, extended I/Os and more)
  • 1x OneWire interface (DS18B20 or other 1wire sensors/devices)

About

Plugin for Domoticz managing one or more PZEM-016 and PZEM-014 energy meters (Modbus)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages