devices.esphome.io
Gosund SW6
Gosund SW6
Device Type: switchElectrical Standard: usBoard: esp8266
Flashing
For older devices, it may be possible to use Tuya Convert to flash
For newer devices, use a USB to serial adapter, and solder wires onto the pads marked IO0, TX, RX, 3.3V and GND.
Notes
This configuration does not use the state LED at all, as it was never synchronized with the state of the light. This is an area for further work.
In order for the switch to work correctly, it should be placed as the first switch from the mains power, with the 'dumb' 3-way switch placed on the load side. For proper sensing, the load needs to be more than a few watts, so it should be put in place with an actual light for testing.
This configuration is based directly on information from this post: https://www.reddit.com/r/Esphome/comments/kn51r0/configuration_for_gosund_sw6/
GPIO Pinout
Pin | Function |
---|---|
GPIO0 | Button |
GPIO2 | State LED (Inverted: true) |
GPIO4 | Switch |
GPIO14 | Relay 2 |
GPIO15 | Relay 1 |
GPIO16 | Link LED (inverted: true) |
Basic Configuration
esphome: name: gosundsw5 platform: ESP8266 board: esp01_1m
substitutions: esphome_name: gosundsw5 friendly_name: Gosund SW6
# Enable logginglogger:
# Enable Home Assistant APIapi:
ota:wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap:
captive_portal:
status_led: pin: number: GPIO16 inverted: True
binary_sensor: - platform: gpio pin: number: GPIO00 id: button on_press: - switch.toggle: relay
- platform: gpio pin: number: GPIO4 inverted: True id: power_button name: "Dumb Switch Output" internal: True on_press: - switch.toggle: ${esphome_name}
switch: - platform: gpio pin: GPIO14 id: relay restore_mode: RESTORE_DEFAULT_OFF internal: True
- platform: template name: ${friendly_name} id: ${esphome_name} icon: "mdi:light-switch" lambda: |- if (id(power_button).state) { return true; } else { return false; } turn_on_action: - if: condition: - binary_sensor.is_off: power_button then: - switch.toggle: relay turn_off_action: - if: condition: - binary_sensor.is_on: power_button then: - switch.toggle: relay
- platform: gpio pin: number: GPIO15 mode: INPUT_PULLDOWN_16 id: dummy_relay internal: True