European Cable TV Box (LG Horizon STB) Integration

Hey everyone, i am releasing my latest integration, this time for Horizon (Europe/UK) cable TV boxes.
This integration should support:
:flag_nl: Ziggo (Netherlands)
:flag_gb: Virgin Media (United Kingdom & Ireland) - Verified Tested
:flag_be: Telenet (Belgium)
:flag_ch: UPC (Switzerland)
:flag_ch: Sunrise (Switzerland)
:flag_at: Magenta (Austria)

This integration is another “Blind Integration”, meaning: I do not own the device, i live in the US and have zero ability to test / debug properly, any and all support will not be possible at all without detailed description of the problem and logs. This was developed for the community for others to enjoy their Unfolded Remotes. Blind integrations are never easy, please forgive bugs - remember - this is not a job - this is done on free time :slight_smile:

Special thanks: This integration was intensively and thoroughly tested against Virgin Media Cable Box by @fbutler over multiple days and long hours - without his help / debugging skills and incredible attention to details and documentation style this could not have been developed - thank you @fbutler .

You will need to extract a token for this integrations (on some boxes), instructions are on Github - i will refine the instructions based on feedback. Please read README file for full guidance.

Enjoy!

1 Like

i created this script to try to allow anyone simply double clicking the file and it will open a browser window with instructions to automatically grab your token with zero effort.

just download it, double click and it will be self explanitory. let me know.obviously, i cant test so feedback is needed.

if it doesnt work, let me know so i can work on it.this will simplify the token process.

Script has been uploaded to github and README section updated with instructions to run it.

This is fantastic, thank you. Now I have no need for Home Assistant - at least not for the Remote 3. A credit to you both.

I’m using the integration for a UK Virgin Media box - Something I’ve noticed between releases 0.3.8 and 0.4.2 - it’s no longer possible to edit the user interface widgets on the Main Control screen of the Remote entity.

Edit: Attempting to edit a widget in 0.4.2 - Edit screen opens as normal but on closing after making changes this message appears “Invalid request. Check your input.” The same for attempted moves.

Thanks again.

1 Like

This integration has been working very well for me. Thank you for the work you’ve done on it.

1 Like

you welcome :slight_smile:

Hi, unfortunately I’ve got some issues integrating with my Virgin Media Box (GB). I’ve used the instructions from “get_horizon_token.html“ page to get the Refresh Token but I still keep on getting CONNECTION_REFUSED and “TypeError: object of type ‘NoneType’ has no len()“ Errors:


| DEBUG | > TEXT ‘{“kind”: “event”, “msg”: “driver_setup_change”,…SED"}, “cat”: “DEVICE”}’ [149 bytes]
2025-11-10 10:30:43.821953 +00:00 custom-intg-horizon INFO 2025-11-10 10:30:43 | ucapi.api | DEBUG | [(‘127.0.0.1’, 38372)] ->: {‘kind’: ‘event’, ‘msg’: <WsMsgEvents.DRIVER_SETUP_CHANGE: ‘driver_setup_change’>, ‘msg_data’: {‘event_type’: ‘STOP’, ‘state’: ‘ERROR’, ‘error’: <IntegrationSetupError.CONNECTION_REFUSED: ‘CONNECTION_REFUSED’>}, ‘cat’: <EventCategory.DEVICE: ‘DEVICE’>}
2025-11-10 10:30:43.821953 +00:00 custom-intg-horizon INFO 2025-11-10 10:30:43 | uc_intg_horizon.setup_manager | ERROR | Failed to connect to Horizon API
2025-11-10 10:30:43.818616 +00:00 custom-intg-horizon INFO TypeError: object of type ‘NoneType’ has no len()
2025-11-10 10:30:43.818616 +00:00 custom-intg-horizon INFO File “lghorizon/lghorizon_api.py”, line 403, in _register_customer_and_boxes
2025-11-10 10:30:43.818616 +00:00 custom-intg-horizon INFO File “lghorizon/lghorizon_api.py”, line 270, in connect


new version 0.5.9 is out.

new version is up. join the discord channel where more users can help further. latest version fix remote reboot survival.