homebridge-dummy 1.3.0-beta.4 → 1.3.0

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.3.0-beta.3 (2025-10-05)
5
+ ## 1.3.0 (2025-10-13)
6
6
 
7
7
  ### ‼️ WARNING — Read this if upgrading from v0.9.2 or earlier…
8
8
  Automations and scenes using Homebridge Dummy accessories will need to be reconfigured. After upgrading, you must **RESTART HOMEBRIDGE SERVICE & UI** (not just *RESTART HOMEBRIDGE*). After restarting, open the Homebridge Dummy plugin settings to run the accessory migration helper. Full details [here](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v1.0-migration).
@@ -11,7 +11,7 @@ Automations and scenes using Homebridge Dummy accessories will need to be reconf
11
11
  - Time Limits ([documentation](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#limiter))
12
12
 
13
13
  ### Fixed
14
- - Commands incorrectly displaing errors after executing successfully
14
+ - More robust command execution to prevent incorrectly displaing errors on success
15
15
 
16
16
  ### Changed
17
17
  - Running timers are resumed and sensor states are restored after plugin/Homebridge restart ([#189](https://github.com/mpatfield/homebridge-dummy/issues/189)) ([#191](https://github.com/mpatfield/homebridge-dummy/issues/191))
@@ -16,6 +16,7 @@ export declare abstract class DummyAccessory<C extends DummyConfig> {
16
16
  private readonly _schedule?;
17
17
  private readonly _timer?;
18
18
  private readonly _limiter?;
19
+ private readonly execAsync;
19
20
  constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
20
21
  protected abstract getAccessoryType(): AccessoryType;
21
22
  protected abstract schedule(): Promise<void>;
@@ -29,6 +30,7 @@ export declare abstract class DummyAccessory<C extends DummyConfig> {
29
30
  protected get defaultStateStorageKey(): string;
30
31
  protected startTimer(): void;
31
32
  protected cancelTimer(): void;
32
- protected executeCommand(command: string): void;
33
+ protected executeCommand(command: string): Promise<void>;
34
+ private isExecException;
33
35
  protected logIfDesired(message: string, ...parameters: (string | number)[]): void;
34
36
  }
@@ -1,4 +1,5 @@
1
1
  import { exec } from 'child_process';
2
+ import { promisify } from 'util';
2
3
  import { PLATFORM_NAME, PLUGIN_ALIAS } from '../homebridge/settings.js';
3
4
  import { SensorAccessory } from './sensor.js';
4
5
  import { strings } from '../i18n/i18n.js';
@@ -21,6 +22,7 @@ export class DummyAccessory {
21
22
  _schedule;
22
23
  _timer;
23
24
  _limiter;
25
+ execAsync = promisify(exec);
24
26
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
25
27
  this.Service = Service;
26
28
  this.Characteristic = Characteristic;
@@ -90,15 +92,41 @@ export class DummyAccessory {
90
92
  this._timer?.cancel();
91
93
  this._limiter?.cancel();
92
94
  }
93
- executeCommand(command) {
94
- exec(command, (error, stdout, stderr) => {
95
- if (error) {
96
- this.log.error(`${strings.command.error}: %s\n%s`, this.name, command, stderr);
95
+ async executeCommand(command) {
96
+ try {
97
+ const { stdout } = await this.execAsync(command);
98
+ const output = stdout.trim();
99
+ if (output) {
100
+ this.logIfDesired(`${strings.command.executed}: %s\n%s`, command, output);
101
+ }
102
+ }
103
+ catch (err) {
104
+ if (!this.isExecException(err)) {
105
+ const message = err instanceof Error ? err.message : JSON.stringify(err);
106
+ this.log.error(`${strings.command.error}: %s`, this.name, message);
107
+ return;
108
+ }
109
+ const exitCode = err.code ?? -1;
110
+ const output = (err.stdout ?? '').trim();
111
+ const error = (err.stderr ?? '').trim();
112
+ if (exitCode === 0) {
113
+ if (output) {
114
+ this.logIfDesired(`${strings.command.executed}: %s\n%s`, command, output);
115
+ }
97
116
  }
98
117
  else {
99
- this.logIfDesired(`${strings.command.executed}: %s\n%s`, this.name, command, stdout);
118
+ this.log.error(`${strings.command.error}: %s (%s)`, this.name, command, exitCode, error ? `\n${error}` : undefined);
100
119
  }
101
- });
120
+ }
121
+ }
122
+ isExecException(err) {
123
+ return err instanceof Error &&
124
+ 'code' in err &&
125
+ typeof err.code === 'number' &&
126
+ 'stdout' in err &&
127
+ typeof err.stdout === 'string' &&
128
+ 'stderr' in err &&
129
+ typeof err.stderr === 'string';
102
130
  }
103
131
  logIfDesired(message, ...parameters) {
104
132
  if (this.config.disableLogging) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.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.3.0-beta.4"></script>
46
+ <script src="ui.js?v=1.3.0"></script>
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Dummy",
5
5
  "description": "Create Homebridge accessories to help with automation and control — scheduling, delays, sensors, commands, webhooks, and more",
6
6
  "type": "module",
7
- "version": "1.3.0-beta.4",
7
+ "version": "1.3.0",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
9
9
  "repository": {
10
10
  "type": "git",