[Сценарий] Управление смарт ТВ Philips
Re: [Сценарий] Управление смарт ТВ Philips
Ага, я, вроде, разобрался как дублировать кнопки пульта. Правда в качестве "болванки" использовал пульт от Самсунга
. Сейчас при помощи форумчан "прикрутил" голосовое управление громкостью. Я уклон делаю именно в сторону голосового управления.
Re: [Сценарий] Управление смарт ТВ Philips
Методами поделитесь, чужой опыт всегда интересен, может почерпну интересное. Меня особенно интересует, можно ли создать внутри системы список каналов с их id. Что бы можно было назвать канал, а система сама выбирала по списку id.
Re: [Сценарий] Управление смарт ТВ Philips
Сценарий из этого сообщения как раз и создаёт в объекте "Philips" свойства с названиями и ID всех каналов телевизора.
Метод для включения нужного входа:
Метод для включения нужного канала:
Управление громкостью:
Mute:
Отправка на ТВ кода "нажатой" клавиши:
SPOILERSPOILER_SHOW
Код: Выделить всё
$url = 'http://'.gg("Philips.Ip").':'.gg("Philips.Port").'/1/sources/current';
$options = array(
'http' => array(
'method' => 'POST',
'content' => '{"id":"'.gg("Philips.In").'"}',
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);Код: Выделить всё
$url = 'http://'.gg("Philips.Ip").':'.gg("Philips.Port").'/1/channels/current';
$options = array(
'http' => array(
'method' => 'POST',
'content' => '{"id":"'.gg("Philips.Channel").'"}',
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
sg("Philips.In", "11");Код: Выделить всё
$url = 'http://'.gg("Philips.Ip").':'.gg("Philips.Port").'/1/audio/volume';
$options = array(
'http' => array(
'method' => 'POST',
'content' => '{"current":"'.gg("Philips.Volume").'"}',
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);Код: Выделить всё
$url = 'http://'.gg("Philips.Ip").':'.gg("Philips.Port").'/1/audio/volume';
$options = array(
'http' => array(
'method' => 'POST',
'content' => '{"muted":"'.gg("Philips.Mute").'"}',
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);Код: Выделить всё
$url = 'http://'.gg("Philips.Ip").':'.gg("Philips.Port").'/1/input/key';
$options = array(
'http' => array(
'method' => 'POST',
'content' => '{"key":"'.gg("Philips.Key").'"}',
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);Re: [Сценарий] Управление смарт ТВ Philips
А как создать объект Philips и считать в него каналы? Никак не могу разобраться (
Re: [Сценарий] Управление смарт ТВ Philips
Создать объект можно вручную:Ralan писал(а): Вт фев 19, 2019 8:46 pm А как создать объект Philips и считать в него каналы? Никак не могу разобраться (
SPOILERSPOILER_SHOW
SPOILERSPOILER_SHOW
Re: [Сценарий] Управление смарт ТВ Philips
Когда создаешь объект, какой класс надо указывать?
Re: [Сценарий] Управление смарт ТВ Philips
В данном случае это неважно. Можно придумать какой-то свой класс, например "TV" или "Multimedia".
Re: [Сценарий] Управление смарт ТВ Philips
Все равно не могу понять.((( Создал класс Philips, создал объект TV-Channel, в данном классе. Создал сценарий TV-Channel. А как связать объект и сценарий? У меня при выполнении скрипта открывается окно в браузере, куда скидываются результаты работы скрипта.
Re: [Сценарий] Управление смарт ТВ Philips
В данном случае "Philips" - это название объекта. Именно его надо создать. Объект "TV-Channel" создавать не надо.Ralan писал(а): Вт фев 19, 2019 9:26 pm Все равно не могу понять.((( Создал класс Philips, создал объект , в данном классе. Создал сценарий TV-Channel. А как связать объект и сценарий? У меня при выполнении скрипта открывается окно в браузере, куда скидываются результаты работы скрипта.
SPOILERSPOILER_SHOW
Код: Выделить всё
$channels = getURL('http://192.168.100.4:1925/1/channels');
$data = json_decode($channels, true);
if (is_array($data) && !empty($data)) {
foreach ($data as $key => $ch) {
echo $key . $ch['preset'] . $ch['name'] . PHP_EOL;
sg('Philips.ChannelID' . $ch['preset'], $key);
sg('Philips.ChannelName' . $ch['preset'], $ch['name']);
}
}Re: [Сценарий] Управление смарт ТВ Philips
Вот оно что...
. Все получилось. Спасибо! А есть пример голосового включения канала?