devices.esphome.io
Dewenwils Heavy Duty 40A Outdoor Plug (HOWT01A & TM-050B)
Dewenwils Heavy Duty 40A Outdoor Plug (HOWT01A & TM-050B)
Device Type: switchElectrical Standard: usBoard: esp8266Difficulty: Soldering required, 4/5
Dewenwils Heavy Duty 40A Outdoor Plug (HOWT01A & TM-050B)
The device has 2 indicator LEDs, 1 power button, 1 reset button and 1 controllable double pole relay. The device is controlled by a ESP8266 that is from ECO-PLUGS, and the FCC filing can be found here. The device uses a Proprietary app that cannot be flashed to ESPHome OTA, the initial install must be USB to Serial. Once ESPHome is installed all future downloads can be OTA.
Product Image
GPIO Pinout
The GPIO pinout was learned from NorthernMan54 and Tasmota documentation.
The GPIOs being used are:
- Button: GPIO13
- Relay1: GPIO15
- Blue LED: GPIO02
Enter Flash Mode
In order to get the ESP chip into flash mode I did the following: Hold GPIO0 to ground, then apply power. My connections were soldered, so I left GPIO0 connected to ground for the duration of the flash. Once log showed a successful flash I removed the GPIO0, TX and RX pins and rebooted device.
Basic Configuration
esphome: name: ecoplug friendly_name: EcoPlug
esp8266: board: esp01_1m
# Enable logginglogger:
# Enable Home Assistant APIapi: encryption: key: !secret
ota: platform: esphome password: !secret
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "$proper_devicename Hotspot" password: !secret ap_passwordsensor: - platform: wifi_signal name: "Wifi Signal" update_interval: 120s entity_category: "Diagnostic"
binary_sensor: - platform: gpio pin: number: GPIO13 id: button on_press: - switch.toggle: relay1
- platform: status name: Eco Plug entity_category: "Diagnostic"
text_sensor: - platform: version name: "Firmware Version" entity_category: "Diagnostic"
switch: - platform: gpio name: "Eco Plug 1" pin: GPIO15 id: relay1 icon: "mdi:power-socket-us"
output: - platform: gpio id: blue_led pin: GPIO02 inverted: true
interval: - interval: 1s then: if: condition: wifi.connected: then: - output.turn_on: blue_led else: #blinks if wi-fi isn't connected - output.turn_on: blue_led - delay: 500ms - output.turn_off: blue_led
captive_portal:# Example configuration entryweb_server: port: 80 version: 1