Модуль LG webOS TV

LG webOS TV Комментариев нет

Модуль LG webOS TV

Описание

Модуль предназначен для интеграции смарт-телевизоров LG на платформе webOS.

Возможности модуля:

  • ручное добавление ТВ по IP адресу;
  • поддержка нескольких ТВ;
  • определение доступности ТВ с помощью периодического tcp ping на порт tcp/3000;
  • перевод ТВ в режим сопряжения и получение токена для аутентификации;
  • получение статуса ТВ в реальном времени (при установленном соединении);
  • управление ТВ (каналы, источники, приложения, громкость, уведомления, выключение).

Обсуждение модуля на Форуме.
Исходный код модуля на Github.
Модуль в Connect.

Модуль LG webOS TV

Перед началом работы с ТВ средствами модуля убедитесь, что в настройках ТВ разрешено использование технологии LG Connect Apps. А также проверьте управление ТВ из официального приложения для Android или iOS.

Взаимодействие с ТВ происходит через постоянное tcp-соединение в режиме клиента на порт 3000. Внутри tcp-сокета используется протокол Websocket, поверх которого уже идет обмен API-сообщениями в формате JSON.

Для взаимодействия модуля и его цикла используется tcp-сокет на порту 3005. Если порт tcp/3005 занят другим сервисом/приложением, то его можно изменить в файле ./modules/lgwebostv/lgwebostv.class.php. Позже смена порта служебного сокета цикла будет вынесена в настройки модуля.

Модуль реализует классическую концепцию MajorDoMo для взаимодействия с пользователем через метрики и привязанные к ним свойства и/или методы объекта. Объекты, свойства и методы создаются пользователем самостоятельно. Имеется возможность привязки Простых устройств на перспективу, если появится новый тип ПУ "Смарт ТВ".

Обновление значения свойства и вызов метода выполняется только, если старое значение метрики не равно новому, а также только при получении ответного сообщения от самого ТВ, а не в момент отправки команды. Таким образом можно организовать полноценную обратную связь с ТВ и быть уверенным о том, прошла команда или нет.

В привязанный метод передаются следующие параметры - название метрики $params['PROPERTY'], текущее значение $params['NEW_VALUE'] и предыдущее значение $params['OLD_VALUE'].

Для определения перехода ТВ из выключенного состояния во включенное используется периодический пинг (по умолчанию каждые 60 секунд). Поэтому имеет место быть определенная задержка между моментом включения ТВ с пульта и обновлением статуса ТВ в модуле. Если ТВ включается средствами MajorDoMo (например через ИК-передатчик Broadlink или Xiaomi), то можно форсировать обновление статуса ТВ отправкой команды ping через метрику command.

Требования

Сервер MajorDoMo и ТВ могут находиться в разных сегментах локальной сети, но при этом должна быть обеспечена маршрутизация трафика между этими сегментами и свободное прохождение сетевых пакетов на порт TCP/3000.

На сервере должен быть отключен, либо корректно настроен межсетевой экран для пропуска сетевых пакетов TCP/3000.

В настройках ТВ разрешено использование технологии LG Connect Apps.

Для всех ТВ должны быть получены их уникальные токены, которые используются для аутентификации модуля при установлении соединения с ТВ. Токен получается через интерфейс модуля в ходе процедуры сопряжения.

Документация по модулю

  1. Установка, обновление, удаление модуля
  2. Настройка модуля
  3. Описание метрик и команд
Поделитесь в соц сетях

Теги:

 

 

Комментарий