[Сценарий] Управление смарт ТВ Philips
-
- Сообщения: 47
- Зарегистрирован: Пн фев 18, 2019 11:56 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: [Сценарий] Управление смарт ТВ Philips
Ага, я, вроде, разобрался как дублировать кнопки пульта. Правда в качестве "болванки" использовал пульт от Самсунга . Сейчас при помощи форумчан "прикрутил" голосовое управление громкостью. Я уклон делаю именно в сторону голосового управления.
-
- Сообщения: 47
- Зарегистрирован: Пн фев 18, 2019 11:56 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: [Сценарий] Управление смарт ТВ Philips
Методами поделитесь, чужой опыт всегда интересен, может почерпну интересное. Меня особенно интересует, можно ли создать внутри системы список каналов с их id. Что бы можно было назвать канал, а система сама выбирала по списку id.
-
- Сообщения: 682
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 111 раз
- Поблагодарили: 107 раз
Re: [Сценарий] Управление смарт ТВ Philips
Сценарий из этого сообщения как раз и создаёт в объекте "Philips" свойства с названиями и ID всех каналов телевизора.
Метод для включения нужного входа:
Метод для включения нужного канала:
Управление громкостью:
Mute:
Отправка на ТВ кода "нажатой" клавиши:
СпойлерПоказать
Код: Выделить всё
$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);
-
- Сообщения: 47
- Зарегистрирован: Пн фев 18, 2019 11:56 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: [Сценарий] Управление смарт ТВ Philips
А как создать объект Philips и считать в него каналы? Никак не могу разобраться (
-
- Сообщения: 682
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 111 раз
- Поблагодарили: 107 раз
Re: [Сценарий] Управление смарт ТВ Philips
Создать объект можно вручную:
СпойлерПоказать
СпойлерПоказать
-
- Сообщения: 682
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 111 раз
- Поблагодарили: 107 раз
Re: [Сценарий] Управление смарт ТВ Philips
В данном случае это неважно. Можно придумать какой-то свой класс, например "TV" или "Multimedia".
-
- Сообщения: 47
- Зарегистрирован: Пн фев 18, 2019 11:56 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: [Сценарий] Управление смарт ТВ Philips
Все равно не могу понять.((( Создал класс Philips, создал объект TV-Channel, в данном классе. Создал сценарий TV-Channel. А как связать объект и сценарий? У меня при выполнении скрипта открывается окно в браузере, куда скидываются результаты работы скрипта.
-
- Сообщения: 682
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 111 раз
- Поблагодарили: 107 раз
Re: [Сценарий] Управление смарт ТВ Philips
В данном случае "Philips" - это название объекта. Именно его надо создать. Объект "TV-Channel" создавать не надо.
СпойлерПоказать
Код: Выделить всё
$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']);
}
}
-
- Сообщения: 47
- Зарегистрирован: Пн фев 18, 2019 11:56 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: [Сценарий] Управление смарт ТВ Philips
Вот оно что... . Все получилось. Спасибо! А есть пример голосового включения канала?