ESPHome - конфигурация JetHub E1-PD76-R5-[AC/DC] (v2)
Конфигурация контроллеров JetHub E1-PD76-R5-AC (v2) и JetHub E1-PD76-R5-DC (v2) для ESPHome.
Примечание
Конфигурация использует синтаксис ESPHome 2024.6.0 или более новых версий (секция ota с platform: esphome).
Содержание
Конфигурация
- В данной конфигурации реализованы:
Настройка Ethernet с автоматическим определением IP-адреса.
Интеграция с Home Assistant.
Настройка светодиодов
STAT(красный и зеленый).Определение событий от кнопки
FN.Определение событий от всех дискретных входов.
Шина 1-wire.
Примечание
После загрузки контроллера и получения IP-адреса контроллер будет автоматически доступен в Home Assistant, работающем в этой же сети.
Подсказка
1esphome:
2 name: e1-pd76-r5
3 name_add_mac_suffix: true # This option adds MAC address to the end of the device name
4
5esp32:
6 board: nodemcu-32s
7 framework:
8 type: esp-idf
9
10## WARNING: Disable WiFi and captive_portal if Ethernet enabled
11#wifi:
12# ssid: "***"
13# password: "***"
14#
15# # Enable fallback hotspot (captive portal) in case wifi connection fails
16# ap:
17# ssid: "JetHub E1 Fallback Hotspot"
18# password: "***"
19#
20#captive_portal:
21
22# Enable Ethernet
23ethernet:
24 type: LAN8720
25 mdc_pin: GPIO23
26 mdio_pin: GPIO18
27 clk_mode: GPIO17_OUT
28 phy_addr: 1
29
30# Enable logging
31logger:
32
33# Enable Home Assistant API
34api:
35
36# Enable OTA firmware update
37ota:
38 - platform: esphome
39
40# Enable I2C bus
41i2c:
42 sda: 5
43 scl: 4
44 frequency: 400kHz
45 scan: true
46 id: i2c1
47
48# Enable UART1
49uart:
50 - tx_pin: 33
51 rx_pin: 34
52 baud_rate: 115200
53 id: uart_1
54
55# Enable I2C GPIO expanders
56pcf8574:
57 - id: cpu_gpio_exp
58 address: 0x20
59 pcf8575: true
60 - id: mb_gpio_exp
61 address: 0x22
62 pcf8575: true
63
64# Enable digital outputs: LEDs and relays
65switch:
66 - platform: gpio
67 name: "Red LED"
68 id: red_led
69 pin:
70 pcf8574: cpu_gpio_exp
71 number: 0
72 mode: OUTPUT
73 inverted: true
74 - platform: gpio
75 name: "Green LED"
76 id: green_led
77 pin:
78 pcf8574: cpu_gpio_exp
79 number: 1
80 mode: OUTPUT
81 inverted: true
82 - platform: gpio
83 name: "Relay 1"
84 id: relay_1
85 pin:
86 pcf8574: mb_gpio_exp
87 number: 8
88 mode: OUTPUT
89 inverted: true
90 - platform: gpio
91 name: "Relay 2"
92 id: relay_2
93 pin:
94 pcf8574: mb_gpio_exp
95 number: 9
96 mode: OUTPUT
97 inverted: true
98 - platform: gpio
99 name: "Relay 3"
100 id: relay_3
101 pin:
102 pcf8574: mb_gpio_exp
103 number: 10
104 mode: OUTPUT
105 inverted: true
106 - platform: gpio
107 name: "Relay 4"
108 id: relay_4
109 pin:
110 pcf8574: mb_gpio_exp
111 number: 11
112 mode: OUTPUT
113 inverted: true
114 - platform: gpio
115 name: "Relay 5"
116 id: relay_5
117 pin:
118 pcf8574: mb_gpio_exp
119 number: 12
120 mode: OUTPUT
121 inverted: true
122
123# Enable inputs: button and discrete inputs
124binary_sensor:
125 - platform: gpio
126 name: "FN button"
127 pin:
128 number: 0
129 inverted: true
130 - platform: gpio
131 name: "Input 1"
132 pin:
133 pcf8574: mb_gpio_exp
134 number: 0
135 inverted: false
136 - platform: gpio
137 name: "Input 2"
138 pin:
139 pcf8574: mb_gpio_exp
140 number: 1
141 inverted: false
142 - platform: gpio
143 name: "Input 3"
144 pin:
145 pcf8574: mb_gpio_exp
146 number: 2
147 inverted: false
148 - platform: gpio
149 name: "Input 4"
150 pin:
151 pcf8574: mb_gpio_exp
152 number: 3
153 inverted: false
154 - platform: gpio
155 name: "Input 5"
156 pin:
157 pcf8574: mb_gpio_exp
158 number: 4
159 inverted: false
160 - platform: gpio
161 name: "Input 6"
162 pin:
163 pcf8574: mb_gpio_exp
164 number: 5
165 inverted: false
166
167# Enable 1-Wire bus on external connector
168one_wire:
169 - platform: gpio
170 pin: GPIO16
171
172## Configure individual sensors
173#sensor:
174# - platform: dallas_temp
175# address: 0x1c0000031edd2a28
176# name: "Livingroom Temperature"
Разъяснения
Примечание
В данном разделе описаны разъяснения только к тем опциям, которые отличаются от стандартных для процессорного модуля E1-CPU.
Реле
Реле подключены к расширителю портов на периферийной плате.
Для управления реле используется инверсная логика:
# Enable digital outputs: LEDs and relays
switch:
- platform: gpio
name: "Relay 1"
id: relay_1
pin:
pcf8574: mb_gpio_exp
number: 8
mode: OUTPUT
inverted: true
- platform: gpio
name: "Relay 2"
id: relay_2
pin:
pcf8574: mb_gpio_exp
number: 9
mode: OUTPUT
inverted: true
- platform: gpio
name: "Relay 3"
id: relay_3
pin:
pcf8574: mb_gpio_exp
number: 10
mode: OUTPUT
inverted: true
- platform: gpio
name: "Relay 4"
id: relay_4
pin:
pcf8574: mb_gpio_exp
number: 11
mode: OUTPUT
inverted: true
- platform: gpio
name: "Relay 5"
id: relay_5
pin:
pcf8574: mb_gpio_exp
number: 12
mode: OUTPUT
inverted: true
Примечание
При изменении состояния выходов, через некоторое время (~40 сек) ESPHome по-умолчанию автоматически сохраняет их состояние и после перезагрузки восстанавливает состояния выходов на сохраненные ранее.
Если данный функционал не нужен, то необходимо изменить эту функцию, задав состояние выхода
при загрузке с помощью опции restore_mode, например:
switch:
- platform: gpio
...
restore_mode: ALWAYS_OFF
...
Дискретные входы
Дискретные входы подключены к расширителю портов на периферийной плате.
Пример конфигурации дискретного входа:
# Enable inputs: button and discrete inputs
binary_sensor:
- platform: gpio
name: "Input 1"
pin:
pcf8574: mb_gpio_exp
number: 0
inverted: false
- platform: gpio
name: "Input 2"
pin:
pcf8574: mb_gpio_exp
number: 1
inverted: false
- platform: gpio
name: "Input 3"
pin:
pcf8574: mb_gpio_exp
number: 2
inverted: false
- platform: gpio
name: "Input 4"
pin:
pcf8574: mb_gpio_exp
number: 3
inverted: false
- platform: gpio
name: "Input 5"
pin:
pcf8574: mb_gpio_exp
number: 4
inverted: false
- platform: gpio
name: "Input 6"
pin:
pcf8574: mb_gpio_exp
number: 5
inverted: false
1-Wire
Шина 1-Wire подключена к выводу GPIO16 микроконтроллера.
Задействование шины 1-Wire в файле конфигурации:
# Enable 1-Wire bus on external connector
one_wire:
- platform: gpio
pin: GPIO16
Примечание
Для каждого подключенного к шине датчика температуры необходимо добавить в файл конфигурации:
sensor:
- platform: onewire
address: 0x28XXXXXXXXXXXXXX
name: "Livingroom Temperature"
где 0x28XXXXXXXXXXXXXX - адрес датчика температуры.