Страница 1 из 10

[Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 2:24 am
Krinopotam
Модуль для получения информации с роутеров серий 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

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 10:35 am
SmoKE_xDDD
Красавчик, спасибо!

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 10:58 am
Divan
В моем случае это не прокатит, мой телефон, Samsung Galaxy S7 в заблокированом режиме выключает WiFi, он становится не доступен, пинга нет, хотя в настройках я указал, чтобы не выключал WiFi. Опрелелять, дома ли я по пингу телефона, для меня это не надежный вариант, я использую надежный способ - пинг bluetooth. Как только телефон оказался дома, система понимает, что я дома и wifi грузить пингами не нужно.
СпойлерПоказать
20190922_105058.jpg
20190922_105058.jpg (325.73 КБ) 3200 просмотров
20190922_105046.jpg
20190922_105046.jpg (267.6 КБ) 3200 просмотров

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 2:28 pm
Krinopotam
Divan писал(а):
Вс сен 22, 2019 10:58 am
В моем случае это не прокатит, мой телефон, Samsung Galaxy S7 в заблокированом режиме выключает WiFi, он становится не доступен, пинга нет, хотя в настройках я указал, чтобы не выключал WiFi. Опрелелять, дома ли я по пингу телефона, для меня это не надежный вариант, я использую надежный способ - пинг bluetooth. Как только телефон оказался дома, система понимает, что я дома и wifi грузить пингами не нужно.
СпойлерПоказать
20190922_105058.jpg20190922_105046.jpg
У меня S8. Но роутере он всегда числится подключенным, если включен вайфай.

Как далеко берет blutooth? Хватает на всю квартиру?

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 3:23 pm
Divan
У меня 3-х комнатная квартира, площадью 80 кв.м, на схеме, я указал уровень сигнала по моим замерам, как работает связь телефона по bluetooth с наушниками, с чайником и самим MD и как MD видит чайник, мой телефон. Для себя я выявил оптимальное положение, это разместить сервер в центре комнаты. Пробовал два варианта, когда MD понимает что я пришел домой или я дома.

1) Вариант с WiFi - телефон в сумке, стою у двери, пока я открываю дверь, MD меня пока еще не обнаруживает, захожу в квартиру, разблокирую телефон и только тогда MD видит, что я дома и запускает сценарии.

2) Вариант с Bluetooth - телефон в сумке, стою у двери, пока я открываю дверь, MD меня уже обнаруживает и запускает сценарии.

Схема уровня сигнала в квартире
СпойлерПоказать
bluetooth 3.jpg
bluetooth 3.jpg (65.36 КБ) 3146 просмотров

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 3:45 pm
Divan
Я теперь подумываю над брелком bluetooth iTag, использовать его в связке с ключами, так система точно может знать, что я дома.

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 4:23 pm
SmoKE_xDDD
Есть просьба, можете дописать пару строк кода и дать возможность записывать в свойство дату/время обновления статуса устройства?

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 7:38 pm
Krinopotam
SmoKE_xDDD писал(а):
Вс сен 22, 2019 4:23 pm
Есть просьба, можете дописать пару строк кода и дать возможность записывать в свойство дату/время обновления статуса устройства?
Если вы имеете ввиду дату и время последнего получения данных с роутера, то без проблем, добавил.
А если необходима дата и время подключения устройства к роутеру, то тут не получится. Роутер таких данных не возвращает.

Также добавил поля для MAC адреса и IP.

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 7:40 pm
Krinopotam
Divan писал(а):
Вс сен 22, 2019 3:23 pm
У меня 3-х комнатная квартира, площадью 80 кв.м, на схеме, я указал уровень сигнала по моим замерам, как работает связь телефона по bluetooth с наушниками, с чайником и самим MD и как MD видит чайник, мой телефон. Для себя я выявил оптимальное положение, это разместить сервер в центре комнаты. Пробовал два варианта, когда MD понимает что я пришел домой или я дома.

1) Вариант с WiFi - телефон в сумке, стою у двери, пока я открываю дверь, MD меня пока еще не обнаруживает, захожу в квартиру, разблокирую телефон и только тогда MD видит, что я дома и запускает сценарии.

2) Вариант с Bluetooth - телефон в сумке, стою у двери, пока я открываю дверь, MD меня уже обнаруживает и запускает сценарии.

Схема уровня сигнала в квартире
СпойлерПоказать
bluetooth 3.jpg
А что у вас за blutooth приемник?

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс сен 22, 2019 7:53 pm
Divan
USB Bluetooth адаптер v 4.0 - 5bites BTA40-02 Black