devices.esphome.io
Wyze Outdoor Plug
Wyze Outdoor Plug
Device Type: plugElectrical Standard: usBoard: esp32
Initial Install
This device requires a triangle screw driver bit to remove the cover and use the serial header for the first upload.
GPIO Pinout
Pin | Function |
---|---|
GPIO5 | Status LED |
GPIO18 | Button 1 |
GPIO17 | Button 2 |
GPIO15 | Relay 1 |
GPIO32 | Relay 2 |
GPIO19 | Relay 1 LED |
GPIO16 | Relay 2 LED |
GPIO34 | LUX Sensor |
GPIO25 | SEL |
GPIO27 | CF |
GPIO26 | CF1 |
Notes
- The Lux sensor is a binary sensor and can be used like a daylight sensor. (e.g. turn on lights when it gets dark)
- This device can be used as a Bluetooh proxy in Home Assistant see the docs on how to enable
Basic Configuration
# Basic Configsubstitutions: display_name: WyzeOutdoor # Higher value gives lower watt readout current_res: "0.001" # Lower value gives lower voltage readout voltage_div: "770"
esphome: name: wyzeoutdoor platform: ESP32 board: esp-wrover-kitwifi: ssid: !secret wifi_ssid password: !secret wifi_passwordlogger:api:ota:
# Device Specific Configswitch: - platform: gpio name: ${display_name} Relay1 pin: number: GPIO15 inverted: false id: relay1 on_turn_on: - light.turn_on: relay1_led on_turn_off: - light.turn_off: relay1_led - platform: gpio name: ${display_name} Relay2 pin: number: GPIO32 inverted: false id: relay2 on_turn_on: - light.turn_on: relay2_led on_turn_off: - light.turn_off: relay2_led - platform: restart name: ${display_name} Restart
output: - platform: gpio pin: GPIO19 inverted: True id: relay1_led_gpio - platform: gpio pin: GPIO16 inverted: True id: relay2_led_gpio
light: - platform: binary name: "Relay1 LED" id: relay1_led internal: true output: relay1_led_gpio - platform: binary name: "Relay2 LED" id: relay2_led internal: true output: relay2_led_gpio
sensor: - platform: adc pin: GPIO34 name: "${display_name} LUX" id: lux_sensor device_class: illuminance unit_of_measurement: lx attenuation: 12db - platform: hlw8012 sel_pin: number: GPIO25 inverted: true cf_pin: GPIO27 cf1_pin: GPIO26 current_resistor: ${current_res} voltage_divider: ${voltage_div} change_mode_every: 3 update_interval: 3s current: name: "${display_name} Amps" unit_of_measurement: A accuracy_decimals: 2 voltage: name: "${display_name} Volts" unit_of_measurement: V accuracy_decimals: 1 power: name: "${display_name} Watts" unit_of_measurement: W accuracy_decimals: 0 filters: - calibrate_linear: - 0.0 -> 0.0 - 134 -> 58
binary_sensor: - platform: gpio internal: true pin: number: GPIO18 mode: INPUT_PULLDOWN inverted: False name: ${display_name} Button1 on_press: - switch.toggle: relay1 - platform: gpio internal: true pin: number: GPIO17 mode: INPUT_PULLDOWN inverted: False name: ${display_name} Button2 on_press: - switch.toggle: relay2 - platform: template name: ${display_name} daylight device_class: light lambda: |- // the senor reads 3.1 volts if there is light and 0.5 if there is not light not much inbetween if (id(lux_sensor).state > 2) { // there is daylight outside. return true; } else { // there is no daylight outside (e.g. it is dark). return false; }
status_led: pin: number: GPIO5 inverted: true