devices.esphome.io
Geeni SW003-199 6-Outlet Surge Protector
Geeni SW003-199 6-Outlet Surge Protector
Device Type: plugElectrical Standard: usBoard: bk72xxDifficulty: Soldering required, 4/5
Product Image
View back plate product information
View disassembled pictures
Description
This device has 6 outlets, and a combined blue led button. The button toggles all pins when pressed.
The device is based on the Tuya CB3S module. The device couldn't be converted with tuya-cloudcutter and required serial flashing.
The CB3S is soldered onto the main board, but is easily accessible and pins are exposed. The device can easily be be opened by unscrewing the screws at the back.
Warning: The SW003-199-199S
variant has a different chip and pinout configuration. Be sure to verify the module being used before flashing.
Serial flashing
The official Tuya CB3S module documentation contains a diagram with the position of each pin on the module. The module has multiple UARTs, UART1 is the one used for flashing.
Pin | Function |
---|---|
1 | RST/CEN |
8 | 3V3 |
9 | GND |
15 | RXD1 |
16 | TXD1 |
Esphome can directly flash the device over serial. When asked, power cycle the device while holding RST/CEN low, then disconnect RST/CEN to let the chip boot into the flashing program.
GPIO Pinout
Pin | Function |
---|---|
P6 | Outlet 1 (cord side) |
P24 | Outlet 2 |
P26 | Outlet 3 |
P8 | Outlet 4 |
P7 | Outlet 5 |
P9 | Outlet 6 |
P14 | Status LED (inverted) |
P23 | Toggle button (inverted) |
Basic Configuration
esphome: name: geeni-powerstrip
bk72xx: board: cb3s
wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap:
logger:
api:
ota:
switch: - platform: gpio id: switch_1 name: Outlet 1 pin: P6 - platform: gpio id: switch_2 name: Outlet 2 pin: P24 - platform: gpio id: switch_3 name: Outlet 3 pin: P26 - platform: gpio id: switch_4 name: Outlet 4 pin: P8 - platform: gpio id: switch_5 name: Outlet 5 pin: P7 - platform: gpio id: switch_6 name: Outlet 6 pin: P9
binary_sensor: - platform: gpio id: binary_switch_all pin: number: P23 inverted: true mode: INPUT_PULLUP on_press: then: - switch.toggle: switch_1 - switch.toggle: switch_2 - switch.toggle: switch_3 - switch.toggle: switch_4 - switch.toggle: switch_5 - switch.toggle: switch_6
status_led: pin: number: P14 inverted: true