ESPHome - конфигурация JetHub E1-PD76-R5-[AC/DC] (v2)

Конфигурация контроллеров JetHub E1-PD76-R5-AC (v2) и JetHub E1-PD76-R5-DC (v2) для ESPHome.

Конфигурация

В данной конфигурации реализованы:
  • Настройка Ethernet с автоматическим определением IP-адреса.

  • Интеграция с Home Assistant.

  • Настройка светодиодов STAT (красный и зеленый).

  • Определение событий от кнопки FN.

  • Определение событий от всех дискретных входов.

  • Шина 1-wire.

Примечание

После загрузки контроллера и получения IP-адреса контроллер будет автоматически доступен в Home Assistant, работающем в этой же сети.

jethub_e1_pd76_r5_v2.yaml
  1esphome:
  2  name: e1-pd76-r5
  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 I2C bus
 37i2c:
 38  sda: 5
 39  scl: 4
 40  frequency: 400kHz
 41  scan: true
 42  id: i2c1
 43
 44# Enable UART1
 45uart:
 46  - tx_pin: 33
 47    rx_pin: 34
 48    baud_rate: 115200
 49    id: uart_1
 50
 51# Enable I2C GPIO expanders
 52pcf8574:
 53  - id: cpu_gpio_exp
 54    address: 0x20
 55    pcf8575: true
 56  - id: mb_gpio_exp
 57    address: 0x22
 58    pcf8575: true
 59
 60# Enable digital outputs: LEDs and relays
 61switch:
 62  - platform: gpio
 63    name: "Red LED"
 64    id: red_led
 65    pin:
 66      pcf8574: cpu_gpio_exp
 67      number: 0
 68      mode: OUTPUT
 69      inverted: true
 70  - platform: gpio
 71    name: "Green LED"
 72    id: green_led
 73    pin:
 74      pcf8574: cpu_gpio_exp
 75      number: 1
 76      mode: OUTPUT
 77      inverted: true
 78  - platform: gpio
 79    name: "Relay 1"
 80    id: relay_1
 81    pin:
 82      pcf8574: mb_gpio_exp
 83      number: 8
 84      mode: OUTPUT
 85      inverted: true
 86  - platform: gpio
 87    name: "Relay 2"
 88    id: relay_2
 89    pin:
 90      pcf8574: mb_gpio_exp
 91      number: 9
 92      mode: OUTPUT
 93      inverted: true
 94  - platform: gpio
 95    name: "Relay 3"
 96    id: relay_3
 97    pin:
 98      pcf8574: mb_gpio_exp
 99      number: 10
100      mode: OUTPUT
101      inverted: true
102  - platform: gpio
103    name: "Relay 4"
104    id: relay_4
105    pin:
106      pcf8574: mb_gpio_exp
107      number: 11
108      mode: OUTPUT
109      inverted: true
110  - platform: gpio
111    name: "Relay 5"
112    id: relay_5
113    pin:
114      pcf8574: mb_gpio_exp
115      number: 12
116      mode: OUTPUT
117      inverted: true
118
119# Enable inputs: button and discrete inputs
120binary_sensor:
121  - platform: gpio
122    name: "FN button"
123    pin:
124      number: 0
125      inverted: true
126  - platform: gpio
127    name: "Input 1"
128    pin:
129      pcf8574: mb_gpio_exp
130      number: 0
131      inverted: false
132  - platform: gpio
133    name: "Input 2"
134    pin:
135      pcf8574: mb_gpio_exp
136      number: 1
137      inverted: false
138  - platform: gpio
139    name: "Input 3"
140    pin:
141      pcf8574: mb_gpio_exp
142      number: 2
143      inverted: false
144  - platform: gpio
145    name: "Input 4"
146    pin:
147      pcf8574: mb_gpio_exp
148      number: 3
149      inverted: false
150  - platform: gpio
151    name: "Input 5"
152    pin:
153      pcf8574: mb_gpio_exp
154      number: 4
155      inverted: false
156  - platform: gpio
157    name: "Input 6"
158    pin:
159      pcf8574: mb_gpio_exp
160      number: 5
161      inverted: false
162
163# Enable 1-Wire bus on external connector
164one_wire:
165  - platform: gpio
166    pin: GPIO16
167
168## Configure individual sensors
169#sensor:
170#  - platform: dallas_temp
171#    address: 0x1c0000031edd2a28
172#    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

Примечание

Для каждого подключенного к шине датчика температуры необходимо добавить в файл конфигурации:

sensor:
  - platform: onewire
    address: 0x28XXXXXXXXXXXXXX
    name: "Livingroom Temperature"

где 0x28XXXXXXXXXXXXXX - адрес датчика температуры.