Подробное описание прошивки одноканального Gosund sp211 при помощи заранее подготовленного ноутбука было приведено в этой статье. Данный модуль был куплен в магазине allo за 349грв., что составляло на момент покупки около 12$ США по курсу НБУ:
Фото из описания производителя:
Приступаем к прошивке:
В ESPHome при помощи «+ NEW DEVICE» создаем новый временный профиль и сохраняем его на диск нажав «INSTALL» и выбрав «Manual download»
На вопрос о формате сохранения выбираем «Legacy format»:
После окончания компилирования файл будет сохранен в папку «Загрузки» (по умолчанию):
Далее необходимо сохраненный файл прошивки (в моем случае это gosund-sp211.bin) флешкой скопировать на ноутбук с установленным ранее tuya convert, в одноименную папку tuya-convert, расположенную в домашней папке Linux:
Запускаем «Terminal» и входим в папку tuya-convert введя команду
cd tuya-convert
Запускаем программу обновления прошивки введя
./start_flash.sh
Вводим пароль учетной записи с правами администратора:
На все претензии соглашаемся, нажав «y»:
Перед тем как нажать «ENTER» выполняем рекомендации как на скриншоте:
1. Подключаем телефон к точке доступа «vtrust-flash»
2. Включаем на Gosund sp211 режим сопряжения зажав кнопку на время более 5 секунд
3. Нажимаем «ENTER»
Начнется резервное копирование оригинальной прошивки в папку tuya-convert /backup. Ее надо сохранить в надежное место на случай, если захотите вернуться на снова на прошивку tuya. Далее нужно выбрать прошивку, которая будет загружена в Gosund sp211, нажав «2»:
«Вы уверены что хотите прошить ….?» Уверенно нажимаем «Y»:
После удачной прошивки увидим следующее:
Теперь в ESPHome Gosund sp211 стал в статусе «онлайн». Это значит, что он доступен для перепрошивки «по воздуху»:
Используемые GPIO Gosund sp211:
Мой профиль для Gosund sp211 (за основу был взят профиль с esphome-devices)
esphome: name: gosund-sp211 platform: ESP8266 board: esp8285 # Enable logging logger: # Enable Home Assistant API api: ota: password: !secret ota_password wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Static IP manual_ip: static_ip: 192.168.1.142 gateway: 192.168.1.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Gosund-Sp211 Fallback Hotspot" password: !secret ap_password captive_portal: time: - platform: homeassistant id: homeassistant_time substitutions: plug_name: sp211 # Higher value gives lower watt readout #current_res: "0.00520" current_res: "0.00130" # Lower value gives lower voltage readout #voltage_div: "750" voltage_div: "910" # Enable Web server web_server: port: 80 sensor: - platform: wifi_signal name: "${plug_name} - WiFi Signal" update_interval: 60s - platform: uptime name: "${plug_name} - Uptime" icon: mdi:clock-outline update_interval: 60s - platform: hlw8012 sel_pin: number: GPIO03 inverted: true cf_pin: GPIO04 cf1_pin: GPIO05 current_resistor: ${current_res} voltage_divider: ${voltage_div} current: name: "${plug_name} - Ampere" unit_of_measurement: A accuracy_decimals: 3 icon: mdi:flash-outline voltage: name: "${plug_name} - Volt" unit_of_measurement: V accuracy_decimals: 1 icon: mdi:flash-outline power: name: "${plug_name} - Watt" unit_of_measurement: W id: "${plug_name}_power" icon: mdi:flash-outline change_mode_every: 4 update_interval: 10s - platform: total_daily_energy name: "${plug_name} - Daily energy consumed" power_id: "${plug_name}_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" status_led: pin: number: GPIO01 inverted: true binary_sensor: - platform: gpio id: button1 internal: true pin: number: GPIO12 mode: INPUT_PULLUP inverted: true #on_state: on_press: - switch.toggle: relay1 - platform: gpio id: button2 internal: true pin: number: GPIO00 mode: INPUT_PULLUP inverted: true #on_state: on_press: - switch.toggle: relay2 # Fix for overload bug in certain SP211 devices - platform: gpio id: gpio15_irq pin: GPIO15 internal: true output: - platform: gpio pin: GPIO02 inverted: true id: led1 - platform: gpio pin: GPIO13 inverted: true id: led2 switch: - platform: gpio pin: GPIO14 id: relay1 restore_mode: RESTORE_DEFAULT_OFF name: '${plug_name} - Switch 1' icon: mdi:power-socket-eu on_turn_on: - output.turn_on: led1 on_turn_off: - output.turn_off: led1 - platform: gpio pin: GPIO16 id: relay2 restore_mode: RESTORE_DEFAULT_OFF name: '${plug_name} - Switch 2' icon: mdi:power-socket-eu on_turn_on: - output.turn_on: led2 on_turn_off: - output.turn_off: led2
Теперь осталось заменить временный профиль постоянным:
И обновить через INSTALL/Wirelessly:
В Home Assistant добавляется через Настройки/Устройства и Службы. В итоге Gosund sp211 в Home Assistant выглядит так:
Комментариев нет:
Отправить комментарий