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-dimmer_gen2_8ch-v0_1.yaml
A więc zaczynajmy, oto cały plik konfiguracyjny:
substitutions:
name: boneio-dr-gen2-8ch-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_8ch-v0_1.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: truesubstitutions
substitutions:
name: boneio-dr-gen2-8ch-01
friendly_name: 'BoneIO Dimmer 8ch'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json'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 Dimmer-G2', jeśli masz jeden sterownik, lub na przykład 'boneIO Dimmer-G2 Parter'.
esphome
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"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: esp32-s3-devkitc-1
framework:
type: esp-idfDefinicja mikrokontrolera ESP32 i wymaganego frameworku.
Ethernet
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHzCzęść odpowiedzialna za opis portu Ethernet Twojego sterownika - nie powinieneś niczego tutaj zmieniać.
dashboard_import
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_8ch-v0_1.yaml@main
import_full_config: trueTo 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.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yamlTutaj znajdują się definicje wszystkich pakietów używanych przez boneIO, wraz z adresem do naszego GitHuba. Możesz tu również odnaleźć definicje urządzęń modbus. W podanym przykładzie konfiguracją pozwalająca uruchomienie licznika SDM630 - wystarczy ją odkomentować!
logger
logger:
hardware_uart: UART0W 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: 0sTutaj 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łączeń z Home Assistant w większości przypadków.
ota
ota:
- platform: esphome
- platform: web_serverCzęść odpowiedzialna za aktualizacje Over The Air. Platforma 'web_server' umożliwia update poprzez web panel sterownika.
web_server
web_server:
port: 80
local: true
version: 3Część odpowiedzialna za włączenie serwera www sterownika.
Modbus
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbusSekcja odpowiedzialna za Modbus. Jeśli planujesz jej używać, powinieneś najpierw ją odkomentować. Następnie zapoznaj się z naszym poradnikiem dotyczącym Modbus.