esphome-docs/components/sensor/bl0939.rst

90 lines
3.2 KiB
ReStructuredText
Raw Normal View History

BL0939 Power Sensor
====================
.. seo::
:description: Instructions for setting up BL0939 power sensors for the Sonoff Dual R3 v2
:image: bl0939.png
:keywords: bl0939, Sonoff Dual R3 v2
The ``bl0939`` sensor platform allows you to use your BL0939 voltage/current/power and energy
sensors with ESPHome. This sensor is commonly found in Sonoff Dual R3 v2.
.. note::
SAFETY HAZARD: Some devices such as Sonoff POWs/Shelly/etc, have the digital GND connected directly to mains voltage so **the GPIOs become LIVE during normal operation**. Our advice is to mark these boards to prevent any use of the dangerous digital pins.
As the communication with the BL0939 done using UART, you need
to have an :ref:`UART bus <uart>` in your configuration with the ``tx_pin`` and ``rx_pin`` connected to the BL0939.
Additionally, you need to set the baud rate to 4800, parity to ``NONE`` and stop_bits to 2.
.. code-block:: yaml
# Example configuration entry
# Disable logging over serial
logger:
baud_rate: 0
uart:
tx_pin: GPIO25
rx_pin: GPIO26
baud_rate: 4800
parity: NONE
stop_bits: 2
sensor:
- platform: bl0939
update_interval: 30s
voltage:
name: 'BL0939 Voltage'
current_1:
name: 'BL0939 Current 1'
current_2:
name: 'BL0939 Current 2'
active_power_1:
name: 'BL0939 Active Power 1'
active_power_2:
name: 'BL0939 Active Power 2'
energy_1:
name: 'BL0939 Energy 1'
energy_2:
name: 'BL0939 Energy 2'
energy_total:
name: 'BL0939 Energy Total'
.. note::
The configuration above should work for Sonoff Dual R3 v2.
Configuration variables:
------------------------
- **voltage** (*Optional*): Use the voltage value of the sensor in V (RMS).
All options from :ref:`Sensor <config-sensor>`.
- **current_1** (*Optional*): Use the current value of the channel 1 in amperes. All options from
:ref:`Sensor <config-sensor>`.
- **current_2** (*Optional*): Use the current value of the channel 2 in amperes. All options from
:ref:`Sensor <config-sensor>`.
- **active_power_1** (*Optional*): Use the (active) power value of the channel 1 in watts. All options from
:ref:`Sensor <config-sensor>`.
- **active_power_2** (*Optional*): Use the (active) power value of the channel 2 in watts. All options from
:ref:`Sensor <config-sensor>`.
- **energy_1** (*Optional*): Use the energy counter value of the channel 1 in kWh. All options from
:ref:`Sensor <config-sensor>`.
- **energy_2** (*Optional*): Use the energy counter value of the channel 2 in kWh. All options from
:ref:`Sensor <config-sensor>`.
- **energy_total** (*Optional*): Use the energy counter value of both channels in kWh. All options from
:ref:`Sensor <config-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 <uart>` if you want
to use multiple UART buses.
See Also
--------
- :ref:`sensor-filters`
- :doc:`cse7761`
- :doc:`bl0940`
- :apiref:`bl0939/bl0939.h`
- :ghedit:`Edit`