32e6a3ad7bdd3e7b3baf24c4cc17e93949f35265
📡 OpenWrt HA Presence Tracker
Легковесный и мгновенный скрипт отслеживания присутствия устройств по Wi-Fi для OpenWrt с интеграцией в Home Assistant через MQTT.
⚡ Возможности
- Мгновенная реакция: Использует
hostapd_cliдля отслеживания событий подключения/отключения (без опроса сети). - Несколько MAC на устройство: Поддержка агрегации состояний (например, телефон + умные часы = одно устройство).
- Защита от ложных срабатываний: Настраиваемый таймер задержки (grace timer) перед отправкой статуса "отключен".
- Два типа устройств:
tracker(для людей): статусыhome/not_homealarm(для IoT/розеток): статусыonline/offline
- Автоматическое обнаружение: Полная поддержка Home Assistant MQTT Discovery.
- Интерактивная установка: Мастер настройки прямо в терминале.
🚀 Установка
Выполните эту команду на вашем роутере OpenWrt от имени пользователя root.
sh <(wget --no-check-certificate -O - https://git.darkmode.duckdns.org/sirmrak/openwrt-ha-presence/src/branch/main/install.sh)
Скрипт автоматически:
- Установит необходимые пакеты (
mosquitto-client-nossl,hostapd-utils). - Запросит настройки MQTT брокера и базовый топик.
- Позволит добавить устройства с указанием MAC-адресов и типа.
- Настроит автозапуск службы и задачу в 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
Чтобы получить правильную ссылку для установки:
- Откройте файл
install.shв веб-интерфейсе Gitea. - Нажмите кнопку "Raw" (или "Сырой файл").
- Скопируйте URL из адресной строки браузера и вставьте его в команду выше (убрав
/install.shс конца, если копируете базовый путь, или оставив как есть для полной ссылки).
Этот README легко читается, выглядит профессионально и дает пользователю всё необходимое для старта за 1 минуту.
Languages
Shell
100%