After reading other reports, I’ve finally found that using inverted CF and CF1 pins configuration may solve the problem.
And now the BL0937 works.
substitutions:
voltage_divider: "785.5115954276857"
current_resistor: "0.001054149274397953"
current_multiply: "0.4499878363475396"
# Configuration entry for device BL0937 using inverted SEL, CF, CF1 pins functionality
sensor:
- platform: hlw8012
model: BL0937
sel_pin:
number: P8
inverted: true
cf_pin:
number: P6
inverted: true ## <---
cf1_pin:
number: P7
inverted: true ## <---
current_resistor: ${current_resistor}
voltage_divider: ${voltage_divider}
current:
name: "BL0937 Current"
filters:
- multiply: ${current_multiply}
voltage:
name: "BL0937 Voltage"
power:
name: "BL0937 Power"
update_interval: 10s
Afterwards, one needs to calibrate it.
