Прошивка на ESPHome и подключение к системе умный на базе Home Assistant модуля Sonoff POW R2. По умолчанию модулем можно управлять с любой точки мира используя приложение eWeLink - Smart Home. Также данный может измерять ток, напряжение и мощность.
Ссылка на модуль в магазине BangGood: SONOFF® POW R2 AC90-250V 16A 3500W
В предыдущих статьях расписано как установить и настроить Home Assistant с ESPHome на Raspberry и x86 совместимый неттоп. Также на примере Sonoff basic подробно описано как сохранить оригинальную прошивку и прошить альтернативную.
Внешний вид розетки:
Упаковка:
Комплект поставки:
Фото модуля и его платы:
Схема подключения
Для подключения к адаптеру USB используются выводы Tx, Rx, GND и 3.3V. При подключении к ПК так же как и на Sonoff Basic для прошивки необходимо зажать кнопку на модуле
На модуле для подключения к программатору имеется разъем J2. Необходимо только припаять разъем типа гребенка или же припаяться напрямую к контактам:
ПРОФИЛЬ ESPHOME И ЕГО ОПИСАНИЕ
Алгоритм работы:
При включении в сеть нагрузка включена, светодиоды не горят. При нажатии на кнопку или поступлении сигнала по сети через веб интерфейс или из меню Home Assistant выключается нагрузка. При повторном нажатии (или включении по сети) реле включает нагрузку и красный светодиод плавно зажигается. При потреблении нагрузки более 3-4Вт загорается синий светодиод, который показывает, например в моем случае работу бойлера. Также по сети можно отдельно управлять свечением синего светодиода независимо от состояния реле.
В прошивке есть сенсоры, отображающие уровень сигнала WIFI, время работы, дату последней перепрошивки, напряжение сети, ток, мощность, потребляемая нагрузкой и счетчик потребляемой мощности за сутки.
Также есть доступ к к выключателю по вебу используя его IP адрес:
Используемые GPIO Sonoff POW R2:
Профиль ESPhome для Sonoff POW R2:
substitutions: plug_name: sonoff_pow esphome: name: ${plug_name} platform: ESP8266 board: esp01_1m wifi: ssid: "dream2" password: "********" manual_ip: static_ip: 192.168.1.129 gateway: 192.168.1.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "${plug_name} Fallback Hotspot" password: "********" captive_portal: # Enable logging logger: baud_rate: 0 uart: rx_pin: RX baud_rate: 4800 # Enable Home Assistant API api: password: "********" web_server: port: 80 ota: password: "********" time: - platform: homeassistant id: homeassistant_time binary_sensor: - platform: gpio pin: number: GPIO0 mode: INPUT_PULLUP inverted: True name: "${plug_name} Button" on_press: - switch.toggle: mybutton - platform: template name: "${plug_name} Running" filters: - delayed_off: 15s lambda: |- if (isnan(id(power).state)) { return {}; } else if (id(power).state > 4) { // Running return true; } else { // Not running return false; } switch: - platform: template name: "${plug_name} Relay" optimistic: true id: mybutton turn_on_action: - switch.turn_on: relay # - light.turn_off: led turn_off_action: - switch.turn_off: relay # - light.turn_on: led - platform: gpio id: relay pin: GPIO12 icon: mdi:water-boiler restore_mode: ALWAYS_ON output: - platform: esp8266_pwm id: pow_blue_led pin: number: GPIO13 inverted: True light: - platform: monochromatic name: "${plug_name} Blue LED" output: pow_blue_led id: led sensor: - platform: wifi_signal name: "${plug_name} WiFi Signal" update_interval: 60s - platform: uptime name: "${plug_name} Uptime" - platform: cse7766 update_interval: 2s current: name: "${plug_name} Current" voltage: name: "${plug_name} Voltage" power: name: "${plug_name} Power" id: power on_value_range: - above: 4.0 then: - light.turn_on: led - below: 3.0 then: - light.turn_off: led unit_of_measurement: W - platform: total_daily_energy name: "${plug_name} Total Daily Energy" power_id: power filters: # Multiplication factor from W to kW is 0.001 - multiply: 0.001 unit_of_measurement: kWh icon: mdi:clock-alert text_sensor: - platform: version name: "${plug_name} ESPHome Version"
Добавляется в Home Assistant через меню Настройки-Интеграции:
Супер, спасибо за идею с нагрузкой и светодиодом.
ОтветитьУдалитьВыключатель синего светодиода можно скрыть из интерфейса параметром "internal: true"
Возможно тема слишком старая и не актуальная, но всё-таки для бойлера очень полезен датчик температуры как перестраховки выключения реле. На плате есть ІО4 и ІО5, как думаете, к ним можно подключить датчик типа ds18b20 в железной оправе ?
ОтветитьУдалить