[Модуль] SSDP Finder (ssdp_finder)
Модератор: immortal
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль - SSDPFinder
что именно подробней? Просто когда нажимаю получать список файлов, то всегда ноль файлов
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Gelezako - а можешь показать вывод такого puthon скрипта ???
Код: Выделить всё
import socket
import struct
MCAST_GRP = '239.255.255.250'
MCAST_PORT = 1982
SRC_PORT = 5159 # my random port
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
sock.bind(('', SRC_PORT))
sock.sendto("M-SEARCH * HTTP/1.1\r\n\
HOST: 239.255.255.250:1982\r\n\
MAN: \"ssdp:discover\"\r\n\
ST: wifi_bulb\r\n", (MCAST_GRP, MCAST_PORT))
# close this multicast socket
sock.close()
# and open a new receive socket on the same port
sock_recv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock_recv.bind(('', SRC_PORT))
while True:
print sock_recv.recv(10240)
Спасибо нам ПОМОЖЕТ..!
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль - SSDPFinder
валятся ошибки, не могу запустить
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
Ну вообще то так и думал....
Попробуй еще и так для полноты картины
Исправь функцию в файле \modules\ssdp_finder\upnp\vendor\jalder\upnp\src\core.php
и в test.php
вставь после - print_r($device);
это - print_r($device['description']);
И запусти скрипт - \modules\ssdp_finder\test.php
Ну и ответ выложи толи сюда толи в личку
Попробуй еще и так для полноты картины
Исправь функцию в файле \modules\ssdp_finder\upnp\vendor\jalder\upnp\src\core.php
Код: Выделить всё
public function search($st = 'ssdp:all', $mx = 2, $man = 'ssdp:discover', $from = null, $port = null, $sockTimout = '2')
{
$request = 'M-SEARCH * HTTP/1.1'."\r\n";
$request .= 'HOST: 239.255.255.250:1982'."\r\n";
$request .= 'MAN: "'.$man.'"'."\r\n";
$request .= 'MX: '.$mx.''."\r\n";
$request .= 'ST: wifi_bulb'."\r\n";
$request .= "\r\n";
$socket = socket_create(AF_INET, SOCK_DGRAM, 0);
socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, true);
socket_sendto($socket, $request, strlen($request), 0, '239.255.255.250', 1982);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec'=>$sockTimout, 'usec'=>'50'));
$response = array();
do {
$buf = null;
if (($len = @socket_recvfrom($socket, $buf, 1024, 0, $ip, $port)) == -1) {
echo "socket_read() failed: " . socket_strerror(socket_last_error()) . "\n";
}
if(!is_null($buf)){
$data = $this->parseSearchResponse($buf);
$response[$data['usn']] = $data;
}
} while(!is_null($buf));
socket_close($socket);
return $response;
}
и в test.php
вставь после - print_r($device);
это - print_r($device['description']);
И запусти скрипт - \modules\ssdp_finder\test.php
Ну и ответ выложи толи сюда толи в личку
Спасибо нам ПОМОЖЕТ..!
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Модуль - SSDPFinder
сделал, но можно узнать зачем? Эти лампочки и нафик не нужны, тут список файлов перестал работать ((
Код: Выделить всё
Array
(
[http] => HTTP/1.1 200 OK
[cache-control] => max-age=3584
[date] =>
[ext] =>
[location] => yeelight://192.168.0.100:55443
[server] => POSIX UPnP/1.0 YGLC/1
[description] => Array
(
[0] =>
)
)
Array
(
[0] =>
)
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Модуль - SSDPFinder
В модуль заложена основа под управление лампочками YeeLight.
Сейчас должно находить и добавлять как устройство
Сейчас должно находить и добавлять как устройство
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
-
- Сообщения: 174
- Зарегистрирован: Вт июн 16, 2015 10:54 pm
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: Модуль - SSDPFinder
Что только у меня не находит в сети её(( дeвайс yeelight bedroom lamp.tarasfrompir1 писал(а):Теперь должно включать и выключать лампочку....
Отправлено с моего Mi MIX 2S через Tapatalk