Peacefair PZEM-004T V3 Energy Monitor


This page is incomplete and could use some work. If you want to contribute, please read the contributing guide. This page is missing:

  • Images/screenshots/example configs of this device being used in action.

The pzemac sensor platform allows you to use PZEM-004T V3 energy monitors (website, datasheet) with ESPHome.

The sensor can be connected in various configurations - please see the manufacturer’s website for more information.


PZEM-004T Version 3.


This page refers to version V3 of the PZEM004T. For using the older V1 variant of this sensor please see pzem004t.

The communication with this integration is done over a UART bus using Modbus. You must therefore have a uart: entry in your configuration with both the TX and RX pins set to some pins on your board and the baud rate set to 9600.

# Example configuration entry
  rx_pin: D1
  tx_pin: D2
  baud_rate: 9600


  - platform: pzemac
      name: "PZEM-004T V3 Current"
      name: "PZEM-004T V3 Voltage"
      name: "PZEM-004T V3 Energy"
      name: "PZEM-004T V3 Power"
      name: "PZEM-004T V3 Frequency"
      name: "PZEM-004T V3 Power Factor"
    update_interval: 60s

Configuration variables:

  • current (Optional): Use the current value of the sensor in amperes. All options from Sensor.

  • energy (Optional): Use the (active) energy value of the sensor in watt*hours. All options from Sensor.

  • power (Optional): Use the (active) power value of the sensor in watts. All options from Sensor.

  • voltage (Optional): Use the voltage value of the sensor in volts. All options from Sensor.

  • frequency (Optional): Use the frequency value of the sensor in hertz. All options from Sensor.

  • power_factor (Optional): Use the power factor value of the sensor. All options from Sensor.

  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.

  • address (Optional, int): The address of the sensor if multiple sensors are attached to the same UART bus. You will need to set the address of each device manually. Defaults to 1.

  • modbus_id (Optional, ID): Manually specify the ID of the Modbus hub.

See Also