What's Changed in v0.3.0
⏯️ Media Playback Controls (Magic Remote Emulation)
- Native Remote Key Injection: Directly injects Linux
input_eventstructs into/dev/input/event1(LGE RCU) forPlay(207),Pause(201),Play/Pause(164),Stop(128),Fast Forward(208), andRewind(168). - Universal App & CEC Compatibility: Works seamlessly with streaming services (YouTube, Netflix, Prime Video, BBC iPlayer, etc.) as well as HDMI-CEC connected hardware (Apple TV, Chromecast, PlayStation).
🎨 Picture Mode & 🔊 Sound Output Switching
- Dimension-Aware Picture Presets: Select picture mode (
expert1[ISF Bright],expert2[ISF Dark],cinema,game,standard,eco,sports). Captures active input and dynamic range dimension first so profiles apply reliably without silent webOS rejection. - Hardware Audio Output Routing: Switch between
tv_speaker,external_arc,optical,headphone, andbt_soundbarwith real-time active output feedback.
🚀 Dynamic App Launcher
- App Auto-Discovery: Automatically enumerates user-installed applications via
luna://com.webos.applicationManager/listAppswhile ignoring background container services. - Curated & Expandable Grid: Highlights popular streaming services by default with clean, standardized button typography, with a single-click drawer to reveal all installed apps (33+).
- Active App Illumination: Highlights the currently active application or HDMI input in real time.
🛡️ On-TV Ad & Telemetry Blocker
- Direct
/etc/hostsBind-Mount: Sinkholes 15 known LG telemetry, ad, and ACR tracking domains (ad.lgsmartad.com,ibis.lgappstv.com,rdx.lgtvcommon.com, etc.) directly on the TV to0.0.0.0. - Persistent Boot Hook: Automatically re-applies the bind-mount across TV restarts and standby cycles via
server/50-tvweb.sh. - Instant Toggle: Enable or disable anytime directly from the web dashboard Privacy Panel or via Home Assistant.
🖥️ Ergonomic 2-Column Dashboard Layout
- Unified Telemetry & Controls: Complete redesign into a balanced 2-column grid adhering to the minimalist monochrome Velo aesthetic (pure black canvas,
--w06to--w100white opacity scale, Outfit display numerals, and Manrope functional type). - Zero Scrolling: Metrics and OLED panel lifespan on the left; AV controls, media keys, and app launcher on the right.
- Responsive Collapse: Automatically collapses to a sleek, touch-friendly single column on mobile devices.
- Full-Width Privacy Inspector: Deep-linkable privacy drawer (
/?privacy=1) showing live ACR recognition state, ad tracking settings, agreements, and background services.
🏠 Home Assistant Expansion (33 ➔ 41 Entities)
- Exposes new native discovery entities:
select.picture_modeselect.sound_outputselect.appswitch.ad_blockerbutton.play,button.pause,button.play_pause,button.stop
- Added copy-paste Universal Media Player configuration and Wake-on-LAN (WoL) documentation to
docs/HOME-ASSISTANT.md.
Full Changelog: v0.2.0...v0.3.0