Skip to content

Glasshouse logo: a G whose top is a roof

Glasshouse

Own the glass. A dashboard, privacy controls and Home Assistant bridge for rooted LG webOS TVs.

Note

You bought the TV.

You control the TV. You own the glass.

The philosophy behind this project is simple: ownership should include meaningful control. A TV should remain useful and controllable by its owner, rather than being treated primarily as a platform for services, telemetry and vendor-controlled experiences.

This project brings control, visibility and automation back to the device. Local, transparent, and without requiring a manufacturer cloud service. No nonsense, no data collection, no ads, no dark patterns. I don't want your data.

Glasshouse is a server that runs directly on a rooted LG webOS TV, providing both a live browser dashboard and a dashboard app.

Use it for remote control, app installation and removal, OLED panel care, privacy controls, service menu access, and hardware telemetry. It also includes an MQTT bridge for integrating the TV with Home Assistant and other smart-home software.

Compatibility at a glance

  • webOS: 3.4 through 26 confirmed; tested across 2016–2025 models. Other versions likely work as well
  • Panels: OLED (full panel wear telemetry and burn-in controls) and LCD (core dashboard, controls, and telemetry; OLED Care tab hides automatically)
  • Access: Rooted via Homebrew Channel. Telnet or SSH. No external dependencies or internet access needed on the TV
  • Tested hardware: 30 models verified so far (UH6030, UH610V, UH635V, B7, B8, C8, C9, CX, C1, UP80, UP81, QNED82, C2, C3, B4, G3, C4, G4, UT81, C5, G5, CS, LX3). Other rooted models should work; see full table

Install See the dashboard

What it's for

This project is intended to give a rooted webOS TV a useful local control surface instead of requiring the owner to work around the TV's built-in menus, vendor services and cloud dependencies.

  1. Controlling the TV without the cloud. A D-pad to navigate the TV itself, volume, mute, media playback keys (play, pause, stop, skip), app launcher, picture presets, sound output routing, power and reboot.

  2. Seeing what the TV is configured to collect, and switching it off. Whether LG's content-recognition engine is running and sampling the screen, the advertising identifier and whether ad tracking is limited, and every data agreement recorded on the TV with most of them switchable from the dashboard. Includes an on-TV blocker for LG's ad and telemetry endpoints, and a switch for the two diagnostics services that upload to LG.

  3. App management, debloating and home screen cleanup. Install apps from the Homebrew Channel catalog, permanently uninstall apps to reclaim internal flash storage, disable unnecessary background system services to free up RAM and CPU cycles, and hide non-removable built-in LG system apps from the home launcher.

  4. Replacing the screen saver. A clock, a starfield, fireworks, or the TV's own readings, each dim or bright, in place of LG's.

  5. Integrating the TV with a smart home. The MQTT bridge exposes the TV as a single device with its controls and telemetry, with Home Assistant support through MQTT Discovery and the same underlying interface available to other MQTT clients.

  6. Seeing what the TV is actually doing. SoC temperature, per-core CPU load, memory, swap, current draw, Wi-Fi signal and throughput.

  7. Observing OLED panel wear. Cumulative panel hours, compensation cycle progress, Pixel Refresher countdown with scheduling, completed cycle counters and refresher failure alerts.

  8. Controlling the OLED burn-in protections. What each one does and a switch for it: screen shift and logo dimming on any OLED, and on TVs that expose them, ASBL and Global Stress Reduction (normally reachable only from the TV's service menu, with a service remote and a PIN).

  9. Opening the service menu, and unlocking it where it is locked. LG's own engineering menu, put on the TV screen from a browser which means no service remote is needed. Newer firmware shows a cut-down version of it until it is unlocked, which the dashboard can do as well.

  10. Reading all of it on the TV itself. An optional app on the home screen puts the same readings and controls on the TV, driven by the remote, for when there is no phone or laptop to hand.


Screenshots

Web dashboard

Metrics tab: SoC temperature, system readouts, storage, Magic Remote battery and HDMI ports, dark theme (OLED42C24LA)   Control tab: panel, source, volume, playback, sleep timer and power, light theme (OLED42C24LA)
Metrics and Control tabs, shown in dark and light themes.

Home Assistant

The TV arrives over MQTT Discovery as a single unified device:

Home Assistant MQTT entities
MQTT Discovery entities exposed by the TV.

A custom Home Assistant dashboard for an LG TV:

Custom dashboard leveraging MQTT data
A custom Home Assistant dashboard using the TV's MQTT entities.


Disclaimer

Use this software at your own risk.

  • Root access and hardware. This runs custom software with root privileges on an embedded TV OS. It is designed to be lightweight and to leave the read-only rootfs untouched, but the author accepts no responsibility for damage, bootloops, bricked devices, voided warranties, data loss or panel issues.
  • Power and control commands. Reboot, power off, screen blanking and Pixel Refresher scheduling issue low-level luna-send calls. Understand what each does before using it.
  • Trademarks. An independent, unofficial community project, not affiliated with or endorsed by LG Electronics. webOS is a trademark of LG Electronics.
  • Fonts. Bundles Outfit and Manrope under the SIL Open Font License 1.1; licence texts ship in server/assets/fonts/.

License

MIT. See LICENSE.