[Модуль] LG webOS TV (lgwebostv)

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

Модератор: immortal

Jilber
Сообщения: 684
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 113 раз
Поблагодарили: 107 раз

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение Jilber » Пн мар 11, 2019 2:52 pm

Я пробовал и через state и через command.
14:51:06 Get TEXT type message: {"type":"error","id":"1","error":"500 Application error","payload":{"returnValue":false}}
OK
14:51:06 Successful get data from TV 192.168.100.5 [91 bytes].
14:51:06 Send 110 bytes data to TV 192.168.100.5. 110 bytes written to socket.
14:51:06 Command from MDM module: {"command":"send","device_id":"1","data":"{\"id\":\"1\",\"type\":\"request\",\"uri\":\"ssap://system.launcher/launch\",\"payload\":{\"id\":\"youtube.leanback.v4\"}}"}

С телефона из приложения ТВ управляется, но там Youtube я тоже не нашёл. Вопрос снимается, спасибо.
Последний раз редактировалось Jilber Пн мар 11, 2019 6:24 pm, всего редактировалось 1 раз.
k291
Сообщения: 6
Зарегистрирован: Вс апр 01, 2018 2:07 am
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение k291 » Ср мар 20, 2019 10:47 pm

Шаблон поведения: "включи музыку в зале"
PHP:
say(getRandomLine(DONE),1);
setGlobal('TV1.channel_number', 56);

Есть каналы с музыкой: 30,35,42,56

Вопрос: как сделать, чтобы мжд при КАЖДОЙ команде "включи музыку в зале", по очереди включал 30,35,42,56 канал ?
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение fandaymon » Чт мар 21, 2019 12:10 am

k291 писал(а):
Ср мар 20, 2019 10:47 pm
Шаблон поведения: "включи музыку в зале"
PHP:
say(getRandomLine(DONE),1);
setGlobal('TV1.channel_number', 56);

Есть каналы с музыкой: 30,35,42,56

Вопрос: как сделать, чтобы мжд при КАЖДОЙ команде "включи музыку в зале", по очереди включал 30,35,42,56 канал ?
Как-то так

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

$chanels=array(30,35,42,56);
setGlobal('TV1.channel_number', $chanels[rand(0,3)]);
k291
Сообщения: 6
Зарегистрирован: Вс апр 01, 2018 2:07 am
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение k291 » Чт мар 21, 2019 12:47 am

Работает, спасибо!

Для новичков и понимания:
При сканировании списка каналов от кабельного провайдера, в 99% последовательность каналов не меняется. А чтобы не запоминать номера каналов всех музыкальных, новостных, спортивных и т.д. каналов, можно сделать шаблон поведения "включи музыку в зале", "включи новости в зале" и т.д. указав в нем номера каналов по коду выше.

На мой взгляд модулю осталось сделать:
1) "найди в YouTube музыка 2019", если это возможно
2) кнопку с загрузкой/импортом "шаблоны поведения" от разработчика
3) формирования Обьекта с записями. Для уменьшения тело движений. Если это возможно.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение xor » Чт мар 21, 2019 2:33 am

fandaymon писал(а):
Чт мар 21, 2019 12:10 am
k291 писал(а):
Ср мар 20, 2019 10:47 pm
Шаблон поведения: "включи музыку в зале"
PHP:
say(getRandomLine(DONE),1);
setGlobal('TV1.channel_number', 56);

Есть каналы с музыкой: 30,35,42,56

Вопрос: как сделать, чтобы мжд при КАЖДОЙ команде "включи музыку в зале", по очереди включал 30,35,42,56 канал ?
Как-то так

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

$chanels=array(30,35,42,56);
setGlobal('TV1.channel_number', $chanels[rand(0,3)]);
Это не по очереди))
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение skysilver » Чт мар 21, 2019 9:20 am

k291 писал(а):
Чт мар 21, 2019 12:47 am
На мой взгляд модулю осталось сделать:
1) "найди в YouTube музыка 2019", если это возможно
Мой ТВ и офф приложение к нему такое не умеет. Твой, разве, умеет? Как это выглядит?
k291 писал(а):
Чт мар 21, 2019 12:47 am
2) кнопку с загрузкой/импортом "шаблоны поведения" от разработчика
От разработчика - это от меня? ) Если да, то у меня нет никаких шаблонов поведения. Предлагаю пользователям делиться наработками в теме, а я буду собирать ссылки на полезные посты в первых сообщениях темы.
k291 писал(а):
Чт мар 21, 2019 12:47 am
3) формирования Обьекта с записями. Для уменьшения тело движений. Если это возможно.
Я против такого подхода. Если уж делать, то нужно смотреть в сторону отдельного типа ПУ "Смарт ТВ".
Но если вдруг совсем будет нечем заняться, то подумаю насчет автоматического создания класса, объектов и свойств модулем.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
k291
Сообщения: 6
Зарегистрирован: Вс апр 01, 2018 2:07 am
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение k291 » Чт мар 21, 2019 11:22 pm

1) 55UK6400PLF умеет, через обычный пульт и через голосовую команду на смарт пульте. На пульте в комплекте, нажимаем кнопку со значком лупы, по центру пульта. В появившейся полосе поиска, вводим запрос, после на кнопку Поиск. Появляется ответ: а) название канала в ютупе, б) список видео в ютюбе с похожим текстом, в) поиск в интернете.
1.1) 49UH603V-ZE тоже умеет, но нет голосового поиска.
2) а как управляете телевизором или управляете телевизором традиционно?
3) я так понял, можно выгрузить БД, оставить только нужную часть. При установке модуля спрашивать "установить шаблон Обьекта" и импортировать таблицу в БД.
k291
Сообщения: 6
Зарегистрирован: Вс апр 01, 2018 2:07 am
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение k291 » Чт мар 21, 2019 11:33 pm

Шаблоны поведения

1. Доступно в контексте: включи
Название:* (телик|телевизор) в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.command', 'powerOn');
Название:* (ютуб|YouTube) в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.command', 'youtube');
Название:* hdmi1 в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.state', 'com.webos.app.hdmi1');
Название:* HDMI 2 в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.state', 'com.webos.app.hdmi2');
Название:* звук в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.command', 'muteOff');
Название:* кабельное в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.state', 'com.webos.app.livetv');
Название:* музыку в зале

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

$chanels=array(30,35,42,56);
setGlobal('TV1.channel_number', $chanels[rand(0,2)]);
Где: 30,35,42,56, это номера музыкальных каналов в кабельном ТВ. Идея в переборе каналов по списку, но по команде, работает в разнобой, часто повторяя уже открытый канал.

2. Доступно в контексте: выключи
Название:* (телик|телевизор) в зале

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

setGlobal('TV1.command', 'powerOff');
say(getRandomLine(DONE),1);
Название:* звук в зале

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

setGlobal('TV1.command', 'muteOn');
say(getRandomLine(DONE),1);
3. Без контекста:
Название:* (громкость (телика|телевизора) в зале на (.+)|громкость (.+) на (телик|телевизоре) в зале)

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

say(getRandomLine(DONE),1);
setGlobal('TV1.volume', $matches[2]);
Название:* напиши (.+) на (телике|телевизоре) в зале

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

say(getRandomLine(DONE),1);
setGlobal('TV1.notification', $matches[1]);
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение fandaymon » Пт мар 22, 2019 12:32 pm

k291 писал(а):
Чт мар 21, 2019 11:33 pm


Название:* кабельное в зале
PHP:
say(getRandomLine(DONE),1);
setGlobal('TV1.state', 'com.webos.app.livetv');

Название:* музыку в зале - Где: 30,35,42,56, это номера музыкальных каналов в кабельном ТВ. Идея в переборе каналов по списку, но по команде ниже, работает в разнобой, часто повторяя уже открытый канал.
PHP:
$chanels=array(30,35,42,56);
setGlobal('TV1.channel_number', $chanels[rand(0,2)]);
В рэндоме должна быть тройка - это количество каналов в массиве - 1
setGlobal('TV1.channel_number', $chanels[rand(0,3)]);

Если хочется не случайного порядка переключения, то надо завести какое-нибудь свойство music_channel, например в объекте ThisComputer и переделать код так

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

$channels=array(30,35,42,56);
$cur_channel=(int)gg('music_channel');
$cur_channel+=1;
if ($cur_channel>3) {
 $cur_channel=0;
}
sg('music_channel',$cur_channel);
setGlobal('TV1.channel_number', $channels[$cur_channel]);
За это сообщение автора fandaymon поблагодарил:
webms (Пт мар 29, 2019 2:40 pm)
Рейтинг: 1.16%
Jilber
Сообщения: 684
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 113 раз
Поблагодарили: 107 раз

Re: [Модуль] LG webOS TV (lgwebostv)

Сообщение Jilber » Ср мар 27, 2019 5:13 pm

Jilber писал(а):
Пн мар 11, 2019 2:52 pm
С телефона из приложения ТВ управляется, но там Youtube я тоже не нашёл.
Установил в телевизор Youtube - всё работает, и со ссылкой на файл и без неё. Спасибо.
Ответить