55 lines
6.0 KiB
Markdown
55 lines
6.0 KiB
Markdown
[English](README.md) | Русский
|
|
# <img src="custom_components/motion_light/brand/icon.png" width="64"> </img> Motion Light
|
|
|
|
Умная интеграция для Home Assistant на основе конечного автомата (FSM) для управления освещением по датчикам движения, освещенности и ручным переключениям.
|
|
|
|
## Основные возможности
|
|
|
|
- **Умное управление по движению:** Поддержка главных датчиков (для включения) и датчиков продления (для сброса таймера выключения).
|
|
- **Учет освещенности:** Включение света только если уровень освещенности ниже заданного порога.
|
|
- **Приоритет ручного управления:** Интеграция определяет ручные включения/выключения и не пытается пересилить действия пользователя.
|
|
- **Гибкие таймеры:** Фильтр движения (debounce), задержка выключения и различные кулдауны.
|
|
- **Принудительная остановка:** Поддержка датчика для мгновенного выключения света и постановки автоматизации на паузу.
|
|
- **Настройка через UI:** Полная настройка через интерфейсы Config и Options Flow в Home Assistant.
|
|
|
|
## Как это работает
|
|
|
|
Интеграция использует конечный автомат (FSM) для управления состояниями. Основные состояния:
|
|
- **Ожидание / Обнаружение:** Ожидание движения или обработка срабатывания датчика.
|
|
- **Включено / Задержка выключения / Продлено:** Свет горит. "Задержка" означает, что движение прекратилось, идет отсчет таймера выключения. "Продлено" означает, что движение обнаружено во время задержки, таймер сброшен.
|
|
- **Ручное включение:** Свет включен вручную. Он будет гореть до ручного выключения или до истечения таймера "забыл выключить".
|
|
- **Пауза после ручного выкл.:** Свет выключен вручную. Интеграция игнорирует датчики движения в течение заданного времени, чтобы свет не включился снова.
|
|
|
|
## Установка
|
|
|
|
1. Скопируйте папку `motion_light` в директорию `custom_components` или установите её через HACS.
|
|
2. Перезапустите Home Assistant.
|
|
3. Перейдите в **Настройки > Устройства и сервисы > Добавить интеграцию** и найдите **Motion Light**.
|
|
|
|
## Настройка
|
|
|
|
При первичной настройке вам потребуется указать:
|
|
- **Главные триггеры:** Датчики, которые могут включать свет (например, датчики движения).
|
|
- **Датчики продления:** Датчики, которые только сбрасывают таймер выключения, но не могут включить свет из состояния ожидания (опционально).
|
|
- **Управляемые выключатели:** Свет или реле, которыми нужно управлять.
|
|
- **Датчик освещённости:** Датчик для проверки уровня света (опционально).
|
|
- **Датчик принудительной остановки:** Датчик для аварийного выключения (опционально).
|
|
|
|
## Сущности
|
|
|
|
После настройки интеграция создает следующие сущности:
|
|
|
|
**Сенсор:**
|
|
- **Статус:** Показывает текущее состояние FSM (Ожидание, Включено, Задержка выключения, Ручное включение и т.д.).
|
|
|
|
**Переключатели:**
|
|
- **Управление:** Глобальное включение и отключение работы интеграции.
|
|
- **Приоритет ручного:** Включает или отключает функцию отслеживания ручных переключений.
|
|
|
|
**Числовые сущности (Настройки):**
|
|
- **Фильтр движения:** Задержка перед включением после обнаружения движения (защита от ложных срабатываний).
|
|
- **Задержка выключения:** Сколько времени ждать после прекращения движения перед выключением.
|
|
- **Порог освещённости:** Максимальный уровень света, при котором разрешено автоматическое включение.
|
|
- **Cooldown люкса:** Время игнорирования датчика света после выключения (защита от мерцания).
|
|
- **Таймер 'забыл выключить':** Сколько времени свет, включенный вручную, будет гореть перед автоматическим отключением. *Установите в 0, чтобы отключить автоматическое выключение в ручном режиме.*
|
|
- **Cooldown ручного выкл.:** Время игнорирования датчиков движения после ручного выключения света. |