[Модуль] Keenetic (keenetic)

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

Модератор: immortal

Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород

Re: [Модуль] Keenetic (keenetic)

Сообщение SmoKE_xDDD »

V.A.S.t писал(а): Чт июн 17, 2021 1:55 pm
SmoKE_xDDD писал(а): Чт июн 17, 2021 12:15 pm Есть 2 просьбы для доработки:
Спасибо за оценку :)
По просьбам:
1) Уже реализовано в виде "отслеживания" - ставишь устройство на "отслеживание" и раз в цикл модуля забираешь инфу из объекта. Подробнее посмотри в справке к модулю.
Также, дополнительно, передается полный массив всех возможных данных об устройстве. Тоже описано в справке :)
2) Команды для ограничения скорости:
В обе стороны:
{"ip":{"traffic-shape":{"mac": "xx:xx:xx:xx:xx:xx", "host": {"rate": скорость в кбит/с}}}}
Асинхронно:
{"ip":{"traffic-shape":{"mac": "xx:xx:xx:xx:xx:xx", "host": {"rate": скорость в кбит/с, "upstream-rate": скорость в кбит/с}}}}
Отключить ограничение скорости:
{"ip":{"traffic-shape":{"mac": "xx:xx:xx:xx:xx:xx", "host": {"no": true}}}}
Отключить доступ в интернет(поменять профиль доступа):
{"ip": {"hotspot": {"host": {"mac": "xx:xx:xx:xx:xx:xx","deny": true,"policy": false,"schedule": false}}}}
Включить доступ в интернет(поменять профиль доступа обратно):
{"ip": { "hotspot": {"host": {"mac":"xx:xx:xx:xx:xx:xx","permit": true,"policy": false,"schedule": false}}}}
Не забывай в функции выставлять флаг сохранения, иначе после перезагрузки настройки слетят.
А вообще в самом кинетике удобно по расписанию ограничивать или отключать доступ в интернет :)
Спасибо!
screenshot.png
screenshot.png (132.15 КБ) 6524 просмотра
V.A.S.t
Сообщения: 344
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t »

Круто! :)
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: [Модуль] Keenetic (keenetic)

Сообщение Amarok »

А как считать информацию о соединении с инетом?
111.jpg
111.jpg (30.03 КБ) 6207 просмотров
Моя Алиска живёт на Proxmox в Debian 12
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: [Модуль] Keenetic (keenetic)

Сообщение Chainik »

Можно безо всяких модулей это сделать (установить факт соединения с Интернетом), пингуя из скрипта или метода внешний ip-адрес:

Код: Выделить всё

if (ping("yandex.ru")) {
say('есть соединение');
} else {
say('нет соединения');
}
V.A.S.t
Сообщения: 344
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t »

Amarok писал(а): Ср дек 15, 2021 9:42 am А как считать информацию о соединении с инетом?
111.jpg
Какие конкретно параметры интересуют? Количество входящих/исходящих байт? Скорость соединения?
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: [Модуль] Keenetic (keenetic)

Сообщение Amarok »

V.A.S.t писал(а): Чт дек 16, 2021 3:33 am
Amarok писал(а): Ср дек 15, 2021 9:42 am А как считать информацию о соединении с инетом?
111.jpg
Какие конкретно параметры интересуют? Количество входящих/исходящих байт? Скорость соединения?
Все. Скорость, оператор, количество входящих/исходящих
Моя Алиска живёт на Proxmox в Debian 12
V.A.S.t
Сообщения: 344
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t »

Amarok писал(а): Чт дек 16, 2021 3:13 pm Все. Скорость, оператор, количество входящих/исходящих
Модем не использую, поэтому как вытащить оператора и мощность сигнала подсказать не могу, а скорость и RX/TX можно получить следующим сценарием:

Код: Выделить всё

include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$request = $keenetic_module->command('192.168.1.1', '{"show": {"interface": {}}}'); //получаем интерфейсы. У меня интерфейс ISP. У модема может быть другой! Надо вывести в print_r ниже $request и визуально определить нужный интерфейс.
$iface_name = $request['show']['interface']['ISP']['usedby']['0']; //здесь получаем название интерфейса
$statistic = $keenetic_module->command('192.168.1.1', '{"show": {"interface": {"stat": {"name": "'.$iface_name.'"}}}}'); //получаем статистику по названию интерфейса
echo '<pre>';
print_r($statistic['show']['interface']['stat']); //Массив со статистикой на момент запроса.
echo '</pre>';
Вообще, надо смотреть глазами, что возвращает Кинетик на запросы, может где-то там и оператор и все остальное.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: [Модуль] Keenetic (keenetic)

Сообщение Amarok »

Код: Выделить всё

include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$request = $keenetic_module->command('192.168.0.1', '{"show": {"interface": {}}}');
$interface = $request['show']['interface']['CdcEthernet0'];
$isp = $interface['operator'];
$signal_level = $interface['signal-level'];
$rssi = $interface['rssi'];
$net = $interface['mobile'];
$modem = $interface['ati']['manufacturer'].' '.$interface['ati']['model'];
$modem_hw = $interface['ati']['hardware'];
Моя Алиска живёт на Proxmox в Debian 12
alexmjdm
Сообщения: 31
Зарегистрирован: Пт сен 04, 2020 10:30 am

Re: [Модуль] Keenetic (keenetic)

Сообщение alexmjdm »

Добрый день, коллеги.
Не могу корректно запустить модуль.
Цикл запущен. Cтатус OffLine.
Ubuntu 20. Majordomo обновлен.
001.png
001.png (6.68 КБ) 5904 просмотра
002.png
002.png (9.63 КБ) 5904 просмотра
V.A.S.t
Сообщения: 344
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t »

В поле адрес нужно вводить адрес без http://. Просто 192.168.0.1 Вообще удивительно, что роутер у вас добавился с таким адресом.
Ответить