вторник, 21 апреля 2020 г.

Прошивка BlitzWolf BW-SHP6 Pro на ESPHome и подключение к Home Assistant


      Прошивка на ESPHome и подключение к системе умный на базе Home Assistant улучшенной розетки BlitzWolf® BW-SHP6 Pro. От старой версии BlitzWolf® BW-SHP6 она отличается тем, что может коммутировать ток до 15А и в нем установлена новая плата управления. По умолчанию розеткой можно управлять с любой точки мира используя приложение Smart Life - Smart Living или Tuya Smart. Также розетка может измерять ток, напряжение и мощность.


      Ссылка на модуль в магазине BangGood: BlitzWolf® BW-SHP6 Pro 15A 3450W 

       В предыдущих статьях расписано как установить и настроить Home Assistant с ESPHome на Raspberry и x86 совместимый неттоп. Также на примере Sonoff basic подробно описано как сохранить оригинальную прошивку и прошить альтернативную.

Внешний вид розетки:



Разборка розетки:



    Для того чтобы разобрать розетку сначала нужно крестообразной отверткой выкрутить винт, расположенный в заземляющем отверстии:

Далее необходимо отключить разъем WIFI антенны и выкрутить два винта:

После этого можно извлечь плату:

Схема подключения
      Для подключения к адаптеру USB используются выводы Tx, Rx, GND и 3.3V. При подключении к ПК для прошивки необходимо вывод GPIO0 подключить к GND:






ПРОФИЛЬ ESPHOME И ЕГО ОПИСАНИЕ

Алгоритм работы:
     При включении в сеть нагрузка включена, светодиоды не горят. При нажатии на кнопку или поступлении сигнала по сети через веб интерфейс или из меню Home Assistant выключается нагрузка. При повторном нажатии (или включении по сети) реле включает нагрузку и красный светодиод плавно зажигается. При потреблении нагрузки более 3-4Вт загорается синий светодиод, который показывает, например работу холодильника. Также по сети можно отдельно управлять свечением светодиода независимо от состояния реле.
     В прошивке есть сенсоры, отображающие уровень сигнала WIFI, время работы, дату последней перепрошивки, напряжение сети, ток, мощность, потребляемая нагрузкой и счетчик потребляемой мощности за сутки. 
     Также есть доступ к к выключателю по вебу используя его IP адрес:

      Используемые GPIO BlitzWolf® BW-SHP6 Pro:

      Профиль для ESPHome:
Погрешность напряжения сети корректируется значением voltage_div, а тока (потребляемой мощности нагрузки) - задается значением current_res.


substitutions:
  plug_name: blitzwolf_bw_shp6_pro
  # Higher value gives lower watt readout
  current_res: "0.00247"
  # Lower value gives lower voltage readout
  voltage_div: "758"

esphome:
  name: ${plug_name}
  platform: ESP8266
  board: esp8285

wifi:
  ssid: "dream2"
  password: "********"

    # Static IP
  manual_ip:
    static_ip: 192.168.1.132
    gateway: 192.168.1.1
    subnet: 255.255.255.0
    
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${plug_name}"
    password: "*********"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "********"

ota:
  password: "********"

web_server:
  port: 80
  
time:
  - platform: homeassistant
    id: homeassistant_time
    
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO13
      mode: INPUT_PULLUP
      inverted: True
    name: "${plug_name} Button"
    on_press:
      - switch.toggle: mybutton
      
switch:
  - platform: template
    name: "${plug_name} Relay"
    optimistic: true
    id: mybutton
    turn_on_action:
    - switch.turn_on: relay
    - light.turn_off: led1
    turn_off_action:
    - switch.turn_off: relay
    - light.turn_on: led1

  - platform: gpio
    id: relay
    pin: GPIO15    
#    restore_mode: ALWAYS_ON
    
# ---------------------------------------->
# Monochromatic Light
# Плавное зажигание светодиода
output:
  - platform: esp8266_pwm
    id: red_led
    pin:
      number: GPIO0
      inverted: True
  - platform: esp8266_pwm
    id: blue_led
    pin:
      number: GPIO2
      inverted: True

light:
  - platform: monochromatic
    name: "${plug_name} Red LED"
    output: red_led
    id: led1     
  - platform: monochromatic
    name: "${plug_name} Blue LED"
    output: blue_led
    id: led2
    
sensor:
  - platform: hlw8012
    sel_pin:
      number: GPIO12
      inverted: True
    cf_pin: GPIO05
    cf1_pin: GPIO04
    current_resistor: ${current_res}
    voltage_divider: ${voltage_div}
    current:
      name: "${plug_name}_Amperage"
      unit_of_measurement: A
      accuracy_decimals: 3
      icon: mdi:flash-circle
    voltage:
      name: "${plug_name}_Voltage"
      unit_of_measurement: V
      icon: mdi:flash-circle
    power:
      name: "${plug_name}_Wattage"
      id: "${plug_name}_Wattage"
      on_value_range:
        - above: 4.0
          then:
            - light.turn_on: led2
        - below: 3.0
          then:
            - light.turn_off: led2

      unit_of_measurement: W
      icon: mdi:flash-circle
    change_mode_every: 4
    update_interval: 1s
  - platform: total_daily_energy
    name: "${plug_name}_Total Daily Energy"
    power_id: "${plug_name}_Wattage"
    filters:
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
    unit_of_measurement: kWh
    icon: mdi:clock-alert
    
#  WiFi Signal Sensor
#  Датчик отображающий уровень сигнала Wifi
  - platform: wifi_signal
    name: "${plug_name} WiFi Signal"
    update_interval: 60s
#  Uptime Sensor
#  Датчик отображающий время работы
  - platform: uptime
    name: "${plug_name} uptime"
  
text_sensor:
#  Version Text Sensor
#  Датчик отображающий версию прошивки
  - platform: version
    name: "${plug_name} ESPHome Version"

Добавляется BlitzWolf BW-SHP6 Pro в Home Assistant через меню Настройки-Интеграции:


Комментариев нет:

Отправить комментарий