Skip to content

Відмовостійкість (ESPNow Failover)

Додатковий пакет: ESPNow Failover (ESPNow Heatbeat)

Цей пакет дозволяє об'єднувати кілька пристроїв у групу для автоматичного вибору «Майстра» (Master). Це критично для сценаріїв, де лише один пристрій у мережі має виконувати активні дії (наприклад, надсилати сповіщення або керувати навантаженням), щоб уникнути дублювання команд.

Основні функції

  • Автоматичний вибір лідера: Пристрої в одній групі group_id обмінюються статусами через протокол ESPNow. Якщо поточний Майстер зникає з мережі, інший пристрій автоматично бере на себе цю роль.
  • Запобігання конфліктам: Компонент гарантує, що в будь-який момент часу в групі активний лише один контролер.
  • Інтеграція з логікою: За допомогою змінної i_am_master можна легко обмежувати виконання коду. Наприклад, пристрій буде виконувати певні дії лише тоді, коли він обраний Майстром.
  • Бінарний сенсор: Надає сутність у Home Assistant (або всередині ESPHome), яка відображає поточний статус пристрою (Майстер або Ведений).

Принцип роботи у SvitloBot

У системі моніторингу SvitloBot цей пакет використовується для резервування. Якщо основний контролер втрачає зв'язок або живлення, резервний підхоплює його функції та починає транслювати дані про стан (heartbeat), забезпечуючи безперебійність моніторингу без дублювання повідомлень.

Підключення пакета

Завдяки модульній структурі, ви можете гнучко налаштувати конфігурацію у секції packages:

ESPNow Failover

packages:
  remote_package:
    url: https://github.com/andrewjswan/svitlobot
    files:
      ...
      - packages/espnow_heatbeat.yaml
      ...
    refresh: 1s