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/dist/i18n/en.d.ts CHANGED
@@ -9,10 +9,13 @@ declare const en: {
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 en: {
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 en: {
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 en: {
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 en: {
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;
package/dist/i18n/en.js CHANGED
@@ -9,10 +9,13 @@ const en = {
9
9
  executed: '%s executed command', // accessory name
10
10
  },
11
11
  conditions: {
12
+ andMultipleLogs: '%s cannot have mutiple log triggers using the "ALL" operator', // accessory name
12
13
  currentResult: 'Current result is %s', // boolean
13
14
  evaluatingConditions: 'Evaluating conditions for %s', // accessory name
14
15
  satisfied: '%s conditions have been satisfied. Triggering…', // accessory name
15
16
  notSatisfied: '%s conditions not satisfied', // accessory name
17
+ patternAndConditions: '%s log condition found a pattern match. Checking other conditions…', // accessory name
18
+ patternMatch: '%s log condition found a pattern match. Triggering…', // accessory name
16
19
  selfReference: '%s is not allowed to reference itself as a triggering condition', // accessory name
17
20
  statesEqual: 'Current and desired states are both %s', // state name
18
21
  statesNotEqual: 'Current state %s is not equivalent to desired state %s', // state name, state name
@@ -38,6 +41,10 @@ const en = {
38
41
  secured: '%s is locked', // accessory name
39
42
  unsecured: '%s is unlocked', // accessory name
40
43
  },
44
+ logWatcher: {
45
+ error: 'Log watcher encountered an error: %s', // error
46
+ missingFile: 'Unable to find log file at path %s', // file path
47
+ },
41
48
  onOff: {
42
49
  badDefault: '%s has invalid default on state %s. Must be one of: %s', // accessory name, input, list of state names
43
50
  stateOff: '%s is off', // accessory name
@@ -91,6 +98,7 @@ const en = {
91
98
  timerControlled: 'Instead of mirroring accessory, sensor will be activated when accessory auto-resets',
92
99
  },
93
100
  enumNames: {
101
+ accessory: 'Accessory',
94
102
  auto: 'Auto',
95
103
  carbonDioxideSensor: 'Carbon Dioxide',
96
104
  carbonMonoxideSensor: 'Carbon Monoxide',
@@ -113,6 +121,7 @@ const en = {
113
121
  leakSensor: 'Leak',
114
122
  lightbulb: 'Lightbulb',
115
123
  lockMechanism: 'Lock',
124
+ log: 'Log Watcher',
116
125
  minutely: 'Every Minute',
117
126
  month: 'Month',
118
127
  monthly: 'Monthly',
@@ -181,14 +190,18 @@ const en = {
181
190
  interval: 'Interval',
182
191
  limit: 'Limit',
183
192
  limiter: 'Time Limit',
193
+ minimumTemperature: 'Min Temperature',
194
+ maximumTemperature: 'Max Temperature',
184
195
  name: 'Name',
185
196
  operator: 'Trigger when…',
197
+ pattern: 'Search String or RegEx',
186
198
  period: 'Per',
187
199
  preset: 'Preset',
188
200
  random: 'Randomize',
189
201
  resetOnRestart: 'Reset on Restart',
190
202
  schedule: 'Schedule',
191
203
  sensor: 'Attach Sensor',
204
+ temperatureUnits: 'Temperature Units',
192
205
  timer: 'Auto-Reset Timer',
193
206
  timerControlled: 'Activate Sensor on Auto-Reset',
194
207
  type: 'Type',
@@ -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
@@ -9,10 +9,13 @@ declare const es: {
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 es: {
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 es: {
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 es: {
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 es: {
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;
@@ -20,10 +20,13 @@ declare const translations: {
20
20
  executed: string;
21
21
  };
22
22
  conditions: {
23
+ andMultipleLogs: string;
23
24
  currentResult: string;
24
25
  evaluatingConditions: string;
25
26
  satisfied: string;
26
27
  notSatisfied: string;
28
+ patternAndConditions: string;
29
+ patternMatch: string;
27
30
  selfReference: string;
28
31
  statesEqual: string;
29
32
  statesNotEqual: string;
@@ -49,6 +52,10 @@ declare const translations: {
49
52
  secured: string;
50
53
  unsecured: string;
51
54
  };
55
+ logWatcher: {
56
+ error: string;
57
+ missingFile: string;
58
+ };
52
59
  onOff: {
53
60
  badDefault: string;
54
61
  stateOff: string;
@@ -102,6 +109,7 @@ declare const translations: {
102
109
  timerControlled: string;
103
110
  };
104
111
  enumNames: {
112
+ accessory: string;
105
113
  auto: string;
106
114
  carbonDioxideSensor: string;
107
115
  carbonMonoxideSensor: string;
@@ -124,6 +132,7 @@ declare const translations: {
124
132
  leakSensor: string;
125
133
  lightbulb: string;
126
134
  lockMechanism: string;
135
+ log: string;
127
136
  minutely: string;
128
137
  month: string;
129
138
  monthly: string;
@@ -192,14 +201,18 @@ declare const translations: {
192
201
  interval: string;
193
202
  limit: string;
194
203
  limiter: string;
204
+ minimumTemperature: string;
205
+ maximumTemperature: string;
195
206
  name: string;
196
207
  operator: string;
208
+ pattern: string;
197
209
  period: string;
198
210
  preset: string;
199
211
  random: string;
200
212
  resetOnRestart: string;
201
213
  schedule: string;
202
214
  sensor: string;
215
+ temperatureUnits: string;
203
216
  timer: string;
204
217
  timerControlled: string;
205
218
  type: string;
package/dist/i18n/ru.d.ts CHANGED
@@ -9,10 +9,13 @@ declare const ru: {
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 ru: {
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 ru: {
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 ru: {
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 ru: {
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;
@@ -9,10 +9,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
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 REPLACE_THIS_WITH_ISO_CODE: {
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 REPLACE_THIS_WITH_ISO_CODE: {
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 REPLACE_THIS_WITH_ISO_CODE: {
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 REPLACE_THIS_WITH_ISO_CODE: {
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;
@@ -1,14 +1,17 @@
1
- import { ConditionsConfig } from './types.js';
2
1
  import { AccessoryState } from './enums.js';
2
+ import { ConditionsConfig } from './types.js';
3
3
  import { Log } from '../tools/log.js';
4
4
  export declare class ConditionManager {
5
5
  private readonly log;
6
6
  private readonly targets;
7
7
  private readonly triggersToTargets;
8
8
  private readonly triggerStates;
9
- constructor(log: Log);
9
+ private readonly logWatcher;
10
+ constructor(log: Log, storagePath: string);
11
+ teardown(): void;
10
12
  register(name: string, identifier: string, conditions: ConditionsConfig | undefined, trigger: () => Promise<void>, reset: (() => Promise<void>) | undefined, disableLogging: boolean): void;
11
13
  onStateChange(triggerId: string, state: AccessoryState): Promise<void>;
14
+ private onPatternMatch;
12
15
  private evaluateConditions;
13
16
  private compareStates;
14
17
  }
@@ -1,13 +1,19 @@
1
- import { ConditionOperator, getStateType } from './enums.js';
2
- import { assert } from '../tools/validation.js';
1
+ import { ConditionOperator, getStateType, OperandType } from './enums.js';
3
2
  import { strings } from '../i18n/i18n.js';
3
+ import { LogWatcher } from '../tools/logWatcher.js';
4
+ import { assert } from '../tools/validation.js';
4
5
  export class ConditionManager {
5
6
  log;
6
7
  targets = new Map();
7
8
  triggersToTargets = new Map();
8
9
  triggerStates = new Map();
9
- constructor(log) {
10
+ logWatcher;
11
+ constructor(log, storagePath) {
10
12
  this.log = log;
13
+ this.logWatcher = new LogWatcher(log, storagePath);
14
+ }
15
+ teardown() {
16
+ this.logWatcher.teardown();
11
17
  }
12
18
  register(name, identifier, conditions, trigger, reset, disableLogging) {
13
19
  if (conditions === undefined) {
@@ -16,24 +22,46 @@ export class ConditionManager {
16
22
  if (!assert(this.log, name, conditions, 'operator', 'operands')) {
17
23
  return;
18
24
  }
25
+ let logTypeCount = 0;
19
26
  let valid = true;
20
27
  for (const operand of conditions.operands) {
21
- valid = valid && assert(this.log, name, operand, 'accessoryId', 'accessoryState');
28
+ valid = valid && assert(this.log, name, operand, 'type');
29
+ switch (operand.type) {
30
+ case OperandType.ACCESSORY:
31
+ valid = valid && assert(this.log, name, operand, 'accessoryId', 'accessoryState');
32
+ break;
33
+ case OperandType.LOG:
34
+ logTypeCount++;
35
+ valid = valid && assert(this.log, name, operand, 'pattern');
36
+ break;
37
+ }
22
38
  if (operand.accessoryId === identifier) {
23
39
  this.log.error(strings.conditions.selfReference, name);
24
40
  valid = false;
25
41
  break;
26
42
  }
27
43
  }
44
+ if (logTypeCount > 1 && conditions.operator === ConditionOperator.AND) {
45
+ this.log.error(strings.conditions.andMultipleLogs, name);
46
+ return;
47
+ }
28
48
  if (!valid) {
29
49
  return;
30
50
  }
31
51
  const target = { name, identifier, conditions, trigger, reset, disableLogging };
32
52
  this.targets.set(identifier, target);
33
53
  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);
54
+ switch (operand.type) {
55
+ case OperandType.ACCESSORY: {
56
+ const targetList = this.triggersToTargets.get(operand.accessoryId) ?? [];
57
+ targetList.push(identifier);
58
+ this.triggersToTargets.set(operand.accessoryId, targetList);
59
+ break;
60
+ }
61
+ case OperandType.LOG:
62
+ this.logWatcher.registerPattern(operand.pattern, () => this.onPatternMatch(target));
63
+ break;
64
+ }
37
65
  }
38
66
  }
39
67
  async onStateChange(triggerId, state) {
@@ -48,7 +76,7 @@ export class ConditionManager {
48
76
  throw new Error('Unable to find target associated with the supplied trigger');
49
77
  }
50
78
  this.log.ifVerbose(strings.conditions.evaluatingConditions, target.name);
51
- if (this.evaluateConditions(target.conditions)) {
79
+ if (this.evaluateConditions(target.conditions, false)) {
52
80
  if (!target.disableLogging) {
53
81
  this.log.always(strings.conditions.satisfied, target.name);
54
82
  }
@@ -60,9 +88,32 @@ export class ConditionManager {
60
88
  }
61
89
  }
62
90
  }
63
- evaluateConditions(conditions) {
91
+ onPatternMatch(target) {
92
+ if (target.conditions.operands.length === 1 || target.conditions.operator === ConditionOperator.OR) {
93
+ this.log.ifVerbose(strings.conditions.patternMatch, target.name);
94
+ target.trigger();
95
+ return;
96
+ }
97
+ this.log.ifVerbose(strings.conditions.patternAndConditions, target.name);
98
+ if (!this.evaluateConditions(target.conditions, true)) {
99
+ this.log.ifVerbose(strings.conditions.notSatisfied, target.name);
100
+ return;
101
+ }
102
+ if (!target.disableLogging) {
103
+ this.log.always(strings.conditions.satisfied, target.name);
104
+ }
105
+ target.trigger();
106
+ }
107
+ evaluateConditions(conditions, ignoreLogType) {
64
108
  let result;
65
109
  for (const operand of conditions.operands) {
110
+ if (operand.type === OperandType.LOG) {
111
+ if (ignoreLogType || conditions.operator === ConditionOperator.OR) {
112
+ continue;
113
+ }
114
+ result = false;
115
+ break;
116
+ }
66
117
  const currentState = this.triggerStates.get(operand.accessoryId);
67
118
  if (!currentState) {
68
119
  this.log.ifVerbose(strings.conditions.stateUnknown, `'${operand.accessoryId}'`);
@@ -80,7 +131,7 @@ export class ConditionManager {
80
131
  }
81
132
  this.log.ifVerbose(strings.conditions.currentResult, `'${String(result)}'`);
82
133
  }
83
- return result ?? false;
134
+ return result ?? true;
84
135
  }
85
136
  compareStates(current, desired) {
86
137
  if (current === desired) {
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/model/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/model/conditions.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ export declare enum ConditionOperator {
32
32
  AND = "and",
33
33
  OR = "or"
34
34
  }
35
+ export declare enum OperandType {
36
+ ACCESSORY = "ACCESSORY",
37
+ LOG = "LOG"
38
+ }
35
39
  export declare enum OnState {
36
40
  ON = "on",
37
41
  OFF = "off"
@@ -38,6 +38,11 @@ export var ConditionOperator;
38
38
  ConditionOperator["AND"] = "and";
39
39
  ConditionOperator["OR"] = "or";
40
40
  })(ConditionOperator || (ConditionOperator = {}));
41
+ export var OperandType;
42
+ (function (OperandType) {
43
+ OperandType["ACCESSORY"] = "ACCESSORY";
44
+ OperandType["LOG"] = "LOG";
45
+ })(OperandType || (OperandType = {}));
41
46
  export var OnState;
42
47
  (function (OnState) {
43
48
  OnState["ON"] = "on";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,10 @@ export type LimiterConfig = Assertable & {
44
44
  period: TimePeriod;
45
45
  };
46
46
  export type Operand = Assertable & {
47
- accessoryId: string;
48
- accessoryState: AccessoryState;
47
+ type: string;
48
+ accessoryId?: string;
49
+ accessoryState?: AccessoryState;
50
+ pattern?: string;
49
51
  };
50
52
  export type ConditionsConfig = Assertable & {
51
53
  operator: ConditionOperator;
@@ -86,6 +88,8 @@ export type ThermostatConfig = DummyConfig & {
86
88
  temperatureUnits?: TemperatureUnits;
87
89
  defaultThermostatState?: DefaultThermostatState;
88
90
  defaultTemperature?: number;
91
+ minimumTemperature?: number;
92
+ maximumTemperature?: number;
89
93
  commandOn?: string;
90
94
  commandOff?: string;
91
95
  commandTemperature?: string;
@@ -0,0 +1,13 @@
1
+ import { Log } from '../tools/log.js';
2
+ type ListenerCallback = () => (void);
3
+ export declare class LogWatcher {
4
+ private readonly log;
5
+ private readonly storagePath;
6
+ private tailFile?;
7
+ private readonly matchers;
8
+ constructor(log: Log, storagePath: string);
9
+ private startWatching;
10
+ teardown(): void;
11
+ registerPattern(pattern: string, callback: ListenerCallback): void;
12
+ }
13
+ export {};