62 lines
3.8 KiB
Markdown
62 lines
3.8 KiB
Markdown
# 📡 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`.
|
|
|
|
```bash
|
|
sh <(wget --no-check-certificate -O - https://git.darkmode.duckdns.org/sirmrak/openwrt-ha-presence/src/branch/main/install.sh)
|
|
```
|
|
|
|
Скрипт автоматически:
|
|
1. Установит необходимые пакеты (`mosquitto-client-nossl`, `hostapd-utils`).
|
|
2. Запросит настройки MQTT брокера и базовый топик.
|
|
3. Позволит добавить устройства с указанием MAC-адресов и типа.
|
|
4. Настроит автозапуск службы и задачу в cron.
|
|
|
|
## ✅ Быстрая проверка
|
|
|
|
После установки выключите Wi-Fi на добавленном устройстве. Через указанную вами задержку выполните в SSH роутера:
|
|
|
|
```bash
|
|
logread | grep wifi_tracker
|
|
```
|
|
|
|
Вы должны увидеть сообщения о том, что устройство отключилось и данные успешно отправлены в Home Assistant.
|
|
|
|
## ⚙️ Управление и настройка
|
|
|
|
Все настройки хранятся в нативном формате UCI OpenWrt.
|
|
|
|
- **Просмотр настроек**: `uci show openwrt_ha`
|
|
- **Редактирование вручную**: `vi /etc/config/openwrt_ha`
|
|
- **Перезапуск службы после изменений**:
|
|
```bash
|
|
/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 минуту. |