Homebridge plugin for LG webOS. Tested with OLED65G6V, 32LM6300PLA, 49SK8500, OLED65C7T, 55SK800PLB, OLED48CX.
Package | Installation | Role | Required |
---|---|---|---|
Homebridge | Homebridge Wiki | HomeKit Bridge | Required |
Config UI X | Config UI X Wiki | Homebridge Web User Interface | Recommended |
LG webOS TV | Plug-In Wiki | Homebridge Plug-In | Required |
- Power and Screen ON/OFF short press tile in HomeKit app.
- RC/Media control is possible after you go to the RC app on iPhone/iPad.
- Speaker control is possible after you go to RC app on iPhone/iPad
Speaker Service
. - Legacy Volume and Mute control is possible throught extra
lightbulb
/fan
(slider). - Inputs can be changed using Inputs selector in HomeKit.app, additionally can create separate tile.
- Channels can be changed using Channels selector in HomeKit app, additionally can create separate tile.
- Brightness, Contrast, Backlight, Color, Picture Mode, Sound Mode and Sound Output can be changed using extra tile.
- Siri can be used for all functions, some times need create legacy buttons/switches/sensors.
- Automations can be used for all functions, some times need create legacy buttons/switches/sensors.
- Support external integrations, RESTFul, MQTT.
- Please configure LG Connect Apps
- Run this plugin as a Child Bridge (Highly Recommended), this prevent crash Homebridge if plugin crashes.
- Install and use Homebridge Config UI X to configure this plugin.
- The
sample-config.json
can be edited and used as an alternative. - Be sure to always make a backup copy of your config.json file before making any changes to it.
Key | Description |
---|---|
name |
Here set the accessory Name to be displayed in Homebridge/HomeKit. |
host |
Here set the Hsostname or Address IP of TV. |
mac |
Here set the Mac Address of TV. |
getInputsFromDevice |
This enable load inputs and apps direct from device. |
filterSystemApps |
This enable filter sysem apps, only if getInputsFromDevice is true . |
disableLoadDefaultInputs |
This function disable load default inputs Live TV , HDMI 1 , HDMI 2 in to the inputs list. |
inputsDisplayOrder |
Here select display order of the inputs list, 0 - None , 1 - Ascending by Name , 2 - Descending by Name , 3 - Ascending by Reference , 4 - Ascending by Reference .. |
inputs.name |
Here set Name which You want expose to the Homebridge/HomeKit. |
inputs.reference |
Here set Reference. Live TV , HDMI 1 , HDMI 2 are created by default. |
inputs.mode |
Here select input mode, 0 - Input/App , 1 - Live TV Channel . |
buttons.name |
Here set Name which You want expose to the Homebridge/HomeKit. |
buttons.mode |
Here select button mode, 0 - Input/App , 1 - Live TV Channel , 2 - Remote Control . |
buttons.reference |
Here set Reference, only for Input/App or Live TV Channel mode, in other case leave empty. |
buttons.command |
Here select Remote Control command which will be assigned to the button. |
buttons.displayType |
Here select display type in HomeKit app, possible 0 - None/Disabled , 1 - Outlet , 2 - Switch . |
buttons.namePrefix |
Here enable/disable the accessory name as a prefix for button name. |
sensorPower |
If enabled, then the Power will be exposed as a Contact Sensor , fired if Power ON. |
sensorPixelRefresh |
If enabled, then the PoPixel Refresh will be exposed as a Contact Sensor , fired if Pixel Refresh ON. |
sensorVolume |
If enabled, then the Volume will be exposed as a Contact Sensor , fired on every Volume change. |
sensorMute |
If enabled, then the Mute will be exposed as a Contact Sensor , fired if Mmute ON. |
sensorInput |
If enabled, then the Input will be exposed as a Contact Sensor , fired on every Input change. |
sensorChannel |
If enabled, then the Channel will be exposed as a Contact Sensor , fired on every Channel change. |
sensorSoundMode |
If enabled, then the Sound Mode will be exposed as a Contact Sensor , fired on every Sound Mode change, webOS >= 6.0. |
sensorSoundOutput |
If enabled, then the Sound Output will be exposed as a Contact Sensor , ffired on every Sound Output change. |
sensorPictureMode |
If enabled, then the Picture Mode will be exposed as a Contact Sensor , fired on every Picture Mode change, webOS >= 4.0. |
sensorScreenOnOff |
If enabled, then the Screen On/Off will be exposed as a Contact Sensor , fired on Screen OFF, webOS >= 4.0. |
sensorScreenSaver |
If enabled, then the Screen Saver will be exposed as a Contact Sensor , fired on Screen Saver ON, webOS >= 4.0. |
sensorInputs |
Her create custom Inputs sensor, sensors will be exposed as a Contact Sensor , fired if switch to it. |
sensorInputs.name |
Here set own Name which You want expose to the Homebridge/HomeKit for this sensor. |
sensorInputs.reference |
Here set Reference like com.webos.app.hdmi1 to be exposed as sensor (active on switch to this Input). |
sensorInputs.displayType |
Here select sensor type to be exposed in HomeKit app, possible 0 - None/Disabled , 1 - Motion Sensor , 2 - Occupancy Sensor , 3 - Contact Sensor . |
sensorInputs.namePrefix |
Here enable/disable the accessory name as a prefix for sensor name. |
pictureModeControl |
Here enable/disable control of picture mode, webOS >= 4.0. |
pictureModes.name |
Here set own Name which You want expose to the Homebridge/HomeKit for this sensor. |
pictureModes.reference |
Here select mode to be exposed in Homebridge/HomeKit. |
pictureModes.displayType |
Here select display type in HomeKit app, possible 0 - None/Disabled , 1 - Outlet , 2 - Switch . |
pictureModes.namePrefix |
Here enable/disable the accessory name as a prefix for picture mode. |
soundModeControl |
Here enable/disable control of sound mode, webOS >= 6.0. |
soundModes.name |
Here set own Name which You want expose to the Homebridge/HomeKit for this sensor. |
soundModes.reference |
Here select mode to be exposed in Homebridge/HomeKit. |
soundModes.displayType |
Here select display type in HomeKit app, possible 0 - None/Disabled , 1 - Outlet , 2 - Switch . |
soundModes.namePrefix |
Here enable/disable the accessory name as a prefix for sound mode. |
soundOutputControl |
Here enable/disable control of sound output. |
soundOutputs.name |
Here set own Name which You want expose to the Homebridge/HomeKit for this sensor. |
soundOutputs.reference |
Here select output to be exposed in Homebridge/HomeKit. |
soundModes.displayType |
Here select display type in HomeKit app, possible 0 - None/Disabled , 1 - Outlet , 2 - Switch . |
soundOutputs.namePrefix |
Here enable/disable the accessory name as a prefix for sound output. |
volumeControlNamePrefix |
Here enable/disable the accessory name as a prefix for volume control name. |
volumeControlName |
Here set Your own volume control name or leave empty. |
volumeControl |
Here select volume control mode 0 - None/Disabled , 1 - Slider , 2 - Fan . |
turnScreenOnOff |
This enable possibility turn the screen ON/OFF, webOS >= 4.0. |
turnScreenSaverOnOff |
This enable possibility turn the screen saver ON/OFF, webOS >= 4.0. |
sslWebSocket |
If enabled, SSL WebSocket will support TV with new firmware. |
serviceMenu |
If enabled, service menu will be available from the input list. |
ezAdjustMenu |
If enabled, ez adjust menu will be available from the input list. |
infoButtonCommand |
Here select the function of I button in RC app. |
enableDebugMode |
If enabled, deep log will be present in homebridge console. |
disableLogInfo |
If enabled, disable log info, all values and state will not be displayed in Homebridge log console. |
disableLogDeviceInfo |
If enabled, add ability to disable log device info by every connections device to the network. |
disableTvService |
If enabled, TV service will be disabled and prevent display double services if TV already support HomeKit native. |
restFul |
This is RSTful server. |
enable |
If enabled, RESTful server will start automatically and respond to any path request. |
port |
Here set the listening Port for RESTful server. |
debug |
If enabled, deep log will be present in homebridge console for RESTFul server. |
mqtt |
This is MQTT Broker. |
enable |
If enabled, MQTT Broker will start automatically and publish all awailable PV data. |
host |
Here set the IP Address or Hostname for MQTT Broker. |
port |
Here set the Port for MQTT Broker, default 1883. |
clientId |
Here optional set the Client Id of MQTT Broker. |
prefix |
Here set the Prefix for Topic or leave empty. |
auth |
If enabled, MQTT Broker will use authorization credentials. |
user |
Here set the MQTT Broker user. |
passwd |
Here set the MQTT Broker password. |
debug |
If enabled, deep log will be present in homebridge console for MQTT. |
reference |
All can be found in homebridge_directory/lgwebosTv , inputs_xxx file, where reference == id , or channels_xxx file, where reference == channelId . |
- POST data as a JSON Object
{Power: true}
- References:
- 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
. - Sound Mode -
aiSoundPlus
,standard
,movie
,clearVoice
,news
,sport
,music
,game
. - Sound Output -
tv_speaker
,external_speaker
,external_optical
,external_arc
,lineout
,headphone
,tv_external_speaker
,tv_external_headphone
,bt_soundbar
,soundbar
.
- Picture Mode -
Method | URL | Path | Response | Type |
---|---|---|---|---|
GET | http//ip:port |
systemnfo , softwareinfo , channels , apps , power , audio , currentapp , currentchannel , picturesettings , soundmode , soundoutput , externalinputlist . |
{"state": Active} |
JSON object. |
Method | URL | Key | Value | Type | Description |
---|---|---|---|---|---|
POST | http//ip:port |
Power |
true , false |
boolean | Power state. |
http//ip:port |
Input |
input reference |
string | Set input. | |
http//ip:port |
Channel |
channel reference |
string | Set channel. | |
http//ip:port |
Volume |
100 |
integer | Set volume. | |
http//ip:port |
Mute |
true , false |
boolean | Set mute. | |
http//ip:port |
Brightness |
100 |
integer | Set brightness. | |
http//ip:port |
Backlight |
100 |
integer | Set backlight. | |
http//ip:port |
Contrast |
100 |
integer | Set contrast. | |
http//ip:port |
Color |
100 |
integer | Set color. | |
http//ip:port |
PictureMode |
picture mode reference |
string | Set picture mode. | |
http//ip:port |
SoundMode |
sound mode reference |
string | Set sound mode. | |
http//ip:port |
SoundOutput |
sound output reference |
string | Set sound output. | |
http//ip:port |
RcControl |
REWIND |
string | Send RC command. |
- Subscribe data as a JSON Object
{Power: true}
- References:
- 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
. - Sound Mode -
aiSoundPlus
,standard
,movie
,clearVoice
,news
,sport
,music
,game
. - Sound Output -
tv_speaker
,external_speaker
,external_optical
,external_arc
,lineout
,headphone
,tv_external_speaker
,tv_external_headphone
,bt_soundbar
,soundbar
.
- Picture Mode -
Method | Topic | Message | Type |
---|---|---|---|
Publish | System Info , Software Info , Channels , Apps , Power , Audio , Current App , Current Channel , Picture Settings , Sound Mode , Sound Output , External Input List |
{"state": Active} |
JSON object. |
Method | Topic | Key | Value | Type | Description |
---|---|---|---|---|---|
Subscribe | Set |
Power |
true , false |
boolean | Power state. |
Set |
Input |
input reference |
string | Set input. | |
Set |
Channel |
channel reference |
string | Set channel. | |
Set |
Volume |
100 |
integer | Set volume. | |
Set |
Mute |
true , false |
boolean | Set mute. | |
Set |
Brightness |
100 |
integer | Set brightness. | |
Set |
Backlight |
100 |
integer | Set backlight. | |
Set |
Contrast |
100 |
integer | Set contrast. | |
Set |
Color |
100 |
integer | Set color. | |
Set |
PictureMode |
picture mode reference |
string | Set picture mode. | |
Set |
SoundMode |
sound mode reference |
string | Set sound mode. | |
Set |
SoundOutput |
sound output reference |
string | Set sound output. | |
Set |
RcControl |
REWIND |
string | Send RC command. |