BL0939 Power Sensor

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 UART bus 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.

# 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 Sensor.

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

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

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

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

  • energy_1 (Optional): Use the energy counter value of the channel 1 in kWh. All options from Sensor.

  • energy_2 (Optional): Use the energy counter value of the channel 2 in kWh. All options from Sensor.

  • energy_total (Optional): Use the energy counter value of both channels in kWh. All options from Sensor.

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

  • uart_id (Optional, ID): Manually specify the ID of the UART Component if you want to use multiple UART buses.

See Also