[Сценарий] Управление смарт ТВ Philips

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль для ТВ "Philips"

Сообщение skysilver » Чт окт 19, 2017 8:37 pm

gg() надо в двойные кавычки заключить
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Модуль для ТВ "Philips"

Сообщение Jilber » Чт окт 19, 2017 8:39 pm

Уже пробовал:
СпойлерПоказать
$url = 'http://192.168.100.4:1925/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);
Такая же ошибка. Может там надо преобразовать тип Philips.Channel в строковый ?
Последний раз редактировалось Jilber Чт окт 19, 2017 8:43 pm, всего редактировалось 1 раз.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль для ТВ "Philips"

Сообщение skysilver » Чт окт 19, 2017 8:43 pm

А. Стоп. Вот так:

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

'content' => '{"id":"'.gg("Philips.Channel").'"}',
За это сообщение автора skysilver поблагодарили (всего 2):
Jilber (Чт окт 19, 2017 8:45 pm) • Afeck (Вт мар 16, 2021 3:42 pm)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Модуль для ТВ "Philips"

Сообщение Jilber » Чт окт 19, 2017 8:45 pm

СПС, так работает.
Сделал пока вот такое управление ТВ в меню:
СпойлерПоказать
ТВ.jpg
ТВ.jpg (19.79 КБ) 5553 просмотра
Хотелось сделать для "Mute" обычный chekbox (просто "галочку"), но что-то не нашёл его. Его нет в системе ?
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Модуль для ТВ "Philips"

Сообщение Jilber » Вт мар 06, 2018 8:58 pm

Подскажите, как можно разобрать такой json:
СпойлерПоказать

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

{
    "13919": {
        "preset": "1",
        "name": "Первый канал"
    },
    "13920": {
        "preset": "2",
        "name": "Россия 1"
    },
    "13921": {
        "preset": "3",
        "name": "Матч"
    },
    "13922": {
        "preset": "4",
        "name": "НТВ"
    },
    "13923": {
        "preset": "5",
        "name": "Пятый канал"
    },
    "13924": {
        "preset": "6",
        "name": "Россия К"
    },
    "13925": {
        "preset": "7",
        "name": "Россия 24"
    },
    "13926": {
        "preset": "8",
        "name": "Карусель"
    },
    "13927": {
        "preset": "9",
        "name": "ОТР"
    },
    "13928": {
        "preset": "10",
        "name": "ТВЦ"
    }
}
Хочется создать свойства например "Channel1Name" и присвоить ему значение "Первый канал", "Channel1ID" присвоить значение "13919", "Channel2Name" = "Россия 1", "Channel2ID" = 13920, и т.д. Количество каналов изначально неизвестно. Я так понимаю это делается как-то через foreach ?
Сделал в меню вот такой выбор канала, но при новом сканировании их ID меняются, а забивать вручную в список под сотню каналов...
СпойлерПоказать
1.jpg
1.jpg (141.08 КБ) 5367 просмотров
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: [Сценарий] Управление смарт ТВ Philips

Сообщение Jilber » Сб ноя 17, 2018 7:59 pm

Благодаря помощи skysilver, за что ему огромное спасибо, удалось считать скриптом список каналов с ТВ в свойства объекта. Теперь не надо вручную забивать в свойства ID каналов при их повторном сканировании.
СпойлерПоказать

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

$channels = getURL('http://IP:port/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']);
  }
}
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Сценарий] Управление смарт ТВ Philips

Сообщение Ralan » Вт фев 19, 2019 12:48 am

Дайте пошаговую инструкцию, как прописать в объекты данный скрипт. Не судите строго, только осваиваю систему, не получается. Настроил включение голосом нескольких каналов, но хочется все сделать по уму.
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: [Сценарий] Управление смарт ТВ Philips

Сообщение Jilber » Вт фев 19, 2019 6:50 pm

Ralan писал(а):
Вт фев 19, 2019 12:48 am
Дайте пошаговую инструкцию, как прописать в объекты данный скрипт. Не судите строго, только осваиваю систему, не получается. Настроил включение голосом нескольких каналов, но хочется все сделать по уму.
Этот скрипт нужно запустить всего один раз вручную. Он нужен для создания списка свойств с каналами и их ID. Просто создайте новый скрипт, пропишите у него указанный код и запустите его один раз вручную.
СпойлерПоказать
Сценарий.jpg
Сценарий.jpg (166.41 КБ) 4527 просмотров
Если интересует могу показать как у меня получилось сделать управление телевизором.
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Сценарий] Управление смарт ТВ Philips

Сообщение Ralan » Вт фев 19, 2019 7:42 pm

Да, конечно, интересно, поделитесь. Мне удалось настроить включение каналов голосом. Сейчас бьюсь на голосовым управлением уровнем звука.
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: [Сценарий] Управление смарт ТВ Philips

Сообщение Jilber » Вт фев 19, 2019 7:49 pm

Я ради интереса тоже делал голосовое включение часто используемых каналов, но обычно им не пользуюсь. Использую вот такое меню (выбор входа, канала, управление громкостью):
СпойлерПоказать
Меню.jpg
Меню.jpg (20.38 КБ) 4519 просмотров
или всплывающий виртуальный пульт на сцене:
СпойлерПоказать
Пульт.jpg
Пульт.jpg (62.42 КБ) 4519 просмотров
Раз у вас работает голосовое включение каналов, то видимо управление без голоса уже настроено и нет смысла выкладывать методы, которые использую я?
Ответить