homebridge-dummy 1.3.2 → 1.4.0-beta.1

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/README.md +36 -2
  3. package/config.schema.json +153 -29
  4. package/dist/accessory/base.d.ts +28 -8
  5. package/dist/accessory/base.js +53 -37
  6. package/dist/accessory/base.js.map +1 -1
  7. package/dist/accessory/group.d.ts +9 -1
  8. package/dist/accessory/group.js +14 -9
  9. package/dist/accessory/group.js.map +1 -1
  10. package/dist/accessory/helpers.d.ts +3 -5
  11. package/dist/accessory/helpers.js +12 -12
  12. package/dist/accessory/helpers.js.map +1 -1
  13. package/dist/accessory/lock.d.ts +6 -6
  14. package/dist/accessory/lock.js +14 -8
  15. package/dist/accessory/lock.js.map +1 -1
  16. package/dist/accessory/onoff/lightbulb.d.ts +9 -4
  17. package/dist/accessory/onoff/lightbulb.js +31 -4
  18. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  19. package/dist/accessory/onoff/onoff.d.ts +8 -8
  20. package/dist/accessory/onoff/onoff.js +25 -13
  21. package/dist/accessory/onoff/onoff.js.map +1 -1
  22. package/dist/accessory/position/garage.d.ts +3 -4
  23. package/dist/accessory/position/garage.js +3 -3
  24. package/dist/accessory/position/garage.js.map +1 -1
  25. package/dist/accessory/position/position.d.ts +6 -6
  26. package/dist/accessory/position/position.js +14 -8
  27. package/dist/accessory/position/position.js.map +1 -1
  28. package/dist/accessory/sensor.d.ts +4 -5
  29. package/dist/accessory/sensor.js +14 -15
  30. package/dist/accessory/sensor.js.map +1 -1
  31. package/dist/accessory/thermostat.d.ts +5 -6
  32. package/dist/accessory/thermostat.js +17 -17
  33. package/dist/accessory/thermostat.js.map +1 -1
  34. package/dist/homebridge/platform.d.ts +1 -1
  35. package/dist/homebridge/platform.js +29 -12
  36. package/dist/homebridge/platform.js.map +1 -1
  37. package/dist/homebridge-ui/public/index.html +1 -1
  38. package/dist/homebridge-ui/public/ui.js +1 -1
  39. package/dist/i18n/de.d.ts +22 -0
  40. package/dist/i18n/en.d.ts +22 -0
  41. package/dist/i18n/en.js +30 -8
  42. package/dist/i18n/en.js.map +1 -1
  43. package/dist/i18n/es.d.ts +22 -0
  44. package/dist/i18n/i18n.d.ts +22 -0
  45. package/dist/i18n/ru.d.ts +22 -0
  46. package/dist/i18n/template.d.ts +22 -0
  47. package/dist/model/conditions.d.ts +14 -0
  48. package/dist/model/conditions.js +99 -0
  49. package/dist/model/conditions.js.map +1 -0
  50. package/dist/model/enums.d.ts +15 -4
  51. package/dist/model/enums.js +36 -12
  52. package/dist/model/enums.js.map +1 -1
  53. package/dist/model/types.d.ts +14 -3
  54. package/dist/timeout/fader.d.ts +9 -0
  55. package/dist/timeout/fader.js +33 -0
  56. package/dist/timeout/fader.js.map +1 -0
  57. package/dist/timeout/limiter.d.ts +2 -2
  58. package/dist/timeout/limiter.js +8 -8
  59. package/dist/timeout/limiter.js.map +1 -1
  60. package/dist/timeout/schedule.d.ts +3 -3
  61. package/dist/timeout/schedule.js +18 -18
  62. package/dist/timeout/schedule.js.map +1 -1
  63. package/dist/timeout/timeout.d.ts +6 -4
  64. package/dist/timeout/timeout.js +12 -7
  65. package/dist/timeout/timeout.js.map +1 -1
  66. package/dist/timeout/timer.d.ts +3 -4
  67. package/dist/timeout/timer.js +8 -9
  68. package/dist/timeout/timer.js.map +1 -1
  69. package/dist/tools/configMigration.js +2 -2
  70. package/dist/tools/configMigration.js.map +1 -1
  71. package/package.json +10 -1
package/dist/i18n/en.d.ts CHANGED
@@ -8,6 +8,17 @@ declare const en: {
8
8
  error: string;
9
9
  executed: string;
10
10
  };
11
+ conditions: {
12
+ currentResult: string;
13
+ evaluatingConditions: string;
14
+ satisfied: string;
15
+ notSatisfied: string;
16
+ selfReference: string;
17
+ statesEqual: string;
18
+ statesNotEqual: string;
19
+ stateUnknown: string;
20
+ statesUnrelated: string;
21
+ };
11
22
  lightbulb: {
12
23
  brightness: string;
13
24
  stateOn: string;
@@ -28,6 +39,7 @@ declare const en: {
28
39
  unsecured: string;
29
40
  };
30
41
  onOff: {
42
+ badDefault: string;
31
43
  stateOff: string;
32
44
  stateOn: string;
33
45
  };
@@ -70,6 +82,8 @@ declare const en: {
70
82
  description: {
71
83
  commands: string;
72
84
  cron: string;
85
+ conditions: string;
86
+ fadeOut: string;
73
87
  limiter: string;
74
88
  random: string;
75
89
  schedule: string;
@@ -102,10 +116,13 @@ declare const en: {
102
116
  minutely: string;
103
117
  month: string;
104
118
  monthly: string;
119
+ none: string;
105
120
  occupancySensor: string;
106
121
  off: string;
107
122
  on: string;
108
123
  open: string;
124
+ operatorAnd: string;
125
+ operatorOr: string;
109
126
  outlet: string;
110
127
  milliseconds: string;
111
128
  minutes: string;
@@ -139,6 +156,7 @@ declare const en: {
139
156
  yes: string;
140
157
  title: {
141
158
  accessory: string;
159
+ accessoryState: string;
142
160
  commandClose: string;
143
161
  commandOff: string;
144
162
  commandOn: string;
@@ -147,6 +165,8 @@ declare const en: {
147
165
  commands: string;
148
166
  commandTemperature: string;
149
167
  commandUnlock: string;
168
+ condition: string;
169
+ conditions: string;
150
170
  cron: string;
151
171
  cronCustom: string;
152
172
  defaultBrightness: string;
@@ -156,11 +176,13 @@ declare const en: {
156
176
  delay: string;
157
177
  disableLogging: string;
158
178
  enableWebook: string;
179
+ fadeOut: string;
159
180
  groupName: string;
160
181
  interval: string;
161
182
  limit: string;
162
183
  limiter: string;
163
184
  name: string;
185
+ operator: string;
164
186
  period: string;
165
187
  preset: string;
166
188
  random: string;
package/dist/i18n/en.js CHANGED
@@ -8,6 +8,17 @@ const en = {
8
8
  error: '%s failed to execute command', // accessory name
9
9
  executed: '%s executed command', // accessory name
10
10
  },
11
+ conditions: {
12
+ currentResult: 'Current result is %s', // boolean
13
+ evaluatingConditions: 'Evaluating conditions for %s', // accessory name
14
+ satisfied: '%s conditions have been satisfied. Triggering…', // accessory name
15
+ notSatisfied: '%s conditions not satisfied', // accessory name
16
+ selfReference: '%s is not allowed to reference itself as a triggering condition', // accessory name
17
+ statesEqual: 'Current and desired states are both %s', // state name
18
+ statesNotEqual: 'Current state %s is not equivalent to desired state %s', // state name, state name
19
+ stateUnknown: 'Cannot yet evalutate conditions because state for %s is unknown', // accessory id
20
+ statesUnrelated: 'Desired condition state %s is being compared to current state %s. Was this a typo?', // state name, state name
21
+ },
11
22
  lightbulb: {
12
23
  brightness: '%s brightness is %d%', // accessory name, number
13
24
  stateOn: '%s is on, brightness is %d%', // accessory name, number
@@ -28,6 +39,7 @@ const en = {
28
39
  unsecured: '%s is unlocked', // accessory name
29
40
  },
30
41
  onOff: {
42
+ badDefault: '%s has invalid default on state %s. Must be one of: %s', // accessory name, input, list of state names
31
43
  stateOff: '%s is off', // accessory name
32
44
  stateOn: '%s is on', // accessory name
33
45
  },
@@ -40,10 +52,10 @@ const en = {
40
52
  badType: '%s has invalid schedule type %s. Must be one of: %s', // accessory name, input, list of type names
41
53
  badUnits: '%s schedule has invalid time units %s. Must be one of: %s', // accessory name, input, list of unit names
42
54
  cron: '%s starting schedule cronjob', // accessory name
43
- intervalMilliseconds: '%s scheduled for %s milliseconds', // accessory name, number
44
- intervalSeconds: '%s scheduled for %s seconds', // accessory name, number
45
- intervalMinutes: '%s scheduled for %s minutes', // accessory name, number
46
- intervalHours: '% scheduled for %s hours', // accessory name, number
55
+ intervalMilliseconds: '%s will trigger in %s milliseconds', // accessory name, number
56
+ intervalSeconds: '%s will trigger in %s seconds', // accessory name, number
57
+ intervalMinutes: '%s will trigger in %s minutes', // accessory name, number
58
+ intervalHours: '% will trigger in %s hours', // accessory name, number
47
59
  },
48
60
  thermostat: {
49
61
  auto: '%s set to Auto', // accessory name
@@ -61,15 +73,17 @@ const en = {
61
73
  cancel: 'Cancelled the timer for %s', // accessory name
62
74
  expired: '%s timer expired while restarting. Returning to default state…', // accessory name
63
75
  resume: '%s resuming timer', // accessory name
64
- setMilliseconds: '%s is waiting %s milliseconds', // accessory name, number
65
- setSeconds: '%s is waiting %s seconds', // accessory name, number
66
- setMinutes: '%s is waiting %s minutes', // accessory name, number
67
- setHours: '%s is waiting %s hours', // accessory name, number
76
+ setMilliseconds: '%s will reset in %s milliseconds', // accessory name, number
77
+ setSeconds: '%s will reset in %s seconds', // accessory name, number
78
+ setMinutes: '%s will reset in %s minutes', // accessory name, number
79
+ setHours: '%s will reset in %s hours', // accessory name, number
68
80
  },
69
81
  config: {
70
82
  description: {
71
83
  commands: 'Execute arbitrary commands (e.g. curl) when the accessory changes state',
72
84
  cron: 'Visit crontab.guru for help',
85
+ conditions: 'Set the accessory to its opposite (non-default) value when the specified conditions are met',
86
+ fadeOut: 'Lightbulb will count down rather than abruptly going from 100% to off',
73
87
  limiter: 'Restrict the total time this accessory can be set to its non-default value, for each specified period',
74
88
  random: 'Time will be randomized with the above value as a maximum',
75
89
  schedule: 'Set the accessory to its opposite (non-default) value at specified interval or times',
@@ -102,10 +116,13 @@ const en = {
102
116
  minutely: 'Every Minute',
103
117
  month: 'Month',
104
118
  monthly: 'Monthly',
119
+ none: 'None',
105
120
  occupancySensor: 'Occupancy',
106
121
  off: 'Off',
107
122
  on: 'On',
108
123
  open: 'Open',
124
+ operatorAnd: 'ALL conditions are met', // proceeded by "Trigger when…"
125
+ operatorOr: 'ANY conditions are met', // proceeded by "Trigger when…"
109
126
  outlet: 'Outlet',
110
127
  milliseconds: 'Milliseconds',
111
128
  minutes: 'Minutes',
@@ -139,6 +156,7 @@ const en = {
139
156
  yes: 'Yes',
140
157
  title: {
141
158
  accessory: 'Accessory',
159
+ accessoryState: 'State',
142
160
  commandClose: 'Close Command',
143
161
  commandOff: 'Off Command',
144
162
  commandOn: 'On Command',
@@ -147,6 +165,8 @@ const en = {
147
165
  commands: 'Commands',
148
166
  commandTemperature: 'Temperature Changed Command',
149
167
  commandUnlock: 'Unlock Command',
168
+ condition: 'Condition',
169
+ conditions: 'Trigger Conditions',
150
170
  cron: 'Cron',
151
171
  cronCustom: 'Custom Cron',
152
172
  defaultBrightness: 'Default Brightness',
@@ -156,11 +176,13 @@ const en = {
156
176
  delay: 'Delay',
157
177
  disableLogging: 'Disable Logging',
158
178
  enableWebook: 'Enable Webhook',
179
+ fadeOut: 'Fade Out',
159
180
  groupName: 'Group Name',
160
181
  interval: 'Interval',
161
182
  limit: 'Limit',
162
183
  limiter: 'Time Limit',
163
184
  name: 'Name',
185
+ operator: 'Trigger when…',
164
186
  period: 'Per',
165
187
  preset: 'Preset',
166
188
  random: 'Randomize',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
package/dist/i18n/es.d.ts CHANGED
@@ -8,6 +8,17 @@ declare const es: {
8
8
  error: string;
9
9
  executed: string;
10
10
  };
11
+ conditions: {
12
+ currentResult: string;
13
+ evaluatingConditions: string;
14
+ satisfied: string;
15
+ notSatisfied: string;
16
+ selfReference: string;
17
+ statesEqual: string;
18
+ statesNotEqual: string;
19
+ stateUnknown: string;
20
+ statesUnrelated: string;
21
+ };
11
22
  lightbulb: {
12
23
  brightness: string;
13
24
  stateOn: string;
@@ -28,6 +39,7 @@ declare const es: {
28
39
  unsecured: string;
29
40
  };
30
41
  onOff: {
42
+ badDefault: string;
31
43
  stateOff: string;
32
44
  stateOn: string;
33
45
  };
@@ -70,6 +82,8 @@ declare const es: {
70
82
  description: {
71
83
  commands: string;
72
84
  cron: string;
85
+ conditions: string;
86
+ fadeOut: string;
73
87
  limiter: string;
74
88
  random: string;
75
89
  schedule: string;
@@ -102,10 +116,13 @@ declare const es: {
102
116
  minutely: string;
103
117
  month: string;
104
118
  monthly: string;
119
+ none: string;
105
120
  occupancySensor: string;
106
121
  off: string;
107
122
  on: string;
108
123
  open: string;
124
+ operatorAnd: string;
125
+ operatorOr: string;
109
126
  outlet: string;
110
127
  milliseconds: string;
111
128
  minutes: string;
@@ -139,6 +156,7 @@ declare const es: {
139
156
  yes: string;
140
157
  title: {
141
158
  accessory: string;
159
+ accessoryState: string;
142
160
  commandClose: string;
143
161
  commandOff: string;
144
162
  commandOn: string;
@@ -147,6 +165,8 @@ declare const es: {
147
165
  commands: string;
148
166
  commandTemperature: string;
149
167
  commandUnlock: string;
168
+ condition: string;
169
+ conditions: string;
150
170
  cron: string;
151
171
  cronCustom: string;
152
172
  defaultBrightness: string;
@@ -156,11 +176,13 @@ declare const es: {
156
176
  delay: string;
157
177
  disableLogging: string;
158
178
  enableWebook: string;
179
+ fadeOut: string;
159
180
  groupName: string;
160
181
  interval: string;
161
182
  limit: string;
162
183
  limiter: string;
163
184
  name: string;
185
+ operator: string;
164
186
  period: string;
165
187
  preset: string;
166
188
  random: string;
@@ -19,6 +19,17 @@ declare const translations: {
19
19
  error: string;
20
20
  executed: string;
21
21
  };
22
+ conditions: {
23
+ currentResult: string;
24
+ evaluatingConditions: string;
25
+ satisfied: string;
26
+ notSatisfied: string;
27
+ selfReference: string;
28
+ statesEqual: string;
29
+ statesNotEqual: string;
30
+ stateUnknown: string;
31
+ statesUnrelated: string;
32
+ };
22
33
  lightbulb: {
23
34
  brightness: string;
24
35
  stateOn: string;
@@ -39,6 +50,7 @@ declare const translations: {
39
50
  unsecured: string;
40
51
  };
41
52
  onOff: {
53
+ badDefault: string;
42
54
  stateOff: string;
43
55
  stateOn: string;
44
56
  };
@@ -81,6 +93,8 @@ declare const translations: {
81
93
  description: {
82
94
  commands: string;
83
95
  cron: string;
96
+ conditions: string;
97
+ fadeOut: string;
84
98
  limiter: string;
85
99
  random: string;
86
100
  schedule: string;
@@ -113,10 +127,13 @@ declare const translations: {
113
127
  minutely: string;
114
128
  month: string;
115
129
  monthly: string;
130
+ none: string;
116
131
  occupancySensor: string;
117
132
  off: string;
118
133
  on: string;
119
134
  open: string;
135
+ operatorAnd: string;
136
+ operatorOr: string;
120
137
  outlet: string;
121
138
  milliseconds: string;
122
139
  minutes: string;
@@ -150,6 +167,7 @@ declare const translations: {
150
167
  yes: string;
151
168
  title: {
152
169
  accessory: string;
170
+ accessoryState: string;
153
171
  commandClose: string;
154
172
  commandOff: string;
155
173
  commandOn: string;
@@ -158,6 +176,8 @@ declare const translations: {
158
176
  commands: string;
159
177
  commandTemperature: string;
160
178
  commandUnlock: string;
179
+ condition: string;
180
+ conditions: string;
161
181
  cron: string;
162
182
  cronCustom: string;
163
183
  defaultBrightness: string;
@@ -167,11 +187,13 @@ declare const translations: {
167
187
  delay: string;
168
188
  disableLogging: string;
169
189
  enableWebook: string;
190
+ fadeOut: string;
170
191
  groupName: string;
171
192
  interval: string;
172
193
  limit: string;
173
194
  limiter: string;
174
195
  name: string;
196
+ operator: string;
175
197
  period: string;
176
198
  preset: string;
177
199
  random: string;
package/dist/i18n/ru.d.ts CHANGED
@@ -8,6 +8,17 @@ declare const ru: {
8
8
  error: string;
9
9
  executed: string;
10
10
  };
11
+ conditions: {
12
+ currentResult: string;
13
+ evaluatingConditions: string;
14
+ satisfied: string;
15
+ notSatisfied: string;
16
+ selfReference: string;
17
+ statesEqual: string;
18
+ statesNotEqual: string;
19
+ stateUnknown: string;
20
+ statesUnrelated: string;
21
+ };
11
22
  lightbulb: {
12
23
  brightness: string;
13
24
  stateOn: string;
@@ -28,6 +39,7 @@ declare const ru: {
28
39
  unsecured: string;
29
40
  };
30
41
  onOff: {
42
+ badDefault: string;
31
43
  stateOff: string;
32
44
  stateOn: string;
33
45
  };
@@ -70,6 +82,8 @@ declare const ru: {
70
82
  description: {
71
83
  commands: string;
72
84
  cron: string;
85
+ conditions: string;
86
+ fadeOut: string;
73
87
  limiter: string;
74
88
  random: string;
75
89
  schedule: string;
@@ -102,10 +116,13 @@ declare const ru: {
102
116
  minutely: string;
103
117
  month: string;
104
118
  monthly: string;
119
+ none: string;
105
120
  occupancySensor: string;
106
121
  off: string;
107
122
  on: string;
108
123
  open: string;
124
+ operatorAnd: string;
125
+ operatorOr: string;
109
126
  outlet: string;
110
127
  milliseconds: string;
111
128
  minutes: string;
@@ -139,6 +156,7 @@ declare const ru: {
139
156
  yes: string;
140
157
  title: {
141
158
  accessory: string;
159
+ accessoryState: string;
142
160
  commandClose: string;
143
161
  commandOff: string;
144
162
  commandOn: string;
@@ -147,6 +165,8 @@ declare const ru: {
147
165
  commands: string;
148
166
  commandTemperature: string;
149
167
  commandUnlock: string;
168
+ condition: string;
169
+ conditions: string;
150
170
  cron: string;
151
171
  cronCustom: string;
152
172
  defaultBrightness: string;
@@ -156,11 +176,13 @@ declare const ru: {
156
176
  delay: string;
157
177
  disableLogging: string;
158
178
  enableWebook: string;
179
+ fadeOut: string;
159
180
  groupName: string;
160
181
  interval: string;
161
182
  limit: string;
162
183
  limiter: string;
163
184
  name: string;
185
+ operator: string;
164
186
  period: string;
165
187
  preset: string;
166
188
  random: string;
@@ -8,6 +8,17 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
8
8
  error: string;
9
9
  executed: string;
10
10
  };
11
+ conditions: {
12
+ currentResult: string;
13
+ evaluatingConditions: string;
14
+ satisfied: string;
15
+ notSatisfied: string;
16
+ selfReference: string;
17
+ statesEqual: string;
18
+ statesNotEqual: string;
19
+ stateUnknown: string;
20
+ statesUnrelated: string;
21
+ };
11
22
  lightbulb: {
12
23
  brightness: string;
13
24
  stateOn: string;
@@ -28,6 +39,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
28
39
  unsecured: string;
29
40
  };
30
41
  onOff: {
42
+ badDefault: string;
31
43
  stateOff: string;
32
44
  stateOn: string;
33
45
  };
@@ -70,6 +82,8 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
70
82
  description: {
71
83
  commands: string;
72
84
  cron: string;
85
+ conditions: string;
86
+ fadeOut: string;
73
87
  limiter: string;
74
88
  random: string;
75
89
  schedule: string;
@@ -102,10 +116,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
102
116
  minutely: string;
103
117
  month: string;
104
118
  monthly: string;
119
+ none: string;
105
120
  occupancySensor: string;
106
121
  off: string;
107
122
  on: string;
108
123
  open: string;
124
+ operatorAnd: string;
125
+ operatorOr: string;
109
126
  outlet: string;
110
127
  milliseconds: string;
111
128
  minutes: string;
@@ -139,6 +156,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
139
156
  yes: string;
140
157
  title: {
141
158
  accessory: string;
159
+ accessoryState: string;
142
160
  commandClose: string;
143
161
  commandOff: string;
144
162
  commandOn: string;
@@ -147,6 +165,8 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
147
165
  commands: string;
148
166
  commandTemperature: string;
149
167
  commandUnlock: string;
168
+ condition: string;
169
+ conditions: string;
150
170
  cron: string;
151
171
  cronCustom: string;
152
172
  defaultBrightness: string;
@@ -156,11 +176,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
156
176
  delay: string;
157
177
  disableLogging: string;
158
178
  enableWebook: string;
179
+ fadeOut: string;
159
180
  groupName: string;
160
181
  interval: string;
161
182
  limit: string;
162
183
  limiter: string;
163
184
  name: string;
185
+ operator: string;
164
186
  period: string;
165
187
  preset: string;
166
188
  random: string;
@@ -0,0 +1,14 @@
1
+ import { ConditionsConfig } from './types.js';
2
+ import { AccessoryState } from './enums.js';
3
+ import { Log } from '../tools/log.js';
4
+ export declare class ConditionManager {
5
+ private readonly log;
6
+ private readonly targets;
7
+ private readonly triggersToTargets;
8
+ private readonly triggerStates;
9
+ constructor(log: Log);
10
+ register(name: string, identifier: string, conditions: ConditionsConfig | undefined, trigger: () => Promise<void>, reset: (() => Promise<void>) | undefined, disableLogging: boolean): void;
11
+ onStateChange(triggerId: string, state: AccessoryState): Promise<void>;
12
+ private evaluateConditions;
13
+ private compareStates;
14
+ }
@@ -0,0 +1,99 @@
1
+ import { ConditionOperator, getStateType } from './enums.js';
2
+ import { assert } from '../tools/validation.js';
3
+ import { strings } from '../i18n/i18n.js';
4
+ export class ConditionManager {
5
+ log;
6
+ targets = new Map();
7
+ triggersToTargets = new Map();
8
+ triggerStates = new Map();
9
+ constructor(log) {
10
+ this.log = log;
11
+ }
12
+ register(name, identifier, conditions, trigger, reset, disableLogging) {
13
+ if (conditions === undefined) {
14
+ return;
15
+ }
16
+ if (!assert(this.log, name, conditions, 'operator', 'operands')) {
17
+ return;
18
+ }
19
+ let valid = true;
20
+ for (const operand of conditions.operands) {
21
+ valid = valid && assert(this.log, name, operand, 'accessoryId', 'accessoryState');
22
+ if (operand.accessoryId === identifier) {
23
+ this.log.error(strings.conditions.selfReference, name);
24
+ valid = false;
25
+ break;
26
+ }
27
+ }
28
+ if (!valid) {
29
+ return;
30
+ }
31
+ const target = { name, identifier, conditions, trigger, reset, disableLogging };
32
+ this.targets.set(identifier, target);
33
+ for (const operand of conditions.operands) {
34
+ const targetList = this.triggersToTargets.get(operand.accessoryId) ?? [];
35
+ targetList.push(identifier);
36
+ this.triggersToTargets.set(operand.accessoryId, targetList);
37
+ }
38
+ }
39
+ async onStateChange(triggerId, state) {
40
+ const targetIds = this.triggersToTargets.get(triggerId);
41
+ if (!targetIds) {
42
+ return;
43
+ }
44
+ this.triggerStates.set(triggerId, state);
45
+ for (const targetId of targetIds) {
46
+ const target = this.targets.get(targetId);
47
+ if (!target) {
48
+ throw new Error('Unable to find target associated with the supplied trigger');
49
+ }
50
+ this.log.ifVerbose(strings.conditions.evaluatingConditions, target.name);
51
+ if (this.evaluateConditions(target.conditions)) {
52
+ if (!target.disableLogging) {
53
+ this.log.always(strings.conditions.satisfied, target.name);
54
+ }
55
+ await target.trigger();
56
+ }
57
+ else {
58
+ this.log.ifVerbose(strings.conditions.notSatisfied, target.name);
59
+ await target.reset?.();
60
+ }
61
+ }
62
+ }
63
+ evaluateConditions(conditions) {
64
+ let result;
65
+ for (const operand of conditions.operands) {
66
+ const currentState = this.triggerStates.get(operand.accessoryId);
67
+ if (!currentState) {
68
+ this.log.ifVerbose(strings.conditions.stateUnknown, `'${operand.accessoryId}'`);
69
+ result = false;
70
+ break;
71
+ }
72
+ const operandResult = this.compareStates(currentState, operand.accessoryState);
73
+ switch (conditions.operator) {
74
+ case ConditionOperator.AND:
75
+ result = result === undefined ? operandResult : result && operandResult;
76
+ break;
77
+ case ConditionOperator.OR:
78
+ result = result === undefined ? operandResult : result || operandResult;
79
+ break;
80
+ }
81
+ this.log.ifVerbose(strings.conditions.currentResult, `'${String(result)}'`);
82
+ }
83
+ return result ?? false;
84
+ }
85
+ compareStates(current, desired) {
86
+ if (current === desired) {
87
+ this.log.ifVerbose(strings.conditions.statesEqual, `'${current}'`);
88
+ return true;
89
+ }
90
+ const stateType = getStateType(current);
91
+ if (stateType && !Object.values(stateType).includes(desired)) {
92
+ this.log.error(strings.conditions.statesUnrelated, `'${current}'`, `'${desired}'`);
93
+ return false;
94
+ }
95
+ this.log.ifVerbose(strings.conditions.statesNotEqual, `'${current}'`, `'${desired}'`);
96
+ return false;
97
+ }
98
+ }
99
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/model/conditions.ts"],"names":[],"mappings":"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"}