SamsungTV модуль: различия между версиями
Newz20 (обсуждение | вклад) (→Управление ТВ: таблица) |
Newz20 (обсуждение | вклад) (→Встроенные функции: таблица) |
||
| Строка 767: | Строка 767: | ||
Модулем также можно управлять с помощью встроенных функций. В любой функции в качестве имени устройства можно использовать его '''ID''', '''название''' или '''IP-адрес'''. | Модулем также можно управлять с помощью встроенных функций. В любой функции в качестве имени устройства можно использовать его '''ID''', '''название''' или '''IP-адрес'''. | ||
{| class="wikitable" | |||
|- | |||
'''STVPowerOn(Имя устройства)''' | ! Функция !! Описание !! Пример | ||
|- | |||
'''STVPowerOff(Имя устройства)''' | | '''STVPowerOn(Имя устройства)''' || Включение телевизора. || STVPowerOn('Телевизор в зале'); | ||
|- | |||
'''STVVolUp(Имя устройства, значение)''' | | '''STVPowerOff(Имя устройства)''' || Включение телевизора || STVPowerOff('192.168.0.106'); | ||
|- | |||
STVVolUp('192.168.0.106', 4); | | '''STVVolUp(Имя устройства, значение)''' || Прибавить громкость. Если не написать значение, громкость будет прибавлена на 1 || STVVolUp('192.168.0.106', 4); | ||
|- | |||
'''STVVolDown(Имя устройства, значение)''' Убавить громкость. Если не написать значение, громкость будет убавлена на 1 | | '''STVVolDown(Имя устройства, значение)''' || Убавить громкость. Если не написать значение, громкость будет убавлена на 1 || STVVolDown('192.168.0.106', 4); | ||
|- | |||
STVVolDown('192.168.0.106', 4); | | '''STVGetVol(Имя устройства)''' || Запрос текущей громкости ТВ || STVGetVol('Телевизор в зале'); | ||
|- | |||
'''STVGetVol(Имя устройства)''' | | '''STVSetVol(Имя устройства, значение)''' || Установка громкости на устройстве || STVSetVol('192.168.0.106', 15); | ||
|- | |||
'''STVSetVol(Имя устройства, значение)''' | | '''STVChUp(Имя устройства)''' || Переключение канала вперед || STVChUp('Телевизор в зале'); | ||
|- | |||
'''STVChUp(Имя устройства)''' | | '''STVChDown(Имя устройства)''' || Переключение канала назад || STVChDown('192.168.0.106'); | ||
|- | |||
'''STVChDown(Имя устройства)''' | | '''STVEnter(Имя устройства)''' || Кнопка ENTER || STVEnter('Телевизор в зале'); | ||
|- | |||
'''STVEnter(Имя устройства)''' | | '''STVSendURL(Имя устройства, url)''' || Открытие ссылки в браузере || STVSendURL('192.168.0.106', 'yandex.ru'); | ||
|- | |||
'''STVSendURL(Имя устройства, url)''' | | '''STVSendKey(Имя устройства, ключ)''' || Отправка любого ключа из списка выше на ТВ || STVSendKey('Телевизор в зале', 'KEY_VOLUP'); | ||
|- | |||
'''STVSendKey(Имя устройства, ключ)''' | | '''STVStatus(Имя устройства)''' || Получение информации о доступности устройства (TRUE/FALSE) || STVStatus('192.168.0.106'); | ||
|} | |||
'''STVStatus(Имя устройства)''' | |||
Текущая версия от 15:54, 24 января 2020
Автор: 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 | |
| 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('192.168.0.106', 4); |
| STVVolDown(Имя устройства, значение) | Убавить громкость. Если не написать значение, громкость будет убавлена на 1 | 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'); |