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 +193 -1
- package/README.md +16 -14
- package/config.schema.json +37 -43
- package/index.js +5053 -4465
- package/package.json +3 -2
- package/sample-config.json +2 -1
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
|
-
|
|
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
|
|
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
|
|
105
|
-
- [Homebridge](https://homebridge.io/) v1.1.116 (or later). Developed on Homebridge 1.1.116
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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**:
|
|
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.
|
|
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
|
|
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)
|
|
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
|
|
package/config.schema.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"country": {
|
|
20
20
|
"title": "Country",
|
|
21
21
|
"type": "string",
|
|
22
|
-
"description": "Your country. This controls the country-specific
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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":
|
|
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
|
|
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": "
|
|
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": "
|
|
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
|
|
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": [
|