@homebridge-plugins/homebridge-tuya 2.4.0-beta.1 → 2.5.0

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.
@@ -240,6 +240,26 @@ Most curtain motor have "reverse mode" setting in the Tuya App, if you don't hav
240
240
  }
241
241
  ```
242
242
 
243
+ ### Set an offset for the device’s status value.
244
+
245
+ Some devices return status values without applying any offset, so we override onGet and onSet to apply a custom offset.
246
+ For example, if you want to apply an offset of `+10` to the `temperature` dpCode.
247
+
248
+ ```js
249
+ {
250
+ "options": {
251
+ // ...
252
+ "deviceOverrides": [{
253
+ "id": "{device_id}",
254
+ "schema": [{
255
+ "code": "temperature",
256
+ "onGet": "(value + 10)",
257
+ "onSet": "(value - 10)"
258
+ }]
259
+ }]
260
+ }
261
+ }
262
+ ```
243
263
 
244
264
  ### Skip send on/off command when touching brightness/speed slider
245
265
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.5.0] - (2026.7.12)
4
+
5
+ ### Added
6
+ - RTSP cameras can now be added through the plugin’s “Advanced Settings” section.
7
+
8
+ ## [2.4.0] - (2026.7.4)
9
+
10
+ ### Fixed
11
+ - fixed the WBGT calculation
12
+
13
+ ### Changed
14
+ - Added additional supported product types for AirConditionerAccessory
15
+
16
+
3
17
  ## [2.3.0] - (2026.6.12)
4
18
 
5
19
  ### Added
package/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=for-the-badge&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
4
4
 
5
5
  ![node](https://badgen.net/npm/node/@homebridge-plugins/homebridge-tuya)
6
- ![homebridge](https://img.shields.io/github/package-json/dependency-version/homebridge-plugins/homebridge-tuya/dev/homebridge)
6
+ <img alt="homebridge badge" src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fhomebridge-plugins%2Fhomebridge-tuya%2Fraw%2Frefs%2Fheads%2Flatest%2Fpackage.json&query=%24.engines.homebridge&label=homebridge&color=%23491F59">
7
+
7
8
 
8
9
  [![Sponsor](https://img.shields.io/badge/Sponsor-❤-ff69b4)](https://github.com/sponsors/tassy-h)
9
10
  [![version](https://badgen.net/npm/v/@homebridge-plugins/homebridge-tuya)](https://npmjs.com/package/@homebridge-plugins/homebridge-tuya)
@@ -356,6 +356,45 @@
356
356
  "default": false
357
357
  }
358
358
  }
359
+ },
360
+ "cameras": {
361
+ "title": "RTSP Camera",
362
+ "description": "Specifying a local IP address causes the communication to be routed within the local network (LAN).",
363
+ "type": "array",
364
+ "items": {
365
+ "type": "object",
366
+ "required": ["rtspUrl"],
367
+ "properties": {
368
+ "deviceId": {
369
+ "title": "DeviceID",
370
+ "description": "Device ID. If the device is not a Tuya camera, you don’t need to enter anything.",
371
+ "type": "string"
372
+ },
373
+ "deviceName": {
374
+ "title": "Device Name",
375
+ "description": "Display Name",
376
+ "type": "string"
377
+ },
378
+ "rtspUrl": {
379
+ "title": "RTSP URL",
380
+ "description": "RTSP URLs (starting with rtsp://) for real-time video/audio streaming.",
381
+ "type": "string"
382
+ },
383
+ "username": {
384
+ "title": "username",
385
+ "description": "The authentication username for accessing the RTSP stream. If authentication is not required, please leave it empty.",
386
+ "type": "string"
387
+ },
388
+ "password": {
389
+ "title": "password",
390
+ "description": "The authentication password for accessing the RTSP stream. If authentication is not required, please leave it empty.",
391
+ "type": "string",
392
+ "x-schema-form": {
393
+ "type": "password"
394
+ }
395
+ }
396
+ }
397
+ }
359
398
  }
360
399
  },
361
400
  "required":["name"]
@@ -566,7 +605,39 @@
566
605
  "options.weatherAPI",
567
606
  "options.forceIPv4",
568
607
  "options.debug",
569
- "options.debugLevel"
608
+ "options.debugLevel",
609
+ {
610
+ "type": "fieldset",
611
+ "title": "RTSP Camera",
612
+ "expandable": true,
613
+ "expanded": false,
614
+ "notitle": false,
615
+ "items": [
616
+ {
617
+ "key": "cameras",
618
+ "add": "Add Camera",
619
+ "title": "{{ 'New Camera' }}",
620
+ "type": "tabarray",
621
+ "notitle": true,
622
+ "items": [
623
+ {
624
+ "type": "div",
625
+ "displayFlex": false,
626
+ "flex-direction": "row",
627
+ "notitle": true,
628
+ "title": "{{ value.deviceName }}",
629
+ "items": [
630
+ "cameras[].deviceId",
631
+ "cameras[].deviceName",
632
+ "cameras[].rtspUrl",
633
+ "cameras[].username",
634
+ "cameras[].password"
635
+ ]
636
+ }
637
+ ]
638
+ }
639
+ ]
640
+ }
570
641
  ]
571
642
  }
572
643
  ]
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const TuyaStreamDelegate_1 = require("../util/TuyaStreamDelegate");
7
+ const util_1 = require("../util/util");
7
8
  const BaseAccessory_1 = __importDefault(require("./BaseAccessory"));
8
9
  const Light_1 = require("./characteristic/Light");
9
10
  const On_1 = require("./characteristic/On");
@@ -50,14 +51,22 @@ class CameraAccessory extends BaseAccessory_1.default {
50
51
  }
51
52
  (0, ProgrammableSwitchEvent_1.configureProgrammableSwitchEvent)(this, this.getDoorbellService(), schema);
52
53
  }
53
- configureCamera() {
54
+ async configureCamera() {
54
55
  if (this.stream !== undefined) {
55
56
  return;
56
57
  }
57
58
  if (this.device.isVirtualDevice()) {
58
59
  return;
59
60
  }
60
- this.stream = new TuyaStreamDelegate_1.TuyaStreamingDelegate(this);
61
+ // TODO: TuyaStreamingDelegateへcamera情報をエレガントに渡す方法を検討する
62
+ this.platform.config.cameras?.forEach(camera => {
63
+ const cameraId = camera.deviceId ?? (0, util_1.uuidFromSeed)(camera.rtspUrl);
64
+ if (cameraId === this.device.id) {
65
+ this.log.info('Using RTSP URL from config for camera:', camera.rtspUrl);
66
+ this.device['camera'] = camera;
67
+ }
68
+ });
69
+ this.stream = await TuyaStreamDelegate_1.TuyaStreamingDelegate.create(this);
61
70
  this.accessory.configureController(this.stream.controller);
62
71
  }
63
72
  configureFloodLight() {
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessory/CameraAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessory/CameraAccessory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAwEa,QAAA,mBAAmB,GAAG;IACjC,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QACpC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KACjC;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;QAC3C,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/C,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAClC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QACpC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KACjC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAiFa,QAAA,mBAAmB,GAAG;IACjC,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QACpC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KACjC;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;QAC3C,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/C,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAClC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QACpC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KACjC;CACF,CAAC"}
@@ -40,6 +40,7 @@ const events_1 = __importDefault(require("events"));
40
40
  const TuyaOpenMQ_1 = __importDefault(require("../core/TuyaOpenMQ"));
41
41
  const Logger_1 = require("../util/Logger");
42
42
  const TuyaDevice_1 = __importStar(require("./TuyaDevice"));
43
+ const util_1 = require("../util/util");
43
44
  var Events;
44
45
  (function (Events) {
45
46
  Events["DEVICE_ADD"] = "DEVICE_ADD";
@@ -78,6 +79,37 @@ class TuyaDeviceManager extends events_1.default {
78
79
  cloneDevice.remote_keys = undefined;
79
80
  return cloneDevice;
80
81
  }
82
+ createRTSPCameraDevice(cameraConfig) {
83
+ const device = new TuyaDevice_1.default({
84
+ id: cameraConfig.deviceId ?? (0, util_1.uuidFromSeed)(cameraConfig.rtspUrl),
85
+ uuid: cameraConfig.deviceId ?? (0, util_1.uuidFromSeed)(cameraConfig.rtspUrl),
86
+ name: cameraConfig.deviceName ?? 'RTSP Camera',
87
+ online: true,
88
+ owner_id: '',
89
+ product_id: 'rstp-camera-product',
90
+ product_name: 'RTSP Camera',
91
+ icon: '',
92
+ category: 'sp',
93
+ schema: [
94
+ {
95
+ code: 'motion_switch', // camera accessory requires a motion sensor service, so we add a dummy schema for it
96
+ mode: TuyaDevice_1.TuyaDeviceSchemaMode.READ_WRITE,
97
+ type: TuyaDevice_1.TuyaDeviceSchemaType.Boolean,
98
+ property: {},
99
+ },
100
+ ],
101
+ status: [],
102
+ ip: '',
103
+ lat: '',
104
+ lon: '',
105
+ time_zone: '',
106
+ create_time: 0,
107
+ active_time: 0,
108
+ update_time: 0,
109
+ });
110
+ this.devices.push(device);
111
+ return device;
112
+ }
81
113
  getDevice(deviceID) {
82
114
  return Array.from(this.devices).find(device => device.id === deviceID);
83
115
  }
@@ -368,6 +400,20 @@ class TuyaDeviceManager extends events_1.default {
368
400
  const res = await fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,relative_humidity_2m`, { cache: 'no-cache' });
369
401
  return await res.json();
370
402
  }
403
+ async retrieveDeviceRTSP(device) {
404
+ if (device['camera'] && device['camera'].rtspUrl) {
405
+ const cameraConfig = device['camera'];
406
+ const rtspUrl = cameraConfig.rtspUrl;
407
+ if (rtspUrl.includes('@') || !cameraConfig.username) {
408
+ return rtspUrl;
409
+ }
410
+ else {
411
+ return `rtsp://${cameraConfig.username}:${cameraConfig.password}@${rtspUrl.substring('rtsp://'.length)}`;
412
+ }
413
+ }
414
+ const data = await this.api.post(`/v1.0/devices/${device.id}/stream/actions/allocate`, { type: 'rtsp' });
415
+ return data.result.url;
416
+ }
371
417
  async onMQTTMessage(topic, protocol, message) {
372
418
  switch (protocol) {
373
419
  case TuyaMQTTProtocol.DEVICE_STATUS_UPDATE: {
@@ -1 +1 @@
1
- {"version":3,"file":"TuyaDeviceManager.js","sourceRoot":"","sources":["../../src/device/TuyaDeviceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TuyaDeviceManager.js","sourceRoot":"","sources":["../../src/device/TuyaDeviceManager.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -210,6 +210,12 @@ class TuyaPlatform {
210
210
  for (const device of devices) {
211
211
  this.addAccessory(device);
212
212
  }
213
+ // add RTSP camera accessories
214
+ this.config.cameras?.
215
+ filter(cconfig => !devices.map(device => device.id).includes(cconfig.deviceId)).forEach(cconfig => {
216
+ const device = this.deviceManager.createRTSPCameraDevice(cconfig);
217
+ this.addAccessory(device);
218
+ });
213
219
  // remove unused accessories
214
220
  for (const cachedAccessory of this.cachedAccessories) {
215
221
  this.log.warn('Removing unused accessory from cache:', cachedAccessory.displayName);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FfmpegStreamingProcess = void 0;
7
+ exports.isEncoderAvailable = isEncoderAvailable;
8
+ exports.isFfmpegOptionSupported = isFfmpegOptionSupported;
7
9
  const child_process_1 = require("child_process");
8
10
  const os_1 = __importDefault(require("os"));
9
11
  const readline_1 = __importDefault(require("readline"));
@@ -123,4 +125,42 @@ class FfmpegStreamingProcess {
123
125
  }
124
126
  }
125
127
  exports.FfmpegStreamingProcess = FfmpegStreamingProcess;
128
+ async function isEncoderAvailable(defaultFfmpegPath, encoderName) {
129
+ return new Promise((resolve) => {
130
+ const ffmpeg = (0, child_process_1.spawn)(defaultFfmpegPath, ['-hide_banner', '-encoders'], { env: process.env });
131
+ let output = '';
132
+ ffmpeg.stdout.on('data', (data) => {
133
+ output += data.toString();
134
+ });
135
+ ffmpeg.stderr.on('data', (data) => {
136
+ output += data.toString();
137
+ });
138
+ ffmpeg.on('error', () => {
139
+ resolve(false);
140
+ });
141
+ ffmpeg.on('close', () => {
142
+ const escapedEncoderName = encoderName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
143
+ resolve(new RegExp(`\\b${escapedEncoderName}\\b`).test(output));
144
+ });
145
+ });
146
+ }
147
+ async function isFfmpegOptionSupported(defaultFfmpegPath, optionName) {
148
+ return new Promise((resolve) => {
149
+ const ffmpeg = (0, child_process_1.spawn)(defaultFfmpegPath, ['-hide_banner', '-h', 'full'], { env: process.env });
150
+ let output = '';
151
+ ffmpeg.stdout.on('data', (data) => {
152
+ output += data.toString();
153
+ });
154
+ ffmpeg.stderr.on('data', (data) => {
155
+ output += data.toString();
156
+ });
157
+ ffmpeg.on('error', () => {
158
+ resolve(false);
159
+ });
160
+ ffmpeg.on('close', () => {
161
+ const escapedOptionName = optionName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
162
+ resolve(new RegExp(`\\b${escapedOptionName}\\b`).test(output));
163
+ });
164
+ });
165
+ }
126
166
  //# sourceMappingURL=FfmpegStreamingProcess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FfmpegStreamingProcess.js","sourceRoot":"","sources":["../../src/util/FfmpegStreamingProcess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FfmpegStreamingProcess.js","sourceRoot":"","sources":["../../src/util/FfmpegStreamingProcess.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const camera_utils_1 = require("@homebridge/camera-utils");
7
7
  const child_process_1 = require("child_process");
8
8
  const dgram_1 = require("dgram");
9
9
  const FfmpegStreamingProcess_1 = require("./FfmpegStreamingProcess");
10
+ const Logger_1 = require("./Logger");
10
11
  /*
11
12
  interface SampleRateEntry {
12
13
  type: AudioRecordingCodecType;
@@ -15,45 +16,43 @@ interface SampleRateEntry {
15
16
  audioChannels: number;
16
17
  }
17
18
  */
19
+ var _H264Profile;
20
+ (function (_H264Profile) {
21
+ _H264Profile[_H264Profile["BASELINE"] = 0] = "BASELINE";
22
+ _H264Profile[_H264Profile["MAIN"] = 1] = "MAIN";
23
+ _H264Profile[_H264Profile["HIGH"] = 2] = "HIGH";
24
+ })(_H264Profile || (_H264Profile = {}));
25
+ var _H264Level;
26
+ (function (_H264Level) {
27
+ _H264Level[_H264Level["LEVEL3_1"] = 0] = "LEVEL3_1";
28
+ _H264Level[_H264Level["LEVEL3_2"] = 1] = "LEVEL3_2";
29
+ _H264Level[_H264Level["LEVEL4_0"] = 2] = "LEVEL4_0";
30
+ })(_H264Level || (_H264Level = {}));
31
+ const resolutions = [
32
+ [320, 180, 30],
33
+ [320, 240, 15],
34
+ [320, 240, 30],
35
+ [480, 270, 30],
36
+ [480, 360, 30],
37
+ [640, 360, 30],
38
+ [640, 480, 30],
39
+ [1280, 720, 30],
40
+ [1280, 960, 30],
41
+ [1920, 1080, 30],
42
+ [1600, 1200, 30],
43
+ ];
18
44
  class TuyaStreamingDelegate {
19
45
  constructor(camera) {
20
46
  this.pendingSessions = {};
21
47
  this.ongoingSessions = {};
22
48
  this.camera = camera;
23
49
  this.hap = camera.platform.api.hap;
50
+ this.log = new Logger_1.PrefixLogger((0, Logger_1.logger)(), `TuyaStreamingDelegate(${camera.accessory.displayName})`);
51
+ }
52
+ static async create(camera) {
53
+ const delegate = new TuyaStreamingDelegate(camera);
24
54
  // this.recordingDelegate = new TuyaRecordingDelegate();
25
- const resolutions = [
26
- [320, 180, 30],
27
- [320, 240, 15],
28
- [320, 240, 30],
29
- [480, 270, 30],
30
- [480, 360, 30],
31
- [640, 360, 30],
32
- [640, 480, 30],
33
- [1280, 720, 30],
34
- [1280, 960, 30],
35
- [1920, 1080, 30],
36
- [1600, 1200, 30],
37
- ];
38
- const streamingOptions = {
39
- supportedCryptoSuites: [0 /* SRTPCryptoSuites.AES_CM_128_HMAC_SHA1_80 */],
40
- video: {
41
- codec: {
42
- profiles: [0 /* H264Profile.BASELINE */, 1 /* H264Profile.MAIN */, 2 /* H264Profile.HIGH */],
43
- levels: [0 /* H264Level.LEVEL3_1 */, 1 /* H264Level.LEVEL3_2 */, 2 /* H264Level.LEVEL4_0 */],
44
- },
45
- resolutions: resolutions,
46
- },
47
- audio: {
48
- twoWayAudio: false,
49
- codecs: [
50
- {
51
- type: "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */,
52
- samplerate: 16 /* AudioStreamingSamplerate.KHZ_16 */,
53
- },
54
- ],
55
- },
56
- };
55
+ const streamingOptions = await TuyaStreamingDelegate.createStreamingOptions(delegate);
57
56
  const recordingOptions = {
58
57
  overrideEventTriggerOptions: [
59
58
  1 /* EventTriggerOption.MOTION */,
@@ -80,26 +79,59 @@ class TuyaStreamingDelegate {
80
79
  ],
81
80
  },
82
81
  resolutions: resolutions,
83
- type: 0 /* this.hap.VideoCodecType.H264 */,
82
+ type: 0 /* camera.platform.api.hap.VideoCodecType.H264 */,
84
83
  },
85
84
  audio: {
86
85
  codecs: [
87
86
  {
88
- samplerate: 3 /* this.hap.AudioRecordingSamplerate.KHZ_32 */,
89
- type: 0 /* this.hap.AudioRecordingCodecType.AAC_LC */,
87
+ samplerate: 3 /* camera.platform.api.hap.AudioRecordingSamplerate.KHZ_32 */,
88
+ type: 0 /* camera.platform.api.hap.AudioRecordingCodecType.AAC_LC */,
90
89
  },
91
90
  ],
92
91
  },
93
92
  };
94
93
  const options = {
95
- delegate: this,
94
+ delegate: delegate,
96
95
  streamingOptions: streamingOptions,
97
96
  // recording: {
98
97
  // options: recordingOptions,
99
98
  // delegate: this.recordingDelegate
100
99
  // }
101
100
  };
102
- this.controller = new this.hap.CameraController(options);
101
+ delegate.controller = new camera.platform.api.hap.CameraController(options);
102
+ return delegate;
103
+ }
104
+ static async createStreamingOptions(delegate) {
105
+ const opusCodec = {
106
+ type: "OPUS" /* AudioStreamingCodecType.OPUS */,
107
+ samplerate: [16 /* AudioStreamingSamplerate.KHZ_16 */, 24 /* AudioStreamingSamplerate.KHZ_24 */],
108
+ };
109
+ const aacELDCodec = {
110
+ type: "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */,
111
+ samplerate: [16 /* AudioStreamingSamplerate.KHZ_16 */, 24 /* AudioStreamingSamplerate.KHZ_24 */],
112
+ };
113
+ const streamingOptions = {
114
+ supportedCryptoSuites: [0 /* SRTPCryptoSuites.AES_CM_128_HMAC_SHA1_80 */],
115
+ video: {
116
+ codec: {
117
+ profiles: [0 /* H264Profile.BASELINE */],
118
+ levels: [0 /* H264Level.LEVEL3_1 */],
119
+ },
120
+ resolutions: resolutions,
121
+ },
122
+ audio: {
123
+ twoWayAudio: false,
124
+ codecs: [],
125
+ },
126
+ };
127
+ streamingOptions.audio.codecs.push(opusCodec);
128
+ if (await (0, FfmpegStreamingProcess_1.isEncoderAvailable)(camera_utils_1.defaultFfmpegPath, 'libfdk_aac')) {
129
+ streamingOptions.audio.codecs.push(aacELDCodec);
130
+ }
131
+ else {
132
+ delegate.log.warn('ffmpeg libfdk_aac encoder not available. AAC-ELD audio streaming will not be supported.');
133
+ }
134
+ return streamingOptions;
103
135
  }
104
136
  stopStream(sessionId) {
105
137
  const session = this.ongoingSessions[sessionId];
@@ -111,22 +143,22 @@ class TuyaStreamingDelegate {
111
143
  session.socket?.close();
112
144
  }
113
145
  catch (error) {
114
- this.camera.log.error(`Error occurred closing socket: ${error}`);
146
+ this.log.error(`Error occurred closing socket: ${error}`);
115
147
  }
116
148
  try {
117
149
  session.mainProcess?.stop();
118
150
  }
119
151
  catch (error) {
120
- this.camera.log.error(`Error occurred terminating main FFmpeg process: ${error}`);
152
+ this.log.error(`Error occurred terminating main FFmpeg process: ${error}`);
121
153
  }
122
154
  try {
123
155
  session.returnProcess?.stop();
124
156
  }
125
157
  catch (error) {
126
- this.camera.log.error(`Error occurred terminating two-way FFmpeg process: ${error}`);
158
+ this.log.error(`Error occurred terminating two-way FFmpeg process: ${error}`);
127
159
  }
128
160
  delete this.ongoingSessions[sessionId];
129
- this.camera.log.info('Stopped video stream.');
161
+ this.log.info('Stopped video stream.');
130
162
  }
131
163
  }
132
164
  forceStopStream(sessionId) {
@@ -134,9 +166,9 @@ class TuyaStreamingDelegate {
134
166
  }
135
167
  async handleSnapshotRequest(request, callback) {
136
168
  try {
137
- this.camera.log.debug(`Snapshot requested: ${request.width} x ${request.height}`);
138
- const snapshot = await this.fetchSnapshot();
139
- this.camera.log.debug('Sending snapshot');
169
+ this.log.debug(`Snapshot requested: ${request.width} x ${request.height}`);
170
+ const snapshot = await this.fetchSnapshot(request.width, request.height);
171
+ this.log.debug('Sending snapshot');
140
172
  callback(undefined, snapshot);
141
173
  }
142
174
  catch (error) {
@@ -186,80 +218,119 @@ class TuyaStreamingDelegate {
186
218
  async handleStreamRequest(request, callback) {
187
219
  switch (request.type) {
188
220
  case "start" /* this.hap.StreamRequestTypes.START */: {
189
- this.camera.log.debug(`Start stream requested: ${request.video.width}x${request.video.height}, ${request.video.fps} fps, ${request.video.max_bit_rate} kbps`);
221
+ this.log.debug(`Start stream requested: ${request.video.width}x${request.video.height}, ${request.video.fps} fps, ${request.video.max_bit_rate} kbps`);
190
222
  await this.startStream(request, callback);
191
223
  break;
192
224
  }
193
225
  case "reconfigure" /* this.hap.StreamRequestTypes.RECONFIGURE */: {
194
- this.camera.log.debug(`Reconfigure stream requested: ${request.video.width}x${request.video.height}, ${request.video.fps} fps, ${request.video.max_bit_rate} kbps (Ignored)`);
226
+ this.log.debug(`Reconfigure stream requested: ${request.video.width}x${request.video.height}, ${request.video.fps} fps, ${request.video.max_bit_rate} kbps (Ignored)`);
195
227
  callback();
196
228
  break;
197
229
  }
198
230
  case "stop" /* this.hap.StreamRequestTypes.STOP */: {
199
- this.camera.log.debug('Stop stream requested');
231
+ this.log.debug('Stop stream requested');
200
232
  this.stopStream(request.sessionID);
201
233
  callback();
202
234
  break;
203
235
  }
204
236
  }
205
237
  }
206
- async retrieveDeviceRTSP() {
207
- const data = await this.camera.deviceManager.api.post(`/v1.0/devices/${this.camera.device.id}/stream/actions/allocate`, {
208
- type: 'rtsp',
209
- });
210
- return data.result.url;
238
+ async getAudioEncodingArgs(requestedCodec) {
239
+ if (requestedCodec === "OPUS" /* AudioStreamingCodecType.OPUS */) {
240
+ return {
241
+ codec: 'libopus',
242
+ args: ['-c:a', 'libopus', '-application', 'lowdelay', '-frame_duration', '20'],
243
+ };
244
+ }
245
+ if (requestedCodec === "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */) {
246
+ return {
247
+ codec: 'libfdk_aac',
248
+ args: ['-c:a', 'libfdk_aac', '-profile:a', 'aac_eld', '-flags:a', '+global_header'],
249
+ };
250
+ }
251
+ throw new Error(`Unsupported audio codec requested: ${requestedCodec}`);
252
+ }
253
+ async getVideoSyncArgs() {
254
+ const supportsFpsMode = await (0, FfmpegStreamingProcess_1.isFfmpegOptionSupported)(camera_utils_1.defaultFfmpegPath, 'fps_mode');
255
+ if (supportsFpsMode) {
256
+ this.log.debug('Using ffmpeg fps_mode for stream synchronization.');
257
+ return ['-fps_mode', 'cfr'];
258
+ }
259
+ this.log.debug('ffmpeg fps_mode is not available. Falling back to vsync.');
260
+ return ['-vsync', '0'];
211
261
  }
212
262
  async startStream(request, callback) {
213
263
  const sessionInfo = this.pendingSessions[request.sessionID];
214
264
  if (!sessionInfo) {
215
- this.camera.log.error('Error finding session information.');
265
+ this.log.error('Error finding session information.');
216
266
  callback(new Error('Error finding session information'));
267
+ return;
217
268
  }
269
+ this.log.debug(`request: ${JSON.stringify(request)}`);
218
270
  const vcodec = 'libx264';
219
- const mtu = 1316; // request.video.mtu is not used
271
+ const mtu = request.video.mtu || 1316;
220
272
  const fps = request.video.fps;
221
273
  const videoBitrate = request.video.max_bit_rate;
222
- const rtspUrl = await this.retrieveDeviceRTSP();
274
+ const rtspUrl = await this.camera.deviceManager.retrieveDeviceRTSP(this.camera.device);
223
275
  const ffmpegArgs = [
224
276
  '-hide_banner',
225
- '-loglevel', 'verbose',
277
+ // '-re',
278
+ // '-fflags', '+genpts',
279
+ // '-fflags', '+genpts+discardcorrupt+igndts',
280
+ // '-fflags', 'nobuffer',
281
+ // '-fflags', 'flush_packets',
282
+ // '-rtbufsize', '1M',
283
+ // '-avoid_negative_ts', 'make_zero',
284
+ // '-async', '1',
285
+ // '-vsync', '0',
286
+ // '-max_delay', '0',
287
+ // '-thread_queue_size', '1024',
288
+ '-rtsp_transport', 'tcp',
226
289
  '-i', rtspUrl,
227
- '-an', '-sn', '-dn',
228
- '-r', fps.toString(),
229
- '-codec:v', vcodec,
230
- '-pix_fmt', 'yuv420p',
231
- '-color_range', 'mpeg',
232
- '-f', 'rawvideo',
233
290
  ];
234
- const encoderOptions = '-preset ultrafast -tune zerolatency';
235
- if (encoderOptions) {
236
- ffmpegArgs.push(...encoderOptions.split(/\s+/));
291
+ if (this.log.debugMode) {
292
+ ffmpegArgs.push('-loglevel', 'verbose');
293
+ ffmpegArgs.push('-progress', 'pipe:1');
237
294
  }
295
+ // Video Stream
296
+ const videoSyncArgs = await this.getVideoSyncArgs();
297
+ ffmpegArgs.push('-map', '0:v:0', '-an',
298
+ // '-fflags', '+genpts',
299
+ // '-avoid_negative_ts', 'make_zero',
300
+ '-profile:v', `${_H264Profile[request.video.profile].toLowerCase()}`, '-level:v', `${_H264Level[request.video.level].replace(/LEVEL(\d)_(\d)/, '$1.$2')}`,
301
+ // '-r', fps.toString(),
302
+ // '-g', `${fps * 2}`,
303
+ ...videoSyncArgs, '-c:v', vcodec, '-pix_fmt', 'yuv420p', '-preset', 'ultrafast', '-tune', 'zerolatency', '-payload_type', `${request.video.pt}`, '-ssrc', `${sessionInfo.videoSSRC}`, '-f', 'rtp', '-srtp_out_suite', 'AES_CM_128_HMAC_SHA1_80', '-srtp_out_params', sessionInfo.videoSRTP.toString('base64'));
238
304
  if (videoBitrate > 0) {
239
- ffmpegArgs.push('-b:v', `${videoBitrate}k`);
305
+ ffmpegArgs.push('-b:v', `${videoBitrate * 1000}`);
240
306
  }
241
- // Video Stream
242
- ffmpegArgs.push('-payload_type', `${request.video.pt}`, '-ssrc', `${sessionInfo.videoSSRC}`, '-f', 'rtp', '-srtp_out_suite', 'AES_CM_128_HMAC_SHA1_80', '-srtp_out_params', sessionInfo.videoSRTP.toString('base64'), `srtp://${sessionInfo.address}:${sessionInfo.videoPort}?rtcpport=${sessionInfo.videoPort}&pkt_size=${mtu}`);
307
+ ffmpegArgs.push(`srtp://${sessionInfo.address}:${sessionInfo.videoPort}?rtcpport=${sessionInfo.videoPort}&pkt_size=${mtu}`);
243
308
  // Setting up audio
309
+ this.log.info(`Audio codec requested: ${request.audio.codec}`);
244
310
  if (request.audio.codec === "OPUS" /* AudioStreamingCodecType.OPUS */ ||
245
311
  request.audio.codec === "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */) {
246
- ffmpegArgs.push('-vn', '-sn', '-dn');
247
- if (request.audio.codec === "OPUS" /* AudioStreamingCodecType.OPUS */) {
248
- ffmpegArgs.push('-acodec', 'libopus', '-application', 'lowdelay');
249
- }
250
- else {
251
- ffmpegArgs.push('-acodec', 'libfdk_aac', '-profile:a', 'aac_eld');
252
- }
253
- ffmpegArgs.push('-flags', '+global_header', '-f', 'null', '-ar', `${request.audio.sample_rate}k`, '-b:a', `${request.audio.max_bit_rate}k`, '-ac', `${request.audio.channel}`, '-payload_type', `${request.audio.pt}`, '-ssrc', `${sessionInfo.audioSSRC}`, '-f', 'rtp', '-srtp_out_suite', 'AES_CM_128_HMAC_SHA1_80', '-srtp_out_params', sessionInfo.audioSRTP.toString('base64'), `srtp://${sessionInfo.address}:${sessionInfo.audioPort}?rtcpport=${sessionInfo.audioPort}&pkt_size=188`);
312
+ ffmpegArgs.push('-map', '0:a:0', '-vn');
313
+ const audioEncodingArgs = await this.getAudioEncodingArgs(request.audio.codec);
314
+ ffmpegArgs.push(...audioEncodingArgs.args);
315
+ ffmpegArgs.push(
316
+ // '-thread_queue_size', '512',
317
+ // '-max_delay', '0',
318
+ // '-fflags', 'nobuffer',
319
+ '-ar', `${request.audio.sample_rate * 1000}`, '-b:a', `${request.audio.max_bit_rate * 1000}`, '-ac', `${request.audio.channel}`,
320
+ // '-af', 'aresample=async=1',
321
+ '-af', 'aresample=async=1:min_hard_comp=0.100000:first_pts=0',
322
+ // '-af', 'aresample=resampler=soxr',
323
+ '-payload_type', `${request.audio.pt}`, '-ssrc', `${sessionInfo.audioSSRC}`, '-f', 'rtp',
324
+ // '-cutoff', '12000',
325
+ '-srtp_out_suite', 'AES_CM_128_HMAC_SHA1_80', '-srtp_out_params', sessionInfo.audioSRTP.toString('base64'), `srtp://${sessionInfo.address}:${sessionInfo.audioPort}?rtcpport=${sessionInfo.audioPort}&pkt_size=188`);
254
326
  }
255
327
  else {
256
- this.camera.log.error(`Unsupported audio codec requested: ${request.audio.codec}`);
328
+ this.log.error(`Unsupported audio codec requested: ${request.audio.codec}`);
257
329
  }
258
- ffmpegArgs.push('-progress', 'pipe:1');
259
330
  const activeSession = {};
260
331
  activeSession.socket = (0, dgram_1.createSocket)(sessionInfo.addressVersion === 'ipv6' ? 'udp6' : 'udp4');
261
332
  activeSession.socket.on('error', (err) => {
262
- this.camera.log.error('Socket error: ' + err.message);
333
+ this.log.error('Socket error: ' + err.message);
263
334
  this.stopStream(request.sessionID);
264
335
  });
265
336
  activeSession.socket.on('message', () => {
@@ -267,35 +338,48 @@ class TuyaStreamingDelegate {
267
338
  clearTimeout(activeSession.timeout);
268
339
  }
269
340
  activeSession.timeout = setTimeout(() => {
270
- this.camera.log.info('Device appears to be inactive. Stopping stream.');
341
+ this.log.info('Device appears to be inactive. Stopping stream.');
271
342
  this.controller.forceStopStreamingSession(request.sessionID);
272
343
  this.stopStream(request.sessionID);
273
344
  }, request.video.rtcp_interval * 5 * 1000);
274
345
  });
275
346
  activeSession.socket.bind(sessionInfo.videoIncomingPort);
276
- activeSession.mainProcess = new FfmpegStreamingProcess_1.FfmpegStreamingProcess(request.sessionID, camera_utils_1.defaultFfmpegPath, ffmpegArgs, this.camera.log, this, callback);
347
+ activeSession.mainProcess = new FfmpegStreamingProcess_1.FfmpegStreamingProcess(request.sessionID, camera_utils_1.defaultFfmpegPath, ffmpegArgs, this.log, this, callback);
277
348
  this.ongoingSessions[request.sessionID] = activeSession;
278
349
  delete this.pendingSessions[request.sessionID];
279
350
  }
280
- async fetchSnapshot() {
351
+ async fetchSnapshot(width, height) {
281
352
  if (!this.camera.device.online) {
282
- this.camera.log.debug('Device is currently offline.');
353
+ this.log.debug('Device is currently offline.');
283
354
  throw new Error('Device is currently offline.');
284
355
  }
285
356
  // TODO: Check if there is a stream already running to fetch snapshot.
286
- const rtspUrl = await this.retrieveDeviceRTSP();
357
+ const rtspUrl = await this.camera.deviceManager.retrieveDeviceRTSP(this.camera.device);
287
358
  const ffmpegArgs = [
288
- '-i', rtspUrl,
289
- '-frames:v', '1',
290
359
  '-hide_banner',
291
- '-loglevel',
292
- 'error',
293
- '-f',
294
- 'image2',
360
+ '-loglevel', 'error',
361
+ '-i', rtspUrl,
362
+ // '-analyzeduration', '0',
363
+ // '-probesize', '32',
364
+ '-vframes:v', '1',
365
+ '-vf', `scale=${width}:${height}`,
366
+ // '-pix_fmt', 'yuvj422p',
367
+ '-f', 'mjpeg',
295
368
  '-',
296
369
  ];
370
+ // old version
371
+ // const ffmpegArgs = [
372
+ // '-i', rtspUrl,
373
+ // '-frames:v', '1',
374
+ // '-hide_banner',
375
+ // '-loglevel',
376
+ // 'error',
377
+ // '-f',
378
+ // 'image2',
379
+ // '-',
380
+ // ];
297
381
  return new Promise((resolve, reject) => {
298
- this.camera.log.debug(`Running Snapshot command: ${camera_utils_1.defaultFfmpegPath} ${ffmpegArgs.map(value => JSON.stringify(value)).join(' ')}`);
382
+ this.log.debug(`Running Snapshot command: ${camera_utils_1.defaultFfmpegPath} ${ffmpegArgs.map(value => JSON.stringify(value)).join(' ')}`);
299
383
  const ffmpeg = (0, child_process_1.spawn)(camera_utils_1.defaultFfmpegPath, ffmpegArgs.map(x => x.toString()), { env: process.env });
300
384
  let errors = [];
301
385
  let snapshotBuffer = Buffer.alloc(0);
@@ -303,7 +387,7 @@ class TuyaStreamingDelegate {
303
387
  snapshotBuffer = Buffer.concat([snapshotBuffer, data]);
304
388
  });
305
389
  ffmpeg.on('error', (error) => {
306
- this.camera.log.error(`FFmpeg process creation failed: ${error.message} - Showing "offline" image instead.`);
390
+ this.log.error(`FFmpeg process creation failed: ${error.message} - Showing "offline" image instead.`);
307
391
  reject('Failed to fetch snapshot.');
308
392
  });
309
393
  ffmpeg.stderr.on('data', (data) => {
@@ -315,9 +399,9 @@ class TuyaStreamingDelegate {
315
399
  resolve(snapshotBuffer);
316
400
  }
317
401
  else {
318
- this.camera.log.error('Failed to fetch snapshot. Showing "offline" image instead.');
402
+ this.log.error('Failed to fetch snapshot. Showing "offline" image instead.');
319
403
  if (errors.length > 0) {
320
- this.camera.log.error(errors.join(' - '));
404
+ this.log.error(errors.join(' - '));
321
405
  }
322
406
  reject('Unable to fetch snapshot.');
323
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TuyaStreamDelegate.js","sourceRoot":"","sources":["../../src/util/TuyaStreamDelegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TuyaStreamDelegate.js","sourceRoot":"","sources":["../../src/util/TuyaStreamDelegate.ts"],"names":[],"mappings":"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"}
package/dist/util/util.js CHANGED
@@ -4,6 +4,8 @@ exports.remap = remap;
4
4
  exports.limit = limit;
5
5
  exports.toHapProperty = toHapProperty;
6
6
  exports.sanitizeName = sanitizeName;
7
+ exports.uuidFromSeed = uuidFromSeed;
8
+ const crypto_1 = require("crypto");
7
9
  function remap(value, srcStart, srcEnd, dstStart, dstEnd) {
8
10
  const percent = (value - srcStart) / (srcEnd - srcStart);
9
11
  const result = percent * (dstEnd - dstStart) + dstStart;
@@ -60,4 +62,14 @@ function sanitizeName(name) {
60
62
  }
61
63
  return s;
62
64
  }
65
+ function uuidFromSeed(seed) {
66
+ const hash = (0, crypto_1.createHash)('sha256').update(seed).digest('hex');
67
+ return [
68
+ hash.substring(0, 8),
69
+ hash.substring(8, 12),
70
+ '4' + hash.substring(13, 16), // version 4
71
+ ((parseInt(hash.substring(16, 17), 16) & 0x3) | 0x8).toString(16) + hash.substring(17, 20),
72
+ hash.substring(20, 32),
73
+ ].join('-');
74
+ }
63
75
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@homebridge-plugins/homebridge-tuya",
3
3
  "displayName": "Homebridge Tuya",
4
- "version": "2.4.0-beta.1",
4
+ "version": "2.5.0",
5
5
  "description": "Forked from 0x5e/homebridge-tuya-platform, with a focus on fixing bugs and adding new device support.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -64,7 +64,7 @@
64
64
  "@typescript-eslint/eslint-plugin": "^5.0.0",
65
65
  "@typescript-eslint/parser": "^5.0.0",
66
66
  "eslint": "8.57.1",
67
- "homebridge": "^2.0.0-beta.0",
67
+ "homebridge": "^2.0.0",
68
68
  "jest": "^29.1.2",
69
69
  "nodemon": "^3.1.10",
70
70
  "rimraf": "^5.0.0",