O NasBlogKontakt

Edycja pliku konfiguracyjnego

Wszystko co powinieneś wiedzieć o pliku konfiguracyjnym

Plik konfiguracyjny

Plik konfiguracyjny wygląda na bardzo duży i skomplikowany, ale w rzeczywistości taki nie jest. Sam plik jest podzielony na sekcje. Opiszemy je poniżej. Za nasz przykład posłuży plik boneio-32x10_lights_v0_7.yaml

A więc zaczynajmy, oto cały plik konfiguracyjny:

substitutions:
  name: boneio-32-l-07
  friendly_name: 'BoneIO ESP 32x10 Lights'
  serial_prefix: 'esp' #Nie zmieniaj tego.

esphome:
  name: '${name}'
  friendly_name: '${friendly_name}'
  name_add_mac_suffix: true
  project:
    name: boneio.32x10-lights
    version: '0.7'

esp32:
  board: nodemcu-32s

ethernet:
  id: eth
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

dashboard_import:
  package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_7.yaml@latest
  import_full_config: true

packages:
  internals_packages:
    url: https://github.com/boneIO-eu/esphome
    ref: v1.6.0
    files: [
        'devices/buzzer.yaml',
        'devices/serial_no.yaml',
        'devices_v0_7/display.yaml',
        'devices_v0_7/i2c.yaml',
        'devices_v0_7-v0_9/ina219.yaml',
        'devices_v0_7-v0_9/lm75b.yaml',
        'devices_v0_7-v0_9/pcf.yaml',
        'boards/output/out01_02.yaml',
        'boards/output/out03_04.yaml',
        'boards/output/out05_06.yaml',
        'boards/output/out07_08.yaml',
        'boards/output/out09_10.yaml',
        'boards/output/out11_12.yaml',
        'boards/output/out13_14.yaml',
        'boards/output/out15_16.yaml',
        'boards/output/out17_18.yaml',
        'boards/output/out19_20.yaml',
        'boards/output/out21_22.yaml',
        'boards/output/out23_24.yaml',
        'boards/output/out25_26.yaml',
        'boards/output/out27_28.yaml',
        'boards/output/out29_30.yaml',
        'boards/output/out31_32.yaml',
        # 'devices_v0_7-v0_9/one_wire.yaml',
      ]

logger:
api:
  reboot_timeout: 0s
ota:
  - platform: esphome

web_server:
  port: 80
  local: true
  version: 3

time:
  - platform: homeassistant
    timezone: Europe/Warsaw
    id: homeassistant_time

light:
  - platform: binary
    name: 'Light 01'
    output: out_01
    id: light_01
-----

binary_sensor:
  - platform: gpio
    name: 'IN_01'
    id: in_01
    pin:
      pcf8574: pcf_inputs_1to14
      number: 0
      mode:
        input: true
      inverted: true
    on_press:
      then:
        - light.toggle: light_01
-----

######################
### SEKCJA MODBUS  ###
######################
# ODKOMENTUJ PONIŻEJ, ABY UŻYĆ MODBUS
# uart:
#   id: uart_pin14_15
#   rx_pin: GPIO14
#   tx_pin: GPIO15
#   baud_rate: 9600
#   stop_bits: 1

# modbus:
#   send_wait_time: 200ms
#   uart_id: uart_pin14_15
#   id: boneio_modbus

# modbus_controller:
#   - id: TWOJ_ID_URZADZENIA
#     address: 0x09
#     modbus_id: mod_bus
#     setup_priority: -10
#     update_interval: 60s

substitutions

substitutions:
  name: boneio-32-l-07
  friendly_name: 'BoneIO ESP 32x10 Lights'
  serial_prefix: 'esp' #Nie zmieniaj tego.

Ta część jest głównie odpowiedzialna za nazwę Twojego sterownika.
Powinieneś skupić się na friendly_name:. Należy tam wpisać nazwę swojego boneIO.
Nazwa zależy od Ciebie, może to być 'boneIO ESP', jeśli masz jeden sterownik, lub na przykład 'boneIO ESP Parter'.

esphome

esphome:
  name: '${name}'
  friendly_name: '${friendly_name}'
  name_add_mac_suffix: true
  project:
    name: boneio.32x10-lights
    version: '0.7'

Tutaj znajdują się definicje Twojego sterownika. Nie powinieneś zmieniać name: ani friendly_name.
Linia name_add_mac_suffix: doda do nazwy sterownika jego adres MAC, co jest przydatne do identyfikacji urządzenia.
project: to miejsce, w którym definiujesz typ i wersję swojego sterownika.

esp32

esp32:
  board: nodemcu-32s

Definicja mikrokontrolera ESP32.

Ethernet

ethernet:
  id: eth
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

Część odpowiedzialna za opis portu Ethernet Twojego sterownika - nie powinieneś niczego tutaj zmieniać.

dashboard_import

dashboard_import:
  package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_7.yaml@latest
  import_full_config: true

To jest miejsce, w którym zdefiniowany jest adres do naszego repozytorium na GitHub. Stamtąd pobierana jest konfiguracja i wszystkie dodatkowe pakiety. Niczego tutaj nie zmieniaj.

packages

packages:
  internals_packages:
    url: https://github.com/boneIO-eu/esphome
    ref: v1.6.0
    files: [
        'devices/buzzer.yaml',
        'devices/serial_no.yaml',
        'devices_v0_7/display.yaml',
        'devices_v0_7/i2c.yaml',
        'devices_v0_7-v0_9/ina219.yaml',
        'devices_v0_7-v0_9/lm75b.yaml',
        'devices_v0_7-v0_9/pcf.yaml',
        'boards/output/out01_02.yaml',
        'boards/output/out03_04.yaml',
        'boards/output/out05_06.yaml',
        'boards/output/out07_08.yaml',
        'boards/output/out09_10.yaml',
        'boards/output/out11_12.yaml',
        'boards/output/out13_14.yaml',
        'boards/output/out15_16.yaml',
        'boards/output/out17_18.yaml',
        'boards/output/out19_20.yaml',
        'boards/output/out21_22.yaml',
        'boards/output/out23_24.yaml',
        'boards/output/out25_26.yaml',
        'boards/output/out27_28.yaml',
        'boards/output/out29_30.yaml',
        'boards/output/out31_32.yaml',
        # 'devices_v0_7-v0_9/one_wire.yaml',
      ]

Tutaj znajdują się definicje wszystkich pakietów używanych przez boneIO, wraz z adresem do naszego GitHuba. Jedyną rzeczą, która może Cię zainteresować, jest odkomentowanie sekcji # 'devices_v0_7-v0_9/one_wire.yaml', jeśli chciałbyś używać magistrali 1-Wire.

logger

logger:

W przypadku rozwiązywania problemów możesz zwiększyć poziom logowania do INFO lub WARNING lub DEBUG. W niektórych przypadkach może to być bardzo przydatne.

api

api:
  reboot_timeout: 0s

Tutaj definiowany jest czas do ponownego uruchomienia, jeśli sterownik utraci połączenie z HA. Jeżeli chcesz aby Twoje boneIO zrestartowało się po utracie połączenia z Home Assistant, powinieneś wpisać tutaj wartość, która Ci odpowiada. W przypadku połączeń WiFi wartość nie powinna wynosić zero. W przypadku połączeń LAN brak ponownego uruchamiania nie wpływa negatywnie na połaczeń z Home Assistant w większości przypadków.

ota

ota:
  - platform: esphome

Część odpowiedzialna za aktualizacje Over The Air.

web_server

web_server:
  port: 80
  local: true
  version: 3

Część odpowiedzialna za włączenie serwera www sterownika.

time

time:
  - platform: homeassistant
    timezone: Europe/Warsaw
    id: homeassistant_time

Sekcja odpowiedzialna za wybór strefy czasowej Twojego sterownika, dostosuj ją do swojej lokalizacji.

Sekcja Modbus

######################
### SEKCJA MODBUS  ###
######################
# ODKOMENTUJ PONIŻEJ, ABY UŻYĆ MODBUS
# uart:
#   id: uart_pin14_15
#   rx_pin: GPIO14
#   tx_pin: GPIO15
#   baud_rate: 9600
#   stop_bits: 1
# modbus:
#   send_wait_time: 200ms
#   uart_id: uart_pin14_15
#   id: boneio_modbus

Sekcja odpowiedzialna za Modbus. Jeśli planujesz jej używać, powinieneś najpierw ją odkomentować.

######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
 uart:
   id: uart_pin14_15
   rx_p
in: GPIO14
   tx_pin: GPIO15
   baud_rate: 9600
   stop_bits: 1
 modbus:
   send_wait_time: 200ms
   uart_id: uart_pin14_15
   id: boneio_modbus

Następnie zapoznaj się z naszym poradnikiem dotyczącym Modbus.