{
  "common": {
    "name": "lgtv",
    "version": "2.7.3",
    "news": {
      "2.7.3": {
        "en": "fix uncaught exception: Parameter \"timeout\"\nRemoved the eyeComfortMode boolean-migration",
        "de": "fix uncaught Ausnahme: Parameter \"timeout\"\nEntfernen Sie das AugeComfortMode boolean-migration",
        "ru": "исправить непойманное исключение: параметр «тайм-аут»\nСнят глазComfortMode булево-миграция",
        "pt": "corrigir exceção não recebida: Parâmetro \"timeout\"\nRemoveu o eyeComfortMode boolean-migration",
        "nl": "fix uncaught uitzondering: Parameter \"timeout\"\nVerwijderde het oogComfortMode boolean-migratie",
        "fr": "correction d'exception non prise: Paramètre \"timeout\"\nSupprimé l'œilComfortMode de migration booléenne",
        "it": "correggere l'eccezione: Parametro \"timeout\"\nRimuovi l'occhioComfortMode boolean-migration",
        "es": "fijar la excepción no traída: Parámetro \"timeout\"\nQuitar el ojoComfortMode boolean-migración",
        "pl": "naprawić niezłowiony wyjątek: Parametr \"timeout\"\nUsunięto eyeoComfortMode boolean- migracja",
        "uk": "зафіксувати виключення: параметр \"timeout\"\nЗняття очейComfortMode boolean-migration",
        "zh-cn": "固定未发现的例外:参数“超时”\n删除了眼部舒适度Mode布尔迁移"
      },
      "2.7.2": {
        "en": "Reconnect watchdog no longer warns and recreates the LGTV instance while the TV is simply switched off. [#419]",
        "de": "Reconnect Watchdog warnt nicht mehr und rekreiert die LGTV-Instanz, während der Fernseher einfach ausgeschaltet ist. [#419]",
        "ru": "Reconnect watchdog больше не предупреждает и не воссоздает экземпляр LGTV, пока телевизор просто выключен.[419]",
        "pt": "Reconectar watchdog já não avisa e recria a instância LGTV enquanto a TV é simplesmente desligada. [#419]",
        "nl": "Waakhond opnieuw verbinden waarschuwt en herschept de LGTV instantie niet langer terwijl de TV simpelweg wordt uitgeschakeld. [#419]",
        "fr": "Reconnecter le chien de garde n'avertit plus et recrée l'instance LGTV alors que le téléviseur est simplement éteint. [#419]",
        "it": "Reconnect watchdog non avverte più e ricrea l'istanza LGTV mentre la TV è semplicemente spenta. [#419]",
        "es": "Reconnect watchdog ya no advierte y recrea la instancia LGTV mientras que la televisión simplemente se apaga. [#419]",
        "pl": "Recontact watchdog już nie ostrzega i odtwarza instancję LGTV, podczas gdy telewizor jest po prostu wyłączony. [# 419]",
        "uk": "Відключення годинника більше не попереджає і відтворює екземпляр LGTV, поки телевізор просто вимкнено. [#419]",
        "zh-cn": "重新连接的监视器不再警告和重新创建 LGTV 实例, 而电视却被关闭。 [# 419]"
      },
      "2.7.1": {
        "en": "Handling of online state has been improved.\nSupport for picture settings has been added.\nTimerhandling has been cleaned up.\nDependencies have been updated",
        "de": "Der Umgang mit Online-Zustand wurde verbessert.\nUnterstützung für Bildeinstellungen wurde hinzugefügt.\nTimerhandling wurde gereinigt.\nAbhängigkeiten wurden aktualisiert",
        "ru": "Улучшена работа с онлайн-государством.\nДобавлена поддержка настроек изображения.\nТаймшерлинг был очищен.\nЗависимости были обновлены",
        "pt": "O tratamento do estado online foi melhorado.\nO suporte para configurações de imagem foi adicionado.\nO temporizador foi limpo.\nAs dependências foram atualizadas",
        "nl": "De omgang met online state is verbeterd.\nOndersteuning voor afbeeldingsinstellingen is toegevoegd.\nTimerhandling is opgeruimd.\nAfhankelijkheden zijn bijgewerkt",
        "fr": "Le traitement de l'état en ligne a été amélioré.\nLa prise en charge des paramètres d'image a été ajoutée.\nLe traitement du temps a été nettoyé.\nLes dépendances ont été actualisées",
        "it": "La gestione dello stato online è stata migliorata.\nÈ stato aggiunto il supporto per le impostazioni dell'immagine.\nIl timerhandling è stato ripulito.\nLe dipendenze sono state aggiornate",
        "es": "Se ha mejorado el manejo del estado en línea.\nSe ha añadido soporte para ajustes de imagen.\nEl manejo temporal ha sido limpiado.\nSe han actualizado las dependencias",
        "pl": "Ulepszono obsługę państwa online.\nDodano wsparcie dla ustawień obrazu.\nObróbka czasu została wyczyszczona.\nZaktualizowano zależności",
        "uk": "Удосконалено роботу онлайн-держави.\nДодано підтримку налаштування зображень.\nОчищається від часу.\nЗалежність було оновлено",
        "zh-cn": "对在线状态的处理有所改善.\n已添加对图片设置的支持 .\n计时处理已经清理完毕.\n依赖关系已更新"
      },
      "2.6.0": {
        "en": "Adapter requires node.js >= 22 now\nAdapter requires admin >= 7.7.22 now\nExternal_speaker option to soundOutput state list added.\nDependencies have been updated",
        "de": "Adapter benötigt node.js >= 22 jetzt\nAdapter benötigt admin >= 7.7.22 jetzt\nExternal speaker option to soundOutput state list hinzugefügt.\nAbhängigkeiten wurden aktualisiert",
        "ru": "Адаптер требует node.js >= 22 сейчас\nАдаптер требует администратора >= 7.7.22\nДобавлена опция External speaker для SoundOutput State List.\nЗависимости были обновлены",
        "pt": "Adaptador requer nod.js >= 22 agora\nAdaptador requer admin >= 7.7.22 agora\nOpção externa alto-falante para a lista de estados de saída adicionada.\nAs dependências foram atualizadas",
        "nl": "Voor de adapter zijn node.js < 22 nu nodig\nAdapter vereist admin < 7.7.22 nu\nExterne luidspreker optie om de statuslijst uit te voeren.\nAfhankelijkheden zijn bijgewerkt",
        "fr": "Adaptateur nécessite node.js >= 22 maintenant\nAdaptateur nécessite admin >= 7.7.22 maintenant\nL'option External speaker pour sonner la liste des états de sortie a été ajoutée.\nLes dépendances ont été actualisées",
        "it": "Adattatore richiede node.js >= 22 ora\nAdattatore richiede admin >= 7.7.22 ora\nEsterno speaker opzione per suonoEstratto elenco aggiunto.\nLe dipendenze sono state aggiornate",
        "es": "Adaptador requiere node.js ю= 22 ahora\nEl adaptador requiere administrador= 7.7.22 ahora\nOpción External speaker para sonarLa lista de estados Output añadido.\nSe han actualizado las dependencias",
        "pl": "Adapter wymaga node.js > = 22\nAdapter wymaga admin > = 7.7.22\nDodano opcję External _ speaker do listy stanu dźwięku.\nZaktualizowano zależności",
        "uk": "Адаптер вимагає node.js >= 22 тепер\nАдаптер вимагає адмін >= 7.7.22 тепер\nВаріант зовнішнього спакера для звукозапису додано.\nЗалежність було оновлено",
        "zh-cn": "适配器需要节点.js 现在22\n适任者需要管理员 \\ 7.7.22 现在\n添加语音输出状态列表的外部  speakers 选项 .\n依赖关系已更新"
      },
      "2.5.0": {
        "en": "A crash when used with webOS update 25 has been fixed. [#336,#337]\nAdapter requires node.js >= 20, js-controller >= 6.0.11 and admin >= 7.6.17 now\nDependencies have been updated",
        "de": "Ein Crash bei Verwendung mit webOS update 25 wurde behoben. (#336, #337)\nAdapter benötigt node.js >= 20, js-controller >= 6.0.11 und admin >= 7.6.17 jetzt\nAbhängigkeiten wurden aktualisiert",
        "ru": "Исправлен сбой при использовании с обновлением 25 webOS. [#336, #337]\nАдаптер требует node.js >= 20, js-контроллер >= 6.0.11 и админ >= 7.6.17 сейчас\nЗависимости были обновлены",
        "pt": "Um crash quando usado com o webOS update 25 foi corrigido. [# 336,# 337]\nO adaptador necessita de nodo.js >= 20, js-controlador >= 6.0.11 e administrador >= 7.6.17 agora\nAs dependências foram atualizadas",
        "nl": "Een crash bij gebruik met webOS-update 25 is opgelost. [#336,#337]\nVoor adapters zijn node.js < 20, js-controller <= 6,0.11 en admin <= 7.6.17 nu vereist\nAfhankelijkheden zijn bijgewerkt",
        "fr": "Un crash avec la mise à jour webOS 25 a été corrigé. [#336,#337]\nAdapter nécessite node.js >= 20, js-controller >= 6.0.11 et admin >= 7.6.17 maintenant\nLes dépendances ont été actualisées",
        "it": "Un crash quando utilizzato con webOS aggiornamento 25 è stato fissato. [#336,#337]\nAdattatore richiede node.js >= 20, js-controller >= 6.0.11 e admin >= 7.6.17 ora\nLe dipendenze sono state aggiornate",
        "es": "Un accidente cuando se utiliza con la actualización webOS 25 ha sido fijo. [#336,#337]\nAdaptador requiere node.js ю= 20, js-controller √= 6.0.11 y admin= 7.6.17 ahora\nSe han actualizado las dependencias",
        "pl": "Katastrofa używana przy aktualizacji systemu weblos 25 została naprawiona. [# 336, # 337]\nAdapter wymaga node.js > = 20, kontroler js- i admin > = 7.6.17\nZaktualizowano zależności",
        "uk": "Виправлено помилку при використанні вебОС оновлення 25. [#336,#337]\nАдаптер вимагає node.js >= 20, js-controller >= 6.0.11 і admin >= 7.6.17 тепер\nЗалежність було оновлено",
        "zh-cn": "与 WebOS 更新 25 一起使用的崩溃已被修复 。 [#336,#337] (中文(简体) )\n适配器需要节点.js >= 20,js控制器 >= 6.0.11和admin >= 7.6.17 现在\n依赖关系已更新"
      },
      "2.4.0": {
        "en": "Ability to unicast the WOL packet has been added. This is needed if sender and TV are on different subnets.\nDependencies have been updated",
        "de": "Die Funktion das WOL-Paket als Unicast Paket zu versenden wurde hinzugefügt. Dies ist erforderlich, wenn Sender und TV auf verschiedenen Subnetzen sind.\nAbhängigkeiten wurden aktualisiert",
        "ru": "Добавлена способность к выпуску пакета WOL. Это необходимо, если отправитель и телевизор находятся на разных подсетях.\nЗависимость обновлена",
        "pt": "Capacidade de Unicast o pacote WOL foi adicionado. Isso é necessário se o remetente e a TV estiverem em diferentes sub-redes.\nAs dependências foram atualizadas",
        "nl": "De mogelijkheid om het WOL pakket te unicasten is toegevoegd. Dit is nodig als afzender en TV op verschillende subnetten.\nAfhankelijkheden zijn bijgewerkt",
        "fr": "La possibilité d'unicaster le paquet WOL a été ajoutée. Cela est nécessaire si l'expéditeur et la télévision sont sur différents sous-réseaux.\nLes dépendances ont été actualisées",
        "it": "È stata aggiunta la capacità di unicast il pacchetto WOL. Questo è necessario se il mittente e la TV sono su diverse sottorete.\nLe dipendenze sono state aggiornate",
        "es": "Ha añadido capacidad para unicast el paquete WOL. Esto es necesario si el remitente y la televisión están en diferentes subredes.\nSe han actualizado las dependencias",
        "pl": "Dodano możliwość łączenia pakietu WOL. Jest to konieczne, jeśli nadawca i telewizja są na różnych podsieciach.\nZaktualizowano zależności",
        "uk": "Додана можливість університи пакет WOL. Це необхідно, якщо відправник і телевізор знаходяться на різних підмережах.\nЗалежність було оновлено",
        "zh-cn": "增加了统一WOL包的能力。 如果发送器和电视在不同的子网上,则需要这样做.\n依赖关系已更新"
      },
      "2.3.2": {
        "en": "Poll-Interval limited to 5s minimum.\nCompact mode has been disabled due to outdated timer handling.\nDependencies have been updated",
        "de": "Abfrage-Interval begrenzt auf 5s Minimum.\nDer kompakte Modus wurde aufgrund der veralteten Timerhandhabung deaktiviert.\nAbhängigkeiten wurden aktualisiert",
        "ru": "Медико-интервал ограничен минимумом 5.\nКомпактный режим был отключен из-за устаревшей обработки таймеров.\nЗависимость обновлена",
        "pt": "Intervalo de saúde limitado ao mínimo de 5 anos.\nO modo compacto foi desativado devido ao manuseio de temporizador desatualizado.\nAs dependências foram atualizadas",
        "nl": "Gezondheid-interval beperkt tot 5s minimum.\nCompacte modus is uitgeschakeld vanwege verouderde timerbehandeling.\nAfhankelijkheden zijn bijgewerkt",
        "fr": "Intervalle de santé limité à 5s minimum.\nLe mode compact a été désactivé en raison d'une manipulation de minuterie dépassée.\nLes dépendances ont été actualisées",
        "it": "Intervallo sanitario limitato al minimo 5s.\nLa modalità compatta è stata disabilitata a causa della gestione dei timer obsoleti.\nLe dipendenze sono state aggiornate",
        "es": "Intervalo de salud limitado a 5s mínimo.\nEl modo compacto ha sido desactivado debido al manejo de temporizador obsoleto.\nSe han actualizado las dependencias",
        "pl": "Odstęp między pacjentami w stanie zdrowia ograniczony do minimum 5.\nTryb kompaktowy został wyłączony z powodu przestarzałego obsługi zegara.\nZaktualizowano zależności",
        "uk": "Охорона здоров'я обмежена до 5-х мінімуму.\nКомпактний режим був вимкнений через застарілу роботу таймера.\nЗалежність було оновлено",
        "zh-cn": "健康间歇时间最少限5秒.\n由于过时的定时器处理,已禁用压缩模式 .\n依赖关系已更新"
      }
    },
    "titleLang": {
      "en": "LG WebOS SmartTV",
      "de": "LG WebOS SmartTV",
      "ru": "LG WebOS SmartTV",
      "pt": "LG WebOS SmartTV",
      "nl": "LG WebO SmartTV",
      "fr": "LG WebOS SmartTV",
      "it": "LG WebOS SmartTV",
      "es": "LG WebOS SmartTV",
      "pl": "Strona internetowa SmartTV",
      "uk": "LG WebOS СмартTV",
      "zh-cn": "LG网站"
    },
    "desc": {
      "en": "Controls WebOS-based LG SmartTVs",
      "de": "Steuert auf WebOS basierte LG SmartTVs",
      "ru": "Управление WebOS на базе LG SmartTVs",
      "pt": "Controles baseados em WebOS LG SmartTVs",
      "nl": "Controle WebOS-gebaseerde LG SmartTV",
      "fr": "Contrôles WebOS-based LG SmartTVs",
      "it": "Controlli WebOS basati LG SmartTVs",
      "es": "Controles LG SmartTVs basados en WebOS",
      "pl": "Strona internetowa LG SmartTV",
      "uk": "Контролери LG SmartTV",
      "zh-cn": "A. 控制网络"
    },
    "authors": [
      "SebastianSchultz <info@sebastian-schultz.de>",
      "mcm1957 <mcm57@gmx.at>",
      "iobroker-community-adapters <iobroker-community-adapters@gmx.de>"
    ],
    "keywords": [
      "lgtv",
      "WebOS",
      "Smart",
      "TV",
      "LG"
    ],
    "licenseInformation": {
      "license": "MIT",
      "type": "free"
    },
    "platform": "Javascript/Node.js",
    "icon": "lgtv.png",
    "enabled": false,
    "extIcon": "https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.lgtv/master/admin/lgtv.png",
    "readme": "https://github.com/iobroker-community-adapters/iobroker.lgtv/blob/master/README.md",
    "loglevel": "info",
    "tier": 2,
    "mode": "daemon",
    "type": "multimedia",
    "compact": true,
    "connectionType": "local",
    "dataSource": "poll",
    "dependencies": [
      {
        "js-controller": ">=6.0.11 "
      }
    ],
    "globalDependencies": [
      {
        "admin": ">=7.7.22"
      }
    ],
    "adminUI": {
      "config": "json"
    }
  },
  "native": {
    "ip": "",
    "mac": "",
    "timeout": 5000,
    "reconnect": 5000,
    "healthInterval": 0,
    "power": false
  },
  "instanceObjects": [
    {
      "_id": "info.connection",
      "type": "state",
      "common": {
        "role": "indicator.connected",
        "name": "If connected to LG TV",
        "type": "boolean",
        "read": true,
        "write": true,
        "def": false
      },
      "native": {}
    },
    {
      "_id": "states",
      "type": "device",
      "common": {
        "name": "states"
      },
      "native": {}
    },
    {
      "_id": "states.on",
      "type": "state",
      "common": {
        "name": "Is TV is ON",
        "role": "indicator.online",
        "type": "boolean",
        "read": true,
        "write": false
      },
      "native": {}
    },
    {
      "_id": "states.popup",
      "type": "state",
      "common": {
        "name": "Show popup text on TV",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.turnOff",
      "type": "state",
      "common": {
        "name": "Switch TV OFF",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.power",
      "type": "state",
      "common": {
        "name": "Switch TV power",
        "role": "switch",
        "type": "boolean",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mute",
      "type": "state",
      "common": {
        "name": "Mute ON/OFF",
        "role": "switch",
        "type": "boolean",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.volumeUp",
      "type": "state",
      "common": {
        "name": "Volume UP",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.volumeDown",
      "type": "state",
      "common": {
        "name": "Volume DOWN",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.3Dmode",
      "type": "state",
      "common": {
        "name": "3D mode ON/OFF",
        "role": "switch",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.channel",
      "type": "state",
      "common": {
        "name": "Select channel",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.channelId",
      "type": "state",
      "common": {
        "name": "Current channel  id",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.channelUp",
      "type": "state",
      "common": {
        "name": "Channel UP",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.channelDown",
      "type": "state",
      "common": {
        "name": "Channel DOWN",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mediaPlay",
      "type": "state",
      "common": {
        "name": "Media Play",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mediaPause",
      "type": "state",
      "common": {
        "name": "Media Pause",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mediaStop",
      "type": "state",
      "common": {
        "name": "Media Stop",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mediaFastForward",
      "type": "state",
      "common": {
        "name": "Media Fast Forward",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mediaRewind",
      "type": "state",
      "common": {
        "name": "Media Rewind",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.volume",
      "type": "state",
      "common": {
        "name": "Current volume",
        "role": "state",
        "type": "number",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.input",
      "type": "state",
      "common": {
        "name": "Select input source",
        "role": "state",
        "type": "string",
        "states": {
          "av1": "AV_1",
          "scart": "Scart",
          "component": "Component",
          "hdmi1": "HDMI 1",
          "hdmi2": "HDMI 2",
          "hdmi3": "HDMI 3"
        },
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.currentApp",
      "type": "state",
      "common": {
        "name": "current app",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.launch",
      "type": "state",
      "common": {
        "name": "Launch app",
        "role": "state",
        "type": "string",
        "states": {
          "livetv": "LiveTV",
          "smartshare": "Smart share",
          "tvuserguide": "TV User Guide",
          "netflix": "Netflix",
          "youtube": "You tube",
          "prime": "Amazon Prime",
          "amazon": "Amazon Prime Video"
        },
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.openURL",
      "type": "state",
      "common": {
        "name": "Open URL",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.youtube",
      "type": "state",
      "common": {
        "name": "Open YouTube video",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.drag",
      "type": "state",
      "common": {
        "name": "Move/Drag",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.scroll",
      "type": "state",
      "common": {
        "name": "Scroll",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.click",
      "type": "state",
      "common": {
        "name": "Click",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.soundOutput",
      "type": "state",
      "common": {
        "name": "Switch audio output",
        "role": "state",
        "type": "string",
        "states": {
          "tv_speaker": "TV Speaker",
          "external_optical": "External Optical",
          "external_arc": "External ARC",
          "external_speaker": "External Speaker",
          "lineout": "LineOut",
          "headphone": "Headphone",
          "tv_external_speaker": "TV + External Speaker",
          "tv_speaker_headphone": "TV + Speaker Headphone",
          "bt_soundbar": "Bluetooth"
        },
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.raw",
      "type": "state",
      "common": {
        "name": "Send and response API cmd {url: URL, cmd: CMD}",
        "role": "state",
        "type": "object",
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.power",
      "type": "state",
      "common": {
        "name": "Remote key power",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.red",
      "type": "state",
      "common": {
        "name": "Remote key red",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.green",
      "type": "state",
      "common": {
        "name": "Remote key green",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.yellow",
      "type": "state",
      "common": {
        "name": "Remote key yellow",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.blue",
      "type": "state",
      "common": {
        "name": "Remote key blue",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.home",
      "type": "state",
      "common": {
        "name": "Remote key home",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.menu",
      "type": "state",
      "common": {
        "name": "Remote key menu",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.cc",
      "type": "state",
      "common": {
        "name": "Remote key cc",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.back",
      "type": "state",
      "common": {
        "name": "Remote key back",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.up",
      "type": "state",
      "common": {
        "name": "Remote key up",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.down",
      "type": "state",
      "common": {
        "name": "Remote key down",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.left",
      "type": "state",
      "common": {
        "name": "Remote key left",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.right",
      "type": "state",
      "common": {
        "name": "Remote key right",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.enter",
      "type": "state",
      "common": {
        "name": "Remote key enter",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.dash",
      "type": "state",
      "common": {
        "name": "Remote key dash",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.exit",
      "type": "state",
      "common": {
        "name": "Remote key exit",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.0",
      "type": "state",
      "common": {
        "name": "Remote key 0",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.1",
      "type": "state",
      "common": {
        "name": "Remote key 1",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.2",
      "type": "state",
      "common": {
        "name": "Remote key 2",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.3",
      "type": "state",
      "common": {
        "name": "Remote key 3",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.4",
      "type": "state",
      "common": {
        "name": "Remote key 4",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.5",
      "type": "state",
      "common": {
        "name": "Remote key 5",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.6",
      "type": "state",
      "common": {
        "name": "Remote key 6",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.7",
      "type": "state",
      "common": {
        "name": "Remote key 7",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.8",
      "type": "state",
      "common": {
        "name": "Remote key 8",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "remote.9",
      "type": "state",
      "common": {
        "name": "Remote key 9",
        "role": "button",
        "type": "boolean",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.mac",
      "type": "state",
      "common": {
        "name": "mac address",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.model",
      "type": "state",
      "common": {
        "name": "TV model",
        "role": "state",
        "type": "string",
        "read": false,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture",
      "type": "channel",
      "common": {
        "name": "Picture settings"
      },
      "native": {}
    },
    {
      "_id": "states.picture.pictureMode",
      "type": "state",
      "common": {
        "name": "Picture mode",
        "desc": "Union of picture-mode IDs across LG OLED generations C8 (2018) through G5 (2025). Only a subset is active per TV model and content type (SDR / HDR / Dolby Vision); writing an unsupported value is silently ignored by the TV.",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true,
        "states": {
          "cinema": "Cinema",
          "dolbyHdrCinema": "Dolby HDR Cinema",
          "dolbyHdrCinemaBright": "Dolby HDR Cinema Bright",
          "dolbyHdrDarkAmazon": "Dolby HDR Dark Amazon",
          "dolbyHdrGame": "Dolby HDR Game",
          "dolbyHdrPersonalized": "Dolby HDR Personalized",
          "dolbyHdrStandard": "Dolby HDR Standard",
          "dolbyHdrVivid": "Dolby HDR Vivid",
          "dolbyStandard": "Dolby Standard",
          "eco": "Eco",
          "expert1": "Expert 1",
          "expert2": "Expert 2",
          "filmMaker": "Filmmaker",
          "game": "Game",
          "hdrCinema": "HDR Cinema",
          "hdrCinemaBright": "HDR Cinema Bright",
          "hdrEco": "HDR Eco",
          "hdrEffect": "HDR Effect",
          "hdrExternal": "HDR External",
          "hdrFilmMaker": "HDR Filmmaker",
          "hdrGame": "HDR Game",
          "hdrPersonalized": "HDR Personalized",
          "hdrStandard": "HDR Standard",
          "hdrTechnicolor": "HDR Technicolor",
          "hdrVivid": "HDR Vivid",
          "normal": "Normal",
          "personalized": "Personalized",
          "photo": "Photo",
          "sports": "Sports",
          "technicolor": "Technicolor",
          "technicolorHdrCinema": "Technicolor HDR Cinema",
          "technicolorHdrCinemaBright": "Technicolor HDR Cinema Bright",
          "technicolorHdrGame": "Technicolor HDR Game",
          "technicolorHdrStandard": "Technicolor HDR Standard",
          "technicolorHdrTechnicolor": "Technicolor HDR Technicolor",
          "technicolorHdrVivid": "Technicolor HDR Vivid",
          "vivid": "Vivid"
        }
      },
      "native": {}
    },
    {
      "_id": "states.picture.brightness",
      "type": "state",
      "common": {
        "name": "Brightness",
        "role": "level.brightness",
        "type": "number",
        "min": 0,
        "max": 100,
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture.backlight",
      "type": "state",
      "common": {
        "name": "Backlight",
        "role": "level.dimmer",
        "type": "number",
        "min": 0,
        "max": 100,
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture.contrast",
      "type": "state",
      "common": {
        "name": "Contrast",
        "role": "level",
        "type": "number",
        "min": 0,
        "max": 100,
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture.color",
      "type": "state",
      "common": {
        "name": "Color saturation",
        "role": "level.saturation",
        "type": "number",
        "min": 0,
        "max": 100,
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture.colorTemperature",
      "type": "state",
      "common": {
        "name": "Color temperature",
        "role": "level",
        "type": "number",
        "min": -50,
        "max": 50,
        "read": true,
        "write": true
      },
      "native": {}
    },
    {
      "_id": "states.picture.justScan",
      "type": "state",
      "common": {
        "name": "Just Scan (overscan)",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true,
        "states": {
          "auto": "Auto",
          "on": "On",
          "off": "Off"
        }
      },
      "native": {}
    },
    {
      "_id": "states.picture.energySaving",
      "type": "state",
      "common": {
        "name": "Energy saving mode",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true,
        "states": {
          "auto": "Auto",
          "off": "Off",
          "min": "Min",
          "med": "Medium",
          "max": "Max",
          "screen_off": "Screen off"
        }
      },
      "native": {}
    },
    {
      "_id": "states.picture.eyeComfortMode",
      "type": "state",
      "common": {
        "name": "Eye Comfort / Reduce Blue Light",
        "role": "switch",
        "type": "boolean",
        "read": true,
        "write": true
      },
      "native": {}
    }
  ]
}
