Статья

Упрощаем конфигурационные файлы устройств на прошивке ESPHome для частого использования

Недавно я прошил несколько WiFi выключателей. И так как конфигурационные файлы выключателей похожи и отличаются только названием устройств и паролями, задумался о том, как можно упростить написание конфигурационных файлов и описать общие части в одном месте.

Изучив документацию ESPHome, я узнал:

substitutions: devicename: livingroom upper_devicename: Livingroom esphome: name: $devicename #... sensor: - platform: dht #... temperature: name: $ Temperature humidity: name: $ Humidity

  • мы можем подгружать содержимое из других файлов.

# In nodemcu1.yaml substitutions: devicename: nodemcu1 upper_devicename: NodeMCU 1 <<: !include common.yaml

  • создаем файл .common.yaml
    (в нем описана общая часть для всех моих конфигурационных файлов);
  • создаем файл secrets.yaml (рекомендуется пароли хранить в нем) Пример моего файла;

  • для однокнопочных выключателей создаем общий файл конфигурации .switch-one.common.yaml;

  • пример общей конфигурации для двухкнопочного выключателя и для устройств Sonoff Basic;

  • затем переписываем конфигурационные файлы устройств, в моем случае - это выключатели и реле Sonoff Basic.

# switch_kitchen.yaml #=============================================================================== # Выключатель на кухне #=============================================================================== substitutions: device_name: switch_kitchen platform: ESP8266 board: esp01_1m wifi_ssid: !secret wifi_ssid wifi_password: !secret wifi_password ap_sid: !secret switch_kitchen_ap_sid ap_password: !secret switch_kitchen_ap_password web_server_username: $ web_server_password: !secret switch_kitchen_web_server_password api_password: !secret api_password ota_password: !secret switch_kitchen_ota_password #=============================================================================== # подгружаем общие части <<: !include.common.yaml <<: !include.switch-one.common.yaml

# switch_hallway.yaml #=============================================================================== # Выключатель в прихожей #=============================================================================== substitutions: device_name: switch_hallway platform: ESP8266 board: esp01_1m wifi_ssid: !secret wifi_ssid wifi_password: !secret wifi_password ap_sid: !secret switch_hallway_ap_sid ap_password: !secret switch_hallway_ap_password web_server_username: $ web_server_password: !secret switch_hallway_web_server_password api_password: !secret api_password ota_password: !secret switch_hallway_ota_password #=============================================================================== # подгружаем общие части <<: !include.common.yaml <<: !include.switch-one.common.yaml

# switch_living_room.yaml #=============================================================================== # Выключатель в комнате #=============================================================================== substitutions: device_name: switch_living_room platform: ESP8266 board: esp01_1m wifi_ssid: !secret wifi_ssid wifi_password: !secret wifi_password ap_sid: !secret switch_living_room_ap_sid ap_password: !secret switch_living_room_ap_password web_server_username: $ web_server_password: !secret switch_living_room_web_server_password api_password: !secret api_password ota_password: !secret switch_living_room_ota_password #=============================================================================== # подгружаем общие части <<: !include.common.yaml <<: !include.switch-two.common.yaml

# sonoff_1.yaml #=============================================================================== # Sonoff basic #=============================================================================== substitutions: device_name: sonoff_1 platform: ESP8266 board: esp01_1m wifi_ssid: !secret wifi_ssid wifi_password: !secret wifi_password ap_sid: !secret sonoff_1_ap_sid ap_password: !secret sonoff_1_ap_password web_server_username: $ web_server_password: !secret sonoff_1_web_server_password api_password: !secret api_password ota_password: !secret sonoff_1_ota_password #=============================================================================== <<: !include.common.yaml <<: !include.sonoff-basic.common.yaml

1

А по какому пути создаем файлы secrets.yaml , common.yaml , switch-one.common.yaml


Тобиш где они должны лежать?


Вернуться назад

Устройства


ITEAD

Sonoff Basic

(7 отзывов)

Вернуться назад