Стартовый конфиг ESPHome
Собран по распиновке выше. Ключи и пароль Wi-Fi берутся из secrets.yaml в ESPHome. Перед прошивкой сверьте пины со своей ревизией устройства: у одной модели бывают разные платы.
substitutions:
name: shelly-power-strip-4-gen
esphome:
name: ${name}
friendly_name: "Shelly Power Strip 4 Gen4"
esp32:
board: esp32dev
logger:
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap: {}
captive_portal:
switch:
- platform: gpio
pin: GPIO1
id: relay1
name: "Relay 1" # Relay 4 (Outlet 4)
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO2
id: relay2
name: "Relay 2" # Relay 2 (Outlet 2)
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO3
id: relay3
name: "Relay 3" # Relay 3 (Outlet 3)
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO4
id: relay4
name: "Relay 4" # Relay 1 (Outlet 1)
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO6
id: relay5
name: "Relay 5" # ADE7953 #0 IRQ (Outlets 1+2)
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO7
id: relay6
name: "Relay 6" # ADE7953 #1 IRQ (Outlets 3+4)
restore_mode: RESTORE_DEFAULT_OFF
binary_sensor:
- platform: gpio
pin:
number: GPIO20
mode: INPUT_PULLUP
inverted: true
name: "Button 1" # Button 1 (SW1, low-active)
on_press:
- switch.toggle: relay1
- platform: gpio
pin:
number: GPIO21
mode: INPUT_PULLUP
inverted: true
name: "Button 2" # Button 4 (SW4, low-active)
on_press:
- switch.toggle: relay2
- platform: gpio
pin:
number: GPIO22
mode: INPUT_PULLUP
inverted: true
name: "Button 3" # Button 2 (SW2, low-active)
on_press:
- switch.toggle: relay3
- platform: gpio
pin:
number: GPIO23
mode: INPUT_PULLUP
inverted: true
name: "Button 4" # Button 3 (SW3, low-active)
on_press:
- switch.toggle: relay4
status_led:
pin:
number: GPIO18
inverted: false # WS2812B Data (12 LEDs, via R36)
# Other pins from the pinout:
# GPIO10: SPI CS1 – ADE7953 #1
# GPIO11: SPI MOSI
# GPIO12: SPI MISO
# GPIO13: SPI SCLK
# GPIO15: SPI CS0 – ADE7953 #0
# GPIO16: UART TX (Debug / Flash)
# GPIO17: UART RX (Debug / Flash)
# GPIO9: IO0
Как прошить
- Большинство устройств прошивают по UART: адаптер USB-TTL на 3,3 В к пинам RX, TX, GND и 3V3, при включении зажать GPIO0 на землю (для ESP8266/ESP32). Сетевое питание при этом отключено.
- Чипы Beken (BK72xx) и Realtek прошивают через ltchiptool или cloudcutter без вскрытия — если прошивка устройства это допускает.
- Подробности и фотографии платы — страница устройства в базе ESPHome.
Свой конфиг с нуля — генератор ESPHome. Какие пины безопасны — распиновка.