SamsungTV модуль

Материал из MajorDoMo инфо
Версия от 14:06, 23 января 2020; George2017 (обсуждение | вклад) (создание новой страницы)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)


автор: vashal от 23.01.2020

Описание

Модуль управления телевизорами Samsung с TizenOS

Установка модуля

Установка осуществляется через Маркет дополнений в разделе Оборудование- SamsungTV.

Важно:

ВНИМАНИЕ!!! Модуль работает с устройствами, выпущенными не ранее 2016 года и с обновленными прошивками. Если вы ограничили загрузку обновлений на телевизор для взаимодействия с какими-либо программами, то, скорее всего, модуль не будет взаимодействовать с вашим устройством.

'Все действия', связанные с обновлением вашего устройства, вы делаете на свой страх и риск и автор модуля не несет никакой ответственности за это. Равно как и не гарантирует возможности взаимодействия модуля с вашим устройством после обновления.

Общие сведения

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

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

- ручное добавление ТВ по IP адресу;

- поддержка нескольких ТВ;

- определение доступности ТВ;

- получение громкости ТВ;

- управление ТВ (каналы, источники, приложения, громкость, выключение). Для добавления телевизора нажмите кнопку +Добавить, введите IP адрес и придумайте название телевизора. После нажатия кнопки Добавить телевизор запросит разрешение на сопряжение с модулем. Отвечаем утвердительно, и после этого телевизор появится в списке устройств в модуле

Так как Samsung не предоставляет открытое API для управления своими телевизорами, в модуле собрано несколько типов управления, добытых из открытых источников:

- wss-соединение(SSL Websocket) на порту 8002 - отправка команд, запрос приложений, открытие сайтов встроенным браузером;

- POST запросы на порт 8001 для управления(запуск, закрытие, статус) приложениями;

- протокол SOAP на порту 9197 для считывания уровня громкости, установки громкости;

- Wake-on-lan для запуска выключенного телевизора (не испытывался на Wi-Fi соединении).

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

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

Список команд

Список ключей может различаться в зависимости от модели телевизора. Ниже приведены некоторые общие коды и их описания. Не все ключи могут работать конкретно на вашей модели телевизора.

Power keys

Ключ Действие

KEY_POWER PowerToggle

Input keys

Ключ Действие

KEY_SOURCE Source

KEY_COMPONENT1 Component1

KEY_COMPONENT2 Component2

KEY_AV1 AV1

KEY_AV2 AV2

KEY_AV3 AV3

KEY_SVIDEO1 SVideo1

KEY_SVIDEO2 SVideo2

KEY_SVIDEO3 SVideo3

KEY_HDMI HDMI

KEY_HDMI1 HDMI1

KEY_HDMI2 HDMI2

KEY_HDMI3 HDMI3

KEY_HDMI4 HDMI4

KEY_FM_RADIO FMRadio

KEY_DVI DVI

KEY_DVR DVR

KEY_TV TV

KEY_ANTENA AnalogTV

KEY_DTV DigitalTV

Number keys

Ключ Действие

KEY_1 1

KEY_2 2

KEY_3 3

KEY_4 4

KEY_5 5

KEY_6 6

KEY_7 7

KEY_8 8

KEY_9 9

KEY_0 0

Misc keys

Ключ Действие

KEY_PANNEL_CHDOWN 3D

KEY_ANYNET AnyNet+

KEY_ESAVING EnergySaving

KEY_SLEEP SleepTimer

KEY_DTV_SIGNAL DTVSignal

Channel keys

Ключ Действие

KEY_CHUP ChannelUp

KEY_CHDOWN ChannelDown

KEY_PRECH PreviousChannel

KEY_FAVCH FavoriteChannels

KEY_CH_LIST ChannelList

KEY_AUTO_PROGRAM AutoProgram

KEY_MAGIC_CHANNEL MagicChannel

Volume keys

Ключ Действие

KEY_VOLUP VolumeUp

KEY_VOLDOWN VolumeDown

KEY_MUTE Mute

Direction keys

Ключ Действие

KEY_UP NavigationUp

KEY_DOWN NavigationDown

KEY_LEFT NavigationLeft

KEY_RIGHT NavigationRight

KEY_RETURN NavigationReturn/Back

KEY_ENTER NavigationEnter

Media keys

Ключ Действие

KEY_REWIND Rewind

KEY_STOP Stop

KEY_PLAY Play

KEY_FF FastForward

KEY_REC Record

KEY_PAUSE Pause

KEY_LIVE Live

KEY_QUICK_REPLAY fnKEY_QUICK_REPLAY

KEY_STILL_PICTURE fnKEY_STILL_PICTURE

KEY_INSTANT_REPLAY fnKEY_INSTANT_REPLAY

Picture in Picture

Ключ Действие

KEY_PIP_ONOFF PIPOn/Off

KEY_PIP_SWAP PIPSwap

KEY_PIP_SIZE PIPSize

KEY_PIP_CHUP PIPChannelUp

KEY_PIP_CHDOWN PIPChannelDown

KEY_AUTO_ARC_PIP_SMALL PIPSmall

KEY_AUTO_ARC_PIP_WIDE PIPWide

KEY_AUTO_ARC_PIP_RIGHT_BOTTOM PIPBottomRight

KEY_AUTO_ARC_PIP_SOURCE_CHANGE PIPSourceChange

KEY_PIP_SCAN PIPScan

Modes

Ключ Действие

KEY_VCR_MODE VCRMode

KEY_CATV_MODE CATVMode

KEY_DSS_MODE DSSMode

KEY_TV_MODE TVMode

KEY_DVD_MODE DVDMode

KEY_STB_MODE STBMode

KEY_PCMODE PCMode

Color keys

Ключ Действие

KEY_GREEN Green

KEY_YELLOW Yellow

KEY_CYAN Cyan

KEY_RED Red

Teletext

Ключ Действие

KEY_TTX_MIX TeletextMix

KEY_TTX_SUBFACE TeletextSubface

AspectRatio

Ключ Действие

KEY_ASPECT AspectRatio

KEY_PICTURE_SIZE PictureSize

KEY_4_3 AspectRatio4:3

KEY_16_9 AspectRatio16:9

KEY_EXT14 AspectRatio3:4(Alt)

KEY_EXT15 AspectRatio16:9(Alt)

Picture Mode

Ключ Действие

KEY_PMODE PictureMode

KEY_PANORAMA PictureModePanorama

KEY_DYNAMIC PictureModeDynamic

KEY_STANDARD PictureModeStandard

KEY_MOVIE1 PictureModeMovie

KEY_GAME PictureModeGame

KEY_CUSTOM PictureModeCustom

KEY_EXT9 PictureModeMovie(Alt)

KEY_EXT10 PictureModeStandard(Alt)

Menus

Ключ Действие

KEY_MENU Menu

KEY_TOPMENU TopMenu

KEY_TOOLS Tools

KEY_HOME Home

KEY_CONTENTS Contents

KEY_GUIDE Guide

KEY_DISC_MENU DiscMenu

KEY_DVR_MENU DVRMenu

KEY_HELP Help

OSD

Ключ Действие

KEY_INFO Info

KEY_CAPTION Caption

KEY_CLOCK_DISPLAY ClockDisplay

KEY_SETUP_CLOCK_TIMER SetupClock

KEY_SUB_TITLE Subtitle

Zoom

Ключ Действие

KEY_ZOOM_MOVE ZoomMove

KEY_ZOOM_IN ZoomIn

KEY_ZOOM_OUT ZoomOut

KEY_ZOOM1 Zoom1

KEY_ZOOM2 Zoom2

Other keys

Ключ Действие

KEY_WHEEL_LEFT WheelLeft

KEY_WHEEL_RIGHT WheelRight

KEY_ADDDEL Add/Del

KEY_PLUS100 Plus100

KEY_AD AD

KEY_LINK Link

KEY_TURBO Turbo

KEY_CONVERGENCE Convergence

KEY_DEVICE_CONNECT DeviceConnect

KEY_11 KEY11

KEY_12 KEY12

KEY_FACTORY KEYFactory

KEY_3SPEED KEY3SPEED

KEY_RSURF KEYRSURF

KEY_FF_ FF_

KEY_REWIND_ REWIND_

KEY_ANGLE Angle

KEY_RESERVED1 Reserved1

KEY_PROGRAM Program

KEY_BOOKMARK Bookmark

KEY_PRINT Print

KEY_CLEAR Clear

KEY_VCHIP VChip

KEY_REPEAT Repeat

KEY_DOOR Door

KEY_OPEN Open

KEY_DMA DMA

KEY_MTS MTS

KEY_DNIe DNIe

KEY_SRS SRS

KEY_CONVERT_AUDIO_MAINSUB ConvertAudioMain/Sub

KEY_MDC MDC

KEY_SEFFECT SoundEffect

KEY_PERPECT_FOCUS PERPECTFocus

KEY_CALLER_ID CallerID

KEY_SCALE Scale

KEY_MAGIC_BRIGHT MagicBright

KEY_W_LINK WLink

KEY_DTV_LINK DTVLink

KEY_APP_LIST ApplicationList

KEY_BACK_MHP BackMHP

KEY_ALT_MHP AlternateMHP

KEY_DNSe DNSe

KEY_RSS RSS

KEY_ENTERTAINMENT Entertainment

KEY_ID_INPUT IDInput

KEY_ID_SETUP IDSetup

KEY_ANYVIEW AnyView

KEY_MS MS

KEY_MORE

KEY_MIC

KEY_NINE_ SEPERATE

KEY_AUTO_FORMAT AutoFormat

KEY_DNET DNET

Auto Arc keys

Ключ

KEY_AUTO_ARC_C_FORCE_AGING

KEY_AUTO_ARC_CAPTION_ENG

KEY_AUTO_ARC_USBJACK_INSPECT

KEY_AUTO_ARC_RESET

KEY_AUTO_ARC_LNA_ON

KEY_AUTO_ARC_LNA_OFF

KEY_AUTO_ARC_ANYNET_MODE_OK

KEY_AUTO_ARC_ANYNET_AUTO_START

KEY_AUTO_ARC_CAPTION_ON

KEY_AUTO_ARC_CAPTION_OFF

KEY_AUTO_ARC_PIP_DOUBLE

KEY_AUTO_ARC_PIP_LARGE

KEY_AUTO_ARC_PIP_LEFT_TOP

KEY_AUTO_ARC_PIP_RIGHT_TOP

KEY_AUTO_ARC_PIP_LEFT_BOTTOM

KEY_AUTO_ARC_PIP_CH_CHANGE

KEY_AUTO_ARC_AUTOCOLOR_SUCCESS

KEY_AUTO_ARC_AUTOCOLOR_FAIL

KEY_AUTO_ARC_JACK_IDENT

KEY_AUTO_ARC_CAPTION_KOR

KEY_AUTO_ARC_ANTENNA_AIR

KEY_AUTO_ARC_ANTENNA_CABLE

KEY_AUTO_ARC_ANTENNA_SATELLITE

Panel keys

Ключ Действие

KEY_PANNEL_POWER

KEY_PANNEL_CHUP

KEY_PANNEL_VOLUP

KEY_PANNEL_VOLDOW

KEY_PANNEL_ENTER

KEY_PANNEL_MENU

KEY_PANNEL_SOURCE

KEY_PANNEL_ENTER

Extended keys

Ключ

KEY_EXT1

KEY_EXT2

KEY_EXT3

KEY_EXT4

KEY_EXT5

KEY_EXT6

KEY_EXT7

KEY_EXT8

KEY_EXT11

KEY_EXT12

KEY_EXT13

KEY_EXT16

KEY_EXT17

KEY_EXT18

KEY_EXT19

KEY_EXT20

KEY_EXT21

KEY_EXT22

KEY_EXT23

KEY_EXT24

KEY_EXT25

KEY_EXT26

KEY_EXT27

KEY_EXT28

KEY_EXT29

KEY_EXT30

KEY_EXT31

KEY_EXT32

KEY_EXT33

KEY_EXT34

KEY_EXT35

KEY_EXT36

KEY_EXT37

KEY_EXT38

KEY_EXT39

KEY_EXT40

KEY_EXT41

Управление ТВ

Отправка команд на ТВ выполняется с помощью привязанного к ним свойства объекта путем записи в это свойство команды через функцию setGlobal() или иным способом. Возможные команды приведены в таблице ниже.

Пример:

setGlobal('TV1.Power', '1');

// Или сокращенная форма setGlobal

sg('TV1.Volume', '-3');

// Открытие сайта в браузере

sg('TV1.URL', 'yandex.ru');

При добавлении в модуль телевизора, с ним автоматически добавляются часто используемые команды. Их описание в таблице ниже.

Команда Описание Значения

Команда В привязанное к этой команде свойство вы можете написать любую команду из списка выше и она будет передана в чистом виде на телевизор. Любая команда из списка выше

ВКЛ/ВЫКЛ Выключение и включение ТВ Включение ТВ с помощью WOL (только для подключения ТВ по ethernet). Поддерживается не всеми моделями ТВ. 1 - включить, 0 - выключить

Управление громкостью Управление громкостью. Положительное число - прибавить на заданное количество пунктов. Отрицательное число - убавить на заданное количество пунктов. 0 - MUTE

Установка громкости Установка уровня громкости. 1-100

Управление каналами Переключение каналов. 1 - канал вперед, 0 - список каналов, -1 - канал назад

Навигация Управление курсором. 0 или ENTER или OK - кнопка ENTER, 1 или LEFT - влево, 2 или UP - вверх, 3 или RIGHT - вправо, 4 или DOWN - вниз.

Назад Кнопка НАЗАД Любое значение

Меню Кнопка МЕНЮ Любое значение

Домой Кнопка ДОМОЙ Любое значение

Стоп Кнопка СТОП Любое значение

Воспроизведение Кнопка ПЛЭЙ Любое значение

HDMI Первый источник HDMI Любое значение

HDMI1 Второй источник HDMI Любое значение

Цифровые кнопки Ввод цифр. Например, для переключения каналов Любое положительное цифровое значение

Цветные кнопки Цветные кнопки на пульте 1 или RED - красная кнопка, 2 или GREEN - зеленая кнопка, 3 или YELLOW - желтая кнопка, 4 или BLUE - синяя кнопка.

Аналогично происходит управление приложениями. В привязанном свойстве возможны значения 1 - запустить, 0 - закрыть.

Первое приложение Internet - запускает браузер с URL, записанным в значение свойства.

Если вы установили новое приложение, то для того, чтоб оно появилось в модуле, нажмите кнопку Обновить внизу списка приложений.

Встроенные функции

Модулем также можно управлять с помощью встроенных функций. В любой функции в качестве имени устройства можно использовать его ID, название или IP-адрес.

Функция Описание Пример

STVPowerOn(Имя устройства) Включение телевизора. STVPowerOn('Телевизор в зале');

STVPowerOff(Имя устройства) Включение телевизора STVPowerOff('192.168.0.106');

STVVolUp(Имя устройства, значение) Прибавить громкость. Если не написать значение, громкость будет прибавлена на 1 STVVolUp('Телевизор в зале');

STVVolUp('192.168.0.106', 4);

STVVolDown(Имя устройства, значение) Убавить громкость. Если не написать значение, громкость будет убавлена на 1 STVVolDown('Телевизор в зале');

STVVolDown('192.168.0.106', 4);

STVGetVol(Имя устройства) Запрос текущей громкости ТВ STVGetVol('Телевизор в зале');

STVSetVol(Имя устройства, значение) Установка громкости на устройстве STVSetVol('192.168.0.106', 15);

STVChUp(Имя устройства) Переключение канала вперед STVChUp('Телевизор в зале');

STVChDown(Имя устройства) Переключение канала назад STVChDown('192.168.0.106');

STVEnter(Имя устройства) Кнопка ENTER STVEnter('Телевизор в зале');

STVSendURL(Имя устройства, url) Открытие ссылки в браузере STVSendURL('192.168.0.106', 'yandex.ru');

STVSendKey(Имя устройства, ключ) Отправка любого ключа из списка выше на ТВ STVSendKey('Телевизор в зале', 'KEY_VOLUP');

STVStatus(Имя устройства) Получение информации о доступности устройства (TRUE/FALSE) STVStatus('192.168.0.106');