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

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

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Сб окт 03, 2020 11:54 am

AndreyAA писал(а):Всем привет. Начинаю осваивать МЖД.
Прошу сразу сильно не пинать.
Скажите пожалуйста: возможно ли сделать такой сценарий. При регистрации телефона в сети WiFi, МЖД отправлял в телегу определенное сообщение?
Конечно возможно. Смотрите модуль hosts online (устройства онлайн)

Отправлено с моего Xperia XZ1 Compact через Tapatalk

За это сообщение автора nick7zmail поблагодарил:
Samir77 (Сб мар 13, 2021 4:10 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

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

Сообщение xor » Сб окт 03, 2020 11:03 pm

Собственно, в этой теме предложена альтернатива модулю Устройства онлайн)
в любом случае, сначала надо получить инфу о регистрации, а потом научиться слать в телегу.
AndreyAA
Сообщения: 40
Зарегистрирован: Чт сен 24, 2020 2:51 pm
Благодарил (а): 41 раз
Поблагодарили: 5 раз

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

Сообщение AndreyAA » Вс окт 04, 2020 10:13 am

nick7zmail писал(а):
Сб окт 03, 2020 11:54 am
AndreyAA писал(а):Всем привет. Начинаю осваивать МЖД.
Прошу сразу сильно не пинать.
Скажите пожалуйста: возможно ли сделать такой сценарий. При регистрации телефона в сети WiFi, МЖД отправлял в телегу определенное сообщение?
Конечно возможно. Смотрите модуль hosts online (устройства онлайн)

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Приветствую. Спасибо за ответ. Модуль установил, устройства в сети увидел. Не подскажите какие дальнейшие действия?
Бота в телеге сделал, а вот дальше что-то тупик у меня.
AndreyAA
Сообщения: 40
Зарегистрирован: Чт сен 24, 2020 2:51 pm
Благодарил (а): 41 раз
Поблагодарили: 5 раз

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

Сообщение AndreyAA » Чт окт 08, 2020 7:10 am

xor писал(а):
Сб окт 03, 2020 11:03 pm
Собственно, в этой теме предложена альтернатива модулю Устройства онлайн)
в любом случае, сначала надо получить инфу о регистрации, а потом научиться слать в телегу.
Так как только разбираюсь сразу не понял о чем вы. Попробовав, теперь понял о чем вы. Спасибо за подсказанное направление.
Вроде все настроил но не как не могу заставить телегу работать.
kostya4000
Сообщения: 39
Зарегистрирован: Чт ноя 16, 2017 7:47 am
Благодарил (а): 13 раз
Поблагодарили: 12 раз

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

Сообщение kostya4000 » Вт ноя 17, 2020 5:42 pm

у меня при установке модуль не появляется, альфа версия
Аватара пользователя
griigoriok
Сообщения: 20
Зарегистрирован: Пн июл 29, 2019 4:45 pm
Откуда: Губкинский
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение griigoriok » Вс ноя 29, 2020 5:45 pm

Мужики подскажите как правильно сделать чтоб Статус интернета брался из модуля Кинетик онлайн.
как правильно здесь прописать : if (!keenetic_lan_devices('Internet')) ?????
Communication checkState
if (!isOnline('Internet')) {
$yellow_state=1;
$details[]=LANG_GENERAL_NO_INTERNET_ACCESS;
как это сделать правильно....... ?
Не кидайтесь шапками я новичок в mj )))
Грызу гранит Нулей и Единиц )))
yray
Сообщения: 106
Зарегистрирован: Чт дек 14, 2017 12:51 am
Благодарил (а): 13 раз
Поблагодарили: 16 раз

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

Сообщение yray » Вс фев 14, 2021 10:58 pm

на последних прошивках не работает ?
lexincton
Сообщения: 44
Зарегистрирован: Вс ноя 08, 2020 12:33 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

Сообщение lexincton » Сб июл 03, 2021 11:50 pm

yray писал(а):
Вс фев 14, 2021 10:58 pm
на последних прошивках не работает ?
В последних версиях DIGEST авторизация не работает.
Для исправления поправьте файл modules->keenetic_lan_devices->keenetic_lan_devices.class.php:
- добавьте метод:
private function checkAuth () {
$ch = curl_init('http://'.$this->config['API_URL'].'/auth ');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, true);
$html = curl_exec($ch);
$headers = [];
$data = explode("\r",$html);
$headers['status'] = $data['0'];
array_shift($data);

foreach($data as $part){
$middle=explode(":",$part);
@$headers[trim($middle['0'])] = trim($middle['1']);
}
if($headers["status"] != "HTTP/1.1 200 OK"){
print $html;
$pass = hash('sha256', $headers["X-NDM-Challenge"].md5($this->config['ADMIN_USERNAME'].':'.$headers["X-NDM-Realm"].':'.$this->config['ADMIN_PASSWORD']));
$post = '{"login": "'. $this->config['ADMIN_USERNAME'] . '", "password": "' . $pass . '"}';
curl_setopt($ch, CURLOPT_HTTPHEADER, Array('Content-Type: application/json;charset=UTF-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$html = curl_exec($ch);
}
curl_close($ch);
}

- замените метод getAllDevicesInfo на:

private function getAllDevicesInfo()
{
try
{
if ($this->config['API_URL']=="") {return NULL;}

$this->checkAuth();

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://'.$this->config['API_URL'].'/ci');
curl_setopt($ch, CURLOPT_POSTFIELDS, '<request id="0"><command name="show ip hotspot"></command></request>');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/xml']);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);

if(curl_errno($ch)) {return NULL;}
if(strpos($data, "401 Authorization")>0)
{
DebMes("Ошибка авторизации на маршрутизаторе", 'keenetic_lan_devices');
return NULL;
}

$objectResult = new SimpleXMLElement($data);

$result = array();

foreach ($objectResult->children()->children() as $node) {
if ($node->mac=='' || $node->registered!="yes") {continue;}

$result[(string)$node->mac] = array();
$result[(string)$node->mac]["MAC"] = (string)$node->mac;
$result[(string)$node->mac]["STATUS"] = ((string)$node->link=='up' ? 1 : 0);
$result[(string)$node->mac]["STATUS_TXT"] = ((string)$node->link=='up' ? 'Online' : 'Offline');
$result[(string)$node->mac]["HOST_NAME"] = (string)$node->hostname;
$result[(string)$node->mac]["DEVICE_NAME"] = (string)$node->name;
$result[(string)$node->mac]["IP"] = (string)$node->ip;
$result[(string)$node->mac]["REGISTERED"] = (string)$node->registered;
}

//получаем статус подключения к интернету
curl_setopt($ch, CURLOPT_POSTFIELDS, '<request id="0"><command name="show internet status"></command></request>');
$data = curl_exec($ch);
if(curl_errno($ch)) {return $result;}

$objectResult = new SimpleXMLElement($data);

$gateWayMac = "11:11:11:11:11:11";
$result[$gateWayMac]["MAC"] = $gateWayMac;
$result[$gateWayMac]["STATUS"] = ((string)$objectResult->children()->children()->internet=='yes' ? 1 : 0);
$result[$gateWayMac]["STATUS_TXT"] = ((string)$objectResult->children()->children()->internet=='yes' ? 'Online' : 'Offline');
$result[$gateWayMac]["HOST_NAME"] = (string)$objectResult->children()->children()->gateway->interface;
$result[$gateWayMac]["DEVICE_NAME"] = "Интернет";
$result[$gateWayMac]["IP"] = (string)$objectResult->children()->children()->gateway->address;
$result[$gateWayMac]["REGISTERED"] = "yes";

curl_close($ch);
return $result;
}
catch (Exception $e) {
// код который может обработать исключение
//echo $e->getMessage();
return NULL;
}
}
alexmjdm
Сообщения: 30
Зарегистрирован: Пт сен 04, 2020 10:30 am
Благодарил (а): 35 раз
Поблагодарили: 0

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

Сообщение alexmjdm » Ср янв 26, 2022 4:01 pm

Добрый день, коллеги.
Роутер Keenetic Extra Версия v2.08(AANS.4)C2
Установил модуль "Устройства Онлайн Keenetic". Сервис OnLine. Добавил Роутер по IPv4 Сам роутер отдал какую-то информацию (status, mac - почему то 11:11... , updated)
Пишет "Название Internet" "Статус Offline". Что я делаю не так?

Изменения из поста выше производил. Где я могу увидеть ошибку, если с файлами что либо не так?
001.png
001.png (58.24 КБ) 1310 просмотров
002.png
002.png (7.35 КБ) 1310 просмотров
003.png
003.png (14.78 КБ) 1310 просмотров
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

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

Сообщение V.A.S.t » Чт янв 27, 2022 9:16 am

За это сообщение автора V.A.S.t поблагодарил:
alexmjdm (Чт янв 27, 2022 5:12 pm)
Рейтинг: 1.16%
Ответить