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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to homebridge-dummy will be documented in this file.
4
4
 
5
- ## 1.4.0-beta.1 (2025-10-25)
5
+ ## 1.4.0-beta.2 (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
 
@@ -11,9 +11,10 @@ All notable changes to homebridge-dummy will be documented in this file.
11
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
12
 
13
13
  ### Added
14
- - Trigger Conditions ([docs](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#trigger-conditions)) to trigger an accessory based on the state changes of other Homebridge Dummy accessories
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
15
15
  - ⚠️ 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
- - Fade Out option for `Lightbulb` brightness to make a simple "count-down"
16
+ - `GET` requests for [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) (previously only `POST`)
17
+ - Fade Out option for `Lightbulb` brightness to emulate a simple "count-down"
17
18
 
18
19
  ### Changed
19
20
  - `defaultOn` has been deprecated in favor of `defaultState` for `Lightbulb`, `Outlet`, and `Switch`
package/README.md CHANGED
@@ -275,23 +275,7 @@ You can optionally enable webhooks on an accessory by choosing `Enable Webhooks`
275
275
 
276
276
  If at least one accessory has webhooks enabled, then Homebridge Dummy will start a webhook server on startup. The default port is `63743`, e.g. `http://localhost:63743/`. To change the port, add `webhookPort` to the top level Homebridge Dummy config (see above).
277
277
 
278
- Incoming requests must be valid JSON and include the id of the accessory, the desired command, and the value to set.
279
-
280
- For example, to turn a switch on the JSON request should look like this:
281
-
282
- ```json
283
- {
284
- "id": "17a62a7b",
285
- "command": "On",
286
- "value": true
287
- }
288
- ```
289
-
290
- Here's how you would call it from the command line.
291
-
292
- ```
293
- curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "17a62a7b", "command": "On", "value": true}
294
- ```
278
+ Incoming requests must include the `id` of the accessory, the desired `command`, and the `value` to set.
295
279
 
296
280
  The accessory `id` can be found in the plugin JSON config.
297
281
 
@@ -303,18 +287,34 @@ Here are the possible values for `command` and their respective valid `value`
303
287
  - `TargetHeatingCoolingState` - 0 (OFF), 1 (HEAT), 2 (COOL), 3 (AUTO)
304
288
  - `TargetPosition` - number from 0-100
305
289
  - `TargetTemperature` - number between 10°C and 38°C
290
+ - For `TargetTemperature` you may optionally supply a `unit` (either 'F' or 'C') to allow you to pass in Fahrenheit or Celsius units.
306
291
 
307
- For `TargetTemperature` you may optionally supply a `unit` (either 'F' or 'C') to allow you to pass in Fahrenheit or Celsius units.
292
+ #### GET Example
293
+
294
+ ```
295
+ http://localhost:63743/?id=ACCESSORY_ID&command=On&value=true
296
+ ```
297
+
298
+ ### POST Example
299
+
300
+ POST requrests must be valid JSON.
301
+
302
+ For example, to turn a switch on the JSON request should look like this:
308
303
 
309
304
  ```json
310
305
  {
311
- "id": "18a35b6c",
312
- "command": "TargetTemperature",
313
- "value": 72,
314
- "unit": "F"
306
+ "id": "ACCESSORY_ID",
307
+ "command": "On",
308
+ "value": true
315
309
  }
316
310
  ```
317
311
 
312
+ Here's how you would call it from the command line.
313
+
314
+ ```
315
+ curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "command": "On", "value": true}
316
+ ```
317
+
318
318
  ## Credits
319
319
 
320
320
  [@jotzet79](https://github.com/sponsors/jotzet79) for German translations
@@ -560,7 +560,7 @@
560
560
  "key": "accessories[].schedule.units",
561
561
  "flex": "0 0 33%",
562
562
  "condition": {
563
- "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === 'INTERVAL';"
563
+ "functionBody": "return model.accessories?.[arguments[1]]?.schedule?.interval !== undefined;"
564
564
  }
565
565
  }
566
566
  ]
@@ -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.1"></script>
46
+ <script src="ui.js?v=1.4.0-beta.2"></script>
@@ -1,9 +1,10 @@
1
1
  import escape from 'escape-html';
2
2
  import express from 'express';
3
3
  import { isValidTemperatureUnits, printableValues, TemperatureUnits, WebhookCommand } from './enums.js';
4
- import { assert } from '../tools/validation.js';
5
4
  import { strings } from '../i18n/i18n.js';
5
+ import { toPrimitive } from '../tools/primitive.js';
6
6
  import { fromCelsius, toCelsius } from '../tools/temperature.js';
7
+ import { assert } from '../tools/validation.js';
7
8
  const DEFAULT_PORT = 63743;
8
9
  const MINIMUM_TEMPERATURE = 10;
9
10
  const MAXIMUM_TEMPERATURE = 38;
@@ -54,6 +55,9 @@ export class WebhookManager {
54
55
  const exp = express();
55
56
  exp.use(express.urlencoded({ extended: true }));
56
57
  exp.use(express.json());
58
+ exp.get('/', (request, response) => {
59
+ this.requestHandler(request, response);
60
+ });
57
61
  exp.post('/', (request, response) => {
58
62
  this.requestHandler(request, response);
59
63
  });
@@ -69,33 +73,33 @@ export class WebhookManager {
69
73
  }
70
74
  ;
71
75
  requestHandler(request, response) {
72
- const body = request.body;
73
- this.log.ifVerbose(`${strings.webhook.received}\n${JSON.stringify(body)}`);
74
- if (!assert(this.log, 'Webhook', body, 'id', 'command', 'value')) {
75
- const missingValues = ['id', 'command', 'value'].filter((key) => body[key] === undefined);
76
+ const data = { ...request.query, ...request.body };
77
+ this.log.ifVerbose(`${strings.webhook.received}\n${JSON.stringify(data)}`);
78
+ if (!assert(this.log, 'Webhook', data, 'id', 'command', 'value')) {
79
+ const missingValues = ['id', 'command', 'value'].filter((key) => data[key] === undefined);
76
80
  this.onBadRequest(response, `${strings.webhook.missing} ${missingValues.join(', ')}`, false);
77
81
  return;
78
82
  }
79
- const id = body.id;
80
- const command = body.command;
81
- let value = body.value;
83
+ const id = data.id;
84
+ const command = data.command;
85
+ let value = toPrimitive(data.value);
82
86
  let validRequest;
83
87
  let requirements;
84
88
  switch (command) {
85
89
  case WebhookCommand.Brightness: {
86
90
  validRequest = this.isValueWithinRange(value, 0, 100);
87
- requirements = strings.webhook.validRange.replace('%s', `'${command}'`).replace('%s', '0').replace('%s', '100');
91
+ requirements = strings.webhook.validRange.replace('%s', command).replace('%s', '0').replace('%s', '100');
88
92
  break;
89
93
  }
90
94
  case WebhookCommand.LockTargetState: {
91
95
  validRequest = this.isValidValue(value, [this.Characteristic.LockTargetState.UNSECURED, this.Characteristic.LockTargetState.SECURED]);
92
96
  const validValues = '0 (UNSECURED), 1 (SECURED)';
93
- requirements = `${strings.webhook.validValues.replace('%s', `'${command}'`)} ${validValues}`;
97
+ requirements = `${strings.webhook.validValues.replace('%s', command)} ${validValues}`;
94
98
  break;
95
99
  }
96
100
  case WebhookCommand.On: {
97
101
  validRequest = this.isValidValue(value, [true, false]);
98
- requirements = `${strings.webhook.validValues.replace('%s', `'${command}'`)} true, false`;
102
+ requirements = `${strings.webhook.validValues.replace('%s', command)} true, false`;
99
103
  break;
100
104
  }
101
105
  case WebhookCommand.TargetHeatingCoolingState: {
@@ -106,32 +110,32 @@ export class WebhookManager {
106
110
  this.Characteristic.TargetHeatingCoolingState.AUTO,
107
111
  ]);
108
112
  const validValues = '0 (OFF), 1 (HEAT), 2 (COOL), 3 (AUTO)';
109
- requirements = `${strings.webhook.validValues.replace('%s', `'${command}'`)} ${validValues}`;
113
+ requirements = `${strings.webhook.validValues.replace('%s', command)} ${validValues}`;
110
114
  break;
111
115
  }
112
116
  case WebhookCommand.TargetPosition: {
113
117
  validRequest = this.isValueWithinRange(value, 0, 100);
114
- requirements = strings.webhook.validRange.replace('%s', `'${command}'`).replace('%s', '0').replace('%s', '100');
118
+ requirements = strings.webhook.validRange.replace('%s', command).replace('%s', '0').replace('%s', '100');
115
119
  break;
116
120
  }
117
121
  case WebhookCommand.TargetTemperature: {
118
- if (!isValidTemperatureUnits(body.units)) {
122
+ if (!isValidTemperatureUnits(data.units)) {
119
123
  validRequest = false;
120
- requirements = `${strings.webhook.badUnits.replace('%s', `'${command}'`).replace('%s', `'${body.units}'`)} ${printableValues(TemperatureUnits)}`;
124
+ requirements = `${strings.webhook.badUnits.replace('%s', command).replace('%s', `'${data.units}'`)} ${printableValues(TemperatureUnits)}`;
121
125
  break;
122
126
  }
123
- const units = body.units ?? TemperatureUnits.CELSIUS;
127
+ const units = data.units ?? TemperatureUnits.CELSIUS;
124
128
  const minTemp = fromCelsius(MINIMUM_TEMPERATURE, units);
125
129
  const maxTemp = fromCelsius(MAXIMUM_TEMPERATURE, units);
126
130
  validRequest = this.isValueWithinRange(value, minTemp, maxTemp);
127
- requirements = strings.webhook.validRange.replace('%s', `'${command}'`).replace('%s', `${minTemp}`).replace('%s', `${maxTemp}`);
131
+ requirements = strings.webhook.validRange.replace('%s', command).replace('%s', `${minTemp}`).replace('%s', `${maxTemp}`);
128
132
  if (validRequest) {
129
133
  value = toCelsius(value, units);
130
134
  }
131
135
  break;
132
136
  }
133
137
  default:
134
- this.onBadRequest(response, strings.webhook.unsupportedCommand.replace('%s', `'${command}'`));
138
+ this.onBadRequest(response, strings.webhook.unsupportedCommand.replace('%s', command));
135
139
  return;
136
140
  }
137
141
  if (!validRequest) {
@@ -140,7 +144,7 @@ export class WebhookManager {
140
144
  }
141
145
  const callbacks = this.webhooks.get(command);
142
146
  if (callbacks === undefined) {
143
- this.onBadRequest(response, strings.webhook.unregisteredCommand.replace('%s', `'${command}'`));
147
+ this.onBadRequest(response, strings.webhook.unregisteredCommand.replace('%s', command));
144
148
  return;
145
149
  }
146
150
  const callback = callbacks.get(id);
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/model/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/model/webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PrimitiveTypes } from 'homebridge';
2
+ export declare function toPrimitive(value: any): PrimitiveTypes;
3
+ export declare function toNumber(primitive: PrimitiveTypes): number;
@@ -0,0 +1,24 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export function toPrimitive(value) {
3
+ if (typeof value === 'boolean' || typeof value === 'number') {
4
+ return value;
5
+ }
6
+ if (value === 'true') {
7
+ return true;
8
+ }
9
+ if (value === 'false') {
10
+ return false;
11
+ }
12
+ const num = Number(value);
13
+ if (!isNaN(num) && value.trim() !== '') {
14
+ return num;
15
+ }
16
+ return value;
17
+ }
18
+ export function toNumber(primitive) {
19
+ if (typeof primitive === 'number') {
20
+ return primitive;
21
+ }
22
+ return Number(primitive);
23
+ }
24
+ //# sourceMappingURL=primitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive.js","sourceRoot":"","sources":["../../src/tools/primitive.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CAAC,KAAU;IAEpC,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,SAAyB;IAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "homebridge-dummy",
3
3
  "platform": "HomebridgeDummy",
4
4
  "displayName": "Homebridge Dummy",
5
- "description": "Create Homebridge accessories to help with automation and control — scheduling, delays, sensors, commands, webhooks, and more",
5
+ "description": "Create accessories to help with HomeKit automation and control — scheduling, delays, sensors, commands, conditions, webhooks, and more",
6
6
  "type": "module",
7
- "version": "1.4.0-beta.1",
7
+ "version": "1.4.0-beta.2",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
9
9
  "repository": {
10
10
  "type": "git",