Re: [Модуль] Keenetic (keenetic)
Добавлено: Чт апр 08, 2021 9:01 pm
Я же в коннекте писал https://connect.smartliving.ru/profile/ ... og409.html
Я же в коннекте писал https://connect.smartliving.ru/profile/ ... og409.html
Указанный выше способ на новых прошивках работать не будет.
Код: Выделить всё
include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$keenetic_module->reboot('IP');
Это на сколько новых? У меня viva с ласт версией - работаетV.A.S.t писал(а): ↑Вт апр 20, 2021 6:25 amУказанный выше способ на новых прошивках работать не будет.
Чтоб перезагрузить роутер по времени нужно создать сценарий со следующим кодом (при установлeнном модуле Keenetic):Сегодня выложу обновление, чтоб модуль воспринимал IP-адрес, а не только ID.Код: Выделить всё
include_once(DIR_MODULES . "keenetic/keenetic.class.php"); $keenetic_module = new keenetic(); $keenetic_module->reboot('IP');
Viva какая? KN-1910? Прошивка 3.6.3?SmoKE_xDDD писал(а): ↑Вт апр 20, 2021 8:54 amЭто на сколько новых? У меня viva с ласт версией - работает
Включение гостевого WiFi можно реализовать в MDM, если знать, какой интерфейс ему соответствует. У меня это WifiMaster0/AccessPoint1.Bolik.Stav писал(а): ↑Вс май 16, 2021 9:53 amА можно реализовать запуск "гостевого WiFi" с MD?
К примеру запуск сети на 3 часа. Пароль и точка могут быть сохранённые или генерироваться при запуске.
Код: Выделить всё
include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$keenetic_module->command('IP роутера', '{"interface": {"WifiMaster0/AccessPoint1": {"up": {"no": false}}}}', 1);
Код: Выделить всё
setTimeOut('KeeneticGuest','include_once(DIR_MODULES . "keenetic/keenetic.class.php"); $keenetic_module = new keenetic(); $keenetic_module->command("IP роутера", \'{"interface": {"WifiMaster0/AccessPoint1": {"up": {"no": true}}}}\', 1);', Количество секунд);
Спасибо за оценку
Тут надо писать обработку:SmoKE_xDDD писал(а): ↑Сб июн 19, 2021 5:20 pmЕще вопрос, как получить количество клиентов по каждому интерфейсу/роутеру...?
Код: Выделить всё
include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$request = $keenetic_module->command('192.168.1.1', '{"show": {"ip": {"hotspot": {}}, "interface": {}, "mws": {"member": {}}}}'); //запрашиваем инфу
$devices = $request['show']['ip']['hotspot']['host']; //массив с девайсами
$ifaces = $request['show']['interface']; //массив с интерфейсами
$mws = $request['show']['mws']['member']; //массив с роутерами (контроллер системы в массиве отсутствует)
foreach($mws as $router){ // соотносим CID роутера с его названием в отделном массиве
$routercid[$router['cid']] = $router['model'];
}
foreach($devices as $device){ // перебираем список устройств
if(isset($device['ap'])) $routers['Контроллер'][$device['mac']] = $device; //если точка доступа на контроллере - добавляем в подмассив контроллера
else if(isset($device['mws'])){ //если на другом роутере Wi-Fi системы
$routers[$routercid[$device['mws']['cid']]][$device['mac']] = $device; //добавляем в подмассив с названием роутера
}
}
foreach($routers as $key=>$router){ // перебираем все роутеры
echo '<pre>';
print $key . ": " . count($routers[$key]) . " устройств."; //и выводим на экран количество элементов в подмассиве
echo '</pre>';
}