[Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Модератор: immortal
-
Krinopotam
- Сообщения: 77
- Зарегистрирован: Вт июл 10, 2018 11:38 am
[Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Модуль для получения информации с роутеров серий Zyxel Keenetic о подключенных устройствах (online/offline).
Тестировался на роутере Zyxel Keenetic Ultra II
Часто существует необходимость достоверно определить, в сети ли устройство или нет. Особенно это актуально для смартфонов, так как по наличию смартфона в домашней сети можно предположить, что пользователь дома.
На данный момент мне известно несколько способов это сделать:
1. Периодически пинговать устройства с помощью модуля Устройства Онлайн.
Плюсы: легко настраивается, не нужно больше ничего устанавливать.
Минусы: частые ping-запросы лишний раз забивают сеть и устройства, для смартфонов не подходит - они в режиме ожидания зачастую не отвечают на ping-запросы в целях сохранения заряда.
2. Настроить сохранение логов с маршрутизатора на rsyslog сервер Majordomo и проверять статус подключения по логам. Хорошая инструкция описана пользователем Sas https://connect.smartliving.ru/profile/990/blog111.html
Плюсы: неплохо работает даже для смартфонов, не забивает запросами каждое устройство.
Минусы: сложнее настраивается, не все роутеры поддерживают отправку логов в rsyslog. Если дома для расширения Wi-Fi используются еще роутеры, то все становится намного сложнее, вплоть до невозможности определения статуса устройств - если они подключены через другой роутер, то для основного они будут считаться подключенными по LAN, а не Wi-Fi.
3. С помощью данного модуля. Данный модуль получает статус устройств напрямую с роутера Zyxel Keenetic используя Api.
Минусы: работает только с роутерами Zyxel Keenetic
Плюсы: легко настраивается, не забивает ping-запросами каждое устройство, быстрое и точное определение в сети ли устройство, в том числе и смартфонов в сетях с несколькими роутерами.
После установки необходимо указать IP адрес роутера, логин и пароль к нему, а также период опроса.
Я рекомендую 5-10 секунд.
На роутере сетевые устройства должны быть добавлены в список зарегистрированных.
В этом случае после настройки список зарегистрированных устройств появится в модуле автоматически.
Также в списке устройств появится устройство под названием Интернет с MAC 11:11:11:11:11:11.
Это служебное устройство - статус доступа к интернет.
Скачать можно здесь https://connect.smartliving.ru/addons/c ... 1/197.html
Исходный код доступен по адресу https://github.com/Krinopotam/majordomo ... an_devices
Тестировался на роутере Zyxel Keenetic Ultra II
Часто существует необходимость достоверно определить, в сети ли устройство или нет. Особенно это актуально для смартфонов, так как по наличию смартфона в домашней сети можно предположить, что пользователь дома.
На данный момент мне известно несколько способов это сделать:
1. Периодически пинговать устройства с помощью модуля Устройства Онлайн.
Плюсы: легко настраивается, не нужно больше ничего устанавливать.
Минусы: частые ping-запросы лишний раз забивают сеть и устройства, для смартфонов не подходит - они в режиме ожидания зачастую не отвечают на ping-запросы в целях сохранения заряда.
2. Настроить сохранение логов с маршрутизатора на rsyslog сервер Majordomo и проверять статус подключения по логам. Хорошая инструкция описана пользователем Sas https://connect.smartliving.ru/profile/990/blog111.html
Плюсы: неплохо работает даже для смартфонов, не забивает запросами каждое устройство.
Минусы: сложнее настраивается, не все роутеры поддерживают отправку логов в rsyslog. Если дома для расширения Wi-Fi используются еще роутеры, то все становится намного сложнее, вплоть до невозможности определения статуса устройств - если они подключены через другой роутер, то для основного они будут считаться подключенными по LAN, а не Wi-Fi.
3. С помощью данного модуля. Данный модуль получает статус устройств напрямую с роутера Zyxel Keenetic используя Api.
Минусы: работает только с роутерами Zyxel Keenetic
Плюсы: легко настраивается, не забивает ping-запросами каждое устройство, быстрое и точное определение в сети ли устройство, в том числе и смартфонов в сетях с несколькими роутерами.
После установки необходимо указать IP адрес роутера, логин и пароль к нему, а также период опроса.
Я рекомендую 5-10 секунд.
На роутере сетевые устройства должны быть добавлены в список зарегистрированных.
В этом случае после настройки список зарегистрированных устройств появится в модуле автоматически.
Также в списке устройств появится устройство под названием Интернет с MAC 11:11:11:11:11:11.
Это служебное устройство - статус доступа к интернет.
Скачать можно здесь https://connect.smartliving.ru/addons/c ... 1/197.html
Исходный код доступен по адресу https://github.com/Krinopotam/majordomo ... an_devices
Последний раз редактировалось Krinopotam Пн окт 07, 2019 7:49 pm, всего редактировалось 1 раз.
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Красавчик, спасибо!
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
В моем случае это не прокатит, мой телефон, Samsung Galaxy S7 в заблокированом режиме выключает WiFi, он становится не доступен, пинга нет, хотя в настройках я указал, чтобы не выключал WiFi. Опрелелять, дома ли я по пингу телефона, для меня это не надежный вариант, я использую надежный способ - пинг bluetooth. Как только телефон оказался дома, система понимает, что я дома и wifi грузить пингами не нужно.
SPOILERSPOILER_SHOW
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
Krinopotam
- Сообщения: 77
- Зарегистрирован: Вт июл 10, 2018 11:38 am
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
У меня S8. Но роутере он всегда числится подключенным, если включен вайфай.Divan писал(а): Вс сен 22, 2019 10:58 am В моем случае это не прокатит, мой телефон, Samsung Galaxy S7 в заблокированом режиме выключает WiFi, он становится не доступен, пинга нет, хотя в настройках я указал, чтобы не выключал WiFi. Опрелелять, дома ли я по пингу телефона, для меня это не надежный вариант, я использую надежный способ - пинг bluetooth. Как только телефон оказался дома, система понимает, что я дома и wifi грузить пингами не нужно.SPOILERSPOILER_SHOW20190922_105058.jpg20190922_105046.jpg
Как далеко берет blutooth? Хватает на всю квартиру?
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
У меня 3-х комнатная квартира, площадью 80 кв.м, на схеме, я указал уровень сигнала по моим замерам, как работает связь телефона по bluetooth с наушниками, с чайником и самим MD и как MD видит чайник, мой телефон. Для себя я выявил оптимальное положение, это разместить сервер в центре комнаты. Пробовал два варианта, когда MD понимает что я пришел домой или я дома.
1) Вариант с WiFi - телефон в сумке, стою у двери, пока я открываю дверь, MD меня пока еще не обнаруживает, захожу в квартиру, разблокирую телефон и только тогда MD видит, что я дома и запускает сценарии.
2) Вариант с Bluetooth - телефон в сумке, стою у двери, пока я открываю дверь, MD меня уже обнаруживает и запускает сценарии.
Схема уровня сигнала в квартире
1) Вариант с WiFi - телефон в сумке, стою у двери, пока я открываю дверь, MD меня пока еще не обнаруживает, захожу в квартиру, разблокирую телефон и только тогда MD видит, что я дома и запускает сценарии.
2) Вариант с Bluetooth - телефон в сумке, стою у двери, пока я открываю дверь, MD меня уже обнаруживает и запускает сценарии.
Схема уровня сигнала в квартире
SPOILERSPOILER_SHOW
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Я теперь подумываю над брелком bluetooth iTag, использовать его в связке с ключами, так система точно может знать, что я дома.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Есть просьба, можете дописать пару строк кода и дать возможность записывать в свойство дату/время обновления статуса устройства?
-
Krinopotam
- Сообщения: 77
- Зарегистрирован: Вт июл 10, 2018 11:38 am
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
Если вы имеете ввиду дату и время последнего получения данных с роутера, то без проблем, добавил.SmoKE_xDDD писал(а): Вс сен 22, 2019 4:23 pm Есть просьба, можете дописать пару строк кода и дать возможность записывать в свойство дату/время обновления статуса устройства?
А если необходима дата и время подключения устройства к роутеру, то тут не получится. Роутер таких данных не возвращает.
Также добавил поля для MAC адреса и IP.
-
Krinopotam
- Сообщения: 77
- Зарегистрирован: Вт июл 10, 2018 11:38 am
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
А что у вас за blutooth приемник?Divan писал(а): Вс сен 22, 2019 3:23 pm У меня 3-х комнатная квартира, площадью 80 кв.м, на схеме, я указал уровень сигнала по моим замерам, как работает связь телефона по bluetooth с наушниками, с чайником и самим MD и как MD видит чайник, мой телефон. Для себя я выявил оптимальное положение, это разместить сервер в центре комнаты. Пробовал два варианта, когда MD понимает что я пришел домой или я дома.
1) Вариант с WiFi - телефон в сумке, стою у двери, пока я открываю дверь, MD меня пока еще не обнаруживает, захожу в квартиру, разблокирую телефон и только тогда MD видит, что я дома и запускает сценарии.
2) Вариант с Bluetooth - телефон в сумке, стою у двери, пока я открываю дверь, MD меня уже обнаруживает и запускает сценарии.
Схема уровня сигнала в квартиреSPOILERSPOILER_SHOWbluetooth 3.jpg
Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)
USB Bluetooth адаптер v 4.0 - 5bites BTA40-02 Black
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB