Реализация приключения режимов экрана через Home Assistant. 
Пользователь badnimits разместил на 
https://community.home-assistant.io/t/l ... s/262915/5 скрипты для изменения настройки изображения на телевизоре LG с помощью удаленных нажатий кнопок (например, Живые цвета, Эффект HDR, Эксперт светлая комнаты). Пишет, что ему не удалось управлять настройками изображения с помощью luna-send. 
scripts.yaml:
- Код: Выделить всё
- tv_pic_menu_enter:
 sequence:
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: MENU
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: UP
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 2
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: RIGHT
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 1.5
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 1
 tv_pic_menu_choose_back:
 sequence:
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: BACK
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: BACK
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: BACK
 tv_down_button:
 sequence:
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: DOWN
 - delay: 0.2
 tv_light_expert:
 alias: TV Expert Light
 sequence:
 - service: script.tv_pic_menu_enter
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_pic_menu_choose_back
 data: {}
 mode: single
 icon: mdi:television-ambient-light
 tv_dark_expert:
 alias: TV Expert Dark
 sequence:
 - service: script.tv_pic_menu_enter
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_down_button
 data: {}
 - service: script.tv_pic_menu_choose_back
 data: {}
 mode: single
 icon: hass:sleep
 tv_living_colors:
 alias: TV Living Colors
 sequence:
 - service: script.tv_pic_menu_enter
 data: {}
 - service: script.tv_pic_menu_choose_back
 data: {}
 mode: single
 icon: hass:flower
Если вы хотите добавить остальные, просто скопируйте и вставьте tv_light_expert и удалите одну из них из командной строки (- service: script.tv_down_button) чтобы выбрать предыдущую настройку (-1 = эффект HDR, -2 = игра и т.д.) 
Кроме того, если вы используете только Home Assistant для изменения настроек, вы можете воспользоваться быстрым меню меньшего размера, используя команды влево и вправо (HDR -> Game = tv_smenu_right; HDR <- Game = tv_smenu_left). 
- Код: Выделить всё
- tv_smenu_right:
 sequence:
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: MENU
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: DOWN
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: RIGHT
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: BACK
- Код: Выделить всё
- tv_smenu_left:
 sequence:
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: MENU
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: DOWN
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: ENTER
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: LEFT
 - delay: 1
 - service: webostv.button
 data:
 entity_id: media_player.lg_webos_smart_tv_2
 button: BACK
Далее Jacek_Paszkowski пишет: 
Хотел бы поделиться своим решением. После более глубокого изучения 
GitHub - merdok / homebridge-webos-tv: плагин Homebridge для телевизоров LG webOS я нашел способ установить определенный режим изображения с помощью сервисов HA. Это немного сложно, потому что открывается всплывающее окно allert, а затем после нажатия запускает действие luna. Вот мой скрипт:
- Код: Выделить всё
- living_room_lg_tv_picture_mode:
 sequence:
 - service: webostv.command
 data:
 entity_id: media_player.living_room_lg_tv
 command: system.notifications/createAlert
 payload:
 message: >-
 {{ picture_mode }}
 modal: false
 buttons:
 - label: "ok"
 focus: true
 buttonType: "ok"
 onClick: "luna://com.webos.settingsservice/setSystemSettings"
 params:
 category: "picture"
 settings:
 pictureMode: >-
 {{ picture_mode }}
 type: "confirm"
 isSysReq: true
 - delay: 0.6
 - service: webostv.button
 data:
 entity_id: media_player.living_room_lg_tv
 button: ENTER
В качестве picture_mode можно передать поддерживаемый режим изображения. 
Доступные режимы изображения (не все доступны на всех телевизорах): cinema, eco, expert1, expert2, game, normal, photo, sports, technicolor, vivid, hdrEffect, hdrCinema, hdrCinemaBright, hdrExternal, hdrGame, hdrStandard, hdrTechnicolor, hdrVivid, dolbyHdrCinema, dolbyHdrCinemaBright, dolbyHdrDarkAmazon, dolbyHdrGame, dolbyHdrStandard, dolbyHdrVivid, dolbyStandard. 
Вы также можете поиграть со временем задержки. 
Скрипт для вызова режима энергосбережение:
- Код: Выделить всё
- living_room_lg_tv_picture_energy_saving:
 sequence:
 - service: webostv.command
 data:
 entity_id: media_player.living_room_lg_tv
 command: system.notifications/createAlert
 payload:
 title: "Energy saving"
 message: >-
 {{ energy_saving }}
 modal: false
 buttons:
 - label: "ok"
 focus: true
 buttonType: "ok"
 onClick: "luna://com.webos.settingsservice/setSystemSettings"
 params:
 category: "picture"
 settings:
 energySaving: >-
 {{ energy_saving }}
 energySavingModified: "true"
 type: "confirm"
 isSysReq: true
 - delay:
 milliseconds: 40
 - service: webostv.button
 data:
 entity_id: media_player.living_room_lg_tv
 button: ENTER
adryyy выложил обновленную версию для последней версии Home Assistant. 
Сначала выполняем: 
- Код: Выделить всё
- sudo apt-get install netcat-traditional
Затем добавляем в configuration.yaml:
- Код: Выделить всё
- command_line:
 - switch:
 name: "LG Picture Mode ECO"
 unique_id: "lgtv_pict_eco"
 command_on: "echo \"luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"settings\\\": {\\\"pictureMode\\\": \\\"eco\\\"}}' & exit\" | nc 192.168.0.120 23"
 command_off: "echo \"luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"settings\\\": {\\\"pictureMode\\\": \\\"normal\\\"}}' & exit\" | nc 192.168.0.120 23"
 command_state: "echo \"luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"keys\\\": [\\\"pictureMode\\\"]}' & exit\" | nc 192.168.0.120 23 | grep -c eco"
 - switch:
 name: "LG Picture Mode Cinema"
 unique_id: "lgtv_pict_cinema"
 command_on: "echo \"luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"settings\\\": {\\\"pictureMode\\\": \\\"cinema\\\"}}' & exit\" | nc 192.168.0.120 23"
 command_off: "echo \"luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"settings\\\": {\\\"pictureMode\\\": \\\"normal\\\"}}' & exit\" | nc 192.168.0.120 23"
 command_state: "echo \"luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings '{\\\"category\\\": \\\"picture\\\", \\\"keys\\\": [\\\"pictureMode\\\"]}' & exit\" | nc 192.168.0.120 23 | grep -c cinema"