[Модуль] SamsungTV (samsungtvtizen)

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

Модератор: immortal

V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение V.A.S.t » Чт янв 16, 2020 3:23 pm

Для отправки команд нужен токен, а модуль его не получил. Странно, что URL открылся. Но, похоже этой функции тоже токен не нужен.
Добавь в класс в папке модуля lib в функцию gettoken после строчки $wsdata = $this->hybi10Decode($wsdata);
DebMes($ip.': '.$wsdata);
Потом удали MDM из разрешенных на тв и снова добавь телевизор. В консоли MDM появится ответ телевизора. Скинь его сюда, пожалуйста.
DDONN
Сообщения: 19
Зарегистрирован: Чт май 24, 2018 2:43 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение DDONN » Чт янв 16, 2020 3:37 pm

V.A.S.t писал(а):
Чт янв 16, 2020 3:23 pm
Для отправки команд нужен токен, а модуль его не получил. Странно, что URL открылся. Но, похоже этой функции тоже токен не нужен.
Добавь в класс в папке модуля lib в функцию gettoken после строчки $wsdata = $this->hybi10Decode($wsdata);
DebMes($ip.': '.$wsdata);
Потом удали MDM из разрешенных на тв и снова добавь телевизор. В консоли MDM появится ответ телевизора. Скинь его сюда, пожалуйста.
Вот
21:35:52 0.33421100 192.168.1.8: {"event":"ms.channel.connect","data":{"id":"b8fe4640-385c-11ea-a17f-63b86571ffd5","clients":[{"id":"b8fe4640-385c-11ea-a17f-63b86571ffd5","connectTime":1579178148004,"attributes":{"name":"TWFqb3JEb01v","token":""},"deviceName":"TWFqb3JEb01v","isHost":false}]}}
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение V.A.S.t » Чт янв 16, 2020 4:28 pm

Токена нет. Попробуй заменить весь код функции на это:
$socket = $this->connecttv($ip);
if (!$socket) return false;
$wsdata = fread($socket, 2000);
$wsdata = $this->hybi10Decode($wsdata);
DebMes($ip.': '.$wsdata, "samsungtv");
$wsdata = fread($socket, 2000);
DebMes($ip.': '.$wsdata, "samsungtv");
fclose($socket);
$data = json_decode($wsdata, true);
$token = $data['data']['token'];
if(!$token) return -1;
return $token;
Вероятно, при добавлении MDM подвиснет на неопределенное время.
И также сюда скинь, что появится в консоли.
DDONN
Сообщения: 19
Зарегистрирован: Чт май 24, 2018 2:43 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение DDONN » Пт янв 17, 2020 6:35 am

V.A.S.t писал(а):
Чт янв 16, 2020 4:28 pm
Токена нет. Попробуй заменить весь код функции на это:
Заменил, задумывается на сек 10 и опять ""Что-то пошло не так... Возможно, доступ к телевизору заблокирован", в консоле ни чего нет
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение V.A.S.t » Пт янв 17, 2020 7:44 am

Даже того, что выдавал раньше? Тогда так:
$socket = $this->connecttv($ip);
if (!$socket) return false;
$wsdata = fread($socket, 2000);
$wsdata = $this->hybi10Decode($wsdata);
DebMes($ip.': '.$wsdata);
$wsdata = fread($socket, 2000);
$wsdata = $this->hybi10Decode($wsdata);
DebMes($ip.': '.$wsdata);
fclose($socket);
$data = json_decode($wsdata, true);
$token = $data['data']['token'];
if(!$token) return -1;
return $token;
DDONN
Сообщения: 19
Зарегистрирован: Чт май 24, 2018 2:43 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение DDONN » Пт янв 17, 2020 8:24 am

V.A.S.t писал(а):
Пт янв 17, 2020 7:44 am
Даже того, что выдавал раньше? Тогда так:
Да, даже вчерашних строк небыло.
Теперь так пишет
14:23:06 0.19255400 192.168.1.8:
14:23:01 0.17803000 192.168.1.8: {"event":"ms.channel.connect","data":{"id":"6d61e8d0-38e9-11ea-a17f-63b86571ffd5","clients":[{"id":"6d61e8d0-38e9-11ea-a17f-63b86571ffd5","connectTime":1579238580189,"attributes":{"name":"TWFqb3JEb01v","token":""},"deviceName":"TWFqb3JEb01v","isHost":false}]}}
И опять "Что-то пошло не так... Возможно, доступ к телевизору заблокирован"
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение V.A.S.t » Пт янв 17, 2020 8:49 am

А если извернуться и попытаться успеть разрешить на телевизоре до появления первого сообщения?
По логике модуль шлет на телевизор запрос, а телевизор запрашивает разрешение и выдает ответ с токеном после разрешения, но у тебя он не дожидается почему-то, а выдает ответ с пустым токеном.
DDONN
Сообщения: 19
Зарегистрирован: Чт май 24, 2018 2:43 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение DDONN » Пт янв 17, 2020 11:30 am

V.A.S.t писал(а):
Пт янв 17, 2020 8:49 am
А если извернуться и попытаться успеть разрешить на телевизоре до появления первого сообщения?
По логике модуль шлет на телевизор запрос, а телевизор запрашивает разрешение и выдает ответ с токеном после разрешения, но у тебя он не дожидается почему-то, а выдает ответ с пустым токеном.
Сейчас успеваю нажать "разрешить", но это ни как не влияет, тоже самое пишет и в консоле:
17:29:02 0.57819900 192.168.1.8:
17:28:57 0.55611700 192.168.1.8: {"event":"ms.channel.connect","data":{"id":"657bf8d0-3903-11ea-a17f-63b86571ffd5","clients":[{"id":"657bf8d0-3903-11ea-a17f-63b86571ffd5","connectTime":1579249733853,"attributes":{"name":"TWFqb3JEb01v","token":""},"deviceName":"TWFqb3JEb01v","isHost":false}]}}

Телефоны подключаются без проблем к телевизору, различные пульты с плей маркета тоже работают.
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение V.A.S.t » Пт янв 17, 2020 1:35 pm

У пультов есть АПИ, самсунга, а у нас нет :( Возможно, через другой порт общение идёт, но смущает, что по этому порту телевизор отвечает и, что самое странное, выводит запрос.
Diminator
Сообщения: 8
Зарегистрирован: Пт фев 19, 2016 11:28 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: [Модуль] SamsungTV (samsungtvtizen)

Сообщение Diminator » Ср янв 22, 2020 1:25 am

Отличный модуль, спасибо! Давно мечтал о подобном.
Только у меня такая проблема, мой UE55M5550 для включения/выключения использует любое значение кроме 0, т.е. работает инверсией, 1 или 9 посылаешь несколько раз подряд и он вкл/выкл до посинения.
Не могу понять, можно его как-то заставить просто выключиться? Так сказать с уверенностью что именно выключаю. :)


Ответить