Releases: Sholofly/lghorizon-python
Releases · Sholofly/lghorizon-python
v0.12.0
v0.11.4: Feature/media keys tabbed UI (#98)
* feat: add all media keys, per-box tabbed UI with remote control layout - Add 40+ media key constants to const.py grouped by category (Power, Playback, Navigation, D-Pad, Colour, Digits) - Add /api/keys endpoint to web.py - Redesign web_ui.html: per-box tabs instead of grid, full-page remote control layout with D-pad cross, numpad, colour buttons, and all keys * feat: export all media key constants from package __init__ * feat: add set_channel_by_number and deduplicate channels by number - Add set_channel_by_number() to LGHorizonDevice for tuning by channel number instead of name - Refactor set_channel to share _tune_to_channel helper - Deduplicate channels in _refresh_channels: keep last entry per logicalChannelNumber (HD over SD) - Add set_channel_by_number command to web.py * fix: deduplicate channels at output layer instead of storage Move channel deduplication from _refresh_channels to get_profile_channels so all channel IDs remain in _channels for state processor lookups. Prevents KeyError when the box reports a channel variant (e.g. SD) that was previously removed by dedup. * fix: switch channels by number instead of name to avoid duplicates Web UI and CLI now use set_channel_by_number to prevent ambiguity when multiple channels share the same name but have different numbers. * feat: add /api/explore and /api/services endpoints for API discovery