Peacefair PZEM-004T Energy Monitor ================================== .. seo:: :description: Instructions for setting up PZEM-004 and PZEM-004T V1 power monitors. :image: pzem004t.svg :keywords: PZEM-004T, PZEM-004 .. note:: This page is incomplete and could use some work. If you want to contribute, please read the :doc:`contributing guide `. This page is missing: - An image for the front page. - Images/screenshots/example configs of this device being used in action. The ``pzem004t`` sensor platform allows you to use PZEM-004 (version with 8-segment screens, `website `__) and PZEM-004T V1 energy monitors (`website `__) sensors with ESPHome. .. warning:: This page refers to version V1 of the PZEM-004T, which has been out of stock for a while. The PZEM-004, however, is still working (and selling) with this protocol and does not use modbus. For using the newer V3 variant of this sensor please see :doc:`pzemac `. The communication with this integration is done over a :ref:`UART bus `. 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. .. code-block:: yaml # Example configuration entry uart: tx_pin: D1 rx_pin: D2 baud_rate: 9600 sensor: - platform: pzem004t current: name: "PZEM-004T Current" voltage: name: "PZEM-004T Voltage" power: name: "PZEM-004T Power" energy: name: "PZEM-004T Energy" update_interval: 60s Configuration variables: ------------------------ - **current** (*Optional*): Use the current value of the sensor in amperes. All options from :ref:`Sensor `. - **power** (*Optional*): Use the (active) power value of the sensor in watts. All options from :ref:`Sensor `. - **voltage** (*Optional*): Use the voltage value of the sensor in volts. All options from :ref:`Sensor `. - **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``. - **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component ` if you want to use multiple UART buses. Hardware considerations: ------------------------ These devices have optocouplers on the UART port and the resistors mounted on the board have been designed to work with 5V devices. ESPs need a `Level Shifter `__ to be compatible with TTL levels. .. note:: You need a IC level shifter and not a `Mosfet-based `__ level shifter, because you need to power the optocoupler's LEDs without an additional resistor in the path. If prefer, you could change the value of the optocoupler's resistors by following `this `__ or `this `__ guide. Your ESP shall be powered by an external power supply and cannot be connected to the PZEM for power. See Also -------- - :ref:`sensor-filters` - :doc:`pzemac` - :doc:`pzemdc` - :apiref:`pzem004t/pzem004t.h` - :ghedit:`Edit`