Got this working today, just power metering is still an issue.
Working:
- Both relay’s
- Both switches
- Button
- Status LED
Not working:
- Power metering (feature request@esphome.io)
The actual power metering chip on the DualR3 is the CSE7761 which is not supported by esphome yet.
The config below and more information on our website:
The new Sonoff DualR3 is here! - espthings.io
If anyone knows how to get the power metering working, please leave a comment here or on the website!
Thanks
esphome yaml:
substitutions:
devicename: sonoff_dualr3
long_devicename: Sonoff DualR3
esphome:
name: $devicename
platform: ESP32
board: esp32dev
wifi:
ssid: !secret esphome_wifi_ssid
password: !secret esphome_wifi_password
power_save_mode: light
ap:
ssid: $devicename
password: !secret esphome_ap_password
captive_portal:
api:
password: !secret esphome_api_password
ota:
password: !secret esphome_ota_password
web_server:
port: 80
logger:
baud_rate: 0
# remove # below to enable ble tracking
#esp32_ble_tracker:
uart:
rx_pin: RX
baud_rate: 4800
sensor:
- platform: wifi_signal
name: "WiFi Signal $long_devicename"
update_interval: 60s
- platform: cse7766 #The actual chip on the DualR3 is a CSE7761, no driver available yet!
update_interval: 5s
current:
name: "$long_devicename Current"
voltage:
name: "$long_devicename Voltage"
power:
name: "$long_devicename Power"
id: power
on_value_range:
- above: 1.0
then:
- logger.log: "$long_devicename Power above 1.0A"
- below: 1.0
then:
- logger.log: "$long_devicename Power below 1.0A"
output:
- platform: gpio
pin: GPIO27
id: relay1
- platform: gpio
pin: GPIO14
id: relay2
switch:
- platform: output
name: "$long_devicename - relay 1"
output: relay1
id: sw1
- platform: output
name: "$long_devicename - relay 2"
output: relay2
id: sw2
status_led:
pin:
number: GPIO13
inverted: yes
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename button"
on_press:
- logger.log: "$long_devicename button"
- switch.toggle: sw1
- platform: gpio
pin:
number: GPIO32
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename switch 1"
on_press:
- logger.log: "$long_devicename switch 1"
- switch.toggle: sw1
- platform: gpio
pin:
number: GPIO33
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename switch 2"
on_press:
- logger.log: "$long_devicename switch 2"
- switch.toggle: sw2