Custom component: Horizon EOS Settopbox (Arris DCX960)

Tags: #<Tag:0x00007fc4109ae940> #<Tag:0x00007fc4109ae6c0>

Horizon EOS Settopbox (Arris DCX960)

hacs_badge


Buy Me A Coffee

Description

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

image
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

Screenshots

image

DEPRECATION NOTICE!

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:

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

Prerequisites

  • 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

Configuration

ziggonext:
  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 ziggogo.tv website.

Parameters

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
service_data:
  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
service_data:
  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 media_player.play service on the same entity.

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

Credits

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
target:
  entity_id: media_player.mediabox
data:
  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.