I’ve just picked up a new TV, model OLED77G6WUA and the plugin is unable to detect this model.
It’s on the network OK (ping response), but it does not respond to either port 3000 or 3001 with anything.
The LG ThinQ app is able to control it OK.
IP Control is enabled on the TV (and I’ve tried it disabled). IPv6 is disabled. There is a new “Generate Code” which generates a password / encryption key and I’ve read that LG now disables IP control from just any device on the network, so I suspect that the plugin needs to be updated to allow this code to be provided during initialization.
Or does anyone know any different?
I was able to get this code to work with the generated code (in a chrome browser dev window) to at least not generate an error.
const socket = new WebSocket("wss://172.25.0.119:3001");
socket.onopen = () => {
const securePayload = {
type: "register",
id: "auth_test",
payload: {
// Paste your saved key exactly inside the payload object
"client-key": "<key>"
}
};
socket.send(JSON.stringify(securePayload));
};
OK, so I (well, Claude) have massively over-engineered a solution that works well enough for me until Bill has time to update the real plugin. Sharing here in case it’s helpful or useful to anyone else. There’s two components (Python3 scripts), one is an SSDP forwarder (ssdp_responder.py)-- this is probably only necessary (but have not confirmed) during the discovery phase when adding the LG WebOS plugin to help the plugin find the device on the network. Then there’s the main forwarder, webos_forwarder.py. This listens on the 3001 port of a host machine (that becomes the “TV” as seen by the plugin) and forwards the traffic to the 3000 port of the real TV.
Rename the attached .txt file to .zip to get both scripts.
LG_forwarder.txt (15.5 KB)