homebridge-plugin-utils 1.23.0 → 1.24.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.
- package/build/eslint-rules.mjs +1 -1
- package/dist/ffmpeg/options.d.ts +39 -10
- package/dist/ffmpeg/options.js +60 -40
- package/dist/ffmpeg/options.js.map +1 -1
- package/dist/ffmpeg/record.d.ts +0 -2
- package/dist/ffmpeg/record.js +5 -3
- package/dist/ffmpeg/record.js.map +1 -1
- package/dist/service.d.ts +31 -4
- package/dist/service.js +123 -33
- package/dist/service.js.map +1 -1
- package/dist/util.d.ts +35 -10
- package/dist/util.js +46 -10
- package/dist/util.js.map +1 -1
- package/package.json +7 -7
package/build/eslint-rules.mjs
CHANGED
|
@@ -207,7 +207,7 @@ const commonRules = {
|
|
|
207
207
|
{ "blankLine": "never", "next": "directive", "prev": "directive" }
|
|
208
208
|
],
|
|
209
209
|
"@stylistic/semi": ["warn", "always"],
|
|
210
|
-
"@stylistic/space-before-function-paren": ["warn", { "anonymous": "never", "asyncArrow": "always", "named": "never" }],
|
|
210
|
+
"@stylistic/space-before-function-paren": ["warn", { "anonymous": "never", "asyncArrow": "always", "catch": "never", "named": "never" }],
|
|
211
211
|
"@stylistic/space-in-parens": "warn",
|
|
212
212
|
"@stylistic/space-infix-ops": "warn",
|
|
213
213
|
"@stylistic/space-unary-ops": "warn",
|
package/dist/ffmpeg/options.d.ts
CHANGED
|
@@ -64,6 +64,34 @@ export interface FfmpegOptionsConfig {
|
|
|
64
64
|
log: HomebridgePluginLogging | Logging;
|
|
65
65
|
name: () => string;
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Options used for configuring video encoding in FFmpeg operations.
|
|
69
|
+
*
|
|
70
|
+
* These options control output bitrate, framerate, resolution, H.264 profile and level, input framerate, and smart quality optimizations.
|
|
71
|
+
*
|
|
72
|
+
* @property codec - Optional. Audio codec to encode (`AudioRecordingCodecType.AAC_ELD` or `AudioRecordingCodecType.AAC_LC`). Defaults to
|
|
73
|
+
* `AudioRecordingCodecType.AAC_ELD`.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
*
|
|
77
|
+
* ```ts
|
|
78
|
+
* const encoderOptions: AudioEncoderOptions = {
|
|
79
|
+
*
|
|
80
|
+
* codec: AudioRecordingCodecType.AAC_ELD
|
|
81
|
+
* };
|
|
82
|
+
*
|
|
83
|
+
* // Use with FfmpegOptions for transcoding.
|
|
84
|
+
* const ffmpegOpts = new FfmpegOptions(optionsConfig);
|
|
85
|
+
* const args = ffmpegOpts.audioEncoder(encoderOptions);
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @see FfmpegOptions
|
|
89
|
+
*
|
|
90
|
+
* @category FFmpeg
|
|
91
|
+
*/
|
|
92
|
+
export interface AudioEncoderOptions {
|
|
93
|
+
codec?: AudioRecordingCodecType;
|
|
94
|
+
}
|
|
67
95
|
/**
|
|
68
96
|
* Options used for configuring video encoding in FFmpeg operations.
|
|
69
97
|
*
|
|
@@ -84,7 +112,7 @@ export interface FfmpegOptionsConfig {
|
|
|
84
112
|
* @example
|
|
85
113
|
*
|
|
86
114
|
* ```ts
|
|
87
|
-
* const encoderOptions:
|
|
115
|
+
* const encoderOptions: VideoEncoderOptions = {
|
|
88
116
|
*
|
|
89
117
|
* bitrate: 3000,
|
|
90
118
|
* fps: 30,
|
|
@@ -109,7 +137,7 @@ export interface FfmpegOptionsConfig {
|
|
|
109
137
|
*
|
|
110
138
|
* @category FFmpeg
|
|
111
139
|
*/
|
|
112
|
-
export interface
|
|
140
|
+
export interface VideoEncoderOptions {
|
|
113
141
|
bitrate: number;
|
|
114
142
|
fps: number;
|
|
115
143
|
hardwareDecoding?: boolean;
|
|
@@ -133,7 +161,7 @@ export interface EncoderOptions {
|
|
|
133
161
|
* const ffmpegOpts = new FfmpegOptions(optionsConfig);
|
|
134
162
|
*
|
|
135
163
|
* // Generate video encoder arguments for streaming.
|
|
136
|
-
* const encoderOptions:
|
|
164
|
+
* const encoderOptions: VideoEncoderOptions = {
|
|
137
165
|
*
|
|
138
166
|
* bitrate: 3000,
|
|
139
167
|
* fps: 30,
|
|
@@ -153,7 +181,8 @@ export interface EncoderOptions {
|
|
|
153
181
|
* const crop = ffmpegOpts.cropFilter;
|
|
154
182
|
* ```
|
|
155
183
|
*
|
|
156
|
-
* @see
|
|
184
|
+
* @see AudioEncoderOptions
|
|
185
|
+
* @see VideoEncoderOptions
|
|
157
186
|
* @see FfmpegCodecs
|
|
158
187
|
* @see {@link https://ffmpeg.org/ffmpeg.html | FFmpeg Documentation}
|
|
159
188
|
*
|
|
@@ -222,7 +251,7 @@ export declare class FfmpegOptions {
|
|
|
222
251
|
/**
|
|
223
252
|
* Returns the audio encoder arguments to use when transcoding.
|
|
224
253
|
*
|
|
225
|
-
* @param
|
|
254
|
+
* @param options - Optional. The encoder options to use for generating FFmpeg arguments.
|
|
226
255
|
* @returns Array of FFmpeg command-line arguments for audio encoding.
|
|
227
256
|
*
|
|
228
257
|
* @example
|
|
@@ -231,7 +260,7 @@ export declare class FfmpegOptions {
|
|
|
231
260
|
* const args = ffmpegOpts.audioEncoder();
|
|
232
261
|
* ```
|
|
233
262
|
*/
|
|
234
|
-
audioEncoder(
|
|
263
|
+
audioEncoder(options?: AudioEncoderOptions): string[];
|
|
235
264
|
/**
|
|
236
265
|
* Returns the audio decoder to use when decoding.
|
|
237
266
|
*
|
|
@@ -270,7 +299,7 @@ export declare class FfmpegOptions {
|
|
|
270
299
|
* @example
|
|
271
300
|
*
|
|
272
301
|
* ```ts
|
|
273
|
-
* const encoderOptions:
|
|
302
|
+
* const encoderOptions: VideoEncoderOptions = {
|
|
274
303
|
*
|
|
275
304
|
* bitrate: 2000,
|
|
276
305
|
* fps: 30,
|
|
@@ -286,7 +315,7 @@ export declare class FfmpegOptions {
|
|
|
286
315
|
* const args = ffmpegOpts['defaultVideoEncoderOptions'](encoderOptions);
|
|
287
316
|
* ```
|
|
288
317
|
*
|
|
289
|
-
* @see
|
|
318
|
+
* @see VideoEncoderOptions
|
|
290
319
|
*/
|
|
291
320
|
private defaultVideoEncoderOptions;
|
|
292
321
|
/**
|
|
@@ -295,7 +324,7 @@ export declare class FfmpegOptions {
|
|
|
295
324
|
* @param options - Encoder options to use.
|
|
296
325
|
* @returns Array of FFmpeg command-line arguments for video encoding.
|
|
297
326
|
*/
|
|
298
|
-
recordEncoder(options:
|
|
327
|
+
recordEncoder(options: VideoEncoderOptions): string[];
|
|
299
328
|
/**
|
|
300
329
|
* Returns the video encoder options to use when transcoding for livestreaming.
|
|
301
330
|
*
|
|
@@ -308,7 +337,7 @@ export declare class FfmpegOptions {
|
|
|
308
337
|
* const args = ffmpegOpts.streamEncoder(encoderOptions);
|
|
309
338
|
* ```
|
|
310
339
|
*/
|
|
311
|
-
streamEncoder(options:
|
|
340
|
+
streamEncoder(options: VideoEncoderOptions): string[];
|
|
312
341
|
/**
|
|
313
342
|
* Returns the maximum pixel count supported by a specific hardware encoder on the host system, or `Infinity` if not limited.
|
|
314
343
|
*
|
package/dist/ffmpeg/options.js
CHANGED
|
@@ -14,7 +14,7 @@ import { HOMEKIT_STREAMING_HEADROOM, RPI_GPU_MINIMUM } from "./settings.js";
|
|
|
14
14
|
* const ffmpegOpts = new FfmpegOptions(optionsConfig);
|
|
15
15
|
*
|
|
16
16
|
* // Generate video encoder arguments for streaming.
|
|
17
|
-
* const encoderOptions:
|
|
17
|
+
* const encoderOptions: VideoEncoderOptions = {
|
|
18
18
|
*
|
|
19
19
|
* bitrate: 3000,
|
|
20
20
|
* fps: 30,
|
|
@@ -34,7 +34,8 @@ import { HOMEKIT_STREAMING_HEADROOM, RPI_GPU_MINIMUM } from "./settings.js";
|
|
|
34
34
|
* const crop = ffmpegOpts.cropFilter;
|
|
35
35
|
* ```
|
|
36
36
|
*
|
|
37
|
-
* @see
|
|
37
|
+
* @see AudioEncoderOptions
|
|
38
|
+
* @see VideoEncoderOptions
|
|
38
39
|
* @see FfmpegCodecs
|
|
39
40
|
* @see {@link https://ffmpeg.org/ffmpeg.html | FFmpeg Documentation}
|
|
40
41
|
*
|
|
@@ -229,7 +230,7 @@ export class FfmpegOptions {
|
|
|
229
230
|
/**
|
|
230
231
|
* Returns the audio encoder arguments to use when transcoding.
|
|
231
232
|
*
|
|
232
|
-
* @param
|
|
233
|
+
* @param options - Optional. The encoder options to use for generating FFmpeg arguments.
|
|
233
234
|
* @returns Array of FFmpeg command-line arguments for audio encoding.
|
|
234
235
|
*
|
|
235
236
|
* @example
|
|
@@ -238,7 +239,9 @@ export class FfmpegOptions {
|
|
|
238
239
|
* const args = ffmpegOpts.audioEncoder();
|
|
239
240
|
* ```
|
|
240
241
|
*/
|
|
241
|
-
audioEncoder(
|
|
242
|
+
audioEncoder(options = {}) {
|
|
243
|
+
// Default our codec to AAC_ELD unless specified.
|
|
244
|
+
options = Object.assign({}, { codec: 1 /* AudioRecordingCodecType.AAC_ELD */ }, options);
|
|
242
245
|
// If we don't have libfdk_aac available to us, we're essentially dead in the water.
|
|
243
246
|
let encoderOptions = [];
|
|
244
247
|
// Utility function to return a default audio encoder codec.
|
|
@@ -251,7 +254,7 @@ export class FfmpegOptions {
|
|
|
251
254
|
// -afterburner 1 Increases audio quality at the expense of needing a little bit more computational power in libfdk_aac.
|
|
252
255
|
// -eld_v2 1 Use the enhanced low delay v2 standard for better audio characteristics.
|
|
253
256
|
audioOptions.push("-codec:a", "libfdk_aac", "-afterburner", "1");
|
|
254
|
-
switch (codec) {
|
|
257
|
+
switch (options.codec) {
|
|
255
258
|
case 1 /* AudioRecordingCodecType.AAC_ELD */:
|
|
256
259
|
audioOptions.push("-eld_v2", "1");
|
|
257
260
|
// If we're using Jellyfin's FFmpeg, it's libfdk_aac is broken and crashes when using spectral band replication.
|
|
@@ -283,7 +286,7 @@ export class FfmpegOptions {
|
|
|
283
286
|
encoderOptions = [
|
|
284
287
|
"-codec:a", "aac_at"
|
|
285
288
|
];
|
|
286
|
-
switch (codec) {
|
|
289
|
+
switch (options.codec) {
|
|
287
290
|
case 1 /* AudioRecordingCodecType.AAC_ELD */:
|
|
288
291
|
encoderOptions.push("-aac_at_mode", "cbr");
|
|
289
292
|
break;
|
|
@@ -411,7 +414,7 @@ export class FfmpegOptions {
|
|
|
411
414
|
* @example
|
|
412
415
|
*
|
|
413
416
|
* ```ts
|
|
414
|
-
* const encoderOptions:
|
|
417
|
+
* const encoderOptions: VideoEncoderOptions = {
|
|
415
418
|
*
|
|
416
419
|
* bitrate: 2000,
|
|
417
420
|
* fps: 30,
|
|
@@ -427,23 +430,29 @@ export class FfmpegOptions {
|
|
|
427
430
|
* const args = ffmpegOpts['defaultVideoEncoderOptions'](encoderOptions);
|
|
428
431
|
* ```
|
|
429
432
|
*
|
|
430
|
-
* @see
|
|
433
|
+
* @see VideoEncoderOptions
|
|
431
434
|
*/
|
|
432
435
|
defaultVideoEncoderOptions(options) {
|
|
433
436
|
const videoFilters = [];
|
|
434
|
-
//
|
|
435
|
-
|
|
436
|
-
|
|
437
|
+
// fps=fps= Use the fps filter to provide the frame rate requested by HomeKit. We only need to apply this filter if our input and output
|
|
438
|
+
// frame rates aren't already identical.
|
|
439
|
+
const fpsFilter = ["fps=fps=" + options.fps.toString()];
|
|
440
|
+
// Set our FFmpeg pixel-level filters:
|
|
437
441
|
//
|
|
438
|
-
// format= Set the pixel formats we want to target for output.
|
|
439
|
-
videoFilters.push("format=" + [...new Set([...this.hwPixelFormat, "yuvj420p"])].join("|"));
|
|
440
442
|
// scale=-2:min(ih\,height) Scale the video to the size that's being requested while respecting aspect ratios and ensuring our final dimensions are
|
|
441
443
|
// a power of two.
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
444
|
+
// format= Set the pixel formats we want to target for output.
|
|
445
|
+
const pixelFilters = [
|
|
446
|
+
"scale=-2:min(ih\\," + options.height.toString() + ")",
|
|
447
|
+
"format=" + [...new Set([...this.hwPixelFormat, "yuvj420p"])].join("|")
|
|
448
|
+
];
|
|
449
|
+
// Let's assemble our filter collection. If we're reducing our framerate, we want to frontload the fps filter so the downstream filters need to do less work. If we're
|
|
450
|
+
// increasing our framerate, we want to do pixel operations on the minimal set of source frames that we need, since we're just going to duplicate them.
|
|
451
|
+
if (options.fps < options.inputFps) {
|
|
452
|
+
videoFilters.push(...fpsFilter, ...pixelFilters);
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
videoFilters.push(...pixelFilters, ...(options.fps > options.inputFps ? fpsFilter : []));
|
|
447
456
|
}
|
|
448
457
|
// Default to the tried-and-true libx264. We use the following options by default:
|
|
449
458
|
//
|
|
@@ -541,26 +550,30 @@ export class FfmpegOptions {
|
|
|
541
550
|
// We begin by adjusting the maximum bitrate tolerance used with -bufsize. This provides an upper bound on bitrate, with a little bit extra to allow encoders some
|
|
542
551
|
// variation in order to maximize quality while honoring bandwidth constraints.
|
|
543
552
|
const adjustedMaxBitrate = options.bitrate + (options.smartQuality ? HOMEKIT_STREAMING_HEADROOM : 0);
|
|
544
|
-
// Check the input and output frame rates to see if we need to change it.
|
|
545
|
-
const useFpsFilter = options.fps !== options.inputFps;
|
|
546
553
|
// Initialize our options.
|
|
547
554
|
const encoderOptions = [];
|
|
548
555
|
let videoFilters = [];
|
|
549
|
-
//
|
|
556
|
+
// fps=fps= Use the fps filter to provide the frame rate requested by HomeKit. We only need to apply this filter if our input and output
|
|
557
|
+
// frame rates aren't already identical.
|
|
558
|
+
const fpsFilter = ["fps=fps=" + options.fps.toString()];
|
|
559
|
+
// Set our FFmpeg pixel-level filters:
|
|
550
560
|
//
|
|
551
|
-
//
|
|
552
|
-
videoFilters.push("format=" + this.hwPixelFormat.join("|"));
|
|
561
|
+
// crop Crop filter options, if requested.
|
|
553
562
|
// scale=-2:min(ih\,height) Scale the video to the size that's being requested while respecting aspect ratios and ensuring our final dimensions are
|
|
554
563
|
// a power of two.
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
564
|
+
// format= Set the pixel formats we want to target for output.
|
|
565
|
+
let pixelFilters = [
|
|
566
|
+
...(this.config.crop ? this.cropFilter : []),
|
|
567
|
+
"scale=-2:min(ih\\," + options.height.toString() + ")",
|
|
568
|
+
"format=" + this.hwPixelFormat.join("|")
|
|
569
|
+
];
|
|
570
|
+
// Let's assemble our filter collection. If we're reducing our framerate, we want to frontload the fps filter so the downstream filters need to do less work. If we're
|
|
571
|
+
// increasing our framerate, we want to do pixel operations on the minimal set of source frames that we need, since we're just going to duplicate them.
|
|
572
|
+
if (options.fps < options.inputFps) {
|
|
573
|
+
videoFilters = [...fpsFilter, ...pixelFilters];
|
|
559
574
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
if (useFpsFilter) {
|
|
563
|
-
videoFilters.push("fps=fps=" + options.fps.toString());
|
|
575
|
+
else {
|
|
576
|
+
videoFilters = [...pixelFilters, ...(options.fps > options.inputFps ? fpsFilter : [])];
|
|
564
577
|
}
|
|
565
578
|
switch (this.codecSupport.hostSystem) {
|
|
566
579
|
case "macOS.Apple":
|
|
@@ -659,18 +672,25 @@ export class FfmpegOptions {
|
|
|
659
672
|
videoFilters = [];
|
|
660
673
|
// We execute the following GPU-accelerated operations using the Quick Sync Video post-processing filter:
|
|
661
674
|
//
|
|
675
|
+
// crop Crop filter options, if requested.
|
|
662
676
|
// hwupload If we aren't hardware decoding, we need to upload decoded frames to QSV to process them.
|
|
663
677
|
// format=same Set the output pixel format to the same as the input, since it's already in the GPU.
|
|
664
678
|
// w=...:h... Scale the video to the size that's being requested while respecting aspect ratios.
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
679
|
+
pixelFilters = [
|
|
680
|
+
...(this.config.crop ? this.cropFilter : []),
|
|
681
|
+
(options.hardwareDecoding ? "" : "hwupload,") + "vpp_qsv=" + [
|
|
682
|
+
"format=same",
|
|
683
|
+
"w=min(iw\\, (iw / ih) * " + options.height.toString() + ")",
|
|
684
|
+
"h=min(ih\\, " + options.height.toString() + ")"
|
|
685
|
+
].join(":")
|
|
686
|
+
];
|
|
687
|
+
// Let's assemble our filter collection. If we're reducing our framerate, we want to frontload the fps filter so the downstream filters need to do less work. If
|
|
688
|
+
// we're increasing our framerate, we want to do pixel operations on the minimal set of source frames that we need, since we're just going to duplicate them.
|
|
689
|
+
if (options.fps < options.inputFps) {
|
|
690
|
+
videoFilters.push(...fpsFilter, ...pixelFilters);
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
videoFilters.push(...pixelFilters, ...(options.fps > options.inputFps ? fpsFilter : []));
|
|
674
694
|
}
|
|
675
695
|
// h264_qsv is the Intel Quick Sync Video hardware encoder API. We use the following options:
|
|
676
696
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/ffmpeg/options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/ffmpeg/options.ts"],"names":[],"mappings":"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"}
|
package/dist/ffmpeg/record.d.ts
CHANGED
|
@@ -39,13 +39,11 @@ export interface FMp4BaseOptions {
|
|
|
39
39
|
* Options for configuring an fMP4 recording or livestream session.
|
|
40
40
|
*
|
|
41
41
|
* @property fps - The video frames per second for the session.
|
|
42
|
-
* @property probesize - Number of bytes to analyze for stream information.
|
|
43
42
|
* @property timeshift - Timeshift offset for event-based recording (in milliseconds).
|
|
44
43
|
* @property transcodeAudio - Transcode audio to AAC. This can be set to false if the audio stream is already in AAC. Defaults to `true`.
|
|
45
44
|
*/
|
|
46
45
|
export interface FMp4RecordingOptions extends FMp4BaseOptions {
|
|
47
46
|
fps: number;
|
|
48
|
-
probesize: number;
|
|
49
47
|
timeshift: number;
|
|
50
48
|
transcodeAudio: boolean;
|
|
51
49
|
}
|
package/dist/ffmpeg/record.js
CHANGED
|
@@ -116,12 +116,14 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
116
116
|
this.commandLineArgs.push("-avioflags", "direct", "-rtsp_transport", "tcp", "-i", fMp4Options.url);
|
|
117
117
|
}
|
|
118
118
|
else {
|
|
119
|
-
// -
|
|
119
|
+
// -flags low_delay Tell FFmpeg to optimize for low delay / realtime decoding.
|
|
120
120
|
// -r fps Set the input frame rate for the video stream.
|
|
121
|
+
// -analyzeduration number The amount of time, in microseconds, should be spent analyzing the stream for parameters.
|
|
122
|
+
// -probesize number How many bytes should be analyzed for stream information.
|
|
121
123
|
// -f mp4 Tell FFmpeg that it should expect an MP4-encoded input stream.
|
|
122
124
|
// -i pipe:0 Use standard input to get video data.
|
|
123
125
|
// -ss Fast forward to where HKSV is expecting us to be for a recording event.
|
|
124
|
-
this.commandLineArgs.push("-
|
|
126
|
+
this.commandLineArgs.push("-flags", "low_delay", "-r", fMp4Options.fps.toString(), "-analyzeduration", "0", "-probesize", "32", "-f", "mp4", "-i", "pipe:0", "-ss", (fMp4Options.timeshift ?? 0).toString() + "ms");
|
|
125
127
|
}
|
|
126
128
|
// Configure our recording options for the video stream:
|
|
127
129
|
//
|
|
@@ -160,7 +162,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
160
162
|
// -profile:a Specify either low-complexity AAC or enhanced low-delay AAC for HKSV events.
|
|
161
163
|
// -ar samplerate Sample rate to use for this audio. This is specified by HKSV.
|
|
162
164
|
// -ac number Set the number of audio channels.
|
|
163
|
-
this.commandLineArgs.push(...this.options.audioEncoder(recordingConfig.audioCodec.type), "-profile:a", translateAudioRecordingCodecType[recordingConfig.audioCodec.type], "-ar", translateAudioSampleRate[recordingConfig.audioCodec.samplerate] + "k", "-ac", (recordingConfig.audioCodec.audioChannels ?? 1).toString());
|
|
165
|
+
this.commandLineArgs.push(...this.options.audioEncoder({ codec: recordingConfig.audioCodec.type }), "-profile:a", translateAudioRecordingCodecType[recordingConfig.audioCodec.type], "-ar", translateAudioSampleRate[recordingConfig.audioCodec.samplerate] + "k", "-ac", (recordingConfig.audioCodec.audioChannels ?? 1).toString());
|
|
164
166
|
}
|
|
165
167
|
else {
|
|
166
168
|
// Configure the audio portion of the command line. Options we use are:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { PlatformAccessory, Service, WithUUID } from "homebridge";
|
|
7
7
|
import { type Nullable } from "./util.js";
|
|
8
8
|
/**
|
|
9
9
|
* Utility method that either creates a new service on an accessory if needed, or returns an existing one. Optionally, it executes a callback to initialize a new
|
|
10
10
|
* service instance. Additionally, the various name characteristics of the service are set to the specified name, and optionally added if necessary.
|
|
11
11
|
*
|
|
12
|
-
* @param hap - HAP instance associated with the Homebridge plugin.
|
|
13
12
|
* @param accessory - The Homebridge accessory to check or modify.
|
|
14
13
|
* @param serviceType - The type of service to instantiate or retrieve.
|
|
15
14
|
* @param name - Name to be displayed to the end user for this service.
|
|
@@ -27,7 +26,7 @@ import { type Nullable } from "./util.js";
|
|
|
27
26
|
* @example
|
|
28
27
|
* ```typescript
|
|
29
28
|
* // Example: Ensure a Lightbulb service exists with a user-friendly name, and initialize it if newly created.
|
|
30
|
-
* const lightbulbService = acquireService(
|
|
29
|
+
* const lightbulbService = acquireService(accessory, hap.Service.Lightbulb, "Living Room Lamp", undefined, (svc: Service): void => {
|
|
31
30
|
*
|
|
32
31
|
* // Called only if the service is newly created.
|
|
33
32
|
* svc.setCharacteristic(hap.Characteristic.On, false);
|
|
@@ -40,9 +39,11 @@ import { type Nullable } from "./util.js";
|
|
|
40
39
|
* }
|
|
41
40
|
* ```
|
|
42
41
|
*
|
|
42
|
+
* @see setServiceName — updates the newly created (or existing) service’s name-related characteristics.
|
|
43
|
+
* @see validService — validate or prune services after acquisition.
|
|
43
44
|
* @category Accessory
|
|
44
45
|
*/
|
|
45
|
-
export declare function acquireService(
|
|
46
|
+
export declare function acquireService(accessory: PlatformAccessory, serviceType: WithUUID<typeof Service>, name: string, subtype?: string, onServiceCreate?: (svc: Service) => void): Nullable<Service>;
|
|
46
47
|
/**
|
|
47
48
|
* Validates whether a specific service should exist on the given accessory, removing the service if it fails validation.
|
|
48
49
|
*
|
|
@@ -73,6 +74,32 @@ export declare function acquireService(hap: HAP, accessory: PlatformAccessory, s
|
|
|
73
74
|
* validService(accessory, Service.Switch, (hasService) => hasService || config.enableSwitch);
|
|
74
75
|
* ```
|
|
75
76
|
*
|
|
77
|
+
* @see acquireService — to add or retrieve services.
|
|
76
78
|
* @category Accessory
|
|
77
79
|
*/
|
|
78
80
|
export declare function validService(accessory: PlatformAccessory, serviceType: WithUUID<typeof Service>, validate: boolean | ((hasService: boolean) => boolean), subtype?: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Retrieves the primary name of a service, preferring the ConfiguredName characteristic over the Name characteristic.
|
|
83
|
+
*
|
|
84
|
+
* @param service - The service from which to retrieve the name.
|
|
85
|
+
* @returns The configured or display name of the service, or `undefined` if neither is set.
|
|
86
|
+
*
|
|
87
|
+
* @see setServiceName — to update the current name n a service.
|
|
88
|
+
* @category Accessory
|
|
89
|
+
*/
|
|
90
|
+
export declare function getServiceName(service?: Service): string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Updates the displayName and applicable name characteristics of a service to the specified value.
|
|
93
|
+
*
|
|
94
|
+
* @param service - The service to update.
|
|
95
|
+
* @param name - The new name to apply to the service.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* This function ensures the name is validated, updates the service's `displayName`, and sets the `ConfiguredName` and `Name`
|
|
99
|
+
* characteristics when supported by the service type.
|
|
100
|
+
*
|
|
101
|
+
* @see acquireService — to add or retrieve services.
|
|
102
|
+
* @see getServiceName — to retrieve the current name set on a service.
|
|
103
|
+
* @category Accessory
|
|
104
|
+
*/
|
|
105
|
+
export declare function setServiceName(service: Service, name: string): void;
|
package/dist/service.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
*
|
|
3
3
|
* service.ts: Useful Homebridge service support functions.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { sanitizeName } from "./util.js";
|
|
6
6
|
/**
|
|
7
7
|
* Utility method that either creates a new service on an accessory if needed, or returns an existing one. Optionally, it executes a callback to initialize a new
|
|
8
8
|
* service instance. Additionally, the various name characteristics of the service are set to the specified name, and optionally added if necessary.
|
|
9
9
|
*
|
|
10
|
-
* @param hap - HAP instance associated with the Homebridge plugin.
|
|
11
10
|
* @param accessory - The Homebridge accessory to check or modify.
|
|
12
11
|
* @param serviceType - The type of service to instantiate or retrieve.
|
|
13
12
|
* @param name - Name to be displayed to the end user for this service.
|
|
@@ -25,7 +24,7 @@ import { validateName } from "./util.js";
|
|
|
25
24
|
* @example
|
|
26
25
|
* ```typescript
|
|
27
26
|
* // Example: Ensure a Lightbulb service exists with a user-friendly name, and initialize it if newly created.
|
|
28
|
-
* const lightbulbService = acquireService(
|
|
27
|
+
* const lightbulbService = acquireService(accessory, hap.Service.Lightbulb, "Living Room Lamp", undefined, (svc: Service): void => {
|
|
29
28
|
*
|
|
30
29
|
* // Called only if the service is newly created.
|
|
31
30
|
* svc.setCharacteristic(hap.Characteristic.On, false);
|
|
@@ -38,26 +37,13 @@ import { validateName } from "./util.js";
|
|
|
38
37
|
* }
|
|
39
38
|
* ```
|
|
40
39
|
*
|
|
40
|
+
* @see setServiceName — updates the newly created (or existing) service’s name-related characteristics.
|
|
41
|
+
* @see validService — validate or prune services after acquisition.
|
|
41
42
|
* @category Accessory
|
|
42
43
|
*/
|
|
43
|
-
export function acquireService(
|
|
44
|
-
// Services that do not need the Name characteristic added as an optional characteristic.
|
|
45
|
-
const configuredNameRequiredServices = [hap.Service.InputSource, hap.Service.Television, hap.Service.WiFiRouter];
|
|
46
|
-
// Services that need the ConfiguredName characteristic added and maintained.
|
|
47
|
-
const configuredNameServices = [hap.Service.AccessoryInformation, hap.Service.ContactSensor, hap.Service.Lightbulb, hap.Service.MotionSensor,
|
|
48
|
-
hap.Service.OccupancySensor, hap.Service.SmartSpeaker, hap.Service.Switch, hap.Service.Valve];
|
|
49
|
-
// Services that do not need the Name characteristic added as an optional characteristic.
|
|
50
|
-
const nameRequiredServices = [hap.Service.AccessoryInformation, hap.Service.Assistant, hap.Service.InputSource];
|
|
51
|
-
// Services that need the Name characteristic maintained.
|
|
52
|
-
const nameServices = [hap.Service.AirPurifier, hap.Service.AirQualitySensor, hap.Service.Battery, hap.Service.CarbonDioxideSensor,
|
|
53
|
-
hap.Service.CarbonMonoxideSensor, hap.Service.ContactSensor, hap.Service.Door, hap.Service.Doorbell, hap.Service.Fan, hap.Service.Fanv2, hap.Service.Faucet,
|
|
54
|
-
hap.Service.FilterMaintenance, hap.Service.GarageDoorOpener, hap.Service.HeaterCooler, hap.Service.HumidifierDehumidifier, hap.Service.HumiditySensor,
|
|
55
|
-
hap.Service.IrrigationSystem, hap.Service.LeakSensor, hap.Service.Lightbulb, hap.Service.LightSensor, hap.Service.LockMechanism, hap.Service.MotionSensor,
|
|
56
|
-
hap.Service.OccupancySensor, hap.Service.Outlet, hap.Service.SecuritySystem, hap.Service.Slats, hap.Service.SmartSpeaker, hap.Service.SmokeSensor,
|
|
57
|
-
hap.Service.StatefulProgrammableSwitch, hap.Service.StatelessProgrammableSwitch, hap.Service.Switch, hap.Service.TargetControl, hap.Service.Television,
|
|
58
|
-
hap.Service.TemperatureSensor, hap.Service.Thermostat, hap.Service.Valve, hap.Service.Window, hap.Service.WindowCovering];
|
|
44
|
+
export function acquireService(accessory, serviceType, name, subtype, onServiceCreate) {
|
|
59
45
|
// Ensure we have HomeKit approved naming.
|
|
60
|
-
name =
|
|
46
|
+
name = sanitizeName(name);
|
|
61
47
|
// Find the service, if it exists.
|
|
62
48
|
let service = subtype ? accessory.getServiceById(serviceType, subtype) : accessory.getService(serviceType);
|
|
63
49
|
// Add the service to the accessory, if needed.
|
|
@@ -66,15 +52,16 @@ export function acquireService(hap, accessory, serviceType, name, subtype, onSer
|
|
|
66
52
|
if (!service) {
|
|
67
53
|
return null;
|
|
68
54
|
}
|
|
55
|
+
// Grab the Characteristic constructor from the instance of our service so we can set the individual characteristics without needing the HAP object directly.
|
|
56
|
+
const characteristic = service.characteristics[0].constructor;
|
|
69
57
|
// Add the Configured Name characteristic if we don't already have it and it's available to us.
|
|
70
|
-
if (!
|
|
71
|
-
!service.optionalCharacteristics.some(x => (x.UUID ===
|
|
72
|
-
service.addOptionalCharacteristic(
|
|
58
|
+
if (!serviceRequiresConfiguredName(service) && serviceHasConfiguredName(service) &&
|
|
59
|
+
!service.optionalCharacteristics.some(x => (x.UUID === characteristic.ConfiguredName.UUID))) {
|
|
60
|
+
service.addOptionalCharacteristic(characteristic.ConfiguredName);
|
|
73
61
|
}
|
|
74
62
|
// Add the Name characteristic if we don't already have it and it's available to us.
|
|
75
|
-
if (!
|
|
76
|
-
|
|
77
|
-
service.addOptionalCharacteristic(hap.Characteristic.Name);
|
|
63
|
+
if (!serviceRequiresName(service) && serviceHasName(service) && !service.optionalCharacteristics.some(x => (x.UUID === characteristic.Name.UUID))) {
|
|
64
|
+
service.addOptionalCharacteristic(characteristic.Name);
|
|
78
65
|
}
|
|
79
66
|
accessory.addService(service);
|
|
80
67
|
if (onServiceCreate) {
|
|
@@ -82,13 +69,7 @@ export function acquireService(hap, accessory, serviceType, name, subtype, onSer
|
|
|
82
69
|
}
|
|
83
70
|
}
|
|
84
71
|
// Update our name.
|
|
85
|
-
service
|
|
86
|
-
if (configuredNameServices.includes(serviceType)) {
|
|
87
|
-
service.updateCharacteristic(hap.Characteristic.ConfiguredName, name);
|
|
88
|
-
}
|
|
89
|
-
if (nameServices.includes(serviceType)) {
|
|
90
|
-
service.updateCharacteristic(hap.Characteristic.Name, name);
|
|
91
|
-
}
|
|
72
|
+
setServiceName(service, name);
|
|
92
73
|
return service;
|
|
93
74
|
}
|
|
94
75
|
/**
|
|
@@ -121,6 +102,7 @@ export function acquireService(hap, accessory, serviceType, name, subtype, onSer
|
|
|
121
102
|
* validService(accessory, Service.Switch, (hasService) => hasService || config.enableSwitch);
|
|
122
103
|
* ```
|
|
123
104
|
*
|
|
105
|
+
* @see acquireService — to add or retrieve services.
|
|
124
106
|
* @category Accessory
|
|
125
107
|
*/
|
|
126
108
|
export function validService(accessory, serviceType, validate, subtype) {
|
|
@@ -136,4 +118,112 @@ export function validService(accessory, serviceType, validate, subtype) {
|
|
|
136
118
|
// We have a valid service.
|
|
137
119
|
return true;
|
|
138
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Determines whether the specified service type requires the ConfiguredName characteristic.
|
|
123
|
+
*
|
|
124
|
+
* @param service - The service instance to check.
|
|
125
|
+
* @returns `true` if the service type requires the ConfiguredName characteristic.
|
|
126
|
+
*
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
function serviceRequiresConfiguredName(service) {
|
|
130
|
+
// Grab the constructor from the instance of our service so we can generate the list of valid services.
|
|
131
|
+
const ctor = service.constructor;
|
|
132
|
+
// Services that already require the ConfiguredName characteristic.
|
|
133
|
+
return [ctor.InputSource.UUID, ctor.Television.UUID, ctor.WiFiRouter.UUID].includes(service.UUID);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Determines whether the specified service type supports the ConfiguredName characteristic.
|
|
137
|
+
*
|
|
138
|
+
* @param service - The service instance to check.
|
|
139
|
+
* @returns `true` if the service type needs the ConfiguredName characteristic maintained.
|
|
140
|
+
*
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
function serviceHasConfiguredName(service) {
|
|
144
|
+
// Grab the constructor from the instance of our service so we can generate the list of valid services.
|
|
145
|
+
const ctor = service.constructor;
|
|
146
|
+
// Services that need the ConfiguredName characteristic maintained.
|
|
147
|
+
return serviceRequiresConfiguredName(service) || [ctor.AccessoryInformation.UUID, ctor.ContactSensor.UUID, ctor.Lightbulb.UUID, ctor.MotionSensor.UUID,
|
|
148
|
+
ctor.OccupancySensor.UUID, ctor.SmartSpeaker.UUID, ctor.Switch.UUID, ctor.Valve.UUID].includes(service.UUID);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Determines whether the specified service type requires the Name characteristic.
|
|
152
|
+
*
|
|
153
|
+
* @param service - The service instance to check.
|
|
154
|
+
* @returns `true` if the service type requires the Name characteristic.
|
|
155
|
+
*
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
function serviceRequiresName(service) {
|
|
159
|
+
// Grab the constructor from the instance of our service so we can generate the list of valid services.
|
|
160
|
+
const ctor = service.constructor;
|
|
161
|
+
// Services that already require the Name characteristic.
|
|
162
|
+
return [ctor.AccessoryInformation.UUID, ctor.Assistant.UUID, ctor.InputSource.UUID].includes(service.UUID);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Determines whether the specified service type supports the Name characteristic.
|
|
166
|
+
*
|
|
167
|
+
* @param service - The service instance to check.
|
|
168
|
+
* @returns `true` if the service type needs the Name characteristic maintained.
|
|
169
|
+
*
|
|
170
|
+
* @internal
|
|
171
|
+
*/
|
|
172
|
+
function serviceHasName(service) {
|
|
173
|
+
// Grab the constructor from the instance of our service so we can generate the list of valid services.
|
|
174
|
+
const ctor = service.constructor;
|
|
175
|
+
// Services that need the Name characteristic maintained.
|
|
176
|
+
return serviceRequiresName(service) || [ctor.AirPurifier.UUID, ctor.AirQualitySensor.UUID, ctor.Battery.UUID, ctor.CarbonDioxideSensor, ctor.CarbonMonoxideSensor.UUID,
|
|
177
|
+
ctor.ContactSensor.UUID, ctor.Door.UUID, ctor.Doorbell.UUID, ctor.Fan.UUID, ctor.Fanv2.UUID, ctor.Faucet, ctor.FilterMaintenance.UUID, ctor.GarageDoorOpener.UUID,
|
|
178
|
+
ctor.HeaterCooler.UUID, ctor.HumidifierDehumidifier.UUID, ctor.HumiditySensor, ctor.IrrigationSystem.UUID, ctor.LeakSensor.UUID, ctor.Lightbulb.UUID,
|
|
179
|
+
ctor.LightSensor.UUID, ctor.LockMechanism.UUID, ctor.MotionSensor, ctor.OccupancySensor.UUID, ctor.Outlet.UUID, ctor.SecuritySystem.UUID, ctor.Slats.UUID,
|
|
180
|
+
ctor.SmartSpeaker.UUID, ctor.SmokeSensor, ctor.StatefulProgrammableSwitch.UUID, ctor.StatelessProgrammableSwitch.UUID, ctor.Switch.UUID, ctor.TargetControl.UUID,
|
|
181
|
+
ctor.Television, ctor.TemperatureSensor.UUID, ctor.Thermostat.UUID, ctor.Valve.UUID, ctor.Window.UUID, ctor.WindowCovering.UUID].includes(service.UUID);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Retrieves the primary name of a service, preferring the ConfiguredName characteristic over the Name characteristic.
|
|
185
|
+
*
|
|
186
|
+
* @param service - The service from which to retrieve the name.
|
|
187
|
+
* @returns The configured or display name of the service, or `undefined` if neither is set.
|
|
188
|
+
*
|
|
189
|
+
* @see setServiceName — to update the current name n a service.
|
|
190
|
+
* @category Accessory
|
|
191
|
+
*/
|
|
192
|
+
export function getServiceName(service) {
|
|
193
|
+
// No service, we're done.
|
|
194
|
+
if (!service) {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
// Grab the Characteristic constructor from the instance of our service so we can set the individual characteristics without needing the HAP object directly.
|
|
198
|
+
const characteristic = service.characteristics[0].constructor;
|
|
199
|
+
return service.getCharacteristic(characteristic.ConfiguredName).value ?? service.getCharacteristic(characteristic.Name).value ?? undefined;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Updates the displayName and applicable name characteristics of a service to the specified value.
|
|
203
|
+
*
|
|
204
|
+
* @param service - The service to update.
|
|
205
|
+
* @param name - The new name to apply to the service.
|
|
206
|
+
*
|
|
207
|
+
* @remarks
|
|
208
|
+
* This function ensures the name is validated, updates the service's `displayName`, and sets the `ConfiguredName` and `Name`
|
|
209
|
+
* characteristics when supported by the service type.
|
|
210
|
+
*
|
|
211
|
+
* @see acquireService — to add or retrieve services.
|
|
212
|
+
* @see getServiceName — to retrieve the current name set on a service.
|
|
213
|
+
* @category Accessory
|
|
214
|
+
*/
|
|
215
|
+
export function setServiceName(service, name) {
|
|
216
|
+
// Grab the Characteristic constructor from the instance of our service so we can set the individual characteristics without needing the HAP object directly.
|
|
217
|
+
const characteristic = service.characteristics[0].constructor;
|
|
218
|
+
// Ensure we have HomeKit approved naming.
|
|
219
|
+
name = sanitizeName(name);
|
|
220
|
+
// Update our name.
|
|
221
|
+
service.displayName = name;
|
|
222
|
+
if (serviceHasConfiguredName(service)) {
|
|
223
|
+
service.updateCharacteristic(characteristic.ConfiguredName, name);
|
|
224
|
+
}
|
|
225
|
+
if (serviceHasName(service)) {
|
|
226
|
+
service.updateCharacteristic(characteristic.Name, name);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
139
229
|
//# sourceMappingURL=service.js.map
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAiB,YAAY,EAAE,MAAM,WAAW,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -250,7 +250,7 @@ export declare function sleep(sleepTimer: number): Promise<NodeJS.Timeout>;
|
|
|
250
250
|
/**
|
|
251
251
|
* Camel case a string.
|
|
252
252
|
*
|
|
253
|
-
* @param input
|
|
253
|
+
* @param input - The string to camel case.
|
|
254
254
|
*
|
|
255
255
|
* @returns Returns the camel cased string.
|
|
256
256
|
*
|
|
@@ -263,26 +263,51 @@ export declare function sleep(sleepTimer: number): Promise<NodeJS.Timeout>;
|
|
|
263
263
|
* @category Utilities
|
|
264
264
|
*/
|
|
265
265
|
export declare function toCamelCase(input: string): string;
|
|
266
|
+
/**
|
|
267
|
+
* Sanitize an accessory name according to HomeKit naming conventions.
|
|
268
|
+
*
|
|
269
|
+
* @param name - The name to validate.
|
|
270
|
+
*
|
|
271
|
+
* @returns Returns the HomeKit-sanitized version of the name, replacing invalid characters with a space and squashing multiple spaces.
|
|
272
|
+
*
|
|
273
|
+
* @remarks This sanitizes names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
274
|
+
* and HAP specification documentation:
|
|
275
|
+
*
|
|
276
|
+
* - Starts and ends with a letter or number. Exception: may end with a period.
|
|
277
|
+
* - May have the following special characters: -"',.#&.
|
|
278
|
+
* - Must not include emojis.
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```ts
|
|
282
|
+
* sanitizeName("Test|Switch")
|
|
283
|
+
* ```ts
|
|
284
|
+
*
|
|
285
|
+
* Returns: `Test Switch`, replacing the pipe (an invalid character in HomeKit's naming ruleset) with a space.
|
|
286
|
+
*
|
|
287
|
+
* @category Utilities
|
|
288
|
+
*/
|
|
289
|
+
export declare function sanitizeName(name: string): string;
|
|
266
290
|
/**
|
|
267
291
|
* Validate an accessory name according to HomeKit naming conventions.
|
|
268
292
|
*
|
|
269
|
-
* @param name
|
|
293
|
+
* @param name - The name to validate.
|
|
270
294
|
*
|
|
271
|
-
* @returns Returns
|
|
295
|
+
* @returns Returns `true` if the name passes HomeKit's naming rules, `false` otherwise.
|
|
272
296
|
*
|
|
273
|
-
* @remarks This validates names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
297
|
+
* @remarks This validates names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
298
|
+
* and HAP specification documentation:
|
|
274
299
|
*
|
|
275
|
-
* -
|
|
276
|
-
* -
|
|
277
|
-
* -
|
|
300
|
+
* - Starts and ends with a letter or number. Exception: may end with a period.
|
|
301
|
+
* - May have the following special characters: -"',.#&.
|
|
302
|
+
* - Must not include emojis.
|
|
278
303
|
*
|
|
279
304
|
* @example
|
|
280
305
|
* ```ts
|
|
281
|
-
* validateName("Test
|
|
306
|
+
* validateName("Test|Switch")
|
|
282
307
|
* ```ts
|
|
283
308
|
*
|
|
284
|
-
* Returns: `
|
|
309
|
+
* Returns: `false`.
|
|
285
310
|
*
|
|
286
311
|
* @category Utilities
|
|
287
312
|
*/
|
|
288
|
-
export declare function validateName(name: string):
|
|
313
|
+
export declare function validateName(name: string): boolean;
|
package/dist/util.js
CHANGED
|
@@ -122,7 +122,7 @@ export async function sleep(sleepTimer) {
|
|
|
122
122
|
/**
|
|
123
123
|
* Camel case a string.
|
|
124
124
|
*
|
|
125
|
-
* @param input
|
|
125
|
+
* @param input - The string to camel case.
|
|
126
126
|
*
|
|
127
127
|
* @returns Returns the camel cased string.
|
|
128
128
|
*
|
|
@@ -137,29 +137,65 @@ export async function sleep(sleepTimer) {
|
|
|
137
137
|
export function toCamelCase(input) {
|
|
138
138
|
return input.replace(/(^\w|\s+\w)/g, match => match.toUpperCase());
|
|
139
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Sanitize an accessory name according to HomeKit naming conventions.
|
|
142
|
+
*
|
|
143
|
+
* @param name - The name to validate.
|
|
144
|
+
*
|
|
145
|
+
* @returns Returns the HomeKit-sanitized version of the name, replacing invalid characters with a space and squashing multiple spaces.
|
|
146
|
+
*
|
|
147
|
+
* @remarks This sanitizes names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
148
|
+
* and HAP specification documentation:
|
|
149
|
+
*
|
|
150
|
+
* - Starts and ends with a letter or number. Exception: may end with a period.
|
|
151
|
+
* - May have the following special characters: -"',.#&.
|
|
152
|
+
* - Must not include emojis.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* sanitizeName("Test|Switch")
|
|
157
|
+
* ```ts
|
|
158
|
+
*
|
|
159
|
+
* Returns: `Test Switch`, replacing the pipe (an invalid character in HomeKit's naming ruleset) with a space.
|
|
160
|
+
*
|
|
161
|
+
* @category Utilities
|
|
162
|
+
*/
|
|
163
|
+
export function sanitizeName(name) {
|
|
164
|
+
// Here are the steps we're taking to sanitize names for HomeKit:
|
|
165
|
+
//
|
|
166
|
+
// - Replace any disallowed char (including emojis) with a space.
|
|
167
|
+
// - Collapse multiple spaces to one.
|
|
168
|
+
// - Trim spaces at the beginning and end of the string.
|
|
169
|
+
// - Strip any leading non-letter/number.
|
|
170
|
+
// - Collapse two or more trailing periods into one.
|
|
171
|
+
// - Remove any other trailing char that's not letter/number/period.
|
|
172
|
+
return name.replace(/[^\p{L}\p{N}\-"'.,#&\s]/gu, " ").replace(/\s+/g, " ").trim().replace(/^[^\p{L}\p{N}]+/u, "").replace(/\.{2,}$/g, ".").
|
|
173
|
+
replace(/[^\p{L}\p{N}.]$/u, "");
|
|
174
|
+
}
|
|
140
175
|
/**
|
|
141
176
|
* Validate an accessory name according to HomeKit naming conventions.
|
|
142
177
|
*
|
|
143
|
-
* @param name
|
|
178
|
+
* @param name - The name to validate.
|
|
144
179
|
*
|
|
145
|
-
* @returns Returns
|
|
180
|
+
* @returns Returns `true` if the name passes HomeKit's naming rules, `false` otherwise.
|
|
146
181
|
*
|
|
147
|
-
* @remarks This validates names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
182
|
+
* @remarks This validates names using [HomeKit's naming rulesets](https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names)
|
|
183
|
+
* and HAP specification documentation:
|
|
148
184
|
*
|
|
149
|
-
* -
|
|
150
|
-
* -
|
|
151
|
-
* -
|
|
185
|
+
* - Starts and ends with a letter or number. Exception: may end with a period.
|
|
186
|
+
* - May have the following special characters: -"',.#&.
|
|
187
|
+
* - Must not include emojis.
|
|
152
188
|
*
|
|
153
189
|
* @example
|
|
154
190
|
* ```ts
|
|
155
|
-
* validateName("Test
|
|
191
|
+
* validateName("Test|Switch")
|
|
156
192
|
* ```ts
|
|
157
193
|
*
|
|
158
|
-
* Returns: `
|
|
194
|
+
* Returns: `false`.
|
|
159
195
|
*
|
|
160
196
|
* @category Utilities
|
|
161
197
|
*/
|
|
162
198
|
export function validateName(name) {
|
|
163
|
-
return
|
|
199
|
+
return /^(?!.*\p{Extended_Pictographic})(?=^[\p{L}\p{N}].*[\p{L}\p{N}.]$)[\p{L}\p{N}\-"'.,#&]+$/u.test(name);
|
|
164
200
|
}
|
|
165
201
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IAErC,4BAA4B;IAC5B,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAEhB,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,kCAAkC;IAClC,IAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAE1B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;IAE7B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,SAAiC,EAAE,aAAqB,EAAE,YAAqB;IAEzG,IAAG,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,IAAG,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;QAExB,4FAA4F;QAC5F,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACpG,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAmB,EAAE,OAAe;IAE1E,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,UAAkB;IAE5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IAErC,4BAA4B;IAC5B,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAEhB,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,kCAAkC;IAClC,IAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAE1B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;IAE7B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,SAAiC,EAAE,aAAqB,EAAE,YAAqB;IAEzG,IAAG,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,IAAG,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;QAExB,4FAA4F;QAC5F,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACpG,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAmB,EAAE,OAAe;IAE1E,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,UAAkB;IAE5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IAEvC,iEAAiE;IACjE,EAAE;IACF,mEAAmE;IACnE,uCAAuC;IACvC,0DAA0D;IAC1D,2CAA2C;IAC3C,sDAAsD;IACtD,sEAAsE;IACtE,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;QACxI,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IAEvC,OAAO,0FAA0F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/G,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-plugin-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"displayName": "Homebridge Plugin Utilities",
|
|
5
5
|
"description": "Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.",
|
|
6
6
|
"author": {
|
|
@@ -40,16 +40,16 @@
|
|
|
40
40
|
},
|
|
41
41
|
"main": "dist/index.js",
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@stylistic/eslint-plugin": "
|
|
44
|
-
"@types/node": "24.0.
|
|
43
|
+
"@stylistic/eslint-plugin": "5.1.0",
|
|
44
|
+
"@types/node": "24.0.10",
|
|
45
45
|
"@types/ws": "8.18.1",
|
|
46
|
-
"eslint": "9.
|
|
46
|
+
"eslint": "9.30.1",
|
|
47
47
|
"homebridge": "1.10.0",
|
|
48
48
|
"shx": "0.4.0",
|
|
49
|
-
"typedoc": "0.28.
|
|
50
|
-
"typedoc-plugin-markdown": "4.
|
|
49
|
+
"typedoc": "0.28.7",
|
|
50
|
+
"typedoc-plugin-markdown": "4.7.0",
|
|
51
51
|
"typescript": "5.8.3",
|
|
52
|
-
"typescript-eslint": "8.
|
|
52
|
+
"typescript-eslint": "8.35.1"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"mqtt": "5.13.1"
|