homebridge-securitysystem 10.0.0 → 10.1.0-beta.3

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.
@@ -113,14 +113,13 @@ jobs:
113
113
 
114
114
  - name: Commit changelog
115
115
  run: |
116
- if git diff --quiet CHANGELOG.md; then
117
- echo "No changelog updates to commit."
118
- exit 0
119
- fi
120
-
121
116
  git config user.name "github-actions[bot]"
122
117
  git config user.email "github-actions[bot]@users.noreply.github.com"
123
118
  git add CHANGELOG.md
119
+ if git diff --quiet --cached CHANGELOG.md; then
120
+ echo "No changelog updates to commit."
121
+ exit 0
122
+ fi
124
123
  git commit -m "docs: update changelog for ${{ needs.create-tag.outputs.tag-name }}"
125
124
  git push origin HEAD:main
126
125
 
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## v10.1.0-beta.2 - 2026-04-17
4
+
5
+ <!-- Release notes generated using configuration in .github/release.yml at v10.1.0-beta.2 -->
6
+
7
+ ## What's Changed
8
+ ### 🛠️ Other Changes
9
+ * fix: resolve Service|Service[] type errors and CHANGELOG detection bug by @MiguelRipoll23 in https://github.com/MiguelRipoll23/homebridge-securitysystem/pull/752
10
+
11
+
12
+ **Full Changelog**: https://github.com/MiguelRipoll23/homebridge-securitysystem/compare/v10.1.0-beta.1...v10.1.0-beta.2
13
+
package/README.md CHANGED
@@ -10,9 +10,7 @@ Homebridge plugin that creates a security system accessory that can be triggered
10
10
 
11
11
  ## Installation
12
12
 
13
- If you already have [Homebridge](https://github.com/homebridge/homebridge) installed, execute the following command:
14
-
15
- `npm i -g --unsafe-perm homebridge-securitysystem`
13
+ In the Homebridge UI, go to the plugins section, click the search button, then search for `homebridge-securitysystem`, and click the install button.
16
14
 
17
15
  ## Demo
18
16
 
@@ -404,6 +404,57 @@
404
404
  "default": true,
405
405
  "required": false
406
406
  },
407
+ "trip_home_switches": {
408
+ "title": "Custom Trip Home Switches",
409
+ "description": "Additional trip switches for Home mode. Final name is \"Home <Label>\".",
410
+ "type": "array",
411
+ "items": {
412
+ "title": "Switch",
413
+ "type": "object",
414
+ "properties": {
415
+ "label": {
416
+ "title": "Label",
417
+ "type": "string",
418
+ "required": true
419
+ }
420
+ }
421
+ },
422
+ "required": false
423
+ },
424
+ "trip_away_switches": {
425
+ "title": "Custom Trip Away Switches",
426
+ "description": "Additional trip switches for Away mode. Final name is \"Away <Label>\".",
427
+ "type": "array",
428
+ "items": {
429
+ "title": "Switch",
430
+ "type": "object",
431
+ "properties": {
432
+ "label": {
433
+ "title": "Label",
434
+ "type": "string",
435
+ "required": true
436
+ }
437
+ }
438
+ },
439
+ "required": false
440
+ },
441
+ "trip_night_switches": {
442
+ "title": "Custom Trip Night Switches",
443
+ "description": "Additional trip switches for Night mode. Final name is \"Night <Label>\".",
444
+ "type": "array",
445
+ "items": {
446
+ "title": "Switch",
447
+ "type": "object",
448
+ "properties": {
449
+ "label": {
450
+ "title": "Label",
451
+ "type": "string",
452
+ "required": true
453
+ }
454
+ }
455
+ },
456
+ "required": false
457
+ },
407
458
  "audio_switch": {
408
459
  "title": "Show Audio Switch",
409
460
  "description": "Adds a global switch to enable or disable audio except for alarm triggered.",
@@ -759,6 +810,24 @@
759
810
  "trip_switch",
760
811
  "trip_override_switch",
761
812
  "trip_mode_switches",
813
+ {
814
+ "key": "trip_home_switches",
815
+ "type": "tabarray",
816
+ "title": "{{ value.label || 'Home Switch' }}",
817
+ "items": ["trip_home_switches[].label"]
818
+ },
819
+ {
820
+ "key": "trip_away_switches",
821
+ "type": "tabarray",
822
+ "title": "{{ value.label || 'Away Switch' }}",
823
+ "items": ["trip_away_switches[].label"]
824
+ },
825
+ {
826
+ "key": "trip_night_switches",
827
+ "type": "tabarray",
828
+ "title": "{{ value.label || 'Night Switch' }}",
829
+ "items": ["trip_night_switches[].label"]
830
+ },
762
831
  "audio_switch"
763
832
  ]
764
833
  },
@@ -1 +1 @@
1
- {"version":3,"file":"sensor-handler.js","sourceRoot":"","sources":["../../src/handlers/sensor-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE,wDAAwD;AACxD,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,QAAyB,EACzB,cAAyC,EACzC,GAAY;QAFZ,aAAQ,GAAR,QAAQ,CAAiB;QACzB,mBAAc,GAAd,cAAc,CAA2B;QACzC,QAAG,GAAH,GAAG,CAAS;IAC5B,CAAC;IAEJ,8EAA8E;IAE9E,wBAAwB,CAAC,KAAc;QACrC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB;aACpD,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAE/D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,wBAAwB;QACtB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,oBAAoB,CAC3D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/D,CAAC;IAED,wBAAwB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B;aAClD,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,0BAA0B;QACxB,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,oBAAoB,CAC7D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACjE,CAAC;IAED,8EAA8E;IAE9E,sBAAsB;QACpB,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,oBAAoB,CAClE,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAEtE,aAAa,CAAC,OAA+C;QACnE,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"sensor-handler.js","sourceRoot":"","sources":["../../src/handlers/sensor-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE,wDAAwD;AACxD,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,QAAyB,EACzB,cAAyC,EACzC,GAAY;QAFZ,aAAQ,GAAR,QAAQ,CAAiB;QACzB,mBAAc,GAAd,cAAc,CAA2B;QACzC,QAAG,GAAH,GAAG,CAAS;IAC5B,CAAC;IAEJ,8EAA8E;IAE9E,wBAAwB,CAAC,KAAc;QACrC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB;aACpD,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAE/D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAC1D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,wBAAwB;QACtB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,oBAAoB,CAC3D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/D,CAAC;IAED,wBAAwB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B;aAClD,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,0BAA0B;QACxB,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,oBAAoB,CAC7D,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACjE,CAAC;IAED,8EAA8E;IAE9E,sBAAsB;QACpB,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,oBAAoB,CAClE,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAEtE,aAAa,CAAC,OAAgB;QACpC,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-handler.js","sourceRoot":"","sources":["../../src/handlers/state-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-handler.js","sourceRoot":"","sources":["../../src/handlers/state-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"switch-handler.js","sourceRoot":"","sources":["../../src/handlers/switch-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switch-handler.js","sourceRoot":"","sources":["../../src/handlers/switch-handler.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,19 @@ export class TripHandler {
105
105
  this.log.debug(`${label} Switch (Off)`);
106
106
  }
107
107
  }
108
+ const customGroups = [
109
+ this.services.customTripHomeSwitchServices,
110
+ this.services.customTripAwaySwitchServices,
111
+ this.services.customTripNightSwitchServices,
112
+ ];
113
+ for (const group of customGroups) {
114
+ for (const svc of group) {
115
+ const char = svc.getCharacteristic(this.Characteristic.On);
116
+ if (char.value) {
117
+ char.updateValue(false);
118
+ }
119
+ }
120
+ }
108
121
  }
109
122
  activateTrip(origin) {
110
123
  this.log.info('Security System (Tripped)');
@@ -1 +1 @@
1
- {"version":3,"file":"trip-handler.js","sourceRoot":"","sources":["../../src/handlers/trip-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trip-handler.js","sourceRoot":"","sources":["../../src/handlers/trip-handler.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,25 @@ export class HomeKitRegistrar {
60
60
  }
61
61
  });
62
62
  }
63
+ const customModeTrips = [
64
+ [s.customTripHomeSwitchServices, SecurityState.HOME],
65
+ [s.customTripAwaySwitchServices, SecurityState.AWAY],
66
+ [s.customTripNightSwitchServices, SecurityState.NIGHT],
67
+ ];
68
+ for (const [services, mode] of customModeTrips) {
69
+ for (const svc of services) {
70
+ const name = String(svc.getCharacteristic(Char.ConfiguredName).value ?? 'Custom Trip');
71
+ svc.getCharacteristic(Char.On)
72
+ .onGet(async () => Boolean(svc.getCharacteristic(Char.On).value))
73
+ .onSet(async (v) => {
74
+ this.log.info(`${name} Switch (${v ? 'On' : 'Off'})`);
75
+ const ok = this.tripHandler.triggerIfModeSet(mode, v);
76
+ if (!ok) {
77
+ throw new this.api.hap.HapStatusError(HK_ERR);
78
+ }
79
+ });
80
+ }
81
+ }
63
82
  s.tripOverrideSwitchService.getCharacteristic(Char.On)
64
83
  .onGet(async () => Boolean(s.tripOverrideSwitchService.getCharacteristic(Char.On).value))
65
84
  .onSet(async (v) => {
@@ -1 +1 @@
1
- {"version":3,"file":"homekit-registrar.js","sourceRoot":"","sources":["../../src/homekit/homekit-registrar.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAKnF,sFAAsF;AACtF,MAAM,OAAO,gBAAgB;IAER;IACA;IACA;IACA;IACA;IACA;IACA;IAPnB,YACmB,GAAQ,EACR,GAAY,EACZ,IAAqB,EACrB,KAAkB,EAClB,YAA0B,EAC1B,WAAwB,EACxB,aAA4B;QAN5B,QAAG,GAAH,GAAG,CAAK;QACR,QAAG,GAAH,GAAG,CAAS;QACZ,SAAI,GAAJ,IAAI,CAAiB;QACrB,UAAK,GAAL,KAAK,CAAa;QAClB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ,QAAQ,CAAC,IAA+B;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,+BAA+B,CAAC;QAE/C,wBAAwB;QACxB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC;aAC7D,KAAK,CAAC,KAAK,IAAkC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC;aAC5D,KAAK,CAAC,KAAK,IAAkC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;aACvE,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAkB,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAkB,CAAC,CAAC,CAAC;QAC7I,CAAC,CAAC,CAAC;QAEL,iBAAiB;QACjB,MAAM,cAAc,GAAG,CAAC,CAAsB,EAAE,MAAkB,EAAE,EAAE;YACpE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAmB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;QAEF,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3C,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAChF,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEL,MAAM,SAAS,GAA0D;YACvE,CAAC,uBAAuB,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;YAC1D,CAAC,uBAAuB,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;YAC1D,CAAC,wBAAwB,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC;SAC9D,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC3B,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAY,CAAC,CAAC;gBACjE,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAmB,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAED,CAAC,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACnD,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACxF,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5D,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEL,iBAAiB;QACjB,MAAM,YAAY,GAAiE;YACjF,CAAC,uBAAuB,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;YAC1D,CAAC,uBAAuB,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;YAC1D,CAAC,wBAAwB,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC;YAC7D,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC;SAC3C,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC3B,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI;oBACvB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAY,CAAC;oBACtD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAY,CAAC,CAAC;gBACtD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAgB,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAED,CAAC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACvD,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5F,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAY,CAAC,CAAC;YACvE,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAgB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aAChD,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACrF,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAY,CAAC,CAAC;YAChE,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAgB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,wBAAwB;QACxB,MAAM,YAAY,GAA2C;YAC3D,CAAC,yBAAyB,EAAE,QAAQ,CAAC;YACrC,CAAC,6BAA6B,EAAE,MAAM,CAAC;YACvC,CAAC,6BAA6B,EAAE,MAAM,CAAC;YACvC,CAAC,8BAA8B,EAAE,OAAO,CAAC;SAC1C,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC3B,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,gBAAgB;QAChB,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5C,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACjF,KAAK,CAAC,KAAK,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAEnG,8BAA8B;QAC9B,MAAM,UAAU,GAAG;YACjB,2BAA2B,EAAE,4BAA4B;YACzD,8BAA8B,EAAE,mCAAmC;SAC3D,CAAC;QACX,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;iBAC1C,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"homekit-registrar.js","sourceRoot":"","sources":["../../src/homekit/homekit-registrar.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export function buildServiceRegistry(Svc, Char, options) {
23
23
  infoSvc.setCharacteristic(Char.SerialNumber, options.serialNumber);
24
24
  const audioSvc = sw(options.audioSwitchName, SWITCH_UUIDS.AUDIO);
25
25
  audioSvc.getCharacteristic(Char.On).value = true;
26
+ const buildCustomTripSwitches = (mode, modeLabel, switches) => switches.map((s, i) => sw(`Trip ${modeLabel} ${s.label}`, `trip-${mode}-${i}`));
26
27
  return {
27
28
  mainService: mainSvc,
28
29
  accessoryInfoService: infoSvc,
@@ -41,6 +42,9 @@ export function buildServiceRegistry(Svc, Char, options) {
41
42
  modeOffSwitchService: sw(options.modeOffSwitchName, SWITCH_UUIDS.MODE_OFF),
42
43
  modeAwayExtendedSwitchService: sw(options.modeAwayExtendedSwitchName, SWITCH_UUIDS.MODE_AWAY_EXTENDED),
43
44
  modePauseSwitchService: sw(options.modePauseSwitchName, SWITCH_UUIDS.MODE_PAUSE),
45
+ customTripHomeSwitchServices: buildCustomTripSwitches('home', 'Home', options.tripHomeSwitches),
46
+ customTripAwaySwitchServices: buildCustomTripSwitches('away', 'Away', options.tripAwaySwitches),
47
+ customTripNightSwitchServices: buildCustomTripSwitches('night', 'Night', options.tripNightSwitches),
44
48
  audioSwitchService: audioSvc,
45
49
  armingMotionSensorService: sensor('Arming', SWITCH_UUIDS.ARMING_SENSOR),
46
50
  trippedMotionSensorService: sensor('Tripped', SWITCH_UUIDS.TRIPPED_SENSOR),
@@ -83,6 +87,7 @@ export function buildServiceList(svcs, options, state) {
83
87
  if (options.tripModeSwitches) {
84
88
  list.push(svcs.tripHomeSwitchService);
85
89
  }
90
+ list.push(...svcs.customTripHomeSwitchServices);
86
91
  }
87
92
  if (avail.includes(SecurityState.AWAY)) {
88
93
  if (options.modeSwitches) {
@@ -91,6 +96,7 @@ export function buildServiceList(svcs, options, state) {
91
96
  if (options.tripModeSwitches) {
92
97
  list.push(svcs.tripAwaySwitchService);
93
98
  }
99
+ list.push(...svcs.customTripAwaySwitchServices);
94
100
  }
95
101
  if (avail.includes(SecurityState.NIGHT)) {
96
102
  if (options.modeSwitches) {
@@ -99,6 +105,7 @@ export function buildServiceList(svcs, options, state) {
99
105
  if (options.tripModeSwitches) {
100
106
  list.push(svcs.tripNightSwitchService);
101
107
  }
108
+ list.push(...svcs.customTripNightSwitchServices);
102
109
  }
103
110
  if (options.modeSwitches && options.modeOffSwitch) {
104
111
  list.push(svcs.modeOffSwitchService);
@@ -1 +1 @@
1
- {"version":3,"file":"service-factory.js","sourceRoot":"","sources":["../../src/homekit/service-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-factory.js","sourceRoot":"","sources":["../../src/homekit/service-factory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAClC,GAAmB,EACnB,IAA+B,EAC/B,OAA8B;IAE9B,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,GAAW,EAAW,EAAE;QAChD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAW,EAAW,EAAE;QACpD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;IAC/C,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC/D,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAEjD,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,QAA0B,EAAa,EAAE,CACzG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAElF,OAAO;QACL,WAAW,EAAE,OAAO;QACpB,oBAAoB,EAAE,OAAO;QAC7B,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC;QAChE,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC7E,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC7E,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC;QAChF,yBAAyB,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,aAAa,CAAC;QACzF,uBAAuB,EAAE,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC;QACpE,2BAA2B,EAAE,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC;QAClF,2BAA2B,EAAE,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC;QAClF,4BAA4B,EAAE,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,iBAAiB,CAAC;QACrF,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC7E,qBAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC7E,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC;QAChF,oBAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC1E,6BAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,CAAC,kBAAkB,CAAC;QACtG,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC;QAChF,4BAA4B,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC/F,4BAA4B,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC/F,6BAA6B,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC;QACnG,kBAAkB,EAAE,QAAQ;QAC5B,yBAAyB,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC;QACvE,0BAA0B,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC;QAC1E,4BAA4B,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,gBAAgB,CAAC;QAChF,iCAAiC,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,YAAY,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAC9B,IAAqB,EACrB,OAA8B,EAC9B,KAAiD;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC;IAC1C,MAAM,IAAI,GAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEtE,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -3,6 +3,10 @@ export interface AudioVariable {
3
3
  key: string;
4
4
  value: string;
5
5
  }
6
+ /** A single custom trip switch entry with a user-defined label. */
7
+ export interface TripModeSwitch {
8
+ label: string;
9
+ }
6
10
  /** Fully-parsed, strongly-typed configuration options for the security system. */
7
11
  export interface SecuritySystemOptions {
8
12
  name: string;
@@ -39,6 +43,9 @@ export interface SecuritySystemOptions {
39
43
  tripSwitch: boolean;
40
44
  tripOverrideSwitch: boolean;
41
45
  tripModeSwitches: boolean;
46
+ tripHomeSwitches: TripModeSwitch[];
47
+ tripAwaySwitches: TripModeSwitch[];
48
+ tripNightSwitches: TripModeSwitch[];
42
49
  armingLockSwitch: boolean;
43
50
  armingLockSwitches: boolean;
44
51
  armingMotionSensor: boolean;
@@ -18,9 +18,16 @@ export interface ServiceRegistry {
18
18
  modeOffSwitchService: Service;
19
19
  modeAwayExtendedSwitchService: Service;
20
20
  modePauseSwitchService: Service;
21
+ customTripHomeSwitchServices: Service[];
22
+ customTripAwaySwitchServices: Service[];
23
+ customTripNightSwitchServices: Service[];
21
24
  audioSwitchService: Service;
22
25
  armingMotionSensorService: Service;
23
26
  trippedMotionSensorService: Service;
24
27
  triggeredMotionSensorService: Service;
25
28
  triggeredResetMotionSensorService: Service;
26
29
  }
30
+ /** Keys of ServiceRegistry whose value is a single Service (not Service[]). */
31
+ export type SingleServiceKey = {
32
+ [K in keyof ServiceRegistry]: ServiceRegistry[K] extends Service[] ? never : K;
33
+ }[keyof ServiceRegistry];
@@ -136,6 +136,16 @@ export class ConfigurationService {
136
136
  audioExtraVariables: Array.isArray(raw.audio_extra_variables)
137
137
  ? raw.audio_extra_variables
138
138
  : [],
139
+ // Custom trip mode switches
140
+ tripHomeSwitches: Array.isArray(raw.trip_home_switches)
141
+ ? raw.trip_home_switches
142
+ : [],
143
+ tripAwaySwitches: Array.isArray(raw.trip_away_switches)
144
+ ? raw.trip_away_switches
145
+ : [],
146
+ tripNightSwitches: Array.isArray(raw.trip_night_switches)
147
+ ? raw.trip_night_switches
148
+ : [],
139
149
  audioSwitch: this.bool(raw, 'audio_switch', false),
140
150
  // Server
141
151
  serverPort: this.num(raw, 'server_port'),
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-service.js","sourceRoot":"","sources":["../../src/services/configuration-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAI5D;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAGF;IAFpB,OAAO,CAAwB;IAExC,YAA6B,GAAY,EAAE,GAAc;QAA5B,QAAG,GAAH,GAAG,CAAS;QACvC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,+EAA+E;IAEvE,KAAK,CAAC,KAAc;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,GAAG,CAAC,GAAc,EAAE,GAAW;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAEO,GAAG,CAAC,GAAc,EAAE,GAAW;QACrC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEO,IAAI,CAAC,GAAc,EAAE,GAAW,EAAE,GAAY;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,GAAc,EAAE,GAAW;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,+EAA+E;IAE/E,6EAA6E;IACrE,iBAAiB,CAAC,GAAc;QACtC,MAAM,OAAO,GAA2B;YACtC,YAAY,EAAE,aAAa;YAC3B,qBAAqB,EAAE,sBAAsB;YAC7C,mBAAmB,EAAE,oBAAoB;YACzC,YAAY,EAAE,kBAAkB;YAChC,oBAAoB,EAAE,0BAA0B;SACjD,CAAC;QAEF,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,yBAAyB,MAAM,YAAY,CAAC,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAEvE,KAAK,CAAC,GAAc;QAC1B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI;YAC5C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,QAAQ,CAAC,aAAa;YACtE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,QAAQ,CAAC,YAAY;YACnE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,QAAQ,CAAC,WAAW;YAChE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,QAAQ,CAAC,eAAe;YAC5E,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,QAAQ,CAAC,aAAa;YACtE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC;YAC9C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC;YAE5C,uBAAuB;YACvB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,QAAQ,CAAC,gBAAgB;YAC9E,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,IAAI,QAAQ,CAAC,qBAAqB;YAC5F,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,IAAI,QAAQ,CAAC,qBAAqB;YAC5F,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,IAAI,QAAQ,CAAC,sBAAsB;YAC/F,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC,IAAI,QAAQ,CAAC,yBAAyB;YACxG,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,IAAI,QAAQ,CAAC,qBAAqB;YAC5F,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC,IAAI,QAAQ,CAAC,qBAAqB;YAC5F,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,IAAI,QAAQ,CAAC,sBAAsB;YAC/F,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC,IAAI,QAAQ,CAAC,oBAAoB;YACzF,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAgC,CAAC,IAAI,QAAQ,CAAC,8BAA8B;YACtH,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,IAAI,QAAQ,CAAC,sBAAsB;YAC/F,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC,iBAAiB;YAEjF,oBAAoB;YACpB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;YAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;YAClD,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC;YACrD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC;YAEjD,sBAAsB;YACtB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC;YACjD,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAEnD,0BAA0B;YAC1B,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC;YAE3D,gBAAgB;YAChB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC;YAChD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,CAAC;YACjE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC;YAE5D,cAAc;YACd,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,CAAC;YAC7D,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,CAAC;YAEjE,iBAAiB;YACjB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;YAC1D,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC;YAC5D,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,IAAI,QAAQ,CAAC,sBAAsB;YACtG,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,CAAC;YAChE,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,IAAI,QAAQ,CAAC,wBAAwB;YAC5G,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;YAElD,gBAAgB;YAChB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;YACpD,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC;YACvD,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,CAAC;YAC3D,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,QAAQ,CAAC,aAAa;YACtE,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,CAAC;YAC1E,oCAAoC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2CAA2C,CAAC;YAEhG,eAAe;YACf,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;YAClD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC,IAAI,QAAQ,CAAC,oBAAoB;YAC1F,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC;YACxD,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC;YAClE,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC;YAClE,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,4BAA4B,CAAC;YAEpE,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,QAAQ,CAAC,cAAc;YACzE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC;YAC1C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,KAAK,CAAC;YAC/D,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,CAAC;YAC7D,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBAC3D,CAAC,CAAE,GAAG,CAAC,qBAA0D;gBACjE,CAAC,CAAC,EAAE;YACN,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;YAElD,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;YAExC,iBAAiB;YACjB,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC;YACrD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC;YAC3D,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC;YAC/D,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC;YAEnE,WAAW;YACX,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;YACxC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC;YACrD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC;YACzD,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,CAAC;YAC3D,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACvD,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC;YAC/D,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,+EAA+E;IAEvE,QAAQ,CAAC,IAA2B;QAC1C,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,+EAA+E;IAEvE,SAAS,CAAC,IAA2B;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"configuration-service.js","sourceRoot":"","sources":["../../src/services/configuration-service.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,9 @@ function makeServices() {
34
34
  for (const k of keys) {
35
35
  s[k] = makeMockService();
36
36
  }
37
+ s.customTripHomeSwitchServices = [];
38
+ s.customTripAwaySwitchServices = [];
39
+ s.customTripNightSwitchServices = [];
37
40
  return s;
38
41
  }
39
42
  function makeState(overrides = {}) {
@@ -165,5 +168,70 @@ describe('TripHandler', async () => {
165
168
  const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
166
169
  expect(result).toBe(false);
167
170
  });
171
+ // ── Custom trip switch tests ───────────────────────────────────────────────
172
+ describe('Custom Trip Switches', () => {
173
+ it('custom HOME trip switch triggers only in HOME mode', () => {
174
+ state.currentState = SecurityState.HOME;
175
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
176
+ expect(result).toBe(true);
177
+ });
178
+ it('custom HOME trip switch blocks when not in HOME mode', () => {
179
+ state.currentState = SecurityState.AWAY;
180
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
181
+ expect(result).toBe(false);
182
+ });
183
+ it('custom AWAY trip switch triggers only in AWAY mode', () => {
184
+ state.currentState = SecurityState.AWAY;
185
+ const result = tripHandler.triggerIfModeSet(SecurityState.AWAY, true);
186
+ expect(result).toBe(true);
187
+ });
188
+ it('custom AWAY trip switch blocks when not in AWAY mode', () => {
189
+ state.currentState = SecurityState.HOME;
190
+ const result = tripHandler.triggerIfModeSet(SecurityState.AWAY, true);
191
+ expect(result).toBe(false);
192
+ });
193
+ it('custom NIGHT trip switch triggers only in NIGHT mode', () => {
194
+ state.currentState = SecurityState.NIGHT;
195
+ const result = tripHandler.triggerIfModeSet(SecurityState.NIGHT, true);
196
+ expect(result).toBe(true);
197
+ });
198
+ it('custom NIGHT trip switch blocks when not in NIGHT mode', () => {
199
+ state.currentState = SecurityState.HOME;
200
+ const result = tripHandler.triggerIfModeSet(SecurityState.NIGHT, true);
201
+ expect(result).toBe(false);
202
+ });
203
+ it('custom trip switch blocks when alarm is already triggered', () => {
204
+ state.currentState = SecurityState.TRIGGERED;
205
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
206
+ expect(result).toBe(false);
207
+ });
208
+ it('custom trip switch cancellation works with triggerIfModeSet', () => {
209
+ state.currentState = SecurityState.HOME;
210
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, false);
211
+ expect(result).toBe(true);
212
+ expect(mockAudio.stop).toHaveBeenCalled();
213
+ });
214
+ it('resetTripSwitches includes custom trip switch services', () => {
215
+ const mockChar = makeMockChar(true);
216
+ const mockSvc = { getCharacteristic: vi.fn().mockReturnValue(mockChar) };
217
+ services.customTripHomeSwitchServices = [mockSvc];
218
+ tripHandler.resetTripSwitches();
219
+ expect(mockChar.updateValue).toHaveBeenCalledWith(false);
220
+ });
221
+ it('resetTripSwitches handles multiple custom switches per mode', () => {
222
+ const mockChar1 = makeMockChar(true);
223
+ const mockChar2 = makeMockChar(true);
224
+ const mockChar3 = makeMockChar(false);
225
+ const mockSvc1 = { getCharacteristic: vi.fn().mockReturnValue(mockChar1) };
226
+ const mockSvc2 = { getCharacteristic: vi.fn().mockReturnValue(mockChar2) };
227
+ const mockSvc3 = { getCharacteristic: vi.fn().mockReturnValue(mockChar3) };
228
+ services.customTripHomeSwitchServices = [mockSvc1, mockSvc2];
229
+ services.customTripAwaySwitchServices = [mockSvc3];
230
+ tripHandler.resetTripSwitches();
231
+ expect(mockChar1.updateValue).toHaveBeenCalledWith(false);
232
+ expect(mockChar2.updateValue).toHaveBeenCalledWith(false);
233
+ expect(mockChar3.updateValue).not.toHaveBeenCalled();
234
+ });
235
+ });
168
236
  });
169
237
  //# sourceMappingURL=trip-handler.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trip-handler.test.js","sourceRoot":"","sources":["../../src/tests/trip-handler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trip-handler.test.js","sourceRoot":"","sources":["../../src/tests/trip-handler.test.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": "10.0.0",
5
+ "version": "10.1.0-beta.3",
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",
@@ -1,4 +1,4 @@
1
- import type { Logging } from 'homebridge';
1
+ import type { Logging, Service } from 'homebridge';
2
2
  import { SENSOR_PULSE_MS } from '../constants/homekit-constant.js';
3
3
  import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
4
4
  import type { CharacteristicConstructor } from '../interfaces/hap-types-interface.js';
@@ -73,7 +73,7 @@ export class SensorHandler {
73
73
 
74
74
  // ── Private helpers ────────────────────────────────────────────────────────
75
75
 
76
- private scheduleReset(service: ServiceRegistry[keyof ServiceRegistry]): void {
76
+ private scheduleReset(service: Service): void {
77
77
  setTimeout(() => {
78
78
  service.updateCharacteristic(this.Characteristic.MotionDetected, false);
79
79
  }, SENSOR_PULSE_MS);
@@ -4,7 +4,7 @@ import { SecurityState } from '../types/security-state-type.js';
4
4
  import { OriginType } from '../types/origin-type.js';
5
5
  import { stateToMode, capitalise } from '../utils/state-util.js';
6
6
  import { modeToState } from '../utils/state-util.js';
7
- import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
7
+ import type { ServiceRegistry, SingleServiceKey } from '../interfaces/service-registry-interface.js';
8
8
  import type { SystemState } from '../interfaces/system-state-interface.js';
9
9
  import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
10
10
  import type { EventBusService } from '../services/event-bus-service.js';
@@ -116,7 +116,7 @@ export class StateHandler {
116
116
  return true;
117
117
  }
118
118
 
119
- const modeMap: Partial<Record<SecurityState, keyof ServiceRegistry>> = {
119
+ const modeMap: Partial<Record<SecurityState, SingleServiceKey>> = {
120
120
  [SecurityState.HOME]: 'armingLockHomeSwitchService',
121
121
  [SecurityState.AWAY]: 'armingLockAwaySwitchService',
122
122
  [SecurityState.NIGHT]: 'armingLockNightSwitchService',
@@ -2,7 +2,7 @@ import type { Logging } from 'homebridge';
2
2
  import type { CharacteristicConstructor } from '../interfaces/hap-types-interface.js';
3
3
  import { SecurityState } from '../types/security-state-type.js';
4
4
  import { HK_NOT_ALLOWED_IN_CURRENT_STATE } from '../constants/homekit-constant.js';
5
- import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
5
+ import type { ServiceRegistry, SingleServiceKey } from '../interfaces/service-registry-interface.js';
6
6
  import type { SystemState } from '../interfaces/system-state-interface.js';
7
7
  import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
8
8
  import type { StateHandler } from './state-handler.js';
@@ -101,7 +101,7 @@ export class SwitchHandler {
101
101
  updateArmingLock(mode: string, value: boolean): boolean {
102
102
  this.logArmingLock(mode, value);
103
103
 
104
- const map: Record<string, keyof ServiceRegistry> = {
104
+ const map: Record<string, SingleServiceKey> = {
105
105
  global: 'armingLockSwitchService',
106
106
  home: 'armingLockHomeSwitchService',
107
107
  away: 'armingLockAwaySwitchService',
@@ -121,7 +121,7 @@ export class SwitchHandler {
121
121
  // ── Mode switch display ────────────────────────────────────────────────────
122
122
 
123
123
  resetModeSwitches(): void {
124
- const switches: Array<keyof ServiceRegistry> = [
124
+ const switches: Array<SingleServiceKey> = [
125
125
  'modeHomeSwitchService', 'modeAwaySwitchService', 'modeNightSwitchService',
126
126
  'modeOffSwitchService', 'modeAwayExtendedSwitchService', 'modePauseSwitchService',
127
127
  ];
@@ -136,7 +136,7 @@ export class SwitchHandler {
136
136
  }
137
137
 
138
138
  updateModeSwitches(): void {
139
- const modeMap: Partial<Record<SecurityState, keyof ServiceRegistry>> = {
139
+ const modeMap: Partial<Record<SecurityState, SingleServiceKey>> = {
140
140
  [SecurityState.HOME]: 'modeHomeSwitchService',
141
141
  [SecurityState.AWAY]: 'modeAwaySwitchService',
142
142
  [SecurityState.NIGHT]: 'modeNightSwitchService',
@@ -2,7 +2,7 @@ import type { Logging } from 'homebridge';
2
2
  import type { CharacteristicConstructor } from '../interfaces/hap-types-interface.js';
3
3
  import { SecurityState } from '../types/security-state-type.js';
4
4
  import { OriginType } from '../types/origin-type.js';
5
- import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
5
+ import type { ServiceRegistry, SingleServiceKey } from '../interfaces/service-registry-interface.js';
6
6
  import type { SystemState } from '../interfaces/system-state-interface.js';
7
7
  import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
8
8
  import type { EventBusService } from '../services/event-bus-service.js';
@@ -110,7 +110,7 @@ export class TripHandler {
110
110
  }
111
111
 
112
112
  resetTripSwitches(): void {
113
- const switches: Array<[keyof ServiceRegistry, string]> = [
113
+ const switches: Array<[SingleServiceKey, string]> = [
114
114
  ['tripHomeSwitchService', 'Trip Home'],
115
115
  ['tripAwaySwitchService', 'Trip Away'],
116
116
  ['tripNightSwitchService', 'Trip Night'],
@@ -124,6 +124,21 @@ export class TripHandler {
124
124
  this.log.debug(`${label} Switch (Off)`);
125
125
  }
126
126
  }
127
+
128
+ const customGroups = [
129
+ this.services.customTripHomeSwitchServices,
130
+ this.services.customTripAwaySwitchServices,
131
+ this.services.customTripNightSwitchServices,
132
+ ];
133
+
134
+ for (const group of customGroups) {
135
+ for (const svc of group) {
136
+ const char = svc.getCharacteristic(this.Characteristic.On);
137
+ if (char.value) {
138
+ char.updateValue(false);
139
+ }
140
+ }
141
+ }
127
142
  }
128
143
 
129
144
  private activateTrip(origin: OriginType): void {
@@ -1,7 +1,7 @@
1
- import type { API, Logging, CharacteristicValue } from 'homebridge';
1
+ import type { API, Logging, CharacteristicValue, Service } from 'homebridge';
2
2
  import { HAPStatus } from 'homebridge';
3
3
  import type { CharacteristicConstructor } from '../interfaces/hap-types-interface.js';
4
- import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
4
+ import type { ServiceRegistry, SingleServiceKey } from '../interfaces/service-registry-interface.js';
5
5
  import type { SystemState } from '../interfaces/system-state-interface.js';
6
6
  import { SecurityState } from '../types/security-state-type.js';
7
7
  import { OriginType } from '../types/origin-type.js';
@@ -50,7 +50,7 @@ export class HomeKitRegistrar {
50
50
  tripSetHandler(v, OriginType.REGULAR_SWITCH);
51
51
  });
52
52
 
53
- const modeTrips: Array<[keyof ServiceRegistry, SecurityState, string]> = [
53
+ const modeTrips: Array<[SingleServiceKey, SecurityState, string]> = [
54
54
  ['tripHomeSwitchService', SecurityState.HOME, 'Trip Home'],
55
55
  ['tripAwaySwitchService', SecurityState.AWAY, 'Trip Away'],
56
56
  ['tripNightSwitchService', SecurityState.NIGHT, 'Trip Night'],
@@ -68,6 +68,26 @@ export class HomeKitRegistrar {
68
68
  });
69
69
  }
70
70
 
71
+ const customModeTrips: Array<[Service[], SecurityState]> = [
72
+ [s.customTripHomeSwitchServices, SecurityState.HOME],
73
+ [s.customTripAwaySwitchServices, SecurityState.AWAY],
74
+ [s.customTripNightSwitchServices, SecurityState.NIGHT],
75
+ ];
76
+ for (const [services, mode] of customModeTrips) {
77
+ for (const svc of services) {
78
+ const name = String(svc.getCharacteristic(Char.ConfiguredName).value ?? 'Custom Trip');
79
+ svc.getCharacteristic(Char.On)
80
+ .onGet(async () => Boolean(svc.getCharacteristic(Char.On).value))
81
+ .onSet(async (v: CharacteristicValue) => {
82
+ this.log.info(`${name} Switch (${v ? 'On' : 'Off'})`);
83
+ const ok = this.tripHandler.triggerIfModeSet(mode, v as boolean);
84
+ if (!ok) {
85
+ throw new this.api.hap.HapStatusError(HK_ERR as HAPStatus);
86
+ }
87
+ });
88
+ }
89
+ }
90
+
71
91
  s.tripOverrideSwitchService.getCharacteristic(Char.On)
72
92
  .onGet(async () => Boolean(s.tripOverrideSwitchService.getCharacteristic(Char.On).value))
73
93
  .onSet(async (v: CharacteristicValue) => {
@@ -76,7 +96,7 @@ export class HomeKitRegistrar {
76
96
  });
77
97
 
78
98
  // Mode switches.
79
- const modeSwitches: Array<[keyof ServiceRegistry, SecurityState | null, string]> = [
99
+ const modeSwitches: Array<[SingleServiceKey, SecurityState | null, string]> = [
80
100
  ['modeHomeSwitchService', SecurityState.HOME, 'Mode Home'],
81
101
  ['modeAwaySwitchService', SecurityState.AWAY, 'Mode Away'],
82
102
  ['modeNightSwitchService', SecurityState.NIGHT, 'Mode Night'],
@@ -116,7 +136,7 @@ export class HomeKitRegistrar {
116
136
  });
117
137
 
118
138
  // Arming lock switches.
119
- const lockSwitches: Array<[keyof ServiceRegistry, string]> = [
139
+ const lockSwitches: Array<[SingleServiceKey, string]> = [
120
140
  ['armingLockSwitchService', 'global'],
121
141
  ['armingLockHomeSwitchService', 'home'],
122
142
  ['armingLockAwaySwitchService', 'away'],
@@ -1,6 +1,6 @@
1
1
  import type { Service } from 'homebridge';
2
2
  import type { CharacteristicConstructor } from '../interfaces/hap-types-interface.js';
3
- import type { SecuritySystemOptions } from '../interfaces/options-interface.js';
3
+ import type { SecuritySystemOptions, TripModeSwitch } from '../interfaces/options-interface.js';
4
4
  import type { ServiceRegistry } from '../interfaces/service-registry-interface.js';
5
5
  import type { SystemState } from '../interfaces/system-state-interface.js';
6
6
  import { SecurityState } from '../types/security-state-type.js';
@@ -37,6 +37,9 @@ export function buildServiceRegistry(
37
37
  const audioSvc = sw(options.audioSwitchName, SWITCH_UUIDS.AUDIO);
38
38
  audioSvc.getCharacteristic(Char.On).value = true;
39
39
 
40
+ const buildCustomTripSwitches = (mode: string, modeLabel: string, switches: TripModeSwitch[]): Service[] =>
41
+ switches.map((s, i) => sw(`Trip ${modeLabel} ${s.label}`, `trip-${mode}-${i}`));
42
+
40
43
  return {
41
44
  mainService: mainSvc,
42
45
  accessoryInfoService: infoSvc,
@@ -55,6 +58,9 @@ export function buildServiceRegistry(
55
58
  modeOffSwitchService: sw(options.modeOffSwitchName, SWITCH_UUIDS.MODE_OFF),
56
59
  modeAwayExtendedSwitchService: sw(options.modeAwayExtendedSwitchName, SWITCH_UUIDS.MODE_AWAY_EXTENDED),
57
60
  modePauseSwitchService: sw(options.modePauseSwitchName, SWITCH_UUIDS.MODE_PAUSE),
61
+ customTripHomeSwitchServices: buildCustomTripSwitches('home', 'Home', options.tripHomeSwitches),
62
+ customTripAwaySwitchServices: buildCustomTripSwitches('away', 'Away', options.tripAwaySwitches),
63
+ customTripNightSwitchServices: buildCustomTripSwitches('night', 'Night', options.tripNightSwitches),
58
64
  audioSwitchService: audioSvc,
59
65
  armingMotionSensorService: sensor('Arming', SWITCH_UUIDS.ARMING_SENSOR),
60
66
  trippedMotionSensorService: sensor('Tripped', SWITCH_UUIDS.TRIPPED_SENSOR),
@@ -104,6 +110,7 @@ export function buildServiceList(
104
110
  if (options.tripModeSwitches) {
105
111
  list.push(svcs.tripHomeSwitchService);
106
112
  }
113
+ list.push(...svcs.customTripHomeSwitchServices);
107
114
  }
108
115
  if (avail.includes(SecurityState.AWAY)) {
109
116
  if (options.modeSwitches) {
@@ -112,6 +119,7 @@ export function buildServiceList(
112
119
  if (options.tripModeSwitches) {
113
120
  list.push(svcs.tripAwaySwitchService);
114
121
  }
122
+ list.push(...svcs.customTripAwaySwitchServices);
115
123
  }
116
124
  if (avail.includes(SecurityState.NIGHT)) {
117
125
  if (options.modeSwitches) {
@@ -120,6 +128,7 @@ export function buildServiceList(
120
128
  if (options.tripModeSwitches) {
121
129
  list.push(svcs.tripNightSwitchService);
122
130
  }
131
+ list.push(...svcs.customTripNightSwitchServices);
123
132
  }
124
133
 
125
134
  if (options.modeSwitches && options.modeOffSwitch) {
@@ -4,6 +4,11 @@ export interface AudioVariable {
4
4
  value: string;
5
5
  }
6
6
 
7
+ /** A single custom trip switch entry with a user-defined label. */
8
+ export interface TripModeSwitch {
9
+ label: string;
10
+ }
11
+
7
12
  /** Fully-parsed, strongly-typed configuration options for the security system. */
8
13
  export interface SecuritySystemOptions {
9
14
  name: string;
@@ -51,6 +56,11 @@ export interface SecuritySystemOptions {
51
56
  tripOverrideSwitch: boolean;
52
57
  tripModeSwitches: boolean;
53
58
 
59
+ // Custom trip mode switches
60
+ tripHomeSwitches: TripModeSwitch[];
61
+ tripAwaySwitches: TripModeSwitch[];
62
+ tripNightSwitches: TripModeSwitch[];
63
+
54
64
  // Arming lock
55
65
  armingLockSwitch: boolean;
56
66
  armingLockSwitches: boolean;
@@ -26,6 +26,11 @@ export interface ServiceRegistry {
26
26
  modeAwayExtendedSwitchService: Service;
27
27
  modePauseSwitchService: Service;
28
28
 
29
+ // Custom trip mode switches (dynamic, one per configured entry)
30
+ customTripHomeSwitchServices: Service[];
31
+ customTripAwaySwitchServices: Service[];
32
+ customTripNightSwitchServices: Service[];
33
+
29
34
  // Audio switch
30
35
  audioSwitchService: Service;
31
36
 
@@ -35,3 +40,8 @@ export interface ServiceRegistry {
35
40
  triggeredMotionSensorService: Service;
36
41
  triggeredResetMotionSensorService: Service;
37
42
  }
43
+
44
+ /** Keys of ServiceRegistry whose value is a single Service (not Service[]). */
45
+ export type SingleServiceKey = {
46
+ [K in keyof ServiceRegistry]: ServiceRegistry[K] extends Service[] ? never : K;
47
+ }[keyof ServiceRegistry];
@@ -161,6 +161,17 @@ export class ConfigurationService {
161
161
  audioExtraVariables: Array.isArray(raw.audio_extra_variables)
162
162
  ? (raw.audio_extra_variables as { key: string; value: string }[])
163
163
  : [],
164
+
165
+ // Custom trip mode switches
166
+ tripHomeSwitches: Array.isArray(raw.trip_home_switches)
167
+ ? (raw.trip_home_switches as { label: string }[])
168
+ : [],
169
+ tripAwaySwitches: Array.isArray(raw.trip_away_switches)
170
+ ? (raw.trip_away_switches as { label: string }[])
171
+ : [],
172
+ tripNightSwitches: Array.isArray(raw.trip_night_switches)
173
+ ? (raw.trip_night_switches as { label: string }[])
174
+ : [],
164
175
  audioSwitch: this.bool(raw, 'audio_switch', false),
165
176
 
166
177
  // Server
@@ -37,10 +37,13 @@ function makeServices(): ServiceRegistry {
37
37
  'audioSwitchService', 'armingMotionSensorService', 'trippedMotionSensorService',
38
38
  'triggeredMotionSensorService', 'triggeredResetMotionSensorService', 'accessoryInfoService',
39
39
  ];
40
- const s: Record<string, ReturnType<typeof makeMockService>> = {};
40
+ const s: Record<string, ReturnType<typeof makeMockService> | unknown[]> = {};
41
41
  for (const k of keys) {
42
42
  s[k] = makeMockService();
43
43
  }
44
+ s.customTripHomeSwitchServices = [];
45
+ s.customTripAwaySwitchServices = [];
46
+ s.customTripNightSwitchServices = [];
44
47
  return s as unknown as ServiceRegistry;
45
48
  }
46
49
 
@@ -194,4 +197,86 @@ describe('TripHandler', async () => {
194
197
  const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
195
198
  expect(result).toBe(false);
196
199
  });
200
+
201
+ // ── Custom trip switch tests ───────────────────────────────────────────────
202
+
203
+ describe('Custom Trip Switches', () => {
204
+ it('custom HOME trip switch triggers only in HOME mode', () => {
205
+ state.currentState = SecurityState.HOME;
206
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
207
+ expect(result).toBe(true);
208
+ });
209
+
210
+ it('custom HOME trip switch blocks when not in HOME mode', () => {
211
+ state.currentState = SecurityState.AWAY;
212
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
213
+ expect(result).toBe(false);
214
+ });
215
+
216
+ it('custom AWAY trip switch triggers only in AWAY mode', () => {
217
+ state.currentState = SecurityState.AWAY;
218
+ const result = tripHandler.triggerIfModeSet(SecurityState.AWAY, true);
219
+ expect(result).toBe(true);
220
+ });
221
+
222
+ it('custom AWAY trip switch blocks when not in AWAY mode', () => {
223
+ state.currentState = SecurityState.HOME;
224
+ const result = tripHandler.triggerIfModeSet(SecurityState.AWAY, true);
225
+ expect(result).toBe(false);
226
+ });
227
+
228
+ it('custom NIGHT trip switch triggers only in NIGHT mode', () => {
229
+ state.currentState = SecurityState.NIGHT;
230
+ const result = tripHandler.triggerIfModeSet(SecurityState.NIGHT, true);
231
+ expect(result).toBe(true);
232
+ });
233
+
234
+ it('custom NIGHT trip switch blocks when not in NIGHT mode', () => {
235
+ state.currentState = SecurityState.HOME;
236
+ const result = tripHandler.triggerIfModeSet(SecurityState.NIGHT, true);
237
+ expect(result).toBe(false);
238
+ });
239
+
240
+ it('custom trip switch blocks when alarm is already triggered', () => {
241
+ state.currentState = SecurityState.TRIGGERED;
242
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, true);
243
+ expect(result).toBe(false);
244
+ });
245
+
246
+ it('custom trip switch cancellation works with triggerIfModeSet', () => {
247
+ state.currentState = SecurityState.HOME;
248
+ const result = tripHandler.triggerIfModeSet(SecurityState.HOME, false);
249
+ expect(result).toBe(true);
250
+ expect(mockAudio.stop).toHaveBeenCalled();
251
+ });
252
+
253
+ it('resetTripSwitches includes custom trip switch services', () => {
254
+ const mockChar = makeMockChar(true);
255
+ const mockSvc = { getCharacteristic: vi.fn().mockReturnValue(mockChar) };
256
+ (services.customTripHomeSwitchServices as unknown[]) = [mockSvc];
257
+
258
+ tripHandler.resetTripSwitches();
259
+
260
+ expect(mockChar.updateValue).toHaveBeenCalledWith(false);
261
+ });
262
+
263
+ it('resetTripSwitches handles multiple custom switches per mode', () => {
264
+ const mockChar1 = makeMockChar(true);
265
+ const mockChar2 = makeMockChar(true);
266
+ const mockChar3 = makeMockChar(false);
267
+
268
+ const mockSvc1 = { getCharacteristic: vi.fn().mockReturnValue(mockChar1) };
269
+ const mockSvc2 = { getCharacteristic: vi.fn().mockReturnValue(mockChar2) };
270
+ const mockSvc3 = { getCharacteristic: vi.fn().mockReturnValue(mockChar3) };
271
+
272
+ (services.customTripHomeSwitchServices as unknown[]) = [mockSvc1, mockSvc2];
273
+ (services.customTripAwaySwitchServices as unknown[]) = [mockSvc3];
274
+
275
+ tripHandler.resetTripSwitches();
276
+
277
+ expect(mockChar1.updateValue).toHaveBeenCalledWith(false);
278
+ expect(mockChar2.updateValue).toHaveBeenCalledWith(false);
279
+ expect(mockChar3.updateValue).not.toHaveBeenCalled();
280
+ });
281
+ });
197
282
  });