Files
openwrt-ha-presence/README.md
T
2026-10-12 13:37:09 +03:00

3.8 KiB

📡 OpenWrt HA Presence Tracker

Легковесный и мгновенный скрипт отслеживания присутствия устройств по Wi-Fi для OpenWrt с интеграцией в Home Assistant через MQTT.

⚡ Возможности

  • Мгновенная реакция: Использует hostapd_cli для отслеживания событий подключения/отключения (без опроса сети).
  • Несколько MAC на устройство: Поддержка агрегации состояний (например, телефон + умные часы = одно устройство).
  • Защита от ложных срабатываний: Настраиваемый таймер задержки (grace timer) перед отправкой статуса "отключен".
  • Два типа устройств:
    • tracker (для людей): статусы home / not_home
    • alarm (для IoT/розеток): статусы online / offline
  • Автоматическое обнаружение: Полная поддержка Home Assistant MQTT Discovery.
  • Интерактивная установка: Мастер настройки прямо в терминале.

🚀 Установка

Выполните эту команду на вашем роутере OpenWrt от имени пользователя root.

sh <(wget --no-check-certificate -O - https://git.darkmode.duckdns.org/sirmrak/openwrt-ha-presence/raw/branch/main/install.sh)

Скрипт автоматически:

  1. Установит необходимые пакеты (mosquitto-client-nossl, hostapd-utils).
  2. Запросит настройки MQTT брокера и базовый топик.
  3. Позволит добавить устройства с указанием MAC-адресов и типа.
  4. Настроит автозапуск службы и задачу в cron.

✅ Быстрая проверка

После установки выключите Wi-Fi на добавленном устройстве. Через указанную вами задержку выполните в SSH роутера:

logread | grep wifi_tracker

Вы должны увидеть сообщения о том, что устройство отключилось и данные успешно отправлены в Home Assistant.

⚙️ Управление и настройка

Все настройки хранятся в нативном формате UCI OpenWrt.

  • Просмотр настроек: uci show openwrt_ha
  • Редактирование вручную: vi /etc/config/openwrt_ha
  • Перезапуск службы после изменений:
    /etc/init.d/openwrt_presence restart
    /usr/bin/mqtt_ha_discovery.sh
    
  • Полное удаление: Запустите скрипт установки повторно и выберите пункт 3) Uninstall completely.

💡 Совет для Gitea

Чтобы получить правильную ссылку для установки:

  1. Откройте файл install.sh в веб-интерфейсе Gitea.
  2. Нажмите кнопку "Raw" (или "Сырой файл").
  3. Скопируйте URL из адресной строки браузера и вставьте его в команду выше (убрав /install.sh с конца, если копируете базовый путь, или оставив как есть для полной ссылки).

Этот README легко читается, выглядит профессионально и дает пользователю всё необходимое для старта за 1 минуту.