esphome-docs/components/sensor/pzemdc.rst
2023-03-09 08:56:36 +13:00

87 lines
2.6 KiB
ReStructuredText

Peacefair PZEM-00X DC Energy Monitor
====================================
.. seo::
:description: Instructions for setting up DC PZEM power monitors.
:image: pzem-dc.jpg
.. note::
This page is incomplete and could use some work. If you want to contribute, please read the
:doc:`contributing guide </guides/contributing>`. This page is missing:
- Images/screenshots/example configs of this device being used in action.
The ``pzemdc`` sensor platform allows you to use various DC Peacefair PZEM energy monitors
with ESPHome. The supported models are: PZEM-003, PZEM-014, PZEM-016 and PZEM-017.
The communication with this integration is done over a :ref:`UART bus <uart>`.
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.
.. figure:: images/pzem-dc.png
:align: center
:width: 80.0%
PZEM-0xx Energy Monitor.
.. code-block:: yaml
# Example configuration entry
uart:
tx_pin: D1
rx_pin: D2
baud_rate: 9600
stop_bits: 2
sensor:
- platform: pzemdc
current:
name: "PZEM-003 Current"
voltage:
name: "PZEM-003 Voltage"
power:
name: "PZEM-003 Power"
energy:
name: "PZEM-003 Energy"
update_interval: 60s
Configuration variables:
------------------------
- **current** (*Optional*): Use the current value of the sensor in amperes. All options from
:ref:`Sensor <config-sensor>`.
- **power** (*Optional*): Use the power value of the sensor in watts. All options from
:ref:`Sensor <config-sensor>`.
- **voltage** (*Optional*): Use the voltage value of the sensor in volts.
All options from :ref:`Sensor <config-sensor>`.
- **energy** (*Optional*): Use the energy value of the sensor in kWh.
All options from :ref:`Sensor <config-sensor>`.
- **update_interval** (*Optional*, :ref:`config-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``.
.. _pzemdc-reset_energy_action:
``pzemdc.reset_energy`` Action
******************************
This action resets the total energy value of the pzemdc device with the given ID when executed.
.. code-block:: yaml
on_...:
then:
- pzemdc.reset_energy: pzemdc_1
See Also
--------
- :ref:`sensor-filters`
- :doc:`pzem004t`
- :doc:`pzemac`
- :apiref:`pzemdc/pzemdc.h`
- :ghedit:`Edit`