Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
homebridge-netcast-tv
Advanced tools
Homebridge plugin for interacting with LG Netcast-based TVs (2012, 2013)
Warning: This is very much a proof of concept to get my TV working. It might work for you, and it might also not.
npm install -g homebridge-netcast-tv
TVs are exposed as separate accessories that you need to pair. This is a restriction of the HomeKit API, so after adding this accessory check your log files for the pairing code:
[11/24/2020, 8:29:52 PM] LG TV is running on port 60335.
[11/24/2020, 8:29:52 PM] Please add [LG TV] manually in Home app. Setup Code: 618-65-640
To pair with the TV, you need to get it to display a valid access token.
This repository also comes with a netcast-cli
helper tool that you can use to query the TV:
netcast-cli --command access_token --host 192.168.1.6
Note: The default port is :8080
. Not specifying a port will use the default.
Add the platform to your config.json:
name
: Name of the accessoryhost
: IP of your TVmac
: Mac address of the TVaccessToken
: Pair code of the TVkeyInputDelay
: Delay in ms to wait before issuing repeated key presses (such as switching input source)offPauseDuration
: Delay in ms to pause polling for TV status after turning off. This is needed because the TV still responds to channel query requests when it has been turned offchannels
: List of channels that are availableTo identify the current channel, use the netcast-cli
helper tool:
❯ netcast-cli --host 192.168.1.14:8080 --access_token xxxxx
Querying current channel
{
chtype: 'terrestrial',
sourceIndex: '1',
physicalNum: '21',
major: '81',
displayMajor: '81',
minor: '65535',
displayMinor: '-1',
chname: 'フジテレビ',
progName: 'ザ・ノンフィクション たたかれても たたかれても… 〜山根明と妻のその 後〜',
audioCh: '0',
inputSourceName: 'TV',
inputSourceType: '0',
labelName: {},
inputSourceIdx: '0'
}
Important notes here are:
For HDMI devices: Specify only inputSourceType
and inputSourceIdx
. Set type
to "hdmi", this is very important!
For channels: Specify type
= "tv" and the following keys:
"sourceIndex": "1",
"physicalNum": "25",
"major": "41",
"minor": "65535",
"inputSourceType": "0",
"inputSourceIdx": "0"
"platforms": [
{
"platform": "LgNetcast",
"name": "LGPlatform",
"accessories": [
{
"accessory": "LgNetcastTV",
"name": "TestTV",
"host": "192.168.1.14",
"mac": "cc:2d:8c:a4:4a:d6",
"accessToken": "xxxxx",
"keyInputDelay": 600,
"offPauseDuration": 600000,
"channels": [
{
"name": "AppleTV",
"type": "external",
"channel": {
"inputSourceType": "6",
"inputSourceIdx": "3"
}
},
{
"name": "Chromecast",
"type": "external",
"channel": {
"inputSourceType": "6",
"inputSourceIdx": "4"
}
},
{
"name": "Nihon TV",
"type": "tv",
"channel": {
"sourceIndex": "1",
"physicalNum": "25",
"major": "41",
"minor": "65535",
"inputSourceType": "0",
"inputSourceIdx": "0"
}
},
}
}
]
}
This is not supported. It's just not possible through the Netcast API nor wakeonlan, so as a workaround, use automations and HDMI CEC through LG Simplink. Turning the TV on itself won't do anything except setting the TV state to "on".
For example, use an AppleTV or Chromecast, and turn it on when the TV state turns to "on". (I personally use homebridge-apple-tv-remote and turn the ATV on when my TV turns on.)
This is also not supported through the Netcast API. The workaround that this plugin uses is to manually open the input source menu, then physically clicking LEFT/RIGHT, then hitting "OK". That's also why the inputSourceIdx
key is needed for everything.
To change the interval in which keys are being issued, change the keyInputDelay
config key. For my TV the UI loads really slow, so I had to set it between 600 - 1000ms.
Powered by https://github.com/dvcrn/lg-netcast
FAQs
Homebridge plugin to interact with LG Netcast TVs
We found that homebridge-netcast-tv demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.