homebridge-securitysystem 11.4.1 → 12.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/config.schema.json +30 -37
- package/dist/interfaces/options-interface.d.ts +0 -2
- package/dist/security-system.js +0 -5
- package/dist/security-system.js.map +1 -1
- package/dist/services/configuration-service.d.ts +1 -0
- package/dist/services/configuration-service.js +13 -2
- package/dist/services/configuration-service.js.map +1 -1
- package/dist/services/webhook-service.d.ts +1 -1
- package/dist/services/webhook-service.js +6 -11
- package/dist/services/webhook-service.js.map +1 -1
- package/package.json +1 -1
- package/src/interfaces/options-interface.ts +0 -2
- package/src/security-system.ts +0 -5
- package/src/services/configuration-service.ts +16 -2
- package/src/services/webhook-service.ts +6 -12
- package/dist/utils/log-util.d.ts +0 -4
- package/dist/utils/log-util.js +0 -47
- package/dist/utils/log-util.js.map +0 -1
- package/src/utils/log-util.ts +0 -54
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v12.0.0-beta.1 - 2026-08-29
|
|
4
|
+
|
|
5
|
+
<!-- Release notes generated using configuration in .github/release.yml at v12.0.0-beta.1 -->
|
|
6
|
+
|
|
7
|
+
## What's Changed
|
|
8
|
+
### 💥 Breaking Changes
|
|
9
|
+
* Remove file logging by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/988
|
|
10
|
+
### 🛠️ Other Changes
|
|
11
|
+
* Deprecate audio playback by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/989
|
|
12
|
+
* Deprecate triggered sensor by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/990
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
**Full Changelog**: https://github.com/MiguelRipoll23/homebridge-securitysystem/compare/v11.4.1...v12.0.0-beta.1
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## v11.4.1 - 2026-08-29
|
|
19
|
+
|
|
20
|
+
<!-- Release notes generated using configuration in .github/release.yml at v11.4.1 -->
|
|
21
|
+
|
|
22
|
+
## What's Changed
|
|
23
|
+
### 🐛 Bug Fixes
|
|
24
|
+
* chore: update deps to latest, remove eslint (broken with TS 7) by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/943
|
|
25
|
+
* fix: update publish workflow to use pnpm by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/945
|
|
26
|
+
* chore: update all dependencies to latest by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/976
|
|
27
|
+
### 📦 Dependencies
|
|
28
|
+
* build(deps): bump actions/stale from 10 to 11 by @dependabot[bot] in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/962
|
|
29
|
+
* build(deps): bump pnpm/action-setup from 6.0.9 to 6.0.10 by @dependabot[bot] in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/966
|
|
30
|
+
* build(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/950
|
|
31
|
+
### 🛠️ Other Changes
|
|
32
|
+
* Config schema update by @jeffreyfrei in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/925
|
|
33
|
+
* migrate from npm to pnpm by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/942
|
|
34
|
+
* chore: add oxlint and typecheck scripts by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/975
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
**Full Changelog**: https://github.com/MiguelRipoll23/homebridge-securitysystem/compare/v11.4.0...v11.4.1
|
|
38
|
+
|
|
39
|
+
|
|
3
40
|
## v11.4.1-beta.3 - 2026-08-16
|
|
4
41
|
|
|
5
42
|
<!-- Release notes generated using configuration in .github/release.yml at v11.4.1-beta.3 -->
|
package/config.schema.json
CHANGED
|
@@ -324,14 +324,14 @@
|
|
|
324
324
|
}
|
|
325
325
|
},
|
|
326
326
|
"audio_switch": {
|
|
327
|
-
"title": "Show Audio Enable Switch",
|
|
328
|
-
"description": "Adds a global switch to enable or disable audio except for alarm triggered.",
|
|
327
|
+
"title": "Show Audio Enable Switch (Deprecated)",
|
|
328
|
+
"description": "Adds a global switch to enable or disable audio except for alarm triggered. Deprecated — audio playback is deprecated, use command hooks instead.",
|
|
329
329
|
"type": "boolean",
|
|
330
330
|
"default": false,
|
|
331
331
|
"required": false
|
|
332
332
|
},
|
|
333
333
|
"audio_switch_name": {
|
|
334
|
-
"title": "Audio Enable Switch Name",
|
|
334
|
+
"title": "Audio Enable Switch Name (Deprecated)",
|
|
335
335
|
"description": "",
|
|
336
336
|
"type": "string",
|
|
337
337
|
"default": "Enable Audio",
|
|
@@ -366,14 +366,14 @@
|
|
|
366
366
|
}
|
|
367
367
|
},
|
|
368
368
|
"triggered_sensor": {
|
|
369
|
-
"title": "Show Triggered Sensor",
|
|
370
|
-
"description": "Adds a sensor that pulses at the set rate when the security system has been triggered.",
|
|
369
|
+
"title": "Show Triggered Sensor (Deprecated)",
|
|
370
|
+
"description": "Adds a sensor that pulses at the set rate when the security system has been triggered. Deprecated — Apple already provides emergency alerts for security system accessories, so this sensor is redundant.",
|
|
371
371
|
"type": "boolean",
|
|
372
372
|
"default": false,
|
|
373
373
|
"required": false
|
|
374
374
|
},
|
|
375
375
|
"triggered_sensor_seconds": {
|
|
376
|
-
"title": "Triggered Sensor Pulse Rate (seconds)",
|
|
376
|
+
"title": "Triggered Sensor Pulse Rate (seconds) (Deprecated)",
|
|
377
377
|
"description": "Set to 0 for steady on.",
|
|
378
378
|
"type": "integer",
|
|
379
379
|
"default": 5,
|
|
@@ -391,8 +391,8 @@
|
|
|
391
391
|
"required": false
|
|
392
392
|
},
|
|
393
393
|
"audio": {
|
|
394
|
-
"title": "Play Sounds (local-only, ffmpeg required)",
|
|
395
|
-
"description": "Warns of pending or current events by playing sounds.",
|
|
394
|
+
"title": "Play Sounds (Deprecated, local-only, ffmpeg required)",
|
|
395
|
+
"description": "Warns of pending or current events by playing sounds. Deprecated — use command hooks (command_current_*) to play audio instead, which is more flexible.",
|
|
396
396
|
"type": "boolean",
|
|
397
397
|
"default": false,
|
|
398
398
|
"required": false
|
|
@@ -471,83 +471,85 @@
|
|
|
471
471
|
"required": false,
|
|
472
472
|
"placeholder": "your-api-key"
|
|
473
473
|
},
|
|
474
|
-
"webhook_url": {
|
|
475
|
-
"title": "Base URL",
|
|
476
|
-
"description": "",
|
|
477
|
-
"type": "string",
|
|
478
|
-
"required": false,
|
|
479
|
-
"format": "uri",
|
|
480
|
-
"placeholder": "http://localhost"
|
|
481
|
-
},
|
|
482
474
|
"webhook_target_home": {
|
|
483
475
|
"title": "Target Mode: Home",
|
|
484
476
|
"description": "",
|
|
485
477
|
"type": "string",
|
|
486
478
|
"required": false,
|
|
487
|
-
"
|
|
479
|
+
"format": "uri",
|
|
480
|
+
"placeholder": "http://localhost/target/home"
|
|
488
481
|
},
|
|
489
482
|
"webhook_target_away": {
|
|
490
483
|
"title": "Target Mode: Away",
|
|
491
484
|
"description": "",
|
|
492
485
|
"type": "string",
|
|
493
486
|
"required": false,
|
|
494
|
-
"
|
|
487
|
+
"format": "uri",
|
|
488
|
+
"placeholder": "http://localhost/target/away"
|
|
495
489
|
},
|
|
496
490
|
"webhook_target_night": {
|
|
497
491
|
"title": "Target Mode: Night",
|
|
498
492
|
"description": "",
|
|
499
493
|
"type": "string",
|
|
500
494
|
"required": false,
|
|
501
|
-
"
|
|
495
|
+
"format": "uri",
|
|
496
|
+
"placeholder": "http://localhost/target/night"
|
|
502
497
|
},
|
|
503
498
|
"webhook_target_off": {
|
|
504
499
|
"title": "Target Mode: Off",
|
|
505
500
|
"description": "",
|
|
506
501
|
"type": "string",
|
|
507
502
|
"required": false,
|
|
508
|
-
"
|
|
503
|
+
"format": "uri",
|
|
504
|
+
"placeholder": "http://localhost/target/off"
|
|
509
505
|
},
|
|
510
506
|
"webhook_current_home": {
|
|
511
507
|
"title": "Current Mode: Home",
|
|
512
508
|
"description": "",
|
|
513
509
|
"type": "string",
|
|
514
510
|
"required": false,
|
|
515
|
-
"
|
|
511
|
+
"format": "uri",
|
|
512
|
+
"placeholder": "http://localhost/current/home"
|
|
516
513
|
},
|
|
517
514
|
"webhook_current_away": {
|
|
518
515
|
"title": "Current Mode: Away",
|
|
519
516
|
"description": "",
|
|
520
517
|
"type": "string",
|
|
521
518
|
"required": false,
|
|
522
|
-
"
|
|
519
|
+
"format": "uri",
|
|
520
|
+
"placeholder": "http://localhost/current/away"
|
|
523
521
|
},
|
|
524
522
|
"webhook_current_night": {
|
|
525
523
|
"title": "Current Mode: Night",
|
|
526
524
|
"description": "",
|
|
527
525
|
"type": "string",
|
|
528
526
|
"required": false,
|
|
529
|
-
"
|
|
527
|
+
"format": "uri",
|
|
528
|
+
"placeholder": "http://localhost/current/night"
|
|
530
529
|
},
|
|
531
530
|
"webhook_current_off": {
|
|
532
531
|
"title": "Current Mode: Off",
|
|
533
532
|
"description": "",
|
|
534
533
|
"type": "string",
|
|
535
534
|
"required": false,
|
|
536
|
-
"
|
|
535
|
+
"format": "uri",
|
|
536
|
+
"placeholder": "http://localhost/current/off"
|
|
537
537
|
},
|
|
538
538
|
"webhook_current_warning": {
|
|
539
539
|
"title": "Current Event: Warning",
|
|
540
540
|
"description": "",
|
|
541
541
|
"type": "string",
|
|
542
542
|
"required": false,
|
|
543
|
-
"
|
|
543
|
+
"format": "uri",
|
|
544
|
+
"placeholder": "http://localhost/current/warning"
|
|
544
545
|
},
|
|
545
546
|
"webhook_current_triggered": {
|
|
546
547
|
"title": "Current Mode: Triggered",
|
|
547
548
|
"description": "",
|
|
548
549
|
"type": "string",
|
|
549
550
|
"required": false,
|
|
550
|
-
"
|
|
551
|
+
"format": "uri",
|
|
552
|
+
"placeholder": "http://localhost/current/triggered"
|
|
551
553
|
},
|
|
552
554
|
"command_target_home": {
|
|
553
555
|
"title": "Target Mode: Home",
|
|
@@ -651,13 +653,6 @@
|
|
|
651
653
|
"type": "string",
|
|
652
654
|
"required": false
|
|
653
655
|
},
|
|
654
|
-
"log_directory": {
|
|
655
|
-
"title": "Log Directory Path",
|
|
656
|
-
"description": "",
|
|
657
|
-
"type": "string",
|
|
658
|
-
"required": false,
|
|
659
|
-
"placeholder": "/home/user/logs"
|
|
660
|
-
},
|
|
661
656
|
"save_state": {
|
|
662
657
|
"title": "Save Data Using Storage",
|
|
663
658
|
"description": "Persists the previous state after shutdowns and reboots.",
|
|
@@ -925,8 +920,8 @@
|
|
|
925
920
|
},
|
|
926
921
|
{
|
|
927
922
|
"type": "fieldset",
|
|
928
|
-
"title": "Audio",
|
|
929
|
-
"description": "Play sounds on your connected speakers to notify events.",
|
|
923
|
+
"title": "Audio (Deprecated)",
|
|
924
|
+
"description": "Play sounds on your connected speakers to notify events. Deprecated — use command hooks to play audio instead, which is more flexible.",
|
|
930
925
|
"expandable": true,
|
|
931
926
|
"expanded": false,
|
|
932
927
|
"items": [
|
|
@@ -972,7 +967,6 @@
|
|
|
972
967
|
"expandable": true,
|
|
973
968
|
"expanded": false,
|
|
974
969
|
"items": [
|
|
975
|
-
"webhook_url",
|
|
976
970
|
"webhook_target_home",
|
|
977
971
|
"webhook_target_away",
|
|
978
972
|
"webhook_target_night",
|
|
@@ -1025,7 +1019,6 @@
|
|
|
1025
1019
|
"expandable": true,
|
|
1026
1020
|
"expanded": false,
|
|
1027
1021
|
"items": [
|
|
1028
|
-
"log_directory",
|
|
1029
1022
|
"save_state",
|
|
1030
1023
|
"test_mode",
|
|
1031
1024
|
{
|
|
@@ -30,7 +30,6 @@ export interface SecuritySystemOptions {
|
|
|
30
30
|
modeAwayExtendedSwitchName: string;
|
|
31
31
|
modePauseSwitchName: string;
|
|
32
32
|
audioSwitchName: string;
|
|
33
|
-
logDirectory: string | null;
|
|
34
33
|
overrideOff: boolean;
|
|
35
34
|
resetOffFlow: boolean;
|
|
36
35
|
disabledModes: string[];
|
|
@@ -86,7 +85,6 @@ export interface SecuritySystemOptions {
|
|
|
86
85
|
commandCurrentOff: string | null;
|
|
87
86
|
commandCurrentWarning: string | null;
|
|
88
87
|
commandCurrentTriggered: string | null;
|
|
89
|
-
webhookUrl: string | null;
|
|
90
88
|
webhookTargetHome: string | null;
|
|
91
89
|
webhookTargetAway: string | null;
|
|
92
90
|
webhookTargetNight: string | null;
|
package/dist/security-system.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { SecurityState } from './types/security-state-type.js';
|
|
2
2
|
import { OriginType } from './types/origin-type.js';
|
|
3
3
|
import { ConfigurationService } from './services/configuration-service.js';
|
|
4
|
-
import { attachFileLogger } from './utils/log-util.js';
|
|
5
4
|
import { stateToMode, modeToState } from './utils/state-util.js';
|
|
6
5
|
import { EventBusService } from './services/event-bus-service.js';
|
|
7
6
|
import { EventType } from './types/event-type.js';
|
|
@@ -38,7 +37,6 @@ export class SecuritySystem {
|
|
|
38
37
|
const Char = api.hap.Characteristic;
|
|
39
38
|
const Svc = api.hap.Service;
|
|
40
39
|
this.options = new ConfigurationService(log, config).options;
|
|
41
|
-
attachFileLogger(log, this.options);
|
|
42
40
|
const defaultState = modeToState(this.options.defaultMode);
|
|
43
41
|
this.state = this.buildState(defaultState === -1 ? SecurityState.OFF : defaultState);
|
|
44
42
|
this.svcs = buildServiceRegistry(Svc, Char, this.options);
|
|
@@ -151,9 +149,6 @@ export class SecuritySystem {
|
|
|
151
149
|
if (this.options.proxyMode) {
|
|
152
150
|
this.log.info('Proxy mode (Enabled)');
|
|
153
151
|
}
|
|
154
|
-
if (this.options.webhookUrl) {
|
|
155
|
-
this.log.info(`Webhook (${this.options.webhookUrl})`);
|
|
156
|
-
}
|
|
157
152
|
}
|
|
158
153
|
}
|
|
159
154
|
//# sourceMappingURL=security-system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-system.js","sourceRoot":"","sources":["../src/security-system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"security-system.js","sourceRoot":"","sources":["../src/security-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export class ConfigurationService {
|
|
|
14
14
|
this.options = this.parse(raw);
|
|
15
15
|
this.validate(this.options);
|
|
16
16
|
this.normalize(this.options);
|
|
17
|
+
this.warnDeprecations(this.options);
|
|
17
18
|
log.info('Options', JSON.stringify(this.options));
|
|
18
19
|
}
|
|
19
20
|
// ── Private parsing helpers ─────────────────────────────────────────────────
|
|
@@ -86,7 +87,6 @@ export class ConfigurationService {
|
|
|
86
87
|
modePauseSwitchName: this.str(raw, 'mode_pause_switch_name') ?? DEFAULTS.MODE_PAUSE_SWITCH_NAME,
|
|
87
88
|
audioSwitchName: this.str(raw, 'audio_switch_name') ?? DEFAULTS.AUDIO_SWITCH_NAME,
|
|
88
89
|
// Behaviour toggles
|
|
89
|
-
logDirectory: this.str(raw, 'log_directory'),
|
|
90
90
|
overrideOff: this.bool(raw, 'override_off', false),
|
|
91
91
|
resetOffFlow: this.bool(raw, 'reset_off_flow', false),
|
|
92
92
|
disabledModes: this.strArr(raw, 'disabled_modes'),
|
|
@@ -163,7 +163,6 @@ export class ConfigurationService {
|
|
|
163
163
|
commandCurrentWarning: this.str(raw, 'command_current_warning'),
|
|
164
164
|
commandCurrentTriggered: this.str(raw, 'command_current_triggered'),
|
|
165
165
|
// Webhooks
|
|
166
|
-
webhookUrl: this.str(raw, 'webhook_url'),
|
|
167
166
|
webhookTargetHome: this.str(raw, 'webhook_target_home'),
|
|
168
167
|
webhookTargetAway: this.str(raw, 'webhook_target_away'),
|
|
169
168
|
webhookTargetNight: this.str(raw, 'webhook_target_night'),
|
|
@@ -195,6 +194,18 @@ export class ConfigurationService {
|
|
|
195
194
|
this.log.warn('\'mqtt_broker\' should start with mqtt:// or mqtts://');
|
|
196
195
|
}
|
|
197
196
|
}
|
|
197
|
+
// ── Post-parse deprecation warnings ─────────────────────────────────────────
|
|
198
|
+
warnDeprecations(opts) {
|
|
199
|
+
const audioConfigured = opts.audio || opts.audioPath !== null || opts.audioSwitch ||
|
|
200
|
+
opts.audioVolume !== null || opts.audioArmingLooped || opts.audioAlertLooped ||
|
|
201
|
+
opts.audioExtraVariables.length > 0;
|
|
202
|
+
if (audioConfigured) {
|
|
203
|
+
this.log.warn('Config: audio playback is deprecated, use command hooks (command_current_*) to play audio instead.');
|
|
204
|
+
}
|
|
205
|
+
if (opts.triggeredMotionSensor) {
|
|
206
|
+
this.log.warn('Config: the triggered sensor is deprecated, Apple already provides emergency alerts for security system accessories.');
|
|
207
|
+
}
|
|
208
|
+
}
|
|
198
209
|
// ── Post-parse normalisation ────────────────────────────────────────────────
|
|
199
210
|
normalize(opts) {
|
|
200
211
|
opts.defaultMode = opts.defaultMode.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-service.js","sourceRoot":"","sources":["../../src/services/configuration-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configuration-service.js","sourceRoot":"","sources":["../../src/services/configuration-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@ export declare class WebhookService {
|
|
|
12
12
|
constructor(log: Logging, options: SecuritySystemOptions, state: SystemState);
|
|
13
13
|
attachToBus(bus: EventBusService): void;
|
|
14
14
|
send(type: string, stateOrMode: SecurityState | string, origin: OriginType): void;
|
|
15
|
-
private
|
|
15
|
+
private resolveUrl;
|
|
16
16
|
}
|
|
@@ -24,22 +24,17 @@ export class WebhookService {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
send(type, stateOrMode, origin) {
|
|
27
|
-
if (!this.options.webhookUrl) {
|
|
28
|
-
this.log.debug('Webhook base URL not set.');
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
27
|
if (this.options.proxyMode && origin === OriginType.EXTERNAL) {
|
|
32
28
|
this.log.debug('Webhook bypassed (proxy mode).');
|
|
33
29
|
return;
|
|
34
30
|
}
|
|
35
|
-
const
|
|
36
|
-
if (!
|
|
37
|
-
this.log.debug(`Webhook
|
|
31
|
+
const urlTemplate = this.resolveUrl(type, stateOrMode);
|
|
32
|
+
if (!urlTemplate) {
|
|
33
|
+
this.log.debug(`Webhook URL for ${type}/${stateOrMode} not set.`);
|
|
38
34
|
return;
|
|
39
35
|
}
|
|
40
36
|
const currentMode = stateToMode(this.state.currentState);
|
|
41
|
-
const
|
|
42
|
-
const url = this.options.webhookUrl + finalPath;
|
|
37
|
+
const url = urlTemplate.replace('${currentMode}', currentMode);
|
|
43
38
|
fetch(url)
|
|
44
39
|
.then(res => {
|
|
45
40
|
if (!res.ok) {
|
|
@@ -48,11 +43,11 @@ export class WebhookService {
|
|
|
48
43
|
this.log.info('Webhook event (Sent)');
|
|
49
44
|
})
|
|
50
45
|
.catch(err => {
|
|
51
|
-
this.log.error(`Webhook request failed (${
|
|
46
|
+
this.log.error(`Webhook request failed (${url})`);
|
|
52
47
|
this.log.error(String(err));
|
|
53
48
|
});
|
|
54
49
|
}
|
|
55
|
-
|
|
50
|
+
resolveUrl(type, stateOrMode) {
|
|
56
51
|
const s = stateOrMode;
|
|
57
52
|
const o = this.options;
|
|
58
53
|
if (s === 'warning') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-service.js","sourceRoot":"","sources":["../../src/services/webhook-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,OAAO,cAAc;IAEN,GAAG;IACH,OAAO;IACP,KAAK;IAHxB,YACmB,GAAY,EACZ,OAA8B,EAC9B,KAAkB;mBAFlB,GAAG;uBACH,OAAO;qBACP,KAAK;IACrB,CAAC;IAEJ,WAAW,CAAC,GAAoB;QAC9B,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAqC,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,WAAmC,EAAE,MAAkB;QACxE,IAAI,
|
|
1
|
+
{"version":3,"file":"webhook-service.js","sourceRoot":"","sources":["../../src/services/webhook-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "homebridge-securitysystem",
|
|
3
3
|
"displayName": "Homebridge Security System",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "12.0.0-beta.2",
|
|
6
6
|
"description": "Homebridge plugin that creates a security system accessory that can be triggered by HomeKit sensors.",
|
|
7
7
|
"author": "MiguelRipoll23",
|
|
8
8
|
"license": "MIT",
|
|
@@ -36,7 +36,6 @@ export interface SecuritySystemOptions {
|
|
|
36
36
|
audioSwitchName: string;
|
|
37
37
|
|
|
38
38
|
// Behaviour toggles
|
|
39
|
-
logDirectory: string | null;
|
|
40
39
|
overrideOff: boolean;
|
|
41
40
|
resetOffFlow: boolean;
|
|
42
41
|
disabledModes: string[];
|
|
@@ -116,7 +115,6 @@ export interface SecuritySystemOptions {
|
|
|
116
115
|
commandCurrentTriggered: string | null;
|
|
117
116
|
|
|
118
117
|
// Webhooks
|
|
119
|
-
webhookUrl: string | null;
|
|
120
118
|
webhookTargetHome: string | null;
|
|
121
119
|
webhookTargetAway: string | null;
|
|
122
120
|
webhookTargetNight: string | null;
|
package/src/security-system.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { CharacteristicConstructor } from './interfaces/hap-types-interface
|
|
|
3
3
|
import { SecurityState } from './types/security-state-type.js';
|
|
4
4
|
import { OriginType } from './types/origin-type.js';
|
|
5
5
|
import { ConfigurationService } from './services/configuration-service.js';
|
|
6
|
-
import { attachFileLogger } from './utils/log-util.js';
|
|
7
6
|
import { stateToMode, modeToState } from './utils/state-util.js';
|
|
8
7
|
import type { SecuritySystemOptions } from './interfaces/options-interface.js';
|
|
9
8
|
import type { SystemState } from './interfaces/system-state-interface.js';
|
|
@@ -47,7 +46,6 @@ export class SecuritySystem implements AccessoryPlugin {
|
|
|
47
46
|
const Svc = api.hap.Service as typeof Service;
|
|
48
47
|
|
|
49
48
|
this.options = new ConfigurationService(log, config).options;
|
|
50
|
-
attachFileLogger(log, this.options);
|
|
51
49
|
|
|
52
50
|
const defaultState = modeToState(this.options.defaultMode);
|
|
53
51
|
this.state = this.buildState(defaultState === (-1 as SecurityState) ? SecurityState.OFF : defaultState);
|
|
@@ -184,8 +182,5 @@ export class SecuritySystem implements AccessoryPlugin {
|
|
|
184
182
|
if (this.options.proxyMode) {
|
|
185
183
|
this.log.info('Proxy mode (Enabled)');
|
|
186
184
|
}
|
|
187
|
-
if (this.options.webhookUrl) {
|
|
188
|
-
this.log.info(`Webhook (${this.options.webhookUrl})`);
|
|
189
|
-
}
|
|
190
185
|
}
|
|
191
186
|
}
|
|
@@ -18,6 +18,7 @@ export class ConfigurationService {
|
|
|
18
18
|
this.options = this.parse(raw);
|
|
19
19
|
this.validate(this.options);
|
|
20
20
|
this.normalize(this.options);
|
|
21
|
+
this.warnDeprecations(this.options);
|
|
21
22
|
log.info('Options', JSON.stringify(this.options));
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -103,7 +104,6 @@ export class ConfigurationService {
|
|
|
103
104
|
audioSwitchName: this.str(raw, 'audio_switch_name') ?? DEFAULTS.AUDIO_SWITCH_NAME,
|
|
104
105
|
|
|
105
106
|
// Behaviour toggles
|
|
106
|
-
logDirectory: this.str(raw, 'log_directory'),
|
|
107
107
|
overrideOff: this.bool(raw, 'override_off', false),
|
|
108
108
|
resetOffFlow: this.bool(raw, 'reset_off_flow', false),
|
|
109
109
|
disabledModes: this.strArr(raw, 'disabled_modes'),
|
|
@@ -192,7 +192,6 @@ export class ConfigurationService {
|
|
|
192
192
|
commandCurrentTriggered: this.str(raw, 'command_current_triggered'),
|
|
193
193
|
|
|
194
194
|
// Webhooks
|
|
195
|
-
webhookUrl: this.str(raw, 'webhook_url'),
|
|
196
195
|
webhookTargetHome: this.str(raw, 'webhook_target_home'),
|
|
197
196
|
webhookTargetAway: this.str(raw, 'webhook_target_away'),
|
|
198
197
|
webhookTargetNight: this.str(raw, 'webhook_target_night'),
|
|
@@ -230,6 +229,21 @@ export class ConfigurationService {
|
|
|
230
229
|
}
|
|
231
230
|
}
|
|
232
231
|
|
|
232
|
+
// ── Post-parse deprecation warnings ─────────────────────────────────────────
|
|
233
|
+
|
|
234
|
+
private warnDeprecations(opts: SecuritySystemOptions): void {
|
|
235
|
+
const audioConfigured = opts.audio || opts.audioPath !== null || opts.audioSwitch ||
|
|
236
|
+
opts.audioVolume !== null || opts.audioArmingLooped || opts.audioAlertLooped ||
|
|
237
|
+
opts.audioExtraVariables.length > 0;
|
|
238
|
+
if (audioConfigured) {
|
|
239
|
+
this.log.warn('Config: audio playback is deprecated, use command hooks (command_current_*) to play audio instead.');
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if (opts.triggeredMotionSensor) {
|
|
243
|
+
this.log.warn('Config: the triggered sensor is deprecated, Apple already provides emergency alerts for security system accessories.');
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
233
247
|
// ── Post-parse normalisation ────────────────────────────────────────────────
|
|
234
248
|
|
|
235
249
|
private normalize(opts: SecuritySystemOptions): void {
|
|
@@ -28,25 +28,19 @@ export class WebhookService {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
send(type: string, stateOrMode: SecurityState | string, origin: OriginType): void {
|
|
31
|
-
if (!this.options.webhookUrl) {
|
|
32
|
-
this.log.debug('Webhook base URL not set.');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
31
|
if (this.options.proxyMode && origin === OriginType.EXTERNAL) {
|
|
37
32
|
this.log.debug('Webhook bypassed (proxy mode).');
|
|
38
33
|
return;
|
|
39
34
|
}
|
|
40
35
|
|
|
41
|
-
const
|
|
42
|
-
if (!
|
|
43
|
-
this.log.debug(`Webhook
|
|
36
|
+
const urlTemplate = this.resolveUrl(type, stateOrMode);
|
|
37
|
+
if (!urlTemplate) {
|
|
38
|
+
this.log.debug(`Webhook URL for ${type}/${stateOrMode} not set.`);
|
|
44
39
|
return;
|
|
45
40
|
}
|
|
46
41
|
|
|
47
42
|
const currentMode = stateToMode(this.state.currentState);
|
|
48
|
-
const
|
|
49
|
-
const url = this.options.webhookUrl + finalPath;
|
|
43
|
+
const url = urlTemplate.replace('${currentMode}', currentMode);
|
|
50
44
|
|
|
51
45
|
fetch(url)
|
|
52
46
|
.then(res => {
|
|
@@ -56,12 +50,12 @@ export class WebhookService {
|
|
|
56
50
|
this.log.info('Webhook event (Sent)');
|
|
57
51
|
})
|
|
58
52
|
.catch(err => {
|
|
59
|
-
this.log.error(`Webhook request failed (${
|
|
53
|
+
this.log.error(`Webhook request failed (${url})`);
|
|
60
54
|
this.log.error(String(err));
|
|
61
55
|
});
|
|
62
56
|
}
|
|
63
57
|
|
|
64
|
-
private
|
|
58
|
+
private resolveUrl(type: string, stateOrMode: SecurityState | string): string | null {
|
|
65
59
|
const s = stateOrMode;
|
|
66
60
|
const o = this.options;
|
|
67
61
|
|
package/dist/utils/log-util.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { Logging } from 'homebridge';
|
|
2
|
-
import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
|
|
3
|
-
/** Wraps the homebridge logger to also append messages to a rotating daily log file. */
|
|
4
|
-
export declare function attachFileLogger(log: Logging, options: SecuritySystemOptions): void;
|
package/dist/utils/log-util.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
/** Wraps the homebridge logger to also append messages to a rotating daily log file. */
|
|
3
|
-
export function attachFileLogger(log, options) {
|
|
4
|
-
if (!options.logDirectory) {
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
const dir = options.logDirectory;
|
|
8
|
-
const appendToFile = async (message) => {
|
|
9
|
-
const logPath = `${dir}/securitysystem.log`;
|
|
10
|
-
try {
|
|
11
|
-
const stats = await fs.promises.stat(logPath);
|
|
12
|
-
const today = new Date().toLocaleDateString();
|
|
13
|
-
if (stats.birthtime.toLocaleDateString() !== today) {
|
|
14
|
-
const rotated = `${dir}/securitysystem-${stats.birthtime.toLocaleDateString().replaceAll('/', '-')}.log`;
|
|
15
|
-
await fs.promises.rename(logPath, rotated);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
// No previous log file — first write will create it.
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
const line = `[${new Date().toLocaleString()}] ${message}\n`;
|
|
23
|
-
await fs.promises.appendFile(logPath, line, { flag: 'a' });
|
|
24
|
-
}
|
|
25
|
-
catch (err) {
|
|
26
|
-
// Avoid infinite recursion — call the original methods directly.
|
|
27
|
-
process.stderr.write(`File logger error: ${err}\n`);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
const origInfo = log.info.bind(log);
|
|
31
|
-
const origWarn = log.warn.bind(log);
|
|
32
|
-
const origError = log.error.bind(log);
|
|
33
|
-
// Re-assign to also write to file.
|
|
34
|
-
log.info = (msg) => {
|
|
35
|
-
origInfo(msg);
|
|
36
|
-
appendToFile(msg);
|
|
37
|
-
};
|
|
38
|
-
log.warn = (msg) => {
|
|
39
|
-
origWarn(msg);
|
|
40
|
-
appendToFile(msg);
|
|
41
|
-
};
|
|
42
|
-
log.error = (msg) => {
|
|
43
|
-
origError(msg);
|
|
44
|
-
appendToFile(msg);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=log-util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-util.js","sourceRoot":"","sources":["../../src/utils/log-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAA8B;IAC3E,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAEjC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QAC5D,MAAM,OAAO,GAAG,GAAG,GAAG,qBAAqB,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAE9C,IAAI,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,KAAK,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,GAAG,GAAG,mBAAmB,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;gBACzG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,OAAO,IAAI,CAAC;YAC7D,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtC,mCAAmC;IAClC,GAA0C,CAAC,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QACjE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACD,GAA0C,CAAC,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QACjE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACD,GAA0C,CAAC,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;QAClE,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
package/src/utils/log-util.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import type { Logging } from 'homebridge';
|
|
3
|
-
import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
|
|
4
|
-
|
|
5
|
-
/** Wraps the homebridge logger to also append messages to a rotating daily log file. */
|
|
6
|
-
export function attachFileLogger(log: Logging, options: SecuritySystemOptions): void {
|
|
7
|
-
if (!options.logDirectory) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const dir = options.logDirectory;
|
|
12
|
-
|
|
13
|
-
const appendToFile = async (message: string): Promise<void> => {
|
|
14
|
-
const logPath = `${dir}/securitysystem.log`;
|
|
15
|
-
|
|
16
|
-
try {
|
|
17
|
-
const stats = await fs.promises.stat(logPath);
|
|
18
|
-
const today = new Date().toLocaleDateString();
|
|
19
|
-
|
|
20
|
-
if (stats.birthtime.toLocaleDateString() !== today) {
|
|
21
|
-
const rotated = `${dir}/securitysystem-${stats.birthtime.toLocaleDateString().replaceAll('/', '-')}.log`;
|
|
22
|
-
await fs.promises.rename(logPath, rotated);
|
|
23
|
-
}
|
|
24
|
-
} catch {
|
|
25
|
-
// No previous log file — first write will create it.
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
const line = `[${new Date().toLocaleString()}] ${message}\n`;
|
|
30
|
-
await fs.promises.appendFile(logPath, line, { flag: 'a' });
|
|
31
|
-
} catch (err) {
|
|
32
|
-
// Avoid infinite recursion — call the original methods directly.
|
|
33
|
-
process.stderr.write(`File logger error: ${err}\n`);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const origInfo = log.info.bind(log);
|
|
38
|
-
const origWarn = log.warn.bind(log);
|
|
39
|
-
const origError = log.error.bind(log);
|
|
40
|
-
|
|
41
|
-
// Re-assign to also write to file.
|
|
42
|
-
(log as unknown as Record<string, unknown>).info = (msg: string) => {
|
|
43
|
-
origInfo(msg);
|
|
44
|
-
appendToFile(msg);
|
|
45
|
-
};
|
|
46
|
-
(log as unknown as Record<string, unknown>).warn = (msg: string) => {
|
|
47
|
-
origWarn(msg);
|
|
48
|
-
appendToFile(msg);
|
|
49
|
-
};
|
|
50
|
-
(log as unknown as Record<string, unknown>).error = (msg: string) => {
|
|
51
|
-
origError(msg);
|
|
52
|
-
appendToFile(msg);
|
|
53
|
-
};
|
|
54
|
-
}
|