node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

lgtv2mqtt

lgtv2mqtt

NPM version Dependency Status Build Status XO code style License

Interface between LG WebOS Smart TVs and MQTT 📺

Getting started

  • TV configuration

You need to allow "LG Connect Apps" on your TV - see http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others

  • Install

npm install -g lgtv2mqtt

  • Start

lgtv2mqtt --help

Topics subscribed by lgtv2mqtt

Topics and Payloads follow mqtt-smarthome Architecture.

lgtv/set/mute

Enable or disable mute. Payload should be one off '0', '1', 'false' and 'true'.

lgtv/set/volume

Set volume. Expects value between 0 and 100.

lgtv/set/toast

Show a Popup Message. Send Message as plain payload string.

lgtv/set/launch

Lauch an app. Send AppId as plain payload string.

lgtv/set/media.controls/play

lgtv/set/media.controls/pause

lgtv/set/system/turnOff

lgtv/set/move lgtv/set/drag

Send coordinates as JSON with attributes dx and dy of type number

Example payload: {dx: 100, dy: 0}

lgtv/set/scroll

Send coordinates as JSON with attributes dx and dy of type number

lgtv/set/click

lgtv/set/button

Send button as plain string payload

Buttons that are known to work: MUTE, RED, GREEN, YELLOW, BLUE, HOME, MENU, VOLUMEUP, VOLUMEDOWN, CC, BACK, UP, DOWN, LEFT, ENTER, DASH, 0-9, EXIT

topics published by lgtv2mqtt

lgtv/status/volume

Reports volume changes. Payload is the plain value.

lgtv/status/mute

Reports mute changes. Payload is '0' (not muted) or '1' (muted).

lgtv/status/foregroundApp

Reports which App is currently in foreground. (example Payloads: 'netflix', 'com.webos.app.livetv', 'com.webos.app.hdmi2')

lgtv/status/currentChannel

Reports current channel if foregroundApp is 'com.webos.app.livetv'. Payload is a JSON String, property val contains the channelNumber, underneath 'lgtv' you will find more properties with detailed information.

License

MIT © Sebastian Raff