Note · evergreen
webOS 25 and 26 changed how a TV pairs
- Stage
- evergreen
- Links
- 1 out, 1 in
LG televisions are controlled over a WebSocket protocol called SSAP. A client registers with a manifest listing the permissions it wants, the TV shows a prompt, and the client keeps the key it is given. Two recent webOS versions broke this for my integration.
webOS 25 does not answer hello. The client library opens with a hello request to learn the TV’s identity before registering. Sets on webOS 25 never reply. The library waited, registration never started, and so no prompt ever appeared on the screen. The integration now skips hello and recovers the TV’s identifier afterwards with a probe that gives up after a bounded time.
webOS 26 rejects the signed manifest. The manifest every open-source client has used for years carries a signature. Firmware 43.x answers it with 403 Pairing rejected: blacklisted certificate detected. An unsigned manifest is accepted.
The unsigned manifest cannot simply replace the signed one, because only the signed manifest is granted WRITE_SETTINGS, which picture settings need. So the integration tries the signed manifest, falls back once to the unsigned one on that specific error, and remembers which the TV accepted.
Other things these TVs do:
- The SSAP
power_oncall does nothing on current webOS. Turning a TV on means Wake-on-LAN. - Turning off while the screen is blanked fails with “The current state must be ‘Active’”.
system/turnOffworks in either state. - Some firmware returns screenshots as
imageUri, an HTTPS URL with a self-signed certificate, where others returnimage. - An LG CX on webOS 04.40.16 refuses every read of the current picture mode. The values have to be remembered on the Home Assistant side.
- Subscribing to the current channel can deliver an error,
broadcastId ... is already closed, as if it were the channel.
Projects
- LG webOS TVs A Home Assistant integration for LG televisions, with picture settings, a pointer remote and calibration controls.
Projects
- LG webOS TVs A Home Assistant integration for LG televisions, with picture settings, a pointer remote and calibration controls.