homebridge-eosstb 2.3.5 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,15 +9,17 @@
9
9
  # homebridge-eosstb
10
10
 
11
11
  # IMPORTANT NOTICE
12
+
12
13
  <hr><b>
13
- 22 June 2024: Logon method for BE confirmed working again, available from v2.3.2.
14
+ 22 August 2025: Logon method for NL confirmed working again, available from v2.3.6.
15
+
16
+ 22 June 2024: Logon method for BE confirmed working again, available from v2.3.2.
14
17
 
15
- The logon method to the backend systems changed in January / February 2024. I currently lack the skills and knowledge to figure out how to get the session to connect for CH, GB, IE, NL, and likely SK. However, as at 15 June 2024, BE users have reported a fix for BE which I have added in to v2.3.2.
18
+ The logon method to the backend systems changed in January / February 2024. I currently lack the skills and knowledge to figure out how to get the session to connect for CH, GB, IE, and likely SK. However, as at 15 June 2024, BE users have reported a fix for BE which I have added in to v2.3.2, and from 22 August 2025 NL users have assisted with a fix for NL, released in v2.3.6.
16
19
 
17
20
  If you know anything about session authentication and are able to help, please get in touch.
18
21
  </b><hr>
19
22
 
20
-
21
23
  [![npm](https://badgen.net/npm/dt/homebridge-eosstb)](https://www.npmjs.com/package/homebridge-eosstb)
22
24
  [![npm](https://badgen.net/npm/dm/homebridge-eosstb)](https://www.npmjs.com/package/homebridge-eosstb)
23
25
  [![npm](https://img.shields.io/npm/v/homebridge-eosstb)](https://www.npmjs.com/package/homebridge-eosstb)
@@ -28,14 +30,12 @@ If you know anything about session authentication and are able to help, please g
28
30
 
29
31
  `homebridge-eosstb` is a Homebridge plugin allowing you to control your set-top box (typically an ARRIS DCX960 / VIP5002W or HUMAX EOS1008R / 2008C) running on the Telenet BE / Sunrise CH / UPC SK / Virgin Media GB & IE / Ziggo NL Horizon TV platform with Apple HomeKit using the Home app and the Apple TV Remote in the Control Center.
30
32
 
31
- | iOS/iPadOS 16+ Accessory Tiles | Older iOS/iPadOS Accessory Tiles |
32
- | :---: | :---: |
33
+ | iOS/iPadOS 16+ Accessory Tiles | Older iOS/iPadOS Accessory Tiles |
34
+ | :----------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
33
35
  | <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/EosstbAccessoryTile.png" alt="EosstbAccessoryTile" height="60" align="center"> | <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/EosstbAccessoryTileiOS15.png" alt="EosstbAccessoryTileiOS15" height="80" align="center"> |
34
36
 
35
-
36
37
  This plugin displays your set-top box as a Set-Top Box accessory with power, channel and remote-control capabilities on your iOS device (iPhone, iPad, iMac, etc.).
37
38
 
38
-
39
39
  You need a subscription to the online TV service from your local TV provider.
40
40
  The username and password are the same as used in the TV provider's TV app on your iOS device (the app varies by country; in Switzerland it is [Sunrise TV](https://apps.apple.com/ch/app/sunrise-tv/id1292688012)).
41
41
 
@@ -44,131 +44,144 @@ Supports multiple set-top boxes, should you have more than one.
44
44
  If you like this plugin, consider buying me a coffee!<br>
45
45
  <a target="blank" href="https://ko-fi.com/jsiegenthaler"><img src="https://img.shields.io/badge/Ko--Fi-Buy%20me%20a%20coffee-29abe0.svg?logo=ko-fi"/></a>
46
46
 
47
+ # Update August 2025
48
+
49
+ Logon methods for NL working again from v2.3.6. Use Authentication Method A.
50
+
47
51
  # Update June 2024
48
- Logon methods for BE should be working again from v2.3.2-beta.1. Use Authentication Method B.
52
+
53
+ Logon methods for BE should be working again from v2.3.2. Use Authentication Method B.
49
54
 
50
55
  # Update February 2024
56
+
51
57
  Logon methods for many providers changed from January 2024 to mid February 2024.
52
58
 
53
59
  ## Help Wanted
54
- For GB, IE, NL and CH the logon method is no longer working. Refer Issue [#112](https://github.com/jsiegenthaler/homebridge-eosstb/issues/112). If are able to help, please get in touch.
55
60
 
61
+ For GB, IE and CH the logon method is no longer working. Refer Issue [#112](https://github.com/jsiegenthaler/homebridge-eosstb/issues/112). If are able to help, please get in touch.
56
62
 
57
63
  ## Readme Applicability
64
+
58
65
  Due to the adding of features and functions, this Readme applies from v2.3.0. For prior versions, please see the [eosstb release history on npm](https://www.npmjs.com/package/homebridge-eosstb?activeTab=versions).
59
66
 
60
67
  # Works in Your Country (If you are with Sunrise / Telenet / UPC SK / Virgin Media / Ziggo)
61
- As [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) (the operator of the Horizon TV platform) operates in multiple countries under multiple brands, this plugin will work in a number of countries that use the Horizon TV platform. The known countries that use the same TV platform with the ARRIS DCX960 / VIP5002W or HUMAX EOS1008R / 2008C set-top box are:
62
68
 
63
- | Country | TV Provider | Web App | Box Name | Notes |
64
- | ------- | ----------- | ------- | -------- | ------------- |
65
- | BE | [Telenet](https://www2.telenet.be/) | [Telenet TV](https://www.telenettv.be/nl.html) | [Telenet TV-Box](https://www2.telenet.be/nl/klantenservice/ontdek-de-telenet-tv-box/) | As of 15 June 2024 should be working again. Use Authentication Method B. |
66
- | CH | [Sunrise](https://www.sunrise.ch/en/) | [Sunrise TV](https://www.sunrisetv.ch/en.html) | [Sunrise TV Box](https://www.sunrise.ch/en/internet-tv/tv-subscription) | As of February 2024, connection to box is no longer working. Help Wanted! |
67
- | GB | [Virgin Media](https://www.virginmedia.com/) | [Virgin TV Go](https://virgintvgo.virginmedia.com/en.html) | [Virgin TV 360](https://www.virginmedia.com/shop/tv/virgin-tv-360) and [Virgin TV 360 Mini](https://www.virginmedia.com/shop/tv/multiroom) | As of January 2024, connection to box is no longer working. Help Wanted! |
68
- | IE | [Virgin Media](https://www.virginmedia.ie/) | [Virgin TV Anywhere](https://www.virginmediatv.ie/en.html) | [360 Box](https://www.virginmedia.ie/virgintv360support/) | As of January 2024, connection to box is no longer working. Help Wanted! |
69
- | NL | [Ziggo](https://www.ziggo.nl/) | [Ziggo GO](https://www.ziggogo.tv/nl.html) | [Mediabox Next](https://www.ziggo.nl/televisie/mediaboxen/mediabox-next#ziggo-tv) | As of February 2024, connection to box is no longer working. Help Wanted! |
70
- | SK | [UPC Broadband Slovakia](https://www.upc.sk/) | [UPC TV](https://www.upctv.sk/sk/home) | UPC TV Box | _Testers Wanted_ |
71
- | ------- | ----------- | ------- | -------- | ------------- |
72
- | PL | [UPC PL](https://www.upc.pl/) | [UPC TV GO](https://www.upctv.pl/pl/home) | UPC TV Box | [UPC TV in Poland appears to have been discontinued in August 2023](https://en.wikipedia.org/wiki/UPC_Poland) |
69
+ As [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) (the operator of the Horizon TV platform) operates in multiple countries under multiple brands, this plugin will work in a number of countries that use the Horizon TV platform. The known countries that use the same TV platform with the ARRIS DCX960 / VIP5002W or HUMAX EOS1008R / 2008C set-top box are:
73
70
 
71
+ | Country | TV Provider | Web App | Box Name | Notes |
72
+ | ------- | --------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------- |
73
+ | BE | [Telenet](https://www2.telenet.be/) | [Telenet TV](https://www.telenettv.be/nl.html) | [Telenet TV-Box](https://www2.telenet.be/nl/klantenservice/ontdek-de-telenet-tv-box/) | As of 15 June 2024 should be working again. Use Authentication Method B. |
74
+ | CH | [Sunrise](https://www.sunrise.ch/en/) | [Sunrise TV](https://www.sunrisetv.ch/en.html) | [Sunrise TV Box](https://www.sunrise.ch/en/internet-tv/tv-subscription) | As of February 2024, connection to box is no longer working. Help Wanted! |
75
+ | GB | [Virgin Media](https://www.virginmedia.com/) | [Virgin TV Go](https://virgintvgo.virginmedia.com/en.html) | [Virgin TV 360](https://www.virginmedia.com/shop/tv/virgin-tv-360) and [Virgin TV 360 Mini](https://www.virginmedia.com/shop/tv/multiroom) | As of January 2024, connection to box is no longer working. Help Wanted! |
76
+ | IE | [Virgin Media](https://www.virginmedia.ie/) | [Virgin TV Anywhere](https://www.virginmediatv.ie/en.html) | [360 Box](https://www.virginmedia.ie/virgintv360support/) | As of January 2024, connection to box is no longer working. Help Wanted! |
77
+ | NL | [Ziggo](https://www.ziggo.nl/) | [Ziggo GO](https://www.ziggogo.tv/nl.html) | [Mediabox Next](https://www.ziggo.nl/televisie/mediaboxen/mediabox-next#ziggo-tv) | As of 22 August 2025, confirmed working again (from v2.3.6) |
78
+ | SK | [UPC Broadband Slovakia](https://www.upc.sk/) | [UPC TV](https://www.upctv.sk/sk/home) | UPC TV Box | _Testers Wanted_ |
79
+ | ------- | ----------- | ------- | -------- | ------------- |
80
+ | PL | [UPC PL](https://www.upc.pl/) | [UPC TV GO](https://www.upctv.pl/pl/home) | UPC TV Box | [UPC TV in Poland appears to have been discontinued in August 2023](https://en.wikipedia.org/wiki/UPC_Poland) |
74
81
 
75
82
  If you subscribe to a TV service from one of these countries, you are lucky, this plugin will work for you.
76
83
 
77
84
  May also work with other Liberty Global countries, if you know of any, let me know.
78
85
 
79
86
  ## Made in Switzerland
87
+
80
88
  This plugin was written and tested on the author's set-top box (ARRIS mediabox model DCX960/KK0L/A816/0000) running on Sunrise TV in Switzerland. It has also been extensively tested on Telenet in Belgium (also on the 2nd generation HUMAX 2008C-STB-xx), Virgin Media in Great Britain and Ireland, and Ziggo in the Netherlands.
81
89
 
82
90
  ## Why I chose the Name EOSSTB
83
- I tried to find a good common name that works for this plugin for all countries. Each country uses a different marketing name for the box, so I could not use the local name. The EOS system, also known as the Horizon platform, originally used an ARRIS DCX960, but even this box comes in different types and with different firmware, so I decided not to use the model name. I stuck with the box identifier that appears in the mqtt messages: EOSSTB.
91
+
92
+ I tried to find a good common name that works for this plugin for all countries. Each country uses a different marketing name for the box, so I could not use the local name. The EOS system, also known as the Horizon platform, originally used an ARRIS DCX960, but even this box comes in different types and with different firmware, so I decided not to use the model name. I stuck with the box identifier that appears in the mqtt messages: EOSSTB.
84
93
 
85
94
  In March 2022, a newer version of the set-top box appeared in Telenet in Belgium: a HUMAX 2008C-STB-TN, which identifies itself as EOS2STB. This has since been seen in NL as a HUMAX 2008C-STB-ZG, and in CH as a HUMAX 2008C-STB-UPC/CH.
86
95
 
87
- In January 2023, an ARRIS VIP5002W appeared, which identifies itself as an APLSTB. However, I will keep the plugin name unchanged at EOSSTB.
96
+ In January 2023, an ARRIS VIP5002W appeared, which identifies itself as an APLSTB. However, I will keep the plugin name unchanged at EOSSTB.
88
97
 
89
98
  ## Disclaimer (The Legal Stuff)
99
+
90
100
  This plugin is not provided by Telenet or Sunrise or Virgin Media or Ziggo any other affiliate of [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global). It is neither endorsed nor supported nor developed by [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) or UPC Broadband or any affiliates. [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) can change their systems at any time and that might break this plugin. But I hope not.
91
101
 
92
102
  ## Requirements
93
- * An Apple iPhone or iPad with iOS/iPadOS 14.0 (or later). Developed on iOS 14.1...18.0, earlier versions not tested.
94
- * [Homebridge](https://homebridge.io/) v1.1.116 (or later). Developed on Homebridge 1.1.116....1.8.4, earlier versions not tested.
95
- * A TV subscription from one of the supported countries and TV providers.
96
- * An online account for viewing TV in the web app (often part of your TV package), see the table above.
97
- * An ARRIS DCX960 or HUMAX EOS1008R / 2008C / VIP5002W set-top box, provided by your TV provider as part of your TV subscription, called by the system an "EOSSTB", "EOS2STB" or "APLSTB" and marketed under different names in different countries.
98
- * The set-top box should be set to **SYSTEM** > **Standby power consumption** = **Fast start** to ensure it is always online and can respond to switch-on requests from HomeKit.
99
- * For GB and IE users: if using an ARRIS DCX960, it must be running the TV 360 software, and not the older TiVo V6 software as found in GB and IE. TiVo V6 is not supported by this plugin, but GB users can [upgrade to TV 360 by contacting Virgin Media](https://www.virginmedia.com/shop/customer/virgin-tv-360-upgrade).
100
103
 
101
- ## Features
102
- <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/EosstbControls.png" alt="EosstbControls" height="400" align="right">
104
+ - An Apple iPhone or iPad with iOS/iPadOS 14.0 (or later). Developed on iOS 14.1...18.6, earlier versions not tested.
105
+ - [Homebridge](https://homebridge.io/) v1.1.116 (or later). Developed on Homebridge 1.1.116....1.11.0, earlier versions not tested.
106
+ - A TV subscription from one of the supported countries and TV providers.
107
+ - An online account for viewing TV in the web app (often part of your TV package), see the table above.
108
+ - An ARRIS DCX960 or HUMAX EOS1008R / 2008C / VIP5002W set-top box, provided by your TV provider as part of your TV subscription, called by the system an "EOSSTB", "EOS2STB" or "APLSTB" and marketed under different names in different countries.
109
+ - The set-top box should be set to **SYSTEM** > **Standby power consumption** = **Fast start** to ensure it is always online and can respond to switch-on requests from HomeKit.
110
+ - For GB and IE users: if using an ARRIS DCX960, it must be running the TV 360 software, and not the older TiVo V6 software as found in GB and IE. TiVo V6 is not supported by this plugin, but GB users can [upgrade to TV 360 by contacting Virgin Media](https://www.virginmedia.com/shop/customer/virgin-tv-360-upgrade).
103
111
 
104
- * **Full Remote-Control Support**: The Apple TV Remote in your iOS device can control your set-top box; including power, menu navigation, play, pause, fast-forward, rewind, channel up/down, volume and mute commands. All keys are fully configurable for single-tap and double-tap.
112
+ ## Features
105
113
 
106
- * **Powerful Key Macros**: You can program key macros to control your set-top box. Key macros are powerful ways of accessing any content such as radio channels that cannot be accessed directly via a channel number.
114
+ <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/EosstbControls.png" alt="EosstbControls" height="400" align="right">
107
115
 
108
- * **Siri Support** You can control your set-top box with Siri (to the extent of what Apple Siri supports).
116
+ - **Full Remote-Control Support**: The Apple TV Remote in your iOS device can control your set-top box; including power, menu navigation, play, pause, fast-forward, rewind, channel up/down, volume and mute commands. All keys are fully configurable for single-tap and double-tap.
109
117
 
110
- * **Shortcuts Support** You can read and control your set-top box with Shortcuts and HomeKit automations (to the extent of what Apple supports), allowing you to control switch-on and channel selection in Home Automations, Shortcuts and Personal Automations, as well as read a lot of status information from your set-top box.
118
+ - **Powerful Key Macros**: You can program key macros to control your set-top box. Key macros are powerful ways of accessing any content such as radio channels that cannot be accessed directly via a channel number.
111
119
 
112
- * **Synchronised Set-Top Box Name**: Changing the name of the set-top box in the Home app changes it on the TV and backend systems in real time, and vice-versa. No reboot required. You can turn off the sync if desired in the config.
120
+ - **Siri Support** You can control your set-top box with Siri (to the extent of what Apple Siri supports).
113
121
 
114
- * **Synchronised Current Channel**: Changing the channel on the set-top box changes the displayed channel in the Home app in real time, and vice-versa.
122
+ - **Shortcuts Support** You can read and control your set-top box with Shortcuts and HomeKit automations (to the extent of what Apple supports), allowing you to control switch-on and channel selection in Home Automations, Shortcuts and Personal Automations, as well as read a lot of status information from your set-top box.
115
123
 
116
- * **Selectable Channel Sort By**: Channels in the Home app channel list can be listed in the same order as shown on the TV, or by Most Watched.
124
+ - **Synchronised Set-Top Box Name**: Changing the name of the set-top box in the Home app changes it on the TV and backend systems in real time, and vice-versa. No reboot required. You can turn off the sync if desired in the config.
117
125
 
118
- * **Synchronised Channel List Order**: Changing the order of channels in a profile on your set-top box changes the standard channel list order in the Home app in real time. No reboot required. Note that the Shared Profile channel list order cannot be changed.
126
+ - **Synchronised Current Channel**: Changing the channel on the set-top box changes the displayed channel in the Home app in real time, and vice-versa.
119
127
 
120
- * **Master Channel List Refreshed Daily**: The master channel list is refreshed daily, ensuring it is always up to date.
128
+ - **Selectable Channel Sort By**: Channels in the Home app channel list can be listed in the same order as shown on the TV, or by Most Watched.
121
129
 
122
- * **Ignores Non-Subscribed Channels**: Only the channels you subscribe to are shown in the Home app, saving you valuable slots in the Home app channel list.
130
+ - **Synchronised Channel List Order**: Changing the order of channels in a profile on your set-top box changes the standard channel list order in the Home app in real time. No reboot required. Note that the Shared Profile channel list order cannot be changed.
123
131
 
124
- * **Optional Channel Numbers**: If you wish, you can display a channel number before the channel name. As this consumes some space on the Home app tile, it is off by default.
132
+ - **Master Channel List Refreshed Daily**: The master channel list is refreshed daily, ensuring it is always up to date.
125
133
 
126
- * **Default Profile Support**: The default profile on start-up of the set-top box is used for the channel list if no other profile is configured for the plugin.
134
+ - **Ignores Non-Subscribed Channels**: Only the channels you subscribe to are shown in the Home app, saving you valuable slots in the Home app channel list.
127
135
 
128
- * **Intelligent Mute**: Clicking Volume Down on your iOS device three times in rapid succession sends a Mute command to your TV. A subsequent tap of Volume Up or Volume Down cancels the mute (TV dependent). The triple-tap timing is configurable.
136
+ - **Optional Channel Numbers**: If you wish, you can display a channel number before the channel name. As this consumes some space on the Home app tile, it is off by default.
129
137
 
130
- * **Robust Session Handler**: If the web session or mqtt sessions are lost, the plugin will automatically try to reconnect.
138
+ - **Default Profile Support**: The default profile on start-up of the set-top box is used for the channel list if no other profile is configured for the plugin.
131
139
 
132
- * **Informative Log Entries**: The plugin logs show lots of information about your session and the state of the set-top box. Log levels are configurable with debugLevel.
140
+ - **Intelligent Mute**: Clicking Volume Down on your iOS device three times in rapid succession sends a Mute command to your TV. A subsequent tap of Volume Up or Volume Down cancels the mute (TV dependent). The triple-tap timing is configurable.
133
141
 
134
- * **Fully Configurable**: A large amount of configuration items exist to allow you to configure your plugin the way you want.
142
+ - **Robust Session Handler**: If the web session or mqtt sessions are lost, the plugin will automatically try to reconnect.
135
143
 
136
- * **Future Feature Support**: The plugin also supports current and target media state as well as closed captions, even though the Home app accessory cannot currently display or control this data in the home app (as at iOS 18.0). Hopefully, Apple will add support for these features in the future. You can however use this data in Home Automations or the Shortcuts app.
144
+ - **Informative Log Entries**: The plugin logs show lots of information about your session and the state of the set-top box. Log levels are configurable with debugLevel.
137
145
 
146
+ - **Fully Configurable**: A large amount of configuration items exist to allow you to configure your plugin the way you want.
138
147
 
148
+ - **Future Feature Support**: The plugin also supports current and target media state as well as closed captions, even though the Home app accessory cannot currently display or control this data in the home app (as at iOS 18.6). Hopefully, Apple will add support for these features in the future. You can however use this data in Home Automations or the Shortcuts app.
139
149
 
140
150
  ## Installation
151
+
141
152
  Homebridge UI: the easiest way to install is to search for **eosstb** in the Homebridge UI, and then click **INSTALL**.
142
153
 
143
154
  Manual install:
155
+
144
156
  ```sh
145
157
  sudo npm install -g homebridge-eosstb
146
158
  ```
159
+
147
160
  After installing, make sure you restart Homebridge.
148
161
 
149
162
  ## Adding the Set-Top Box to the Home App
163
+
150
164
  The set-top box accessory is exposed as a separate external accessory and each set-top box needs to be manually paired as follows:
151
165
 
152
166
  1. Open the **Home** app on your device.
153
167
  2. Tap the **Home** tab, then tap **+** in the top right corner of the screen and then **Add Accessory** to start the process of adding a new accessory.
154
- 4. **Add Accessory**: tap **More options...** to add the accessory manually.
155
- 5. **Select an Accessory to Add to \<HomeName\>**: Select the accessory you want to add. You should see your set-top box here. If not, check your Homebridge config.
156
- 6. Accept the **Uncertified Accessory** warning by tapping **Add Anyway**.
157
- 7. **Enter HomeKit Setup Code**: Enter the **HomeKit Setup Code** (displayed in Homebridge under the QR code, format XXXX-XXXX), or use the device's camera to scan the QR code in Homebridge and tap **Continue**.
158
- 8. **Set-Top Box Location**: Select a room for your new accessory and tap **Continue**.
159
- 9. **Set-Top Box Name**: Give your set-top box a different name if you wish (synchronised to your real set-top box, you can change this in the Home app later) and tap **Continue**.
160
- 10. **Name TV Input Sources**: Re-name your TV input sources if you wish (you can change these in the Home app later) and tap **Continue**.
161
- 11. **Set-Top Box Automations**: Switch on any suggested automations if you wish (you can change these in the Home app later) and tap **Continue**.
162
- 12. **Set-Top Box Added to \<HomeName\>**: Tap **Done** to finish the setup.
168
+ 3. **Add Accessory**: tap **More options...** to add the accessory manually.
169
+ 4. **Select an Accessory to Add to \<HomeName\>**: Select the accessory you want to add. You should see your set-top box here. If not, check your Homebridge config.
170
+ 5. Accept the **Uncertified Accessory** warning by tapping **Add Anyway**.
171
+ 6. **Enter HomeKit Setup Code**: Enter the **HomeKit Setup Code** (displayed in Homebridge under the QR code, format XXXX-XXXX), or use the device's camera to scan the QR code in Homebridge and tap **Continue**.
172
+ 7. **Set-Top Box Location**: Select a room for your new accessory and tap **Continue**.
173
+ 8. **Set-Top Box Name**: Give your set-top box a different name if you wish (synchronised to your real set-top box, you can change this in the Home app later) and tap **Continue**.
174
+ 9. **Name TV Input Sources**: Re-name your TV input sources if you wish (you can change these in the Home app later) and tap **Continue**.
175
+ 10. **Set-Top Box Automations**: Switch on any suggested automations if you wish (you can change these in the Home app later) and tap **Continue**.
176
+ 11. **Set-Top Box Added to \<HomeName\>**: Tap **Done** to finish the setup.
163
177
 
164
178
  <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/EosstbAccessoryTile.png" alt="EosstbAccessoryTile" height="60" align="left">
165
179
  Your new accessory will appear shortly in the room that you selected. It may show **Updating...** for a few minutes as it loads all the data.
166
180
 
167
181
  You can force a Home app refresh by switching to another room and then back again.
168
182
 
169
-
170
-
171
183
  ## Remote Control Supported Keys
184
+
172
185
  To access the **Apple TV Remote**, open your **Control Center** by swiping down from the top (newer iPhones and iPads) or up from the bottom of the screen (older iPhones). If you do not see the remote-control icon, you will need to activate it in **Settings > Control Centre** and ensure that the **Apple TV Remote** is in the list of **INCLUDED CONTROLS**.
173
186
  Make sure you select the correct device from the drop-down list at the top of the Apple TV Remote:
174
187
 
@@ -176,20 +189,20 @@ The following keys are supported by in the **Apple TV Remote** in the Control Ce
176
189
 
177
190
  <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/RemoteControl.png" alt="RemoteControl" height="400" align="right">
178
191
 
179
- | Key | Single Tap | Double Tap |
180
- | ------- | ----------- | ------- |
181
- | Mute | Mute | n/a |
182
- | Power | Power | n/a |
183
- | Up | ArrowUp | ChannelUp |
184
- | Down | ArrowDown | ChannelDown |
185
- | Left | ArrowLeft | MediaRewind |
186
- | Right | ArrowRight | MediaFastForward |
187
- | Select | Enter | Enter |
188
- | PlayPause | MediaPlayPause | MediaPlayPause |
189
- | Back | Escape | Escape |
190
- | Info | MediaTopMenu | Guide |
191
- | Volume Up | volUpCommand | - |
192
- | Volume Down | volDownCommand | 3 clicks = mute |
192
+ | Key | Single Tap | Double Tap |
193
+ | ----------- | -------------- | ---------------- |
194
+ | Mute | Mute | n/a |
195
+ | Power | Power | n/a |
196
+ | Up | ArrowUp | ChannelUp |
197
+ | Down | ArrowDown | ChannelDown |
198
+ | Left | ArrowLeft | MediaRewind |
199
+ | Right | ArrowRight | MediaFastForward |
200
+ | Select | Enter | Enter |
201
+ | PlayPause | MediaPlayPause | MediaPlayPause |
202
+ | Back | Escape | Escape |
203
+ | Info | MediaTopMenu | Guide |
204
+ | Volume Up | volUpCommand | - |
205
+ | Volume Down | volDownCommand | 3 clicks = mute |
193
206
 
194
207
  NOTE: Prior to iOS 18.0, the Mute and Power buttons appeared in the Remote Control, however they were disabled. As of iOS 18.0, the buttons are enabled. Double tap is not applicable to the Mute and Power buttons.
195
208
 
@@ -197,9 +210,9 @@ The table shows the default key mappings. You can map any Apple TV Remote button
197
210
 
198
211
  The volume controls do not control the set-top box directly, as the set-top box has no volume capability. The set-top box physical remote actually sends IR commands to your TV. If you can control your TV volume via a network connection then the volume controls can be used to send volume commands to your TV via the raspberry pi. This is what the author uses.
199
212
 
200
-
201
213
  ## Using Profiles to Better Manage your Channel List
202
- Many TV providers provide hundreds of TV channels. The Home app is limited to 100 "services", which are TV channels or reserved for system control. This limits the maximum possible channels to 95, and thus the plugin will load the first 95 subscribed channels found, ignoring all non-subscribed channels.
214
+
215
+ Many TV providers provide hundreds of TV channels. The Home app is limited to 100 "services", which are TV channels or reserved for system control. This limits the maximum possible channels to 95, and thus the plugin will load the first 95 subscribed channels found, ignoring all non-subscribed channels.
203
216
 
204
217
  If the channels you wish to have in the Home app are not within the first 95 subscribed channels in your TV providers channel list, then you can create a profile on the set-top box, and configure the profile with the channels you want, in the order you want. Enter the same profile name in the plugin config **Profile Name**, and the plugin will load the channels from that profile.
205
218
 
@@ -207,34 +220,40 @@ Any changes in the profile on the set-top box will automatically be reflected in
207
220
 
208
221
  The profile used by the plugin does not have to be the same as the set-top box's start-up profile. It is OK to configure a profile that is dedicated to the plugin, if you so wish.
209
222
 
210
-
211
223
  ## Sorting the Channel list
224
+
212
225
  The config item **Channel Sort By** allows the channels to be sorted by **Channel Order** (the standard channel order as shown on the TV) or by **Most Watched**. Most Watched is reported by the backend systems and is profile-based. It is not clear how often this list is updated, however for a TV subscription with many channels, this may be a preferable option to show your most watched channels at the top of the channel list.
213
226
 
214
227
  ## Using Key Macros to Access Extra Capabilities
215
- You can program key macros to access any function of your set-top box. This is particularly useful to select radio channels. Key macros are loaded at the end of the channel list. See the [Wiki Key Macros page](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Key-Macros) for full details.
216
-
217
228
 
229
+ You can program key macros to access any function of your set-top box. This is particularly useful to select radio channels. Key macros are loaded at the end of the channel list. See the [Wiki Key Macros page](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Key-Macros) for full details.
218
230
 
219
231
  ## Limitations
232
+
220
233
  ### Channel Count
221
- Due to HomeKit design limitations, the maximum services for a single accessory are 100. Over this value the Home app will no longer respond.
234
+
235
+ Due to HomeKit design limitations, the maximum services for a single accessory are 100. Over this value the Home app will no longer respond.
222
236
  Services used in this set-top box accessory are:
237
+
223
238
  1. Information service (Name, model, serial number of the accessory)
224
239
  2. Television service (for controlling the TV accessory)
225
240
  3. Speaker service (for the controlling the TV accessory volume)
226
241
  4. Input service. The input (TV channels) utilises one service per input. The maximum possible channels (inputs) are thus 100 - 3 = 97. I have limited the inputs to maximum 95, but you can override this in the config (helpful to reduce log entries when debugging). The inputs are hard limited to 95 inputs.
227
242
 
228
243
  ### Media State (Play/Pause) Limitations
229
- The eosstb plugin can detect the target and current media state and shows STOP, PLAY, PAUSE or LOADING (loading is displayed only for current media state when fast-forwarding or rewinding) in the Homebridge logs. Unfortunately, the Apple Home app cannot do anything with the media state (as at iOS 18.0) apart from allow you to read it in Shortcuts or Automations. Hopefully this will improve in the future.
244
+
245
+ The eosstb plugin can detect the target and current media state and shows STOP, PLAY, PAUSE or LOADING (loading is displayed only for current media state when fast-forwarding or rewinding) in the Homebridge logs. Unfortunately, the Apple Home app cannot do anything with the media state (as at iOS 18.6) apart from allow you to read it in Shortcuts or Automations. Hopefully this will improve in the future.
230
246
 
231
247
  ### Recording State Limitations
248
+
232
249
  The eosstb plugin can detect the current recording state of the set-top box, both for local HDD-based recording (for boxes that have a HDD fitted) and for network recording. The plugin shows IDLE, ONGOING_NDVR or ONGOING_LOCALDVR in the Homebridge logs. DVR means digital video recorder; N for network and LOCAL for local HDD based recording. The Apple Home app cannot natively do anything with the recording state but the eosstb plugin uses it to set the inUse charateristic if the set-top box is turned on or is recording to the local HDD. This is useful in Shortcuts or Automations.
233
250
 
234
251
  ### Closed Captions Limitations
235
- The eosstb plugin can detect the closed captions state (**Subtitle options** in the set-top box menu) and shows ENABLED or DISABLED in the Homebridge logs. Unfortunately, the Apple Home app cannot do anything with the closed captions state (as at iOS 18.0) apart from allow you to read it in Shortcuts or Automations. Hopefully this will improve in the future.
252
+
253
+ The eosstb plugin can detect the closed captions state (**Subtitle options** in the set-top box menu) and shows ENABLED or DISABLED in the Homebridge logs. Unfortunately, the Apple Home app cannot do anything with the closed captions state (as at iOS 18.6) apart from allow you to read it in Shortcuts or Automations. Hopefully this will improve in the future.
236
254
 
237
255
  ## Configuration
256
+
238
257
  Add a new platform to the platforms section of your homebridge `config.json`.
239
258
 
240
259
  Example minimum (mandatory) configuration:
@@ -301,107 +320,100 @@ Example extended configuration as used on the author with his EOSSTB set-top box
301
320
  ```
302
321
 
303
322
  ### Platform Config Items
323
+
304
324
  Unless otherwise stated, all config items are case sensitive.
305
325
 
306
326
  #### Mandatory
327
+
307
328
  Mandatory config items must always exist. These are used to establish the session to the EOS / Horizon platform. If any mandatory config items are missing, a warning is shown and initialization is aborted.
308
329
 
309
- * **platform**: the name of the platform. Mandatory, must be eosstb.
330
+ - **platform**: the name of the platform. Mandatory, must be eosstb.
310
331
 
311
- + **country**: Your country. Must be one of ch, nl, be-nl, be-fr, at or gb. Not case sensitive. This controls the country-specific logon sequence and the mqtt sessions. Mandatory.
332
+ * **country**: Your country. Must be one of ch, nl, be-nl, be-fr, at or gb. Not case sensitive. This controls the country-specific logon sequence and the mqtt sessions. Mandatory.
312
333
 
313
- * **username**: Your login username for your TV account, same as used in the TV app on your iOS device. Often an email address, but some providers use a mobile phone number. Mandatory.
334
+ - **username**: Your login username for your TV account, same as used in the TV app on your iOS device. Often an email address, but some providers use a mobile phone number. Mandatory.
314
335
 
315
- * **password**: Your password associated with your TV account. Mandatory.
336
+ - **password**: Your password associated with your TV account. Mandatory.
316
337
 
317
338
  #### Optional
318
339
 
319
- * **name**: The platform name that appears in the Homebridge logs. In many countries the platform is called Horizon, but you can name it to anything. Optional, defaults to "EOSSTB".
320
-
321
- * **doublePressTime**: The amount of time in ms to detect double-tap of a button. Used for double-tap or triple-press features, such as double-tap of Info generates Guide. Optional, defaults to 250ms.
340
+ - **name**: The platform name that appears in the Homebridge logs. In many countries the platform is called Horizon, but you can name it to anything. Optional, defaults to "EOSSTB".
322
341
 
323
- * **triplePressTime**: The amount of time in ms to detect triple-tap of a button. Used for triple-tap or triple-press features, such as triple-press of Volume Down generates Mute. Optional, defaults to 800ms.
342
+ - **doublePressTime**: The amount of time in ms to detect double-tap of a button. Used for double-tap or triple-press features, such as double-tap of Info generates Guide. Optional, defaults to 250ms.
324
343
 
325
- * **masterChannelListValidFor**: Amount of time in seconds that the master channel list stays valid for. Default 60s.
326
-
327
- * **debugLevel**: Controls the amount of debug data shown in the Homebridge logs, independent of the debug setting in Homebridge. Extra debug messages above level 0 are shown in the Homebridge log in the warning colour, normally yellow. Supported values are: 0=No debug logging, 1=Minimum, 2=Enhanced, 3=Verbose. Optional. Defaults to 0 if not found. Warning: a lot of log entries can occur at the higher debug levels.
344
+ - **triplePressTime**: The amount of time in ms to detect triple-tap of a button. Used for triple-tap or triple-press features, such as triple-press of Volume Down generates Mute. Optional, defaults to 800ms.
328
345
 
346
+ - **masterChannelListValidFor**: Amount of time in seconds that the master channel list stays valid for. Default 60s.
329
347
 
348
+ - **debugLevel**: Controls the amount of debug data shown in the Homebridge logs, independent of the debug setting in Homebridge. Extra debug messages above level 0 are shown in the Homebridge log in the warning colour, normally yellow. Supported values are: 0=No debug logging, 1=Minimum, 2=Enhanced, 3=Verbose. Optional. Defaults to 0 if not found. Warning: a lot of log entries can occur at the higher debug levels.
330
349
 
331
350
  ### Device Config Items
351
+
332
352
  Most people will be happy with the default device config. If you do not need to change anything, you can omit the device config section.
333
353
  If you want to configure your devices differently, do so here. Multiple devices are supported, each device can be configured separately. The devices are identified by their physical deviceId. You will see that there is no option to set the name in the config, as the name of the set-top box displayed in the Home app is always synchronised to the physical set-top box. You can change the set-top box name in the Home app.
334
354
 
335
355
  #### Mandatory
336
356
 
337
- * **deviceId**: The unique set-top box physical device id, in Switzerland, Belgium and the Netherlands this is in the format 3C36E4-EOSSTB-001234567890. Other countries are similar. Required to identify the set-top box in your network, as multiple boxes can exist. Review the Homebridge log to see your deviceId, it is displayed shortly after a Homebridge restart. Mandatory for a device configuration.
357
+ - **deviceId**: The unique set-top box physical device id, in Switzerland, Belgium and the Netherlands this is in the format 3C36E4-EOSSTB-001234567890. Other countries are similar. Required to identify the set-top box in your network, as multiple boxes can exist. Review the Homebridge log to see your deviceId, it is displayed shortly after a Homebridge restart. Mandatory for a device configuration.
338
358
 
339
359
  #### Optional
340
360
 
341
361
  ##### Name and Icon
342
362
 
343
- * **name**: The device name. Set to anything you want. If syncName is true, the name will also be synced to the set-top box. Note that the set-top box name must be between 3 and 14 characters long; shorter names are expanded, longer names are truncated. Optional, defaults to the current set-top box name.
363
+ - **name**: The device name. Set to anything you want. If syncName is true, the name will also be synced to the set-top box. Note that the set-top box name must be between 3 and 14 characters long; shorter names are expanded, longer names are truncated. Optional, defaults to the current set-top box name.
344
364
 
345
- * **syncName**: You can choose to sync the HomeKit name with the physical set-top box name. If you set syncName to false, you can name the set-top box in HomeKit differently to the physical set-top box. Optional, defaults to true.
346
-
347
- * **accessoryCategory**: The accessory category. This changes the image on the tile in the Home app. Allows you to use a TV or an Audio Receiver or a Set-Top Box (default). Available values are: Set-Top-Box = any of "settopbox", "stb". TV = any of "television", "tv". Audio Receiver = any of "receiver", "audio-receiver", "avr". Not case sensitive. Optional, defaults to Set-Top Box if the value is not recognised.
365
+ - **syncName**: You can choose to sync the HomeKit name with the physical set-top box name. If you set syncName to false, you can name the set-top box in HomeKit differently to the physical set-top box. Optional, defaults to true.
348
366
 
367
+ - **accessoryCategory**: The accessory category. This changes the image on the tile in the Home app. Allows you to use a TV or an Audio Receiver or a Set-Top Box (default). Available values are: Set-Top-Box = any of "settopbox", "stb". TV = any of "television", "tv". Audio Receiver = any of "receiver", "audio-receiver", "avr". Not case sensitive. Optional, defaults to Set-Top Box if the value is not recognised.
349
368
 
350
369
  ##### Accessory information
351
370
 
352
- * **manufacturer**: You can add a manufacturer name if you wish. Defaults to the detected device and platform type, otherwise to the eosstb platform name. Optional.
371
+ - **manufacturer**: You can add a manufacturer name if you wish. Defaults to the detected device and platform type, otherwise to the eosstb platform name. Optional.
353
372
 
354
- * **serialNumber**: You can add a serial number if you wish. Defaults to the set-top box serial number id, otherwise to the physical deviceId. Optional.
373
+ - **serialNumber**: You can add a serial number if you wish. Defaults to the set-top box serial number id, otherwise to the physical deviceId. Optional.
355
374
 
356
- * **modelName**: You can add a model name if you wish. Defaults to the detected device model and product type or device type, otherwise to the eosstb plugin name. Optional.
375
+ - **modelName**: You can add a model name if you wish. Defaults to the detected device model and product type or device type, otherwise to the eosstb plugin name. Optional.
357
376
 
358
- * **firmwareRevision**: You can add a firmware revision if you wish. Must be numeric (non-numeric values are not displayed in the Home app). Defaults to the eosstb plugin version. Optional.
377
+ - **firmwareRevision**: You can add a firmware revision if you wish. Must be numeric (non-numeric values are not displayed in the Home app). Defaults to the eosstb plugin version. Optional.
359
378
 
360
379
  ##### Channel Display
361
380
 
362
- * **profile**: The profile name to use to load the channel list for the device. Optional, defaults to the default profile on startup, as configured on the set-top box. The plugin loads the first 95 subscribed channels found, which is a limitation of HomeKit. To manage your favourite channels within the constraint of 95 channels, create a profile on your set-top box, and use the profile name in the plugin config. If your profile is changed to the set-top box, the changes will be pushed to HomeKit. Channels should stay in a consistent channel order as the channel number is used in HomeKit scenes, not the channel name.
363
-
364
- * **channelOrder**: The method to sort the channels in the channel list in the Home app. Available values are: Channel order = "channelOrder", Most Watched = "mostWatched". Case sensitive. Optional, defaults to channelOrder.
365
-
381
+ - **profile**: The profile name to use to load the channel list for the device. Optional, defaults to the default profile on startup, as configured on the set-top box. The plugin loads the first 95 subscribed channels found, which is a limitation of HomeKit. To manage your favourite channels within the constraint of 95 channels, create a profile on your set-top box, and use the profile name in the plugin config. If your profile is changed to the set-top box, the changes will be pushed to HomeKit. Channels should stay in a consistent channel order as the channel number is used in HomeKit scenes, not the channel name.
366
382
 
367
- * **maxChannels**: The maximum number of channels to load. Optional, defaults to 95. Note: you may need to do force-close and reopen the Home app to force it to recognise a change in the quantity of channels available.
383
+ - **channelOrder**: The method to sort the channels in the channel list in the Home app. Available values are: Channel order = "channelOrder", Most Watched = "mostWatched". Case sensitive. Optional, defaults to channelOrder.
368
384
 
369
- * **showChannelNumbers**: Shows or hides the channel numbers in the channel selector in HomeKit. Values: true or false (default). If channel numbers are displayed, there is less room for the channel name. Optional, defaults to false.
385
+ - **maxChannels**: The maximum number of channels to load. Optional, defaults to 95. Note: you may need to do force-close and reopen the Home app to force it to recognise a change in the quantity of channels available.
370
386
 
387
+ - **showChannelNumbers**: Shows or hides the channel numbers in the channel selector in HomeKit. Values: true or false (default). If channel numbers are displayed, there is less room for the channel name. Optional, defaults to false.
371
388
 
372
389
  ##### Remote Control Button Mapping
373
390
 
374
- * **playPauseButton**: The command issued to the set-top box when the Play/Pause button (**> ||**) in the Apple TV Remote is tapped. Normally MediaPause. Optional, defaults to MediaPause if not found.
375
-
376
- * **backButton**: The command issued to the set-top box when the **BACK** button in the Apple TV Remote is tapped. Normally Escape. Optional, defaults to Escape if not found.
377
-
378
- * **infoButton**: The command issued to the set-top box when the Info button (**i**) in the Apple TV Remote is tapped. As the Apple TV Remote has no Menu button, the Info button should be used to access the menu. This is why the Info button is set to MediaTopMenu. Optional, defaults to MediaTopMenu if not found.
379
-
391
+ - **playPauseButton**: The command issued to the set-top box when the Play/Pause button (**> ||**) in the Apple TV Remote is tapped. Normally MediaPause. Optional, defaults to MediaPause if not found.
380
392
 
393
+ - **backButton**: The command issued to the set-top box when the **BACK** button in the Apple TV Remote is tapped. Normally Escape. Optional, defaults to Escape if not found.
381
394
 
395
+ - **infoButton**: The command issued to the set-top box when the Info button (**i**) in the Apple TV Remote is tapped. As the Apple TV Remote has no Menu button, the Info button should be used to access the menu. This is why the Info button is set to MediaTopMenu. Optional, defaults to MediaTopMenu if not found.
382
396
 
383
397
  ##### Remote Control Volume Commands
384
398
 
385
- * **volUpCommand**: The bash command to increase the volume of the TV. This command is sent when the Apple TV Remote is open and you press the Volume Up button on your device. Optional.
386
-
387
- * **volDownCommand**: The bash command to decrease the volume of the TV. This command is sent when the Apple TV Remote is open and you press the Volume Down button on your device. Optional.
388
-
389
- * **muteCommand**: The bash command to mute the TV. Whilst not supported natively in the Apple TV Remote, this plugin integrates it with a triple-press on the Volume Down button. Mute is also supported in Homebridge. Optional.
390
-
399
+ - **volUpCommand**: The bash command to increase the volume of the TV. This command is sent when the Apple TV Remote is open and you press the Volume Up button on your device. Optional.
391
400
 
401
+ - **volDownCommand**: The bash command to decrease the volume of the TV. This command is sent when the Apple TV Remote is open and you press the Volume Down button on your device. Optional.
392
402
 
403
+ - **muteCommand**: The bash command to mute the TV. Whilst not supported natively in the Apple TV Remote, this plugin integrates it with a triple-press on the Volume Down button. Mute is also supported in Homebridge. Optional.
393
404
 
394
405
  ### Channel Config Items
406
+
395
407
  Some channels such as Netflix are actually apps on the set-top box, and not normal linear TV channels. They appear in the channel list on the TV, and can be added to favourites from the TV menu (but not from the web app menu). However, they are not broadcast as a normal linear TV channel in the master channel list. Therefore, the name cannot be determined from the profile favourite channel list, and the name appears as "Channel xxxxxx" where xxxxxx is the channelId. To overcome this, add the channelId and the channelName to the channels section in the config as per the examples below.
396
408
 
397
- * **channelId**: The channelId, as defined by the TV provider. Unknown channelIds will appear in the Homebridge log.
409
+ - **channelId**: The channelId, as defined by the TV provider. Unknown channelIds will appear in the Homebridge log.
398
410
 
399
- * **channelKeyMacro**: The channel key macro (key sequence) to send. If channelKeyMacro is present, channelId is ignored.
411
+ - **channelKeyMacro**: The channel key macro (key sequence) to send. If channelKeyMacro is present, channelId is ignored.
400
412
 
401
- * **channelNames**: Allows you to add unknown channel names, names for key macros, or to rename any channel as you wish. Required as some channels (e.g., Netflix) are not published on the master channel list. If a channel displays in the Home app like this: "Channel SV09690", then check your TV to see the channel name, and add it to the config. An example is provided for Netflix. Optional, unknown channels are displayed as "Channel xxxxxxx" where xxxxxxx is the channelId.
413
+ - **channelNames**: Allows you to add unknown channel names, names for key macros, or to rename any channel as you wish. Required as some channels (e.g., Netflix) are not published on the master channel list. If a channel displays in the Home app like this: "Channel SV09690", then check your TV to see the channel name, and add it to the config. An example is provided for Netflix. Optional, unknown channels are displayed as "Channel xxxxxxx" where xxxxxxx is the channelId.
402
414
 
415
+ - Telenet BE:
403
416
 
404
- * Telenet BE:
405
417
  ```js
406
418
  "channels": [
407
419
  {
@@ -410,22 +422,24 @@ Some channels such as Netflix are actually apps on the set-top box, and not norm
410
422
  }
411
423
  ]
412
424
  ```
413
-
414
- * Virgin Media GB:
415
- ```js
416
- "channels": [
417
- {
418
- "channelId": "1755",
419
- "channelName": "Netflix"
420
- },
421
- {
422
- "channelId": "2054",
423
- "channelName": "Prime Video"
424
- }
425
- ]
425
+
426
+ - Virgin Media GB:
427
+
428
+ ```js
429
+ "channels": [
430
+ {
431
+ "channelId": "1755",
432
+ "channelName": "Netflix"
433
+ },
434
+ {
435
+ "channelId": "2054",
436
+ "channelName": "Prime Video"
437
+ }
438
+ ]
426
439
  ```
427
440
 
428
- * Sunrise CH:
441
+ - Sunrise CH:
442
+
429
443
  ```js
430
444
  "channels": [
431
445
  {
@@ -435,7 +449,8 @@ Some channels such as Netflix are actually apps on the set-top box, and not norm
435
449
  ]
436
450
  ```
437
451
 
438
- * Ziggo NL:
452
+ - Ziggo NL:
453
+
439
454
  ```js
440
455
  "channels": [
441
456
  {
@@ -449,45 +464,46 @@ Some channels such as Netflix are actually apps on the set-top box, and not norm
449
464
  ]
450
465
  ```
451
466
 
452
-
453
-
454
-
455
-
456
467
  ## Set-Top Box KeyEvent Commands
457
- See the Wiki for [a collection of known key event commands that control the set-top box](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents).
468
+
469
+ See the Wiki for [a collection of known key event commands that control the set-top box](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents).
458
470
 
459
471
  ## Special Commands
472
+
460
473
  The volume and mute commands do not control the set-top box directly, but can be used to control the TV or Receiver volume (network remote control of the TV is required).
461
474
 
462
475
  ### Volume
463
- * **VolumeUp** and **VolumeDown**: When the Apple TV Remote is displayed, the iOS device volume controls can be used to control the volume of your TV. However, this is not done via the set-top box, but instead via a command using a command line interface (CLI) to your TV. Your TV must be capable of being controlled remotely via any machine that can accept a bash command, such as a raspberry pi. The author has a Samsung Home Theater HT-D5500 and runs Homebridge on a raspberry pi, and thus uses [samsungctl](https://github.com/Ape/samsungctl/) which allows KEY_VOLUP, KEY_VOLDOWN and KEY_MUTE to be easily sent to the Samsung Home Theater. If you already have volume buttons in Homebridge for your TV, you can control Homebridge via the command line. See the [TV Volume Control Wiki page] (https://github.com/jsiegenthaler/homebridge-eosstb/wiki/TV-Volume-Control) and also [the examples in issue 506 in the Homebridge issues log](https://github.com/homebridge/homebridge/issues/506) and scroll to the bottom to see some working command lines. Once you know what bash command works, configure it in volUpCommand and volDownCommand.
476
+
477
+ - **VolumeUp** and **VolumeDown**: When the Apple TV Remote is displayed, the iOS device volume controls can be used to control the volume of your TV. However, this is not done via the set-top box, but instead via a command using a command line interface (CLI) to your TV. Your TV must be capable of being controlled remotely via any machine that can accept a bash command, such as a raspberry pi. The author has a Samsung Home Theater HT-D5500 and runs Homebridge on a raspberry pi, and thus uses [samsungctl](https://github.com/Ape/samsungctl/) which allows KEY_VOLUP, KEY_VOLDOWN and KEY_MUTE to be easily sent to the Samsung Home Theater. If you already have volume buttons in Homebridge for your TV, you can control Homebridge via the command line. See the [TV Volume Control Wiki page] (https://github.com/jsiegenthaler/homebridge-eosstb/wiki/TV-Volume-Control) and also [the examples in issue 506 in the Homebridge issues log](https://github.com/homebridge/homebridge/issues/506) and scroll to the bottom to see some working command lines. Once you know what bash command works, configure it in volUpCommand and volDownCommand.
464
478
 
465
479
  ### Mute
466
- * **Mute** is supported natively by the Apple TV Remote as of iOS 18.0. This plugin also supports Mute with a triple-press detection on the volume down button, so that prior iOS versions also have a Mute capability. Press the volume down button three times within 800ms, and the Mute command will be sent using the command stored in the **muteCommand** config item.
480
+
481
+ - **Mute** is supported natively by the Apple TV Remote as of iOS 18.0. This plugin also supports Mute with a triple-press detection on the volume down button, so that prior iOS versions also have a Mute capability. Press the volume down button three times within 800ms, and the Mute command will be sent using the command stored in the **muteCommand** config item.
467
482
 
468
483
  ### View TV Settings
469
- You can use **View TV Settings** to open the set-top box main menu at the **PROFILES** menu. Usage: in the Home app, tap-and-wait on the set-top box tile to open the channel changer, then tap on the cogwheel to open the settings for the accessory, and scroll down to **View TV Settings**.
470
484
 
485
+ You can use **View TV Settings** to open the set-top box main menu at the **PROFILES** menu. Usage: in the Home app, tap-and-wait on the set-top box tile to open the channel changer, then tap on the cogwheel to open the settings for the accessory, and scroll down to **View TV Settings**.
471
486
 
472
487
  ## Siri
473
- See the Wiki for [details on how to control the set-top box with Siri](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Siri).
474
-
488
+
489
+ See the Wiki for [details on how to control the set-top box with Siri](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Siri).
475
490
 
476
491
  ## Shortcuts
477
- See the Wiki for [details on how to read and control the set-top box in the Shortcuts app](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Shortcuts).
478
492
 
493
+ See the Wiki for [details on how to read and control the set-top box in the Shortcuts app](https://github.com/jsiegenthaler/homebridge-eosstb/wiki/Shortcuts).
479
494
 
480
495
  ## Thanks to
481
- * [homebridge-yamaha-avr](https://github.com/ACDR/homebridge-yamaha-avr)
482
496
 
483
- * https://openbase.io/js/homebridge-denon-tv/documentation
497
+ - [homebridge-yamaha-avr](https://github.com/ACDR/homebridge-yamaha-avr)
498
+
499
+ - https://openbase.io/js/homebridge-denon-tv/documentation
484
500
 
485
- * [NextRemoteJs](https://github.com/basst85/NextRemoteJs/)
501
+ - [NextRemoteJs](https://github.com/basst85/NextRemoteJs/)
486
502
 
487
- * [ziggonext-python by Rudolf Offereins](https://pypi.org/project/ziggonext/#description) Rudolf is the best!
503
+ - [ziggonext-python by Rudolf Offereins](https://pypi.org/project/ziggonext/#description) Rudolf is the best!
488
504
 
489
- * My helpers in Belgium: [Wesley Liekens† (RIP)](https://www.facebook.com/deliekes) and [Anthony Dekimpe](https://www.facebook.com/anthony.dekimpe) for helping me get the session code working for Telenet
505
+ - My helpers in Belgium: [Wesley Liekens† (RIP)](https://www.facebook.com/deliekes) and [Anthony Dekimpe](https://www.facebook.com/anthony.dekimpe) for helping me get the session code working for Telenet
490
506
 
491
- * My helpers in Great Britain and Ireland (you know who you are) for helping me get the session code working for Virgin Media
507
+ - My helpers in Great Britain and Ireland (you know who you are) for helping me get the session code working for Virgin Media
492
508
 
493
- * [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) (previously known as UPC Broadband) for making such a useful Horizon TV platform and lovely set-top boxes
509
+ - [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) (previously known as UPC Broadband) for making such a useful Horizon TV platform and lovely set-top boxes