Custom component: Horizon EOS Settopbox (Arris DCX960)

Horizon EOS Settopbox (Arris DCX960)


Buy Me A Coffee


A media player component for Home Assistant that creates a media player and a sensor for each Horizon EOS Settopbox in your account.

The box

Ziggo is the Dutch version, Can be Horizon or UPC too…

Supported Countries and providers

Country Provider Box name
Netherlands Ziggo Mediabox Next
Austria Magenta Entertain box 4K
Switzerland UPC Switzerland UPC TV Box
Belgium Telenet Telenet TV-Box
Great Britain Virgin Media Virgin TV 360

Possible countries/providers

Want to find out if your box/provider can be added in the future? Please go to the Horizon site in your country. If the web interface looks familiar please contact me end lets figure that out.

Next countries do have that familiar web interface but I don’t have enough info to be able to add them to the support list.

Country Web app URL
Chech Republic Horizon TV
Romania Horizon TV
Slovakia Horizon TV
Germany Horizon TV
Poland Horizon TV
Hungary Horizon TV




The channel sensors will be removed in a future version of this component. To get a sensor for a channel please create the following template sensor for every box:

  - platform: template
        friendly_name: "Media player channel"
        value_template: "{{ state_attr('media_player.<your_settop_box_id>', 'channel') }}"


  • You need a Ziggo account with a Ziggo Media Box Next.
  • The energy mode needs to be set to high (“Hoog” in Dutch), otherwise you are not able to switch the device on in the media player.

HACS Installation

  1. Make sure you’ve installed HACS
  2. In the integrations tab, search for ZiggoNext.
  3. Install the Integration.
  4. Add ziggonext entry to configuration (see below)

Manual installation

  1. Open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called ziggonext.
  4. Download all the files from the custom_components/ziggonext/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Add ziggonext entry to configuration (see below)
  7. Restart Home Assistant


  username: !secret ziggo_username
  password: !secret ziggo_password  

The id’s for media_players and sensors are generated based on the name provided by Ziggo. You can adjust your box name in the settings on the website.


Parameter Type Required Description
username string yes Your Ziggo username
password string yes Your Ziggo password
country_code string no (default ‘nl’) Your country code. Currently supported: nl, ch, be-nl, be-fr, gb, ie

Service to change channel

service: media_player.play_media
  entity_id: media_player.ziggobeneden
  media_content_id: 401 # Any channel number, 'Netflix' or 'Videoland'
  media_content_type: channel # 'channel' when media_content_id is channelnumber, 'app' when media_content_id is 'Netflix' or 'Videoland' 

Custom services

This service can be called to start a recording. Note that this shows a pop-up on screen and confirmation is required.

service: ziggonext.record
  entity_id: media_player.ziggobeneden

This service can be called to rewind or fast-forward.
Note that this command can be called multiple times to speed up.
To stop this action, you can call the standard service on the same entity.

service: ziggonext.rewind
  entity_id: media_player.ziggobeneden
service: ziggonext.fast_forward
  entity_id: media_player.ziggobeneden


1 Like

Well done, shame theres not one for Canal Digitaal yet. Moved away from Ziggo

1 Like

Thanks for the work done on this component.

For me it doesn’t fully work though. I can use media_player.play_media to switch to Netflix (from standby mode), but cannot use it to switch to any other channel or app. The box doesn’t respond to the service call. I run the latest version of the component.

Any ideas?

Can you provide me with an example of the service call?

service: media_player.play_media
  entity_id: media_player.mediabox
  media_content_id: NPO 1 HD
  media_content_type: channel

This is the YAML that is being generated via the service GUI. Something seems to be wrong in the connection. I was able to turn the box on and switch to Netflix app. However at the same time, I couldn’t change channels.

Actually, right now the entity doesn’t even show that the box is on while it actually is.

I have the latest update via HACS. Thanks for any ideas.

Edit: The mediabox is also in high-energy mode as written in the docs.

Is this project still active? I am interested, I can provide testing for Slovakian Horizon.

Hi Gego, yes it is. Do you have a model type of your settopbox for me?

Sure, slovakian UPC rents only (as far I know) this stb: KAON HD KCF-SA900PCO (

Unfortunately that model is not supported. Do you know if the Arris DCX960 is available in your country?

I thought it wouldn’t be possible. Slovak UPC offer only Kaon and last year they started to offer “awesome” UHD STB - Xiaomi Mi Box S. This year, 4K Mini TV Box should be available, but I don’t think it will happen.

Sorry m8. I Guess there’s a way to fix it, but i am not able to fix it for you…

No problem, I am trying to get more information about 4K Mini TV Box and date of sale.

According to Slovak UPC, 4K Mini TV Box will not be available this year. You can edit first post.

Have you thought about scraping TV program from Horizon? I do not if it is possible, but I’ve been looking similiar integration for a while.

Scraping it from where?

Sorry for my english. On Horizon Go I can read TV program. I thought that, it might be possible to get TV program from Horizon Go to HA.

You English is fine, no worries m8.
But if you can’t control the box it makes no sense scraping the program, right?

There is possibility to use IR/RF remote control. I use Broadlink for now.

Secondly, make a notification for live sport match.

Replaced the old Ziggonext with the new Arris integration by Hacs.
Could not find this back within the settings-integrations and then Arris.

Do I need to add something in the configurations? The old Ziggonext doesn’t work.

Hello, Same thing here.
Removed the ZiggoNext version as instructed, then added the Arris integration.
But stuck after that. Not visible in “Configuration / Integrations” (not even sure “settings” is a thing in HA, guess “Configuration” is meant here")


After installing the repo from hacs, You have to clear the browser cache!

1 Like