Есть разные типы реле по способы работы, это обычные реле, которые при включении напряжения замыкают контакты, при пропадании напряжения контакты размыкаются, а есть бистабильные реле, для замыкания необходимо подать на один контакт высокий уровень, для выключения подать высокий уровень на второй контакт. Плюс такого реле в том, что при работе не потребляется ток, так как напряжение необходимо только для включения или выключения, так же при пропадании электричества на модуле состояние реле не измениться, однако минус заключается в том, что для управления необходимо использовать два GPIO или даже три для состояния статуса реле и после перезагрузки модуля нет статуса реле или необходимо использовать дополнительные элементы для определения статуса реле.
Попался у меня один такой выключатель на DIN рейку с модулем CBU от Tuya, в нем используется бистабильное реле и индикатор статуса, однако индикатор статуса не определяет состояние реле а всего лишь подключен на выход к одному из GPIO
Используются следующие контакты:
GPIO9 — статус реле, к этому GPIO подключен светодиод
GIPO24 — подключен к обмотке включения реле
GPIO26 — подключен к обмотки выключения реле
GPIO17 — кнопка на самом реле для ручного включения
binary_sensor: - platform: gpio pin: number: GPIO17 # кнопка name: "Button 1" id: bt1 on_press: # нажатие на кнопку then: - if: condition: switch.is_off: rel_status # проверяем статус светодиода статуса then: - switch.turn_on: rel_status # если выключен то включаем else: - switch.turn_off: rel_status # иначе выключаем switch: - platform: gpio pin: GPIO9 # светодиод статуса id: rel_status inverted: true name: rel_status on_turn_on: - switch.turn_off: relay1_off # выключаем обмотку выключения реле на всякий случай - switch.turn_on: relay1_on # включаем обмотку включения реле - delay: 500ms # ждем 0,5 секунды - switch.turn_off: relay1_on № выключаем обмотку включения реле - logger.log: "Switch Turned On!" on_turn_off: - switch.turn_off: relay1_on - switch.turn_on: relay1_off - delay: 500ms - switch.turn_off: relay1_off - logger.log: "Switch Turned Off!" - platform: gpio pin: GPIO24 # обмотка включения реле id: relay1_on - platform: gpio pin: GPIO26 № обмотка выключения реле id: relay1_off