devices.esphome.io

Yagala SM-SO301

Yagala SM-SO301

Device Type: plug
Electrical Standard: us
Board: esp8266

Product Images

Product Image

GPIO Pinout

PinFunction
GPIO00Status LED inverted
GPIO04Relay 1 inverted
GPIO05Push Button
GPIO12Relay 3 inverted
GPIO13Relay 2 inverted
GPIO14Relay 4 inverted
GPIO16USB Power Relay not inverted

Basic Configuration

# Basic Config
---
substitutions:
displayname: "Power Strip"
unique_id: "yagala_sm-so301_01"
esphome:
name: ${unique_id}
platform: ESP8266
board: esp01_1m
esp8266_restore_from_flash: true
# WiFi connection
wifi:
ssid: !secret iot_wifi_ssid
password: !secret iot_wifi_password
power_save_mode: none
fast_connect: true
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "${displayname}"
password: !secret ap_mode_password
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
reboot_timeout: 0s
encryption:
key: !secret api_encryption_key
# Enable Web server
web_server:
port: 80
text_sensor:
- platform: wifi_info
ip_address:
name: "${displayname} IP Address"
ota:
password: !secret ota_password
switch:
- platform: gpio
name: "${displayname} USB Power"
id: usb_power
pin:
number: GPIO16
- platform: gpio
name: "${displayname} Relay 1"
id: relay1
inverted: true
pin:
number: GPIO4
- platform: gpio
name: "${displayname} Relay 2"
inverted: true
pin:
number: GPIO13
id: relay2
- platform: gpio
name: "${displayname} Relay 3"
inverted: true
id: relay3
pin:
number: GPIO12
- platform: gpio
name: "${displayname} Relay 4"
inverted: true
id: relay4
pin:
number: GPIO14
# Switch to restart strip
- platform: restart
name: "${displayname} Restart"
light:
# Blue LED PWM
# GPIO0
- platform: monochromatic
name: "${displayname} Blue LED"
output: output_component_blue
output:
#Blue LED
- platform: esp8266_pwm
id: output_component_blue
pin: GPIO0
inverted: true
binary_sensor:
# Button & Automation to toggle all switches
# GPIO5
- platform: gpio
pin: GPIO5
id: button
name: "${displayname} Button"
on_press:
- switch.toggle: relay1
- switch.toggle: relay2
- switch.toggle: relay3
- switch.toggle: relay4
- switch.toggle: usb_power
internal: True
# Binary sensor to display the connected status
- platform: status
name: "${displayname} Status"
Edit this page on GitHub