homebridge-dummy 1.4.0-beta.2 → 1.4.0-beta.4

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 CHANGED
@@ -2,19 +2,16 @@
2
2
 
3
3
  All notable changes to homebridge-dummy will be documented in this file.
4
4
 
5
- ## 1.4.0-beta.2 (2025-10-26)
5
+ ## 1.4.0-beta.4 (2025-10-26)
6
6
 
7
7
  ### ‼️ WARNING ‼️ — If upgrading from v0.9.2 or earlier, [READ THIS FIRST](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration)
8
8
 
9
- ### ⚠️ Upcoming Breaking Change
10
-
11
- I plan to remove `Thermostat` as a supported accessory type from a future version. If you use `Thermostat`, please add your use case to [this ticket](https://github.com/mpatfield/homebridge-dummy/issues/207) and I will help you find an alternative.
12
-
13
9
  ### Added
14
- - [Trigger Conditions](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#trigger-conditions) to change the state of an accessory based on state changes of other Homebridge Dummy accessories
10
+ - [Trigger Conditions](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#trigger-conditions) to change the state of an accessory based on state changes of other Homebridge Dummy accessories or keywords in the Homebridge log
15
11
  - ⚠️ Config UI for conditions is highly experimental. Please [open a ticket](https://github.com/mpatfield/homebridge-dummy/issues/new/choose) if you see any unusal behavior.
16
12
  - `GET` requests for [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) (previously only `POST`)
17
13
  - Fade Out option for `Lightbulb` brightness to emulate a simple "count-down"
14
+ - Min/max temperature settings for `Thermostat`
18
15
 
19
16
  ### Changed
20
17
  - `defaultOn` has been deprecated in favor of `defaultState` for `Lightbulb`, `Outlet`, and `Switch`
package/README.md CHANGED
@@ -141,6 +141,8 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
141
141
  "defaultPosition": "open" | "closed",
142
142
  "defaultThermostatState": "auto" | "heat" | "cool" | "off",
143
143
  "defaultTemperature": number,
144
+ "minimumTemperature": number,
145
+ "maximumTemperature": number,
144
146
  "commandOn": "string",
145
147
  "commandOff": "string",
146
148
  "commandLock": "string",
@@ -236,13 +238,23 @@ Execute arbitrary commands (e.g. curl) when the accessory changes state
236
238
 
237
239
  You can trigger an accessory whenever a set of conditions are satisfied, for example, when other Homebridge Dummy accessories turn on.
238
240
 
239
- There are two logical operators to trigger the target accessory when ALL ("and") or ANY ("or") of a set of conditions are satisfied. This is set using `operator`.
241
+ There are two logical operators to trigger the target accessory when all (`AND`) or any (`OR`) of a set of conditions are satisfied. This is set using `operator`.
240
242
 
241
243
  You can have an arbitrarily long list of conditions and they are checked in order.
242
244
 
243
245
  If target accessory is not setup to auto-reset with a timer, then it will immediately return to it's default setting as soon as the conditions are no longer met.
244
246
 
245
- Note that due to limitations of HomeKit and Homebridge, it is only possible to check the states of other Homebridge Dummy accessories. One possible workaround is to set up duplicate accessories in Homebridge Dummy and use Automation to mirror the states.
247
+ Note that due to limitations of HomeKit and Homebridge, it is only possible to check the states of other Homebridge Dummy accessories.
248
+
249
+ One workaround is to use the `LOG` operand type which will watch the Homebridge log for the specified string or regex.
250
+
251
+ `LOG` based conditions are stateless triggers. If it is the only condition or the conditions `operator` is `OR`, then it will fire immediately. If there are other `AND` conditions, then it will not fire unless all other conditions are satisfied.
252
+
253
+ For example, if I have `LOG` condition "A" and `ACCESSORY` condition "B" for when "B" is turned "On", then if "B" is "Off"" and the pattern is found in the log, "A" will not trigger.
254
+
255
+ Note that `LOG` triggers are not instantenous and may take several seconds to fire.
256
+
257
+ Another workaround for non-Dummy accessories is to set up duplicate accessories in Homebridge Dummy and use Automation to mirror the states.
246
258
 
247
259
  For example, if I have a physical door lock I want to "watch", then I can setup a `LockMechanism` accessory in Homebridge Dummy and create two automations to change the state of my dummy lock whenever the physical door lock is unlocked or locked.
248
260
 
@@ -263,6 +275,8 @@ For example, if I have a physical door lock I want to "watch", then I can setup
263
275
  - `defaultPosition` — Initial position for the door/garage/window/blinds, "open" or "closed"
264
276
  - `defaultThermostatState` - The initial state for the thermostat, "auto", "heat", "cool", or "off"
265
277
  - `defaultTemperature` - The default temperature for the thermostat in `temperatureUnits` defined above
278
+ - `minimumTemperature` - Defines a minimum temperature
279
+ - `maximumTemperature` - Defines a maximum temperature
266
280
 
267
281
  ### Options
268
282
  - `enableWebook` - Turn on webhooks for this accessory. See [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) section below for details.
@@ -331,6 +345,8 @@ Sensor feature inspired by [Homebridge-Delay-Switch](https://github.com/nitaybz/
331
345
 
332
346
  Command feature inspired by [homebridge-cmdtrigger](https://github.com/hallos/homebridge-cmdtrigger) by [@hallos](https://github.com/sponsors/hallos)
333
347
 
348
+ Log watch trigger feature inspired by [hb-virtual-switch](https://github.com/Plankske/hb-virtual-switch/) by [@Plankske](https://github.com/sponsors/Plankske)
349
+
334
350
  Special thanks to [@nfarina](https://github.com/sponsors/nfarina) for creating the original version of this plugin and maintaining it for almost 10 (!!!) years
335
351
 
336
352
  And to the amazing creators/contributors of [Homebridge](https://homebridge.io) who made this plugin possible!
@@ -214,19 +214,56 @@
214
214
  "operand": {
215
215
  "type": "object",
216
216
  "properties": {
217
- "accessoryId": {
217
+ "type": {
218
218
  "type": "string",
219
- "title": "${config.title.accessory}",
219
+ "title": "${config.title.type}",
220
+ "enum": [ "ACCESSORY", "LOG" ],
221
+ "enumNames": [ "${config.enumNames.accessory}", "${config.enumNames.log}" ],
220
222
  "required": true
221
223
  },
224
+ "accessoryId": {
225
+ "type": "string",
226
+ "title": "${config.title.accessory}"
227
+ },
222
228
  "accessoryState": {
223
229
  "type": "string",
224
230
  "title": "${config.title.accessoryState}",
225
231
  "enum": [ "on", "off", "open", "closed", "locked", "unlocked" ],
226
- "enumNames": [ "${config.enumNames.on}", "${config.enumNames.off}", "${config.enumNames.open}", "${config.enumNames.closed}", "${config.enumNames.secured}", "${config.enumNames.unsecured}" ],
227
- "required": true
232
+ "enumNames": [ "${config.enumNames.on}", "${config.enumNames.off}", "${config.enumNames.open}", "${config.enumNames.closed}", "${config.enumNames.secured}", "${config.enumNames.unsecured}" ]
233
+ },
234
+ "pattern": {
235
+ "type": "string",
236
+ "title": "${config.title.pattern}"
228
237
  }
229
- }
238
+ },
239
+ "allOf": [
240
+ {
241
+ "if": {
242
+ "properties": {
243
+ "type": {
244
+ "const": "ACCESSORY"
245
+ }
246
+ },
247
+ "required": ["type"]
248
+ },
249
+ "then": {
250
+ "required": ["accessoryId", "accessoryState"]
251
+ }
252
+ },
253
+ {
254
+ "if": {
255
+ "properties": {
256
+ "type": {
257
+ "const": "LOG"
258
+ }
259
+ },
260
+ "required": ["type"]
261
+ },
262
+ "then": {
263
+ "required": ["pattern"]
264
+ }
265
+ }
266
+ ]
230
267
  },
231
268
  "conditions": {
232
269
  "type": "object",
@@ -294,7 +331,7 @@
294
331
  "conditions": { "$ref": "#/definitions/conditions" },
295
332
  "temperatureUnits": {
296
333
  "type": "string",
297
- "title": "${config.title.units}",
334
+ "title": "${config.title.temperatureUnits}",
298
335
  "enum": ["C", "F"],
299
336
  "enumNames": ["${config.enumNames.celsius}", "${config.enumNames.fahrenheit}"]
300
337
  },
@@ -337,6 +374,14 @@
337
374
  "type": "number",
338
375
  "title": "${config.title.defaultTemperature}"
339
376
  },
377
+ "minimumTemperature": {
378
+ "type": "number",
379
+ "title": "${config.title.minimumTemperature}"
380
+ },
381
+ "maximumTemperature": {
382
+ "type": "number",
383
+ "title": "${config.title.maximumTemperature}"
384
+ },
340
385
  "commandOn": {
341
386
  "type": "string",
342
387
  "title": "${config.title.commandOn}"
@@ -494,16 +539,34 @@
494
539
  "functionBody": "return ['Thermostat'].includes(model.accessories?.[arguments[1]]?.type);"
495
540
  },
496
541
  "items": [
542
+ {
543
+ "key": "accessories[].defaultThermostatState",
544
+ "flex": "0 0 33%"
545
+ },
497
546
  {
498
547
  "key": "accessories[].temperatureUnits",
499
548
  "flex": "0 0 33%"
549
+ }
550
+ ]
551
+ },
552
+ {
553
+ "type": "div",
554
+ "displayFlex": true,
555
+ "flex-direction": "row",
556
+ "condition": {
557
+ "functionBody": "return ['Thermostat'].includes(model.accessories?.[arguments[1]]?.type);"
558
+ },
559
+ "items": [
560
+ {
561
+ "key": "accessories[].defaultTemperature",
562
+ "flex": "0 0 33%"
500
563
  },
501
564
  {
502
- "key": "accessories[].defaultThermostatState",
565
+ "key": "accessories[].minimumTemperature",
503
566
  "flex": "0 0 33%"
504
567
  },
505
568
  {
506
- "key": "accessories[].defaultTemperature",
569
+ "key": "accessories[].maximumTemperature",
507
570
  "flex": "0 0 33%"
508
571
  }
509
572
  ]
@@ -547,39 +610,44 @@
547
610
  "items": [
548
611
  {
549
612
  "key": "accessories[].schedule.type",
550
- "flex": "0 0 33%"
613
+ "flex": "0 0 auto"
614
+ },
615
+ {
616
+ "type": "div",
617
+ "flex": "0 0 5px"
551
618
  },
552
619
  {
553
620
  "key": "accessories[].schedule.interval",
554
- "flex": "0 0 33%",
621
+ "flex": "0 0 auto",
555
622
  "condition": {
556
623
  "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === 'INTERVAL';"
557
624
  }
558
625
  },
626
+ {
627
+ "type": "div",
628
+ "flex": "0 0 5px"
629
+ },
559
630
  {
560
631
  "key": "accessories[].schedule.units",
561
- "flex": "0 0 33%",
632
+ "flex": "0 0 auto",
562
633
  "condition": {
563
634
  "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.interval !== undefined;"
564
635
  }
565
- }
566
- ]
567
- },
568
- {
569
- "type": "div",
570
- "displayFlex": true,
571
- "flex-direction": "row",
572
- "condition": {
573
- "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === 'CRON';"
574
- },
575
- "items": [
636
+ },
576
637
  {
577
638
  "key": "accessories[].schedule.cron",
578
- "flex": "0 0 33%"
639
+ "flex": "0 0 auto",
640
+ "condition": {
641
+ "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === 'CRON';"
642
+ }
643
+ },
644
+ {
645
+ "type": "div",
646
+ "flex": "0 0 5px"
579
647
  },
580
648
  {
581
649
  "key": "accessories[].schedule.cronCustom",
582
- "flex": "0 0 67%",
650
+ "flex": "1 0 auto",
583
651
  "condition": {
584
652
  "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.cron === 'CRON_CUSTOM';"
585
653
  }
@@ -695,36 +763,58 @@
695
763
  "items": [
696
764
  {
697
765
  "key": "accessories[].conditions.operator",
698
- "flex": "0 0 67%"
766
+ "flex": "0 0 auto"
699
767
  }
700
768
  ]
701
- },
769
+ }
770
+ ]
771
+ },
772
+ {
773
+ "type": "array",
774
+ "title": "${config.title.condition}",
775
+ "notitle": true,
776
+ "condition": {
777
+ "functionBody": "return model.accessories?.[arguments[1]]?.conditions?.operator;"
778
+ },
779
+ "key": "accessories[].conditions.operands",
780
+ "items": [
702
781
  {
703
- "type": "array",
704
- "title": "${config.title.condition}",
705
- "notitle": true,
706
- "condition": {
707
- "functionBody": "return model.accessories?.[arguments[1]]?.conditions?.operator;"
708
- },
709
- "key": "accessories[].conditions.operands",
782
+ "type": "div",
783
+ "displayFlex": true,
784
+ "flex-direction": "row",
710
785
  "items": [
786
+ {
787
+ "key": "accessories[].conditions.operands[].type",
788
+ "flex": "0 0 auto"
789
+ },
790
+ {
791
+ "type": "div",
792
+ "flex": "0 0 5px"
793
+ },
794
+ {
795
+ "key": "accessories[].conditions.operands[].accessoryId",
796
+ "flex": "0 0 auto",
797
+ "condition": {
798
+ "functionBody": "return model.accessories?.[arguments[1][0]]?.conditions?.operands?.[arguments[1][1]]?.type === 'ACCESSORY';"
799
+ }
800
+ },
711
801
  {
712
802
  "type": "div",
713
- "displayFlex": true,
714
- "flex-direction": "row",
715
- "items": [
716
- {
717
- "key": "accessories[].conditions.operands[].accessoryId",
718
- "flex": "0 0 50%"
719
- },
720
- {
721
- "key": "accessories[].conditions.operands[].accessoryState",
722
- "flex": "0 0 50%",
723
- "condition": {
724
- "functionBody": "return model.accessories?.[arguments[1][0]]?.conditions?.operands?.[arguments[1][1]]?.accessoryId;"
725
- }
726
- }
727
- ]
803
+ "flex": "0 0 5px"
804
+ },
805
+ {
806
+ "key": "accessories[].conditions.operands[].accessoryState",
807
+ "flex": "0 0 auto",
808
+ "condition": {
809
+ "functionBody": "return model.accessories?.[arguments[1][0]]?.conditions?.operands?.[arguments[1][1]]?.accessoryId;"
810
+ }
811
+ },
812
+ {
813
+ "key": "accessories[].conditions.operands[].pattern",
814
+ "flex": "1 0 auto",
815
+ "condition": {
816
+ "functionBody": "return model.accessories?.[arguments[1][0]]?.conditions?.operands?.[arguments[1][1]]?.type === 'LOG';"
817
+ }
728
818
  }
729
819
  ]
730
820
  }
@@ -5,6 +5,8 @@ import { Webhook } from '../model/webhook.js';
5
5
  import { storageGet_Deprecated, Storage } from '../tools/storage.js';
6
6
  import { fromCelsius, toCelsius } from '../tools/temperature.js';
7
7
  const DEFAULT_TEMPERATURE = 20;
8
+ const DEFAULT_MINIMUM = 10;
9
+ const DEFAULT_MAXIMUM = 38;
8
10
  export class ThermostatAccessory extends DummyAccessory {
9
11
  STATE_AUTO;
10
12
  STATE_COOL;
@@ -42,11 +44,15 @@ export class ThermostatAccessory extends DummyAccessory {
42
44
  })
43
45
  .onGet(this.getState.bind(this))
44
46
  .onSet(this.setState.bind(this));
47
+ const minTemp = dependency.config.minimumTemperature ? toCelsius(dependency.config.minimumTemperature, this.units) : DEFAULT_MINIMUM;
48
+ const maxTemp = dependency.config.maximumTemperature ? toCelsius(dependency.config.maximumTemperature, this.units) : DEFAULT_MAXIMUM;
45
49
  this.accessoryService.getCharacteristic(dependency.Characteristic.CurrentTemperature)
46
- .onGet(this.getTemperature.bind(this));
50
+ .onGet(this.getTemperature.bind(this))
51
+ .setProps({ minValue: minTemp, maxValue: maxTemp });
47
52
  this.accessoryService.getCharacteristic(dependency.Characteristic.TargetTemperature)
48
53
  .onGet(this.getTemperature.bind(this))
49
- .onSet(this.setTemperature.bind(this));
54
+ .onSet(this.setTemperature.bind(this))
55
+ .setProps({ minValue: minTemp, maxValue: maxTemp });
50
56
  this.initializeThermostat();
51
57
  }
52
58
  async initializeThermostat() {
@@ -1 +1 @@
1
- {"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EACL,aAAa,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,EACtF,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAO,mBAAmB,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,mBAAoB,SAAQ,cAAgC;IAEtD,UAAU,CAAsB;IAChC,UAAU,CAAsB;IAChC,UAAU,CAAsB;IAChC,SAAS,CAAsB;IAExC,KAAK,CAAsB;IAC3B,WAAW,CAAsB;IAEzC,YAAY,UAAsD;QAChE,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC;QAEzE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,gBAAgB,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzI,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,sBAAsB,GAAG,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE3C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACvF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,0BAA0B,CAAC;aAC1F,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC;aACzF,QAAQ,CAAC;YACR,OAAO,EAAE,CAAC;YACV,WAAW,EAAC;gBACV,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;aAChB;SACF,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QACrI,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAErI,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC;aAClF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC;aACjF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAEhC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAEtG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACpG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErG,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAClF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAY,2BAA2B;QACrC,OAAO,GAAG,IAAI,CAAC,UAAU,cAAc,CAAC;IAC1C,CAAC;IAEQ,gBAAgB;QACvB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEQ,QAAQ;QAEf,OAAO;YAEL,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,yBAAyB,EACnE,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC,CAAC;YAEJ,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,iBAAiB,EAC3D,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC,CAAC;SACL,CAAC;IACJ,CAAC;IAED,IAAY,YAAY;QACtB,QAAQ,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAC7C,KAAK,sBAAsB,CAAC,IAAI;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;YACzB,KAAK,sBAAsB,CAAC,IAAI;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;YACzB,KAAK,sBAAsB,CAAC,IAAI;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACxI,CAAC;IAED,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,UAAU;YAC/C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC;IACnH,CAAC;IAES,KAAK,CAAC,eAAe;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAA0B;QAE/C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAErB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxG,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA0B;QAErD,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvG,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,qBAAqB,CAAC,KAA0B;QACtD,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,UAAU;gBAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,KAAK,IAAI,CAAC,UAAU;gBAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,KAAK,IAAI,CAAC,UAAU;gBAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC;gBACE,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAChC,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,KAA0B;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,2BAA2B,CAAC,KAA0B;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAC/H,MAAM,WAAW,GAAG,WAAW,CAAC,KAAe,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAES,cAAc,CAAC,KAA0B;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -8,7 +8,8 @@ export declare class HomebridgeDummyPlatform implements DynamicPlatformPlugin {
8
8
  private readonly log;
9
9
  private readonly platformAccessories;
10
10
  private readonly dummyAccessories;
11
- private webhookManager;
11
+ private readonly webhookManager;
12
+ private readonly conditionManager;
12
13
  constructor(logger: Logger, config: DummyPlatformConfig, api: API);
13
14
  configureAccessory(platformAccessory: PlatformAccessory): void;
14
15
  private teardown;
@@ -18,6 +18,7 @@ export class HomebridgeDummyPlatform {
18
18
  platformAccessories = new Map();
19
19
  dummyAccessories = [];
20
20
  webhookManager;
21
+ conditionManager;
21
22
  constructor(logger, config, api) {
22
23
  this.config = config;
23
24
  this.api = api;
@@ -27,6 +28,7 @@ export class HomebridgeDummyPlatform {
27
28
  this.Characteristic = api.hap.Characteristic;
28
29
  this.log = new Log(logger, config.verbose === true);
29
30
  this.webhookManager = new WebhookManager(this.Characteristic, this.log, config.webhookPort);
31
+ this.conditionManager = new ConditionManager(this.log, api.user.storagePath());
30
32
  this.log.always('v%s | System %s | Node %s | HB v%s | HAPNodeJS v%s', getVersion(), process.platform, process.version, api.serverVersion, api.hap.HAPLibraryVersion());
31
33
  api.on('didFinishLaunching', () => {
32
34
  this.setup();
@@ -43,6 +45,7 @@ export class HomebridgeDummyPlatform {
43
45
  this.dummyAccessories.forEach(accessory => {
44
46
  accessory.teardown();
45
47
  });
48
+ this.conditionManager.teardown();
46
49
  }
47
50
  async setup() {
48
51
  await Storage.init(this.api.user.persistPath());
@@ -53,7 +56,6 @@ export class HomebridgeDummyPlatform {
53
56
  accessories.push(...migratedAccessories);
54
57
  }
55
58
  const groupAccessories = new Map();
56
- const conditionManager = new ConditionManager(this.log);
57
59
  for (const accessoryConfig of accessories) {
58
60
  if (accessoryConfig.groupName?.length) {
59
61
  const groupConfig = groupAccessories.get(accessoryConfig.groupName) || { accessories: [] };
@@ -69,7 +71,7 @@ export class HomebridgeDummyPlatform {
69
71
  Characteristic: this.Characteristic,
70
72
  platformAccessory: platformAccessory,
71
73
  config: accessoryConfig,
72
- conditionManager: conditionManager,
74
+ conditionManager: this.conditionManager,
73
75
  log: this.log,
74
76
  isGrouped: false,
75
77
  };
@@ -91,7 +93,7 @@ export class HomebridgeDummyPlatform {
91
93
  Service: this.Service,
92
94
  Characteristic: this.Characteristic,
93
95
  platformAccessory: platformAccessory,
94
- conditionManager: conditionManager,
96
+ conditionManager: this.conditionManager,
95
97
  log: this.log,
96
98
  };
97
99
  const groupAccessory = new GroupAccessory(dependency, groupConfig, this.webhookManager);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,4 @@
43
43
  <em><p i18n="migrationDetails5" i18n_replace="migration"></p></em></br>
44
44
  </div>
45
45
 
46
- <script src="ui.js?v=1.4.0-beta.2"></script>
46
+ <script src="ui.js?v=1.4.0-beta.4"></script>
@@ -1 +1 @@
1
- "use strict";(()=>{var u="Homebridge Dummy";var L={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:u};function w(e){document.querySelectorAll("[i18n]").forEach(t=>{let i=t.getAttribute("i18n"),n=e.config[i],o=t.getAttribute("i18n_replace");o&&(n=n.replace("%s",L[o])),t.innerHTML=n})}function I(e){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((n,o)=>t.indexOf(n.tagName.toLowerCase())-t.indexOf(o.tagName.toLowerCase())).forEach(n=>{let o=n.innerHTML;o=o.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,s,r)=>e.config[s]&&typeof e.config[s]=="object"&&r in e.config[s]?e.config[s][r]:d),n.innerHTML!==o&&(n.innerHTML=o)})}function O(e){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let i of t){let o=i.closest("fieldset")?.querySelector('input[type="text"][name="name"]');o&&i.textContent!==(o.value||e.config.title.accessory)&&(i.textContent=o.value!==""?o.value:e.config.title.accessory),o&&!o.dataset.accessoryNameListener&&(o.addEventListener("input",()=>O(e)),o.dataset.accessoryNameListener="true")}}function E(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function D(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{n.id===void 0&&(n.id=E(),t=!0),n.limiter!==void 0&&n.limiter.id===void 0&&(n.limiter.id=E(),t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function v(e,t){let i=window.parent.document.createTreeWalker(window.parent.document.body,NodeFilter.SHOW_ELEMENT),n=!1;for(;i.nextNode();)if(i.currentNode===e){n=!0;break}for(;n&&i.nextNode();){let o=i.currentNode;if(o.getAttribute("name")===t)return o}return null}var c=[];async function S(e,t){let i=window.parent.document.querySelectorAll('[name="accessoryId"]');if(i.length===0)return;t===void 0&&(t=await homebridge.getPluginConfig());let n=[];for(let d of t){let s=(d.accessories??[]).filter(r=>r.id&&r.name&&r.type!=="Thermostat");n.push(...s)}let o=!1;c.length!==n.length?(c=n,o=!0):c.forEach((d,s)=>{let r=n[s];(d.name!==r.name||d.type!==r.type||d.id!==r.id)&&(c=n,o=!0)}),i.forEach(d=>{let s=d,r=s.parentElement?.querySelector('select.form-select[data-accessory-name-select="true"]');if(r&&r.dataset.accessoryNameSelect!=="true"){console.error("Unable to retrieve accessory name selector");return}r||(r=document.createElement("select"),r.className="form-select",r.dataset.accessoryNameSelect="true",s.hidden=!0,r.addEventListener("change",()=>{if(r.selectedIndex===-1)s.value="";else{let l=c[r.selectedIndex].id;s.value=l}s.dispatchEvent(new Event("input",{bubbles:!0}))}),s.parentElement?.appendChild(r)),(o||r.length===0)&&(r.length=0,c.forEach(l=>{let a=document.createElement("option");a.text=l.name,r.add(a)}));let m=s.value.length?c.findIndex(l=>l.id===s.value):-1;if(m===-1)r.selectedIndex=-1;else{r.selectedIndex=m;let l=c[m],a=v(r,"accessoryState");if(!a){console.error("Unable to find accessory state selector");return}if(a.length!==6){console.error("Accessory state selector has an unexpected number of options");return}let g=a.options[0],x=a.options[1],p=a.options[2],h=a.options[3],b=a.options[4],y=a.options[5];switch(g.hidden=!0,x.hidden=!0,p.hidden=!0,h.hidden=!0,b.hidden=!0,y.hidden=!0,l.type){case"Lightbulb":case"Outlet":case"Switch":g.hidden=!1,x.hidden=!1,a.selectedIndex!==0&&a.selectedIndex!==1&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"Door":case"GarageDoorOpener":case"Window":case"WindowCovering":p.hidden=!1,h.hidden=!1,a.selectedIndex!==2&&a.selectedIndex!==3&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"LockMechanism":a.selectedIndex!==4&&a.selectedIndex!==5&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0}))),b.hidden=!1,y.hidden=!1;break;case"Thermostat":default:return}}})}async function N(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{"defaultOn"in n&&(n.defaultState=n.defaultOn?"on":"off",n.defaultOn=void 0,t=!0);let o=n.sensor;typeof o=="string"&&(n.sensor={type:o},t=!0);let d=n.schedule;d?.type==="CRON"&&d.cron!=="CRON_CUSTOM"&&!d.cron?.startsWith("@")&&(n.schedule={...d,cron:"CRON_CUSTOM",cronCustom:d.cron},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function f(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{I(e),O(e),S(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",async i=>{let n=i.data;await D(n),await S(e,n)}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function M(e){document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),await homebridge.savePluginConfig(),f(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",u),e.config.migrationRestartTitle)})}function C(e){document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),f(e)}),document.getElementById("showMigration").addEventListener("click",()=>{M(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);w(t);let i=await homebridge.getPluginConfig();i.length?(await N(i),f(t)):C(t)})();})();
1
+ "use strict";(()=>{var u="Homebridge Dummy";var w={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:u};function I(e){document.querySelectorAll("[i18n]").forEach(t=>{let i=t.getAttribute("i18n"),n=e.config[i],o=t.getAttribute("i18n_replace");o&&(n=n.replace("%s",w[o])),t.innerHTML=n})}function D(e){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((n,o)=>t.indexOf(n.tagName.toLowerCase())-t.indexOf(o.tagName.toLowerCase())).forEach(n=>{let o=n.innerHTML;o=o.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,s,r)=>e.config[s]&&typeof e.config[s]=="object"&&r in e.config[s]?e.config[s][r]:d),n.innerHTML!==o&&(n.innerHTML=o)})}function O(e){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let i of t){let o=i.closest("fieldset")?.querySelector('input[type="text"][name="name"]');o&&i.textContent!==(o.value||e.config.title.accessory)&&(i.textContent=o.value!==""?o.value:e.config.title.accessory),o&&!o.dataset.accessoryNameListener&&(o.addEventListener("input",()=>O(e)),o.dataset.accessoryNameListener="true")}}function y(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function v(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{n.id===void 0&&(n.id=y(),t=!0),n.limiter!==void 0&&n.limiter.id===void 0&&(n.limiter.id=y(),t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function C(e,t){let i=window.parent.document.createTreeWalker(window.parent.document.body,NodeFilter.SHOW_ELEMENT),n=!1;for(;i.nextNode();)if(i.currentNode===e){n=!0;break}for(;n&&i.nextNode();){let o=i.currentNode;if(o.getAttribute("name")===t)return o}return null}var c=[];async function S(e,t){let i=window.parent.document.querySelectorAll('[name="accessoryId"]');if(i.length===0)return;t===void 0&&(t=await homebridge.getPluginConfig());let n=[];for(let d of t){let s=(d.accessories??[]).filter(r=>r.id&&r.name&&r.type!=="Thermostat");n.push(...s)}let o=!1;c.length!==n.length?(c=n,o=!0):c.forEach((d,s)=>{let r=n[s];(d.name!==r.name||d.type!==r.type||d.id!==r.id)&&(c=n,o=!0)}),i.forEach(d=>{let s=d,r=s.parentElement?.querySelector('select.form-select[data-accessory-name-select="true"]');if(r&&r.dataset.accessoryNameSelect!=="true"){console.error("Unable to retrieve accessory name selector");return}r||(r=document.createElement("select"),r.className="form-select",r.dataset.accessoryNameSelect="true",s.hidden=!0,r.addEventListener("change",()=>{if(r.selectedIndex===-1)s.value="";else{let l=c[r.selectedIndex].id;s.value=l}s.dispatchEvent(new Event("input",{bubbles:!0}))}),s.parentElement?.appendChild(r)),(o||r.length===0)&&(r.length=0,c.forEach(l=>{let a=document.createElement("option");a.text=l.name,r.add(a)}));let m=s.value.length?c.findIndex(l=>l.id===s.value):-1;if(m===-1)r.selectedIndex=-1;else{r.selectedIndex=m;let l=c[m],a=C(r,"accessoryState");if(!a){console.error("Unable to find accessory state selector");return}if(a.length!==7){console.error("Accessory state selector has an unexpected number of options");return}let L=a.options[0],g=a.options[1],x=a.options[2],p=a.options[3],h=a.options[4],b=a.options[5],E=a.options[6];switch(L.hidden=!0,g.hidden=!0,x.hidden=!0,p.hidden=!0,h.hidden=!0,b.hidden=!0,E.hidden=!0,l.type){case"Lightbulb":case"Outlet":case"Switch":g.hidden=!1,x.hidden=!1,a.selectedIndex!==1&&a.selectedIndex!==2&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"Door":case"GarageDoorOpener":case"Window":case"WindowCovering":p.hidden=!1,h.hidden=!1,a.selectedIndex!==3&&a.selectedIndex!==4&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"LockMechanism":a.selectedIndex!==5&&a.selectedIndex!==6&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0}))),b.hidden=!1,E.hidden=!1;break;case"Thermostat":default:return}}})}async function N(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{"defaultOn"in n&&(n.defaultState=n.defaultOn?"on":"off",n.defaultOn=void 0,t=!0);let o=n.sensor;typeof o=="string"&&(n.sensor={type:o},t=!0);let d=n.schedule;d?.type==="CRON"&&d.cron!=="CRON_CUSTOM"&&!d.cron?.startsWith("@")&&(n.schedule={...d,cron:"CRON_CUSTOM",cronCustom:d.cron},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function f(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{D(e),O(e),S(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",async i=>{let n=i.data;await v(n),await S(e,n)}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function M(e){document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),await homebridge.savePluginConfig(),f(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",u),e.config.migrationRestartTitle)})}function k(e){document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),f(e)}),document.getElementById("showMigration").addEventListener("click",()=>{M(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);I(t);let i=await homebridge.getPluginConfig();i.length?(await N(i),f(t)):k(t)})();})();
package/dist/i18n/de.d.ts CHANGED
@@ -9,10 +9,13 @@ declare const de: {
9
9
  executed: string;
10
10
  };
11
11
  conditions: {
12
+ andMultipleLogs: string;
12
13
  currentResult: string;
13
14
  evaluatingConditions: string;
14
15
  satisfied: string;
15
16
  notSatisfied: string;
17
+ patternAndConditions: string;
18
+ patternMatch: string;
16
19
  selfReference: string;
17
20
  statesEqual: string;
18
21
  statesNotEqual: string;
@@ -38,6 +41,10 @@ declare const de: {
38
41
  secured: string;
39
42
  unsecured: string;
40
43
  };
44
+ logWatcher: {
45
+ error: string;
46
+ missingFile: string;
47
+ };
41
48
  onOff: {
42
49
  badDefault: string;
43
50
  stateOff: string;
@@ -91,6 +98,7 @@ declare const de: {
91
98
  timerControlled: string;
92
99
  };
93
100
  enumNames: {
101
+ accessory: string;
94
102
  auto: string;
95
103
  carbonDioxideSensor: string;
96
104
  carbonMonoxideSensor: string;
@@ -113,6 +121,7 @@ declare const de: {
113
121
  leakSensor: string;
114
122
  lightbulb: string;
115
123
  lockMechanism: string;
124
+ log: string;
116
125
  minutely: string;
117
126
  month: string;
118
127
  monthly: string;
@@ -181,14 +190,18 @@ declare const de: {
181
190
  interval: string;
182
191
  limit: string;
183
192
  limiter: string;
193
+ minimumTemperature: string;
194
+ maximumTemperature: string;
184
195
  name: string;
185
196
  operator: string;
197
+ pattern: string;
186
198
  period: string;
187
199
  preset: string;
188
200
  random: string;
189
201
  resetOnRestart: string;
190
202
  schedule: string;
191
203
  sensor: string;
204
+ temperatureUnits: string;
192
205
  timer: string;
193
206
  timerControlled: string;
194
207
  type: string;