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

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

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

Сообщение Krinopotam » Вс сен 22, 2019 2:24 am

Модуль для получения информации с роутеров серий 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
Последний раз редактировалось Krinopotam Пн окт 07, 2019 7:49 pm, всего редактировалось 1 раз.
За это сообщение автора Krinopotam поблагодарили (всего 13):
skysilver (Вс сен 22, 2019 2:52 am) • semkyskov (Вс сен 22, 2019 8:10 am) • SmoKE_xDDD (Вс сен 22, 2019 10:35 am) • dengi.76 (Вс сен 22, 2019 2:43 pm) • directman66 (Пн сен 23, 2019 8:59 am) • V.A.S.t (Пн сен 23, 2019 9:54 am) • vitt76 (Ср сен 25, 2019 10:15 am) • Aleksandr_A (Чт окт 10, 2019 10:50 am) • Sapizdullin (Вс окт 13, 2019 8:14 am) • Карл Маркс (Вт окт 15, 2019 1:48 pm) и ещё 3
Рейтинг: 15.12%
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

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

Сообщение SmoKE_xDDD » Вс сен 22, 2019 10:35 am

Красавчик, спасибо!
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вс сен 22, 2019 10:58 am

В моем случае это не прокатит, мой телефон, Samsung Galaxy S7 в заблокированом режиме выключает WiFi, он становится не доступен, пинга нет, хотя в настройках я указал, чтобы не выключал WiFi. Опрелелять, дома ли я по пингу телефона, для меня это не надежный вариант, я использую надежный способ - пинг bluetooth. Как только телефон оказался дома, система понимает, что я дома и wifi грузить пингами не нужно.
СпойлерПоказать
20190922_105058.jpg
20190922_105058.jpg (325.73 КБ) 7243 просмотра
20190922_105046.jpg
20190922_105046.jpg (267.6 КБ) 7243 просмотра
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

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

Сообщение Krinopotam » Вс сен 22, 2019 2:28 pm

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

Как далеко берет blutooth? Хватает на всю квартиру?
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вс сен 22, 2019 3:23 pm

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

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

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

Схема уровня сигнала в квартире
СпойлерПоказать
bluetooth 3.jpg
bluetooth 3.jpg (65.36 КБ) 7189 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вс сен 22, 2019 3:45 pm

Я теперь подумываю над брелком bluetooth iTag, использовать его в связке с ключами, так система точно может знать, что я дома.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

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

Сообщение SmoKE_xDDD » Вс сен 22, 2019 4:23 pm

Есть просьба, можете дописать пару строк кода и дать возможность записывать в свойство дату/время обновления статуса устройства?
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

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

Сообщение Krinopotam » Вс сен 22, 2019 7:38 pm

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

Также добавил поля для MAC адреса и IP.
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am
Благодарил (а): 13 раз
Поблагодарили: 33 раза

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

Сообщение Krinopotam » Вс сен 22, 2019 7:40 pm

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

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

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

Схема уровня сигнала в квартире
СпойлерПоказать
bluetooth 3.jpg
А что у вас за blutooth приемник?
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вс сен 22, 2019 7:53 pm

USB Bluetooth адаптер v 4.0 - 5bites BTA40-02 Black
За это сообщение автора Divan поблагодарил:
Krinopotam (Вс сен 22, 2019 8:06 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить