ESPHome - конфигурация JetHub E1-PD76-R5-[AC/DC] (v3)
Конфигурация контроллеров JetHub E1-PD76-R5-AC (v3) и JetHub E1-PD76-R5-DC (v3) для ESPHome.
Примечание
Для сборки прошивки для контроллеров JetHub E1-PD76-R5-[AC/DC] (v3) необходимо использовать версии ESPHome 2023.11.0 или более новые, в которые была включена поддержка расширителей портов PCA9535 и аналогичных.
Конфигурация
- В данной конфигурации реализованы:
Настройка Ethernet с автоматическим определением IP-адреса.
Интеграция с Home Assistant.
Настройка светодиодов
STAT
(красный и зеленый).Настройка реле.
Определение событий от кнопки
FN
.Определение событий от всех дискретных входов.
Шина 1-wire.
Примечание
После загрузки контроллера и получения IP-адреса контроллер будет автоматически доступен в Home Assistant, работающем в этой же сети.
Подсказка
1esphome:
2 name: e1-pd76-r5-v3
3 platform: ESP32
4 board: nodemcu-32s
5 name_add_mac_suffix: true # This option adds MAC address to the end of the device name
6
7## WARNING: Disable WiFi and captive_portal if Ethernet enabled
8#wifi:
9# ssid: "***"
10# password: "***"
11#
12# # Enable fallback hotspot (captive portal) in case wifi connection fails
13# ap:
14# ssid: "JetHub E1 Fallback Hotspot"
15# password: "***"
16#
17#captive_portal:
18
19# Enable Ethernet
20ethernet:
21 type: LAN8720
22 mdc_pin: GPIO23
23 mdio_pin: GPIO18
24 clk_mode: GPIO17_OUT
25 phy_addr: 1
26
27# Enable logging
28logger:
29
30# Enable Home Assistant API
31api:
32
33# Enable OTA firmware update
34ota:
35
36# Enable internal WEB server
37web_server:
38 port: 80
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
56pca9554:
57 - id: cpu_gpio_exp
58 pin_count: 16
59 address: 0x20
60 - id: mb_gpio_exp
61 pin_count: 16
62 address: 0x22
63
64# Enable digital outputs: LEDs and relays
65switch:
66 - platform: gpio
67 name: "Red LED"
68 id: red_led
69 pin:
70 pca9554: cpu_gpio_exp
71 number: 0
72 mode: OUTPUT
73 inverted: false
74 - platform: gpio
75 name: "Green LED"
76 id: green_led
77 pin:
78 pca9554: cpu_gpio_exp
79 number: 1
80 mode: OUTPUT
81 inverted: false
82 - platform: gpio
83 name: "Relay 1"
84 id: relay_1
85 pin:
86 pca9554: mb_gpio_exp
87 number: 8
88 mode: OUTPUT
89 inverted: false
90 - platform: gpio
91 name: "Relay 2"
92 id: relay_2
93 pin:
94 pca9554: mb_gpio_exp
95 number: 9
96 mode: OUTPUT
97 inverted: false
98 - platform: gpio
99 name: "Relay 3"
100 id: relay_3
101 pin:
102 pca9554: mb_gpio_exp
103 number: 10
104 mode: OUTPUT
105 inverted: false
106 - platform: gpio
107 name: "Relay 4"
108 id: relay_4
109 pin:
110 pca9554: mb_gpio_exp
111 number: 11
112 mode: OUTPUT
113 inverted: false
114 - platform: gpio
115 name: "Relay 5"
116 id: relay_5
117 pin:
118 pca9554: mb_gpio_exp
119 number: 12
120 mode: OUTPUT
121 inverted: false
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 pca9554: mb_gpio_exp
134 number: 0
135 inverted: false
136 - platform: gpio
137 name: "Input 2"
138 pin:
139 pca9554: mb_gpio_exp
140 number: 1
141 inverted: false
142 - platform: gpio
143 name: "Input 3"
144 pin:
145 pca9554: mb_gpio_exp
146 number: 2
147 inverted: false
148 - platform: gpio
149 name: "Input 4"
150 pin:
151 pca9554: mb_gpio_exp
152 number: 3
153 inverted: false
154 - platform: gpio
155 name: "Input 5"
156 pin:
157 pca9554: mb_gpio_exp
158 number: 4
159 inverted: false
160 - platform: gpio
161 name: "Input 6"
162 pin:
163 pca9554: 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.
Расширитель портов
В контроллере JetHub E1-PD76-R5-[AC/DC] (v3) используются микросхемы расширителя портов PCA9535. Для них можно использовать драйвер pca9554
:
# Enable I2C GPIO expanders
pca9554:
- id: cpu_gpio_exp
pin_count: 16
address: 0x20
- id: mb_gpio_exp
pin_count: 16
address: 0x22
Реле
Реле подключены к расширителю портов на периферийной плате.
Для управления реле используется прямая логика:
# Enable digital outputs: LEDs and relays
switch:
- platform: gpio
name: "Relay 1"
id: relay_1
pin:
pca9554: mb_gpio_exp
number: 8
mode: OUTPUT
inverted: false
- platform: gpio
name: "Relay 2"
id: relay_2
pin:
pca9554: mb_gpio_exp
number: 9
mode: OUTPUT
inverted: false
- platform: gpio
name: "Relay 3"
id: relay_3
pin:
pca9554: mb_gpio_exp
number: 10
mode: OUTPUT
inverted: false
- platform: gpio
name: "Relay 4"
id: relay_4
pin:
pca9554: mb_gpio_exp
number: 11
mode: OUTPUT
inverted: false
- platform: gpio
name: "Relay 5"
id: relay_5
pin:
pca9554: mb_gpio_exp
number: 12
mode: OUTPUT
inverted: false
Примечание
При изменении состояния выходов, через некоторое время (~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:
pca9554: mb_gpio_exp
number: 0
inverted: false
- platform: gpio
name: "Input 2"
pin:
pca9554: mb_gpio_exp
number: 1
inverted: false
- platform: gpio
name: "Input 3"
pin:
pca9554: mb_gpio_exp
number: 2
inverted: false
- platform: gpio
name: "Input 4"
pin:
pca9554: mb_gpio_exp
number: 3
inverted: false
- platform: gpio
name: "Input 5"
pin:
pca9554: mb_gpio_exp
number: 4
inverted: false
- platform: gpio
name: "Input 6"
pin:
pca9554: 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
Примечание
Для каждого подключенного к шине датчика температуры необходимо добавить в файл конфигурации:
sensor:
- platform: onewire
address: 0x28XXXXXXXXXXXXXX
name: "Livingroom Temperature"
где 0x28XXXXXXXXXXXXXX
- адрес датчика температуры.