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.
Files changed (3) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/index.js +16 -19
  3. 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
- this.mqttPublishMessage(`${this.mqttUsername}/${deviceId}`, payload, {
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 | PROGRAM_SCHEDULED_MANUAL_MODE_
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: Characteristic.Formats.STRING,
6174
- perms: [Characteristic.Perms.PAIRED_READ, Characteristic.Perms.NOTIFY],
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
- Characteristic.Perms.PAIRED_READ,
6389
- Characteristic.Perms.NOTIFY,
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" : "Pauseb";
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.37",
6
+ "version": "2.4.0-alpha.39",
7
7
  "platformname": "eosstb",
8
8
  "dependencies": {
9
- "axios": "^1.13.6",
10
- "axios-cookiejar-support": "^6.0.5",
9
+ "axios": "^1.16.0",
10
+ "axios-cookiejar-support": "^7.0.0",
11
11
  "debug": "^4.4.3",
12
- "mqtt": "^5.15.0",
13
- "puppeteer-core": "^24.38.0",
14
- "qs": "^6.15.0",
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.0",
17
- "ws": "^8.19.0"
16
+ "tough-cookie": "^6.0.1",
17
+ "ws": "^8.20.0"
18
18
  },
19
19
  "deprecated": false,
20
20
  "engines": {
21
- "homebridge": "^1.11.2||^2.0.0-beta",
21
+ "homebridge": "^2.0.0",
22
22
  "node": "^24.13.0"
23
23
  },
24
24
  "homepage": "https://github.com/jsiegenthaler/homebridge-eosstb#readme",