homebridge-eosstb 2.3.8 → 2.4.0-alpha.33

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/CHANGELOG.md CHANGED
@@ -8,7 +8,199 @@ Please restart Homebridge after every plugin update.
8
8
 
9
9
  ## Current To-Do and In-Work List (For Future Releases, in rough order of priority):
10
10
 
11
- - Try and get authentication working again for CH and GB HELP NEEDED
11
+ TODO
12
+ review all http endpoints, make sure a suitable log entry is being made so I can check the data is plausible
13
+
14
+ configsvc
15
+ authorizationService DONE
16
+ personalizationService DONE
17
+ purchaseService
18
+ recordingService
19
+ linearService
20
+ sessionService
21
+
22
+ IMPORTANR
23
+ Implement setTargetMediaState to send the Play/Pause/Stop functions, so that Eve can control the media state. Watch out for sending commands twice when using the remote control. maybe the sendKey redirects to the setmediaState?
24
+
25
+ CHECK
26
+ make sendKey logging consistent
27
+
28
+ CHECK
29
+ what are my issues with persistence?
30
+ Persisting the input state visibility between restarts would be good
31
+ Visibility cannot be set if the user has no WriteAccess to the channel list!!
32
+ Persistance test:
33
+ 1. Hide the channel SRF info using Home app
34
+ 2. Force-close and reopen the home app. Confirm channel is still hidden
35
+ 3. Confirm the current visibility state in the plugin logs is correct
36
+ 3. Restart the plugin
37
+ 4. Observe the current visibility state in the plugin logs - does it get the right value from HomeKit HAP? If so, no persistance required.
38
+
39
+ Device name: this comes from backend
40
+ Channel name: overwrite not allowed - can we disable in HomeKit. Yes, but prevents setting visibility
41
+
42
+ CHALLENGE
43
+ The mostWatchedChannelList is not working
44
+
45
+ ## 2.4.0-alpha.33 (2026-03-07)
46
+
47
+ - optimised getmqtttoken
48
+ - checked function of setTargetMediaState , needs testing, controlled by Eve
49
+
50
+ ## 2.4.0-alpha.32 (2026-03-07)
51
+
52
+ - made all urls into proper url objects
53
+ - fixed issue with getMostWatchedChannels
54
+
55
+ ## 2.4.0-alpha.31 (2026-03-07)
56
+
57
+ - change the master channel list refresh to once a day at a random time between 0000 and 0600. The user setting has no impact and can be removed
58
+ - cleaned up some more diagnostic logging
59
+
60
+ ## 2.4.0-alpha.30 (2026-03-07)
61
+
62
+ - cleaned up some diagnostic logging
63
+
64
+ ## 2.4.0-alpha.29 (2026-03-06)
65
+
66
+ - optimised refreshDeviceChannelList
67
+
68
+ ## 2.4.0-alpha.28 (2026-03-06)
69
+
70
+ - fixed issue with detecting status, introduce 2 versions ago
71
+
72
+ ## 2.4.0-alpha.27 (2026-03-06)
73
+
74
+ -- removed test code to detect plugin shutdown
75
+
76
+ ## 2.4.0-alpha.26 (2026-03-06)
77
+
78
+ -- added test code to detect plugin shutdown
79
+ - added clean unsubscribe on plugin shutdown
80
+
81
+ ## 2.4.0-alpha.25 (2026-03-05)
82
+
83
+ - fixed introduced bug in setRemoteKey
84
+
85
+ ## 2.4.0-alpha.24 (2026-03-05)
86
+
87
+ - made channel ConfiguredName read only as the backend defines the channel name
88
+
89
+ ## 2.4.0-alpha.23 (2026-03-05)
90
+
91
+ - optimised setRemoteKey
92
+
93
+ ## 2.4.0-alpha.22 (2026-03-05)
94
+
95
+ - fixed error handling in refreshMasterChannelList
96
+
97
+ ## 2.4.0-alpha.21 (2026-03-05)
98
+
99
+ - fixed logging bug in sendKey
100
+
101
+ ## 2.4.0-alpha.20 (2026-03-05)
102
+
103
+ - improved accessory information display to show a better serialnumber
104
+ - updated set-top box model name for 2008C
105
+ - added more robustness to many calls in case we never get a configsvc response
106
+ - optimised the mqttDeviceStateHandler
107
+ - improved refreshMasterChannelList
108
+ - improved a lot of webservice calls, removing promises and going to try-catch
109
+
110
+ ## 2.4.0-alpha.19 (2026-03-04)
111
+
112
+ - removed some dead code
113
+ - enabled handler for setClosedCaptions and setPictureMode, test control from Eve app
114
+ - improved send key logging
115
+
116
+ ## 2.4.0-alpha.18 (2026-03-03)
117
+
118
+ - Fixed dislayOrder crash on startup - check this!
119
+ - Optimised post publishExternalAccessories HAP updates
120
+ - Changed all updateValue to updateCharacteristic post-publish to be more HAP compliant
121
+
122
+ ## 2.4.0-alpha.17 (2026-03-03)
123
+
124
+ - Cleaned up the platform code
125
+ - Changed all get/set handlers to async
126
+ - Optimised all get/set handlers
127
+ - More HAP minor bug fixes and optimisations
128
+
129
+ ## 2.4.0-alpha.16 (2026-03-03)
130
+
131
+ - Fixed bug: TypeError: this.prepareinputSourceServices is not a function
132
+
133
+ ## 2.4.0-alpha.15 (2026-03-03)
134
+
135
+ - Renamed Current Channnel Id and Current Channel Name to Active Channel Id and Active Channel Name for consistency with Active Identifier
136
+
137
+ ## 2.4.0-alpha.14 (2026-03-03)
138
+
139
+ - Optimised HAP code for strict compliance
140
+ - Removed debug logging
141
+
142
+ ## 2.4.0-alpha.13 (2026-03-03)
143
+
144
+ - Fixes to logging of getInputName for diagnostics
145
+
146
+ ## 2.4.0-alpha.12 (2026-03-03)
147
+
148
+ - More improvements to get ConfiguredName working properly on the Eve app (needs testing for both TV and Inputs)
149
+
150
+ ## 2.4.0-alpha.11 (2026-03-03)
151
+
152
+ - Fixed logging bug in setInputName
153
+
154
+ ## 2.4.0-alpha.10 (2026-03-03)
155
+
156
+ ## 2.4.0-alpha.9 (2026-03-03)
157
+
158
+ ## 2.4.0-alpha.8 (2026-03-03)
159
+
160
+ - More improvements to get ConfiguredName working properly on the Eve app (needs testing for both TV and Inputs)
161
+
162
+ ## 2.4.0-alpha.7 (2026-03-03)
163
+
164
+ - Corrected some debug log levels
165
+ - Fixed ConfiguredName being empty on the Eve app (needs testing for both TV and Inputs)
166
+
167
+ ## 2.4.0-alpha.6 (2026-03-02)
168
+
169
+ - Removed getMute and getVolume, these are not supported
170
+ - More code optimisations
171
+
172
+ ## 2.4.0-alpha.5 (2026-03-02)
173
+
174
+ - More code performance improvements
175
+ - Improved all HAP code
176
+
177
+ ## 2.4.0-alpha.4 (2026-03-02)
178
+
179
+ - Fixed self bug in volume control
180
+
181
+ ## 2.4.0-alpha.4 (2026-03-02)
182
+
183
+ - Fixed self bug in volume control
184
+
185
+ ## 2.4.0-alpha.3 (2026-03-02)
186
+
187
+ - Fixed new introduced bug with displayed channel being incorrect (offset by 1)
188
+ - Added "devMode": true support to config.json
189
+
190
+ ## 2.4.0-alpha.2 (2026-03-01)
191
+
192
+ - Improved README.md text
193
+ - Improved config.schema.json description text
194
+ - Improved discovery of devices and accessory setup
195
+ - Improved mqtt handling
196
+ - Improved overall code robustness and fixed many small bugs
197
+ - Fixed spelling mistakes in comments
198
+
199
+ ## 2.4.0-alpha.1 (2026-02-27)
200
+
201
+ - Adapted login sequence for CH
202
+ - Updated config.schema.json to support new CH login method and improced description texts
203
+ - Bumped dependency "axios": "^1.13.6",
12
204
 
13
205
  ## 2.3.8 (2026-02-27)
14
206
 
package/README.md CHANGED
@@ -58,7 +58,7 @@ Logon methods for many providers changed from January 2024 to mid February 2024.
58
58
 
59
59
  ## Help Wanted
60
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.
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 you are able to help, please get in touch.
62
62
 
63
63
  ## Readme Applicability
64
64
 
@@ -79,7 +79,7 @@ As [Liberty Global](https://en.wikipedia.org/wiki/Liberty_Global) (the operator
79
79
  | ------- | ----------- | ------- | -------- | ------------- |
80
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) |
81
81
 
82
- If you subscribe to a TV service from one of these countries, you are lucky, this plugin will work for you.
82
+ If you subscribe to a TV service from one of these countries, you are lucky - this plugin will work for you.
83
83
 
84
84
  May also work with other Liberty Global countries, if you know of any, let me know.
85
85
 
@@ -97,12 +97,12 @@ In January 2023, an ARRIS VIP5002W appeared, which identifies itself as an APLST
97
97
 
98
98
  ## Disclaimer (The Legal Stuff)
99
99
 
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.
100
+ This plugin is not provided by Telenet or Sunrise or Virgin Media or Ziggo or 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.
101
101
 
102
102
  ## Requirements
103
103
 
104
- - An Apple iPhone or iPad with iOS/iPadOS 14.0 (or later). Developed on iOS 14.1...26.3, earlier versions not tested.
105
- - [Homebridge](https://homebridge.io/) v1.1.116 (or later). Developed on Homebridge 1.1.116....1.11.2, earlier versions not tested.
104
+ - An Apple iPhone or iPad with iOS/iPadOS 14.0 (or later). Developed on iOS 14.1-26.3, earlier versions not tested.
105
+ - [Homebridge](https://homebridge.io/) v1.1.116 (or later). Developed on Homebridge 1.1.116-1.11.2, earlier versions not tested.
106
106
  - A TV subscription from one of the supported countries and TV providers.
107
107
  - An online account for viewing TV in the web app (often part of your TV package), see the table above.
108
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.
@@ -117,9 +117,9 @@ This plugin is not provided by Telenet or Sunrise or Virgin Media or Ziggo any o
117
117
 
118
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.
119
119
 
120
- - **Siri Support** You can control your set-top box with Siri (to the extent of what Apple Siri supports).
120
+ - **Siri Support**: You can control your set-top box with Siri (to the extent of what Apple Siri supports).
121
121
 
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.
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.
123
123
 
124
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.
125
125
 
@@ -185,7 +185,7 @@ You can force a Home app refresh by switching to another room and then back agai
185
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**.
186
186
  Make sure you select the correct device from the drop-down list at the top of the Apple TV Remote:
187
187
 
188
- The following keys are supported by in the **Apple TV Remote** in the Control Center:
188
+ The following keys are supported in the **Apple TV Remote** in the Control Center:
189
189
 
190
190
  <img src="https://github.com/jsiegenthaler/homebridge-eosstb/blob/master/pics/RemoteControl.png" alt="RemoteControl" height="400" align="right">
191
191
 
@@ -246,7 +246,7 @@ The eosstb plugin can detect the target and current media state and shows STOP,
246
246
 
247
247
  ### Recording State Limitations
248
248
 
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.
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 characteristic if the set-top box is turned on or is recording to the local HDD. This is useful in Shortcuts or Automations.
250
250
 
251
251
  ### Closed Captions Limitations
252
252
 
@@ -269,7 +269,7 @@ Example minimum (mandatory) configuration:
269
269
  ]
270
270
  ```
271
271
 
272
- Example extended configuration as used on the author with his EOSSTB set-top box. An extended configuration allows you to customise the behaviour of each set-top box device. You must identify the devices by their deviceId:
272
+ Example extended configuration as used on the author on his EOSSTB set-top box. An extended configuration allows you to customise the behaviour of each set-top box device. You must identify the devices by their deviceId:
273
273
 
274
274
  ```js
275
275
  "platforms": [
@@ -343,7 +343,7 @@ Mandatory config items must always exist. These are used to establish the sessio
343
343
 
344
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.
345
345
 
346
- - **masterChannelListValidFor**: Amount of time in seconds that the master channel list stays valid for. Default 60s.
346
+ - **masterChannelListValidFor**: Duration in seconds that the master channel list stays valid for. Default 60s.
347
347
 
348
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.
349
349
 
@@ -400,7 +400,7 @@ If you want to configure your devices differently, do so here. Multiple devices
400
400
 
401
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.
402
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.
403
+ - **muteCommand**: The bash command to mute the TV. The command is sent by the Remote Contril Mute button or can be configured to trigger from a triple-press on the Volume Down button. Mute is also supported in Homebridge. Optional.
404
404
 
405
405
  ### Channel Config Items
406
406
 
@@ -474,7 +474,9 @@ The volume and mute commands do not control the set-top box directly, but can be
474
474
 
475
475
  ### Volume
476
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.
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 line interface (CLI) bash command, which activates a program to send commands 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.
478
+
479
+ 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.
478
480
 
479
481
  ### Mute
480
482
 
@@ -500,7 +502,7 @@ See the Wiki for [details on how to read and control the set-top box in the Shor
500
502
 
501
503
  - [NextRemoteJs](https://github.com/basst85/NextRemoteJs/)
502
504
 
503
- - [ziggonext-python by Rudolf Offereins](https://pypi.org/project/ziggonext/#description) Rudolf is the best!
505
+ - [ziggonext-python by Rudolf Offereins](https://pypi.org/project/ziggonext/#description)
504
506
 
505
507
  - 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
506
508
 
@@ -19,7 +19,7 @@
19
19
  "country": {
20
20
  "title": "Country",
21
21
  "type": "string",
22
- "description": "Your country. This controls the country-specific logon sequence and the mqtt sessions.",
22
+ "description": "Your country. This controls the country-specific authentication sequence and the MQTT sessions",
23
23
  "default": "ch",
24
24
  "required": true,
25
25
  "oneOf": [
@@ -27,7 +27,7 @@
27
27
  { "title": "BE-NL: Telenet TV", "enum": ["be-nl"] },
28
28
  { "title": "CH: Sunrise TV", "enum": ["ch"] },
29
29
  { "title": "GB: Virgin Media TV 360", "enum": ["gb"] },
30
- { "title": "IE. Virgin Media TV 360", "enum": ["ie"] },
30
+ { "title": "IE: Virgin Media TV 360", "enum": ["ie"] },
31
31
  { "title": "NL: Ziggo TV", "enum": ["nl"] },
32
32
  { "title": "PL: UPC TV GO", "enum": ["pl"] },
33
33
  { "title": "SK: UPC TV", "enum": ["sk"] }
@@ -36,35 +36,36 @@
36
36
  "username": {
37
37
  "title": "Username",
38
38
  "type": "string",
39
- "description": "Your username for your TV account.",
39
+ "description": "Your username for your TV account",
40
40
  "placeholder": "yourTvProviderUsername",
41
41
  "required": true
42
42
  },
43
43
  "password": {
44
44
  "title": "Password",
45
45
  "type": "string",
46
- "description": "Your password associated with your TV account.",
46
+ "description": "Your password associated with your TV account",
47
47
  "placeholder": "yourTvProviderPassword",
48
48
  "required": true
49
49
  },
50
50
  "authmethod": {
51
51
  "title": "Authentication Method",
52
52
  "type": "string",
53
- "description": "The authentication method. Select the option for your country. If it doesn't work, try another method.",
53
+ "description": "The authentication method. Select the option for your country. If it doesn't work, try another method",
54
54
  "default": "A",
55
55
  "required": true,
56
56
  "oneOf": [
57
- { "title": "Method A: CH, NL, IE", "enum": ["A"] },
57
+ { "title": "Method A: NL, IE", "enum": ["A"] },
58
58
  { "title": "Method B: BE", "enum": ["B"] },
59
59
  { "title": "Method C: GB", "enum": ["C"] },
60
- { "title": "Method D: OAuth 2.0 PKCE EXPERIMENTAL", "enum": ["D"] }
60
+ { "title": "Method D: CH", "enum": ["D"] },
61
+ { "title": "Method E: OAuth 2.0 PKCE EXPERIMENTAL", "enum": ["E"] }
61
62
  ]
62
63
  },
63
64
 
64
65
  "watchdogDisabled": {
65
66
  "title": "Disable Session Watchdog",
66
67
  "type": "boolean",
67
- "description": "Disables the session watchdog to assist with debugging. Default: false",
68
+ "description": "Disables the session watchdog. Enable this only for debugging purposes. Default: false",
68
69
  "default": false
69
70
  },
70
71
 
@@ -79,21 +80,15 @@
79
80
  "triplePressTime": {
80
81
  "title": "Triple-Press Time",
81
82
  "type": "integer",
82
- "description": "The amount of time in ms to detect triple-tap of an iOS remote control button. Default: 800ms.",
83
+ "description": "The amount of time in ms to detect triple-tap of an iOS remote control button. Default: 800ms",
84
+ "default": 800,
83
85
  "placeholder": 800
84
86
  },
85
87
 
86
- "masterChannelListValidFor": {
87
- "title": "Master Channel List Validity Time",
88
- "type": "integer",
89
- "description": "The amount of time in seconds that the master channel list is valid. Channel list is refreshed when the time expires. Default: 1800s.",
90
- "placeholder": 1800
91
- },
92
-
93
88
  "debugLevel": {
94
89
  "title": "Debug Level",
95
90
  "type": "integer",
96
- "description": "Enables extra logging for this plugin. Default: None.",
91
+ "description": "Enables extra logging for this plugin. Default: None",
97
92
  "oneOf": [
98
93
  { "title": "Minimum", "enum": [1] },
99
94
  { "title": "Enhanced", "enum": [2] },
@@ -104,7 +99,7 @@
104
99
  "devices": {
105
100
  "type": "array",
106
101
  "title": "Devices",
107
- "description": "Each set-top box is a device. This plugin supports multiple devices. Device config is optional; the plugin will still work if no devices are configured.",
102
+ "description": "Each set-top box is a device. This plugin supports multiple devices, each configurable individually. Device configuration is optional devices are auto-detected even without individual configuration",
108
103
  "items": {
109
104
  "title": "Devices",
110
105
  "type": "object",
@@ -112,10 +107,10 @@
112
107
  "deviceId": {
113
108
  "title": "Device ID",
114
109
  "type": "string",
115
- "description": "Unique deviceId used to identify the device. The deviceId is visible in the Homebridge log shortly after a Homebridge restart.",
110
+ "description": "Unique ID used to identify the device. The Device ID is visible in the Homebridge log shortly after a restart",
116
111
  "placeholder": "3C36E4-EOSSTB-000123456789",
117
112
  "minLength": 25,
118
- "required": true
113
+ "required": false
119
114
  },
120
115
  "name": {
121
116
  "title": "Name",
@@ -147,28 +142,28 @@
147
142
  "manufacturer": {
148
143
  "title": "Manufacturer",
149
144
  "type": "string",
150
- "description": "The manufacturer name to display in the Home app. Default: auto-detected.",
145
+ "description": "The manufacturer name to display in the Home app. Default: auto-detected",
151
146
  "placeholder": "ARRIS",
152
147
  "maxLength": 64
153
148
  },
154
149
  "modelName": {
155
150
  "title": "Model",
156
151
  "type": "string",
157
- "description": "The model name to display in the Home app. Default: auto-detected.",
152
+ "description": "The model name to display in the Home app. Default: auto-detected",
158
153
  "placeholder": "DCX960",
159
154
  "maxLength": 64
160
155
  },
161
156
  "serialNumber": {
162
157
  "title": "Serial Number",
163
158
  "type": "string",
164
- "description": "The serial number to display in the Home app. Default: auto-detected.",
159
+ "description": "The serial number to display in the Home app. Default: auto-detected",
165
160
  "placeholder": "Current Serial Number",
166
161
  "maxLength": 64
167
162
  },
168
163
  "firmwareRevision": {
169
164
  "title": "Firmware",
170
165
  "type": "string",
171
- "description": "The firmware version to display in the Home app. Numbers only eg 4.44. Default: plugin version.",
166
+ "description": "The firmware version to display in the Home app. Numbers only, e.g. 4.44. Default: plugin version",
172
167
  "placeholder": "4.44",
173
168
  "pattern": "^(\\d+)((\\.{1}\\d+)*)(\\.{0})$"
174
169
  },
@@ -793,7 +788,7 @@
793
788
  "customPictureMode": {
794
789
  "title": "Custom Picture Mode",
795
790
  "type": "string",
796
- "description": "Allow Picture Mode to be used for other custom functionality, see README for full details.",
791
+ "description": "Allows Picture Mode to be repurposed for custom functionality. See the README for full details",
797
792
  "oneOf": [
798
793
  { "title": "Recording State", "enum": ["recordingState"] }
799
794
  ]
@@ -805,7 +800,7 @@
805
800
  "channels": {
806
801
  "type": "array",
807
802
  "title": "Channels",
808
- "description": "Add custom channel names for any special channels (such as Netflix) where the channel name cannot be auto-detected by the plugin.",
803
+ "description": "Add custom channel names for any special channels (such as Netflix) where the channel name cannot be auto-detected by the plugin",
809
804
  "items": {
810
805
  "title": "Channel Names",
811
806
  "type": "object",
@@ -813,12 +808,12 @@
813
808
  "channelId": {
814
809
  "title": "Channel ID",
815
810
  "type": "string",
816
- "description": "Unique channelId, see the Homebridge log."
811
+ "description": "The unique Channel ID. Find this in the Homebridge log"
817
812
  },
818
813
  "channelKeyMacro": {
819
814
  "title": "Channel Key Macro",
820
815
  "type": "string",
821
- "description": "A sequence of remote control keys for enhanced customising. Channel ID must be empty to use key macros. Example: '1 2 3 Enter' to select channel 123. See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys."
816
+ "description": "A sequence of remote control keys for enhanced customization. Channel ID must be empty to use key macros. Example: '1 2 3 Enter' to select channel 123. See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys."
822
817
  },
823
818
  "channelName": {
824
819
  "title": "Channel Name",
@@ -834,8 +829,8 @@
834
829
  "layout": [
835
830
  {
836
831
  "type": "fieldset",
837
- "title": "Mandatory Platform Config *",
838
- "description": "The minimum EOSSTB config items that must be configured.",
832
+ "title": "Mandatory Platform Config",
833
+ "description": "The minimum EOSSTB config items that must be configured",
839
834
  "expandable": true,
840
835
  "expanded": false,
841
836
  "items": [
@@ -861,14 +856,13 @@
861
856
  {
862
857
  "type": "fieldset",
863
858
  "title": "Optional Platform Config",
864
- "description": "Customise the platform config and set the debug level in this section.",
859
+ "description": "Customise the platform config and set the debug level in this section",
865
860
  "expandable": true,
866
861
  "expanded": false,
867
862
  "items": [
868
863
  "name",
869
864
  "doublePressTime",
870
865
  "triplePressTime",
871
- "masterChannelListValidFor",
872
866
  "debugLevel"
873
867
  ]
874
868
  },
@@ -876,7 +870,7 @@
876
870
  {
877
871
  "type": "fieldset",
878
872
  "title": "Optional Device Config",
879
- "description": "Customise and fine tune your device config in this section.",
873
+ "description": "Customise and fine tune your device config in this section",
880
874
  "expandable": true,
881
875
  "expanded": false,
882
876
  "items": [
@@ -935,7 +929,7 @@
935
929
  {
936
930
  "type": "flex",
937
931
  "flex-flow": "row wrap",
938
- "title": "The key to send when the <b>(Arrow Up)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
932
+ "title": "The key to send when the <b>(Arrow Up)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
939
933
  "items": [
940
934
  "devices[].arrowUpButton",
941
935
  "devices[].arrowUpButtonDoubleTap"
@@ -952,7 +946,7 @@
952
946
  {
953
947
  "type": "flex",
954
948
  "flex-flow": "row wrap",
955
- "title": "The key to send when the <b>(Arrow Down)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
949
+ "title": "The key to send when the <b>(Arrow Down)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
956
950
  "items": [
957
951
  "devices[].arrowDownButton",
958
952
  "devices[].arrowDownButtonDoubleTap"
@@ -969,7 +963,7 @@
969
963
  {
970
964
  "type": "flex",
971
965
  "flex-flow": "row wrap",
972
- "title": "The key to send when the <b>(Arrow Left)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
966
+ "title": "The key to send when the <b>(Arrow Left)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
973
967
  "items": [
974
968
  "devices[].arrowLeftButton",
975
969
  "devices[].arrowLeftButtonDoubleTap"
@@ -986,7 +980,7 @@
986
980
  {
987
981
  "type": "flex",
988
982
  "flex-flow": "row wrap",
989
- "title": "The key to send when the <b>(Arrow Right)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
983
+ "title": "The key to send when the <b>(Arrow Right)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
990
984
  "items": [
991
985
  "devices[].arrowRightButton",
992
986
  "devices[].arrowRightButtonDoubleTap"
@@ -1003,7 +997,7 @@
1003
997
  {
1004
998
  "type": "flex",
1005
999
  "flex-flow": "row wrap",
1006
- "title": "The key to send when the <b>(Select)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
1000
+ "title": "The key to send when the <b>(Select)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
1007
1001
  "items": [
1008
1002
  "devices[].selectButton",
1009
1003
  "devices[].selectButtonDoubleTap"
@@ -1021,7 +1015,7 @@
1021
1015
  {
1022
1016
  "type": "flex",
1023
1017
  "flex-flow": "row wrap",
1024
- "title": "The key to send when the <b>(Play/Pause)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
1018
+ "title": "The key to send when the <b>(Play/Pause)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
1025
1019
  "items": [
1026
1020
  "devices[].playPauseButton",
1027
1021
  "devices[].playPauseButtonDoubleTap"
@@ -1038,7 +1032,7 @@
1038
1032
  {
1039
1033
  "type": "flex",
1040
1034
  "flex-flow": "row wrap",
1041
- "title": "The key to send when the <b>(BACK)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
1035
+ "title": "The key to send when the <b>(BACK)</b> button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
1042
1036
  "items": [
1043
1037
  "devices[].backButton",
1044
1038
  "devices[].backButtonDoubleTap"
@@ -1055,7 +1049,7 @@
1055
1049
  {
1056
1050
  "type": "flex",
1057
1051
  "flex-flow": "row wrap",
1058
- "title": "The key to send when the <b>(i)</b> info button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
1052
+ "title": "The key to send when the <b>(i)</b> info button is tapped on the iOS remote.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
1059
1053
  "items": [
1060
1054
  "devices[].infoButton",
1061
1055
  "devices[].infoButtonDoubleTap"
@@ -1073,7 +1067,7 @@
1073
1067
  {
1074
1068
  "type": "flex",
1075
1069
  "flex-flow": "row wrap",
1076
- "title": "The key to send when <b>View TV Settings</b> is selected in the accessory in the Home app.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys.",
1070
+ "title": "The key to send when <b>View TV Settings</b> is selected in the accessory in the Home app.<br>See the <a href=\"https://github.com/jsiegenthaler/homebridge-eosstb/wiki/KeyEvents#known-keys\">Wiki</a> for a description of all keys",
1077
1071
  "items": ["devices[].viewTvSettingsCommand"]
1078
1072
  }
1079
1073
  ]
@@ -1099,7 +1093,7 @@
1099
1093
  {
1100
1094
  "type": "fieldset",
1101
1095
  "title": "Optional Channel Config",
1102
- "description": "Customise special channel names in this section.",
1096
+ "description": "Customise special channel names in this section",
1103
1097
  "expandable": true,
1104
1098
  "expanded": false,
1105
1099
  "items": [