homebridge-eosstb 2.4.0-alpha.37 → 2.4.0-alpha.39
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 +26 -0
- package/index.js +16 -19
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -22,6 +22,15 @@ sessionService
|
|
|
22
22
|
IMPORTANR
|
|
23
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
24
|
|
|
25
|
+
Behavious: SetMediaState from 0 to 1 will start playing.
|
|
26
|
+
Behavious: SetMediaState from 0 to 1 will start playing.
|
|
27
|
+
Behavious: SetMediaState from 2 to 1 will start playing.
|
|
28
|
+
Behavious: SetMediaState from 1 to 2 will start playing.
|
|
29
|
+
unreliable, compare to webclient... this is driving me crazy!
|
|
30
|
+
might have to revert to sendKeys to set Play and Stop/Pause
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
25
34
|
CHECK
|
|
26
35
|
make sendKey logging consistent
|
|
27
36
|
|
|
@@ -42,6 +51,23 @@ Channel name: overwrite not allowed - can we disable in HomeKit. Yes, but preven
|
|
|
42
51
|
CHALLENGE
|
|
43
52
|
The mostWatchedChannelList is not working
|
|
44
53
|
|
|
54
|
+
## 2.4.0-alpha.39 (2026-05-07)
|
|
55
|
+
- fixed issues caused by HAP-NodeJS v1 released with Homberidge v2 where use of enums off the Characteristic class is no longer supported
|
|
56
|
+
- due to these HAP-NodeJS changes, support for Homebridge versions below 2.0.0 is no longer provided
|
|
57
|
+
- Bumped engine "homebridge": "^2.0.0",
|
|
58
|
+
- Bumped engine "node": "^24.15.0"
|
|
59
|
+
- Bumped dependency "axios": "^1.16.0",
|
|
60
|
+
- Bumped dependency "axios-cookiejar-support": "^7.0.0",
|
|
61
|
+
- Bumped dependency "mqtt": "^5.15.1",
|
|
62
|
+
- Bumped dependency "puppeteer-core": "^24.43.0",
|
|
63
|
+
- Bumped dependency "qs": "^6.15.1",
|
|
64
|
+
- Bumped dependency "tough-cookie": "^6.0.1",
|
|
65
|
+
- Bumped dependency "ws": "^8.20.0"
|
|
66
|
+
|
|
67
|
+
## 2.4.0-alpha.38 (2026-03-07)
|
|
68
|
+
|
|
69
|
+
- changes to settargetmediastate & setMediaState
|
|
70
|
+
|
|
45
71
|
## 2.4.0-alpha.37 (2026-03-07)
|
|
46
72
|
|
|
47
73
|
- changes to settargetmediastate
|
package/index.js
CHANGED
|
@@ -407,12 +407,6 @@ class StbPlatform {
|
|
|
407
407
|
this.mqttClientConnecting = false;
|
|
408
408
|
this.currentStatusFault = null;
|
|
409
409
|
|
|
410
|
-
/*
|
|
411
|
-
this.inputsFile = this.storagePath + '/' + 'inputs_' + this.host.split('.').join('');
|
|
412
|
-
this.customInputsFile = this.storagePath + '/' + 'customInputs_' + this.host.split('.').join('');
|
|
413
|
-
this.devInfoFile = this.storagePath + '/' + 'devInfo_' + this.host.split('.').join('');
|
|
414
|
-
*/
|
|
415
|
-
|
|
416
410
|
/*
|
|
417
411
|
* Platforms should wait until the "didFinishLaunching" event has fired before registering any new accessories.
|
|
418
412
|
*/
|
|
@@ -5137,7 +5131,7 @@ class StbPlatform {
|
|
|
5137
5131
|
}
|
|
5138
5132
|
|
|
5139
5133
|
// set the media state of the settopbox via mqtt
|
|
5140
|
-
// controlled by speedRate
|
|
5134
|
+
// media state is controlled by speedRate
|
|
5141
5135
|
// speedRate can be one of: -64 -30 -6 -2 0 2 6 30 64. 0=Paused, 1=Play, >1=FastForward, <0=Rewind
|
|
5142
5136
|
setMediaState(deviceId, deviceName, channelId, speedRate) {
|
|
5143
5137
|
try {
|
|
@@ -5151,6 +5145,7 @@ class StbPlatform {
|
|
|
5151
5145
|
);
|
|
5152
5146
|
}
|
|
5153
5147
|
if (this.mqttUsername) {
|
|
5148
|
+
const topic = `${this.mqttUsername}/${deviceId}`;
|
|
5154
5149
|
const payload = JSON.stringify({
|
|
5155
5150
|
id: randomUUID(),
|
|
5156
5151
|
type: "CPE.pushToTV",
|
|
@@ -5165,7 +5160,11 @@ class StbPlatform {
|
|
|
5165
5160
|
speed: speedRate,
|
|
5166
5161
|
},
|
|
5167
5162
|
});
|
|
5168
|
-
|
|
5163
|
+
if (this.debugLevel > 0) {
|
|
5164
|
+
this.log.warn("setMediaState: publishing to topic:", topic);
|
|
5165
|
+
}
|
|
5166
|
+
this.log.warn(payload);
|
|
5167
|
+
this.mqttPublishMessage(topic, payload, {
|
|
5169
5168
|
qos: 2,
|
|
5170
5169
|
retain: true,
|
|
5171
5170
|
});
|
|
@@ -6060,7 +6059,7 @@ class StbDevice {
|
|
|
6060
6059
|
)
|
|
6061
6060
|
.setCharacteristic(
|
|
6062
6061
|
Characteristic.ProgramMode,
|
|
6063
|
-
Characteristic.ProgramMode.NO_PROGRAM_SCHEDULED, // NO_PROGRAM_SCHEDULED | PROGRAM_SCHEDULED |
|
|
6062
|
+
Characteristic.ProgramMode.NO_PROGRAM_SCHEDULED, // NO_PROGRAM_SCHEDULED | PROGRAM_SCHEDULED | PROGRAM_SCHEDULED_MANUAL_MODE
|
|
6064
6063
|
)
|
|
6065
6064
|
.setCharacteristic(
|
|
6066
6065
|
Characteristic.StatusActive,
|
|
@@ -6170,8 +6169,8 @@ class StbDevice {
|
|
|
6170
6169
|
// Helper to create and register a read-only, notifiable string characteristic
|
|
6171
6170
|
const addCustomCharacteristic = (name, uuidPrefix, getHandler) => {
|
|
6172
6171
|
const characteristic = new Characteristic(name, uuidPrefix + BASE_UUID, {
|
|
6173
|
-
format:
|
|
6174
|
-
perms: [
|
|
6172
|
+
format: this.api.hap.Formats.STRING,
|
|
6173
|
+
perms: [this.api.hap.Perms.PAIRED_READ, this.api.hap.Perms.NOTIFY],
|
|
6175
6174
|
});
|
|
6176
6175
|
characteristic.value = ""; // Default empty value required by HomeKit
|
|
6177
6176
|
characteristic.onGet(getHandler.bind(this));
|
|
@@ -6385,8 +6384,8 @@ class StbDevice {
|
|
|
6385
6384
|
.getCharacteristic(Characteristic.ConfiguredName)
|
|
6386
6385
|
.setProps({
|
|
6387
6386
|
perms: [
|
|
6388
|
-
|
|
6389
|
-
|
|
6387
|
+
this.api.hap.Perms.PAIRED_READ,
|
|
6388
|
+
this.api.hap.Perms.NOTIFY,
|
|
6390
6389
|
],
|
|
6391
6390
|
})
|
|
6392
6391
|
.onGet(() => this.getInputName(i));
|
|
@@ -8193,8 +8192,6 @@ class StbDevice {
|
|
|
8193
8192
|
targetMediaState,
|
|
8194
8193
|
CHAR_NAMES.TargetMediaState[targetMediaState + 1],
|
|
8195
8194
|
);
|
|
8196
|
-
|
|
8197
|
-
this.log(CHAR_NAMES)
|
|
8198
8195
|
// }
|
|
8199
8196
|
|
|
8200
8197
|
if (!logChangeOnly) {
|
|
@@ -8209,7 +8206,7 @@ class StbDevice {
|
|
|
8209
8206
|
// PAUSE 1 - 0 Paused
|
|
8210
8207
|
// STOP 2 - 0 Paused
|
|
8211
8208
|
const newBoxMediaState = targetMediaState === Characteristic.TargetMediaState.PLAY ? 1 : 0;
|
|
8212
|
-
const newBoxMediaStateName = newBoxMediaState === 1 ? "Play" : "
|
|
8209
|
+
const newBoxMediaStateName = newBoxMediaState === 1 ? "Play" : "Paused";
|
|
8213
8210
|
|
|
8214
8211
|
//if (this.debugLevel >= 0) {
|
|
8215
8212
|
this.log(
|
|
@@ -8404,9 +8401,9 @@ class StbDevice {
|
|
|
8404
8401
|
keyNameLayer[DEFAULT_KEYNAME] = "MediaFastForward";
|
|
8405
8402
|
break;
|
|
8406
8403
|
|
|
8407
|
-
case Characteristic.RemoteKey.NEXT_TRACK: // 2
|
|
8408
|
-
case Characteristic.RemoteKey.PREVIOUS_TRACK: // 3
|
|
8409
|
-
// no button exists in the Apple TV Remote for NEXT_TRACK or PREVIOUS_TRACK (as of iOS 14 & 15)
|
|
8404
|
+
case Characteristic.RemoteKey.NEXT_TRACK: // 2 MediaTrackNext
|
|
8405
|
+
case Characteristic.RemoteKey.PREVIOUS_TRACK: // 3 MediaTrackPrevious
|
|
8406
|
+
// no button exists in the Apple TV Remote for NEXT_TRACK or PREVIOUS_TRACK (as of iOS 14 & 15) but Eve can control it
|
|
8410
8407
|
keyNameLayer[DEFAULT_KEYNAME] = null; // no corresponding keys can be identified. not supported in Apple Remote GUI
|
|
8411
8408
|
break;
|
|
8412
8409
|
|
package/package.json
CHANGED
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
"displayName": "Homebridge EOSSTB",
|
|
4
4
|
"description": "Add your set-top box to Homekit (for Telenet BE, Sunrise CH, UPC SK, Virgin Media GB & IE, Ziggo NL)",
|
|
5
5
|
"author": "Jochen Siegenthaler (https://github.com/jsiegenthaler/)",
|
|
6
|
-
"version": "2.4.0-alpha.
|
|
6
|
+
"version": "2.4.0-alpha.39",
|
|
7
7
|
"platformname": "eosstb",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"axios": "^1.
|
|
10
|
-
"axios-cookiejar-support": "^
|
|
9
|
+
"axios": "^1.16.0",
|
|
10
|
+
"axios-cookiejar-support": "^7.0.0",
|
|
11
11
|
"debug": "^4.4.3",
|
|
12
|
-
"mqtt": "^5.15.
|
|
13
|
-
"puppeteer-core": "^24.
|
|
14
|
-
"qs": "^6.15.
|
|
12
|
+
"mqtt": "^5.15.1",
|
|
13
|
+
"puppeteer-core": "^24.43.0",
|
|
14
|
+
"qs": "^6.15.1",
|
|
15
15
|
"semver": "^7.7.4",
|
|
16
|
-
"tough-cookie": "^6.0.
|
|
17
|
-
"ws": "^8.
|
|
16
|
+
"tough-cookie": "^6.0.1",
|
|
17
|
+
"ws": "^8.20.0"
|
|
18
18
|
},
|
|
19
19
|
"deprecated": false,
|
|
20
20
|
"engines": {
|
|
21
|
-
"homebridge": "^
|
|
21
|
+
"homebridge": "^2.0.0",
|
|
22
22
|
"node": "^24.13.0"
|
|
23
23
|
},
|
|
24
24
|
"homepage": "https://github.com/jsiegenthaler/homebridge-eosstb#readme",
|