Geeni 6W8007 Smart Wi-Fi Outlet
Product Image

General Notes
Model Reference: 6W8007
Manufacturer: Geeni
The Geeni Smart Wi-Fi Outlet is available at Amazon and is also available as a 2-pack.
This plug is not able to be converted with tuya-convert as of May 2024. You will need to disassemble and flash with a USB to Serial adapter. The pins are easily accessible once the device is disassembled.
GPIO Pinout
| Pin | Function |
|---|---|
| P6 | Relay 1 |
| P7 | Relay 2 |
| P24 | Button |
| P26 | Blue LED (inverted) |
Disassembly Guide
- Unscrew back cover with Qty. 4 - Phillips #1 screws - note: loosen the 2 terminal screws for hot/neutral but don't
remove. They'll stay in place for reassembly. Don't take them all the way out like I did

- Separate outlet into 2 parts

- Separate back half (black plastic) by prying the insert holding the chips

- Access CB2S for flashing. I placed it in a small vise to hold vertical and used needle probes to flash the chip, then
reassembled in reverse order.

Configuration
substitutions:
device_description: Geeni 6W8007 Smart Wi-Fi Outlet
device_name: geeni-wifi-outlet-${device_location}
device_friendly_name: Geeni Smart Wifi Outlet ${device_friendly_location}
device_make: Geeni
device_model: 6W8007
device_chipset: Beken BK7231N
device_friendly_location: ADD LOCATION
device_location: ADD-LOCATION
esphome:
name: $device_name
friendly_name: $device_friendly_name
bk72xx:
board: cb2s
logger:
baud_rate: 0
web_server:
port: 80
captive_portal:
mdns:
# Add your own api encryption key if you use it or use a secrets file one, your choice
api:
encryption:
key: !secret api_key
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: $device_name
password: !secret wifi_ap_password
text_sensor:
- platform: libretiny
version:
name: LibreTiny Version
sensor:
- platform: uptime
name: ${device_friendly_name} Uptime
unit_of_measurement: minutes
filters:
- lambda: return x / 60.0;
- platform: wifi_signal
name: ${device_friendly_name} Signal
update_interval: 60s
light:
- platform: status_led
name: "led"
internal: true
id: led
pin:
number: P26
inverted: true
switch:
- platform: gpio
id: switch_1
name: Relay 1
pin: P6
- platform: gpio
id: switch_2
name: Relay 2
pin: P7
binary_sensor:
- platform: gpio
id: binary_switch_all
pin:
number: P24
inverted: true
mode: INPUT_PULLUP
on_multi_click:
- timing:
- ON for at most 1s
- OFF for at least 0.5s
then:
- switch.toggle: switch_1
- timing:
- ON for at most 1s
- OFF for at most 1s
- ON for at most 1s
- OFF for at least 0.2s
then:
- switch.toggle: switch_2