homebridge-dummy 0.9.1-beta.1 → 0.9.1-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.
@@ -1,3 +1,5 @@
1
1
  import { API } from 'homebridge';
2
2
  declare const init: (api: API) => void;
3
3
  export default init;
4
+ export declare const SUFFIX_BRIGHTNESS = "_brightness";
5
+ export declare const SUFFIX_STATE = "_state";
@@ -1,13 +1,17 @@
1
1
  import { PLUGIN_ALIAS, PLUGIN_NAME } from './settings.js';
2
- import { STORAGE_KEY_SUFFIX_BRIGHTNESS, STORAGE_KEY_SUFFIX_STATE, storageGet, storageSet } from '../tools/storage.js';
2
+ import { strings } from '../i18n/i18n.js';
3
+ import { storageGet, storageSet } from '../tools/storage.js';
3
4
  import getVersion from '../tools/version.js';
4
5
  const init = (api) => {
5
6
  api.registerAccessory(PLUGIN_NAME, PLUGIN_ALIAS, DummySwitch);
6
7
  };
7
8
  export default init;
9
+ export const SUFFIX_BRIGHTNESS = '_brightness';
10
+ export const SUFFIX_STATE = '_state';
8
11
  class DummySwitch {
9
- api;
10
12
  log;
13
+ Service;
14
+ Characteristic;
11
15
  service;
12
16
  infoService;
13
17
  persistPath;
@@ -15,128 +19,119 @@ class DummySwitch {
15
19
  isDimmer;
16
20
  isStateful;
17
21
  isReverse;
18
- brightness;
19
22
  isRandom;
20
23
  isResettable;
24
+ brightness;
21
25
  timeout;
22
26
  timer = undefined;
23
27
  constructor(log, config, api) {
24
- this.api = api;
28
+ this.log = config.disableLogging ? undefined : log;
29
+ this.Service = api.hap.Service;
30
+ this.Characteristic = api.hap.Characteristic;
25
31
  this.persistPath = api.user.persistPath();
26
32
  this.name = config.name;
27
- this.isDimmer = config.dimmer;
28
- this.isReverse = config.reverse;
29
- this.isStateful = config.stateful;
30
- this.brightness = config.brightness;
31
- this.isRandom = config.random;
32
- this.isResettable = config.resettable;
33
+ this.isDimmer = config.dimmer ?? false;
34
+ this.isReverse = config.reverse ?? false;
35
+ this.isStateful = config.stateful ?? false;
36
+ this.isRandom = config.random ?? false;
37
+ this.isResettable = config.resettable ?? false;
33
38
  this.timeout = config.time;
34
- this.log = config.disableLogging ? undefined : log;
35
- let modelString;
39
+ this.brightness = config.brightness ?? 0;
40
+ let model;
36
41
  if (this.isDimmer) {
37
- this.service = new api.hap.Service.Lightbulb(this.name);
38
- modelString = 'Dummy Dimmer';
42
+ this.service = new this.Service.Lightbulb(this.name);
43
+ model = strings.info.dimmer;
39
44
  }
40
45
  else {
41
- this.service = new api.hap.Service.Switch(this.name);
42
- modelString = 'Dummy Switch';
46
+ this.service = new this.Service.Switch(this.name);
47
+ model = strings.info.switch;
43
48
  }
44
- this.infoService = new api.hap.Service.AccessoryInformation();
49
+ this.infoService = new this.Service.AccessoryInformation();
45
50
  this.infoService
46
- .setCharacteristic(api.hap.Characteristic.Manufacturer, 'Homebridge')
47
- .setCharacteristic(api.hap.Characteristic.Model, modelString)
48
- .setCharacteristic(api.hap.Characteristic.FirmwareRevision, getVersion())
49
- .setCharacteristic(api.hap.Characteristic.SerialNumber, 'Dummy-' + this.name.replace(/\s/g, '-'));
50
- this.service.getCharacteristic(this.api.hap.Characteristic.On)
51
- .onSet(this._setOn.bind(this));
52
- if (this.isDimmer) {
53
- this.service.getCharacteristic(this.api.hap.Characteristic.Brightness)
54
- .onGet(this._getBrightness.bind(this))
55
- .onSet(this._setBrightness.bind(this));
56
- }
51
+ .setCharacteristic(this.Characteristic.Manufacturer, strings.info.homebridge)
52
+ .setCharacteristic(this.Characteristic.Model, model)
53
+ .setCharacteristic(this.Characteristic.FirmwareRevision, getVersion())
54
+ .setCharacteristic(this.Characteristic.SerialNumber, 'Dummy-' + this.name.replace(/\s/g, '-'));
55
+ this.finishSetup();
56
+ }
57
+ getServices() {
58
+ return [this.infoService, this.service];
59
+ }
60
+ async finishSetup() {
57
61
  if (this.isReverse) {
58
- this.service.setCharacteristic(this.api.hap.Characteristic.On, true);
62
+ this.service.setCharacteristic(this.Characteristic.On, true);
59
63
  }
60
64
  if (this.isStateful) {
61
- storageGet(this.persistPath, this.storageKey(STORAGE_KEY_SUFFIX_STATE)).then((cachedState) => {
62
- if (!cachedState) {
63
- this.service.setCharacteristic(this.api.hap.Characteristic.On, false);
64
- }
65
- else {
66
- this.service.setCharacteristic(this.api.hap.Characteristic.On, true);
67
- }
68
- });
65
+ const state = await storageGet(this.persistPath, this.storageKey(SUFFIX_STATE));
66
+ if (!state) {
67
+ this.service.setCharacteristic(this.Characteristic.On, false);
68
+ }
69
+ else {
70
+ this.service.setCharacteristic(this.Characteristic.On, true);
71
+ }
69
72
  }
70
73
  if (this.isDimmer) {
71
- storageGet(this.persistPath, this.storageKey(STORAGE_KEY_SUFFIX_BRIGHTNESS)).then((cachedBrightness) => {
72
- if (!cachedBrightness) {
73
- this.service.setCharacteristic(this.api.hap.Characteristic.On, false);
74
- this.service.setCharacteristic(this.api.hap.Characteristic.Brightness, 0);
75
- }
76
- else {
77
- this.service.setCharacteristic(this.api.hap.Characteristic.On, true);
78
- this.service.setCharacteristic(this.api.hap.Characteristic.Brightness, Number(cachedBrightness));
79
- }
80
- });
74
+ const brightness = await storageGet(this.persistPath, this.storageKey(SUFFIX_BRIGHTNESS));
75
+ if (brightness) {
76
+ this.brightness = Number(brightness);
77
+ this.service.setCharacteristic(this.Characteristic.Brightness, Number(this.brightness));
78
+ }
79
+ else {
80
+ this.service.setCharacteristic(this.Characteristic.Brightness, 0);
81
+ }
82
+ this.service.getCharacteristic(this.Characteristic.Brightness)
83
+ .onGet(this._getBrightness.bind(this))
84
+ .onSet(this._setBrightness.bind(this));
81
85
  }
82
- }
83
- getServices() {
84
- return [this.infoService, this.service];
86
+ this.service.getCharacteristic(this.Characteristic.On)
87
+ .onSet(this._setOn.bind(this));
85
88
  }
86
89
  storageKey(suffix) {
87
90
  return this.name.replace(/\s/g, '_').toLowerCase() + suffix;
88
91
  }
89
92
  randomize(timeout) {
90
- if (!timeout) {
91
- return;
92
- }
93
- return Math.floor(Math.random() * (timeout + 1));
93
+ return timeout ? Math.floor(Math.random() * (timeout + 1)) : undefined;
94
94
  }
95
95
  async _getBrightness() {
96
- this.log?.('Getting ' + 'brightness: ' + this.brightness);
97
- return this.brightness || 0;
96
+ return this.brightness;
98
97
  }
99
98
  async _setBrightness(brightness) {
100
- const msg = 'Setting brightness: ' + brightness;
101
- this.log?.(msg);
99
+ this.log?.(strings.brightness.set, brightness);
102
100
  this.brightness = brightness;
103
- await storageSet(this.persistPath, this.storageKey(STORAGE_KEY_SUFFIX_BRIGHTNESS), brightness.toString());
101
+ await storageSet(this.persistPath, this.storageKey(SUFFIX_BRIGHTNESS), brightness.toString());
104
102
  }
105
103
  ;
106
104
  async _setOn(value) {
107
- const delay = this.isRandom ? this.randomize(this.timeout) : this.timeout;
108
- let msg = 'Setting switch to ' + value;
109
- if (this.isRandom && !this.isStateful) {
110
- if (value && !this.isReverse || !value && this.isReverse) {
111
- msg = msg + ' (random delay ' + delay + 'ms)';
112
- }
113
- }
114
- this.log?.(msg);
115
- if (value && !this.isReverse && !this.isStateful) {
116
- if (this.isResettable && this.timer) {
117
- clearTimeout(this.timer);
118
- this.timer = undefined;
119
- }
120
- if (delay) {
121
- this.timer = setTimeout(() => {
122
- this.service.setCharacteristic(this.api.hap.Characteristic.On, false);
123
- }, delay);
124
- }
105
+ if (this.isDimmer) {
106
+ this.log?.('%s / %s', value ? strings.switch.on : strings.switch.off, this.brightness);
125
107
  }
126
- else if (!value && this.isReverse && !this.isStateful) {
127
- if (this.isResettable && this.timer) {
128
- clearTimeout(this.timer);
129
- this.timer = undefined;
130
- }
131
- if (delay) {
132
- this.timer = setTimeout(() => {
133
- this.service.setCharacteristic(this.api.hap.Characteristic.On, true);
134
- }, delay);
135
- }
108
+ else {
109
+ this.log?.(value ? strings.switch.on : strings.switch.off);
136
110
  }
137
111
  if (this.isStateful) {
138
- storageSet(this.persistPath, this.storageKey(STORAGE_KEY_SUFFIX_STATE), value.toString());
112
+ await storageSet(this.persistPath, this.storageKey(SUFFIX_STATE), value.toString());
113
+ return;
114
+ }
115
+ if (value === this.isReverse) {
116
+ return;
117
+ }
118
+ if (this.isResettable) {
119
+ clearTimeout(this.timer);
120
+ this.timer = undefined;
121
+ }
122
+ const delay = this.isRandom ? this.randomize(this.timeout) : this.timeout;
123
+ if (!delay) {
124
+ return;
125
+ }
126
+ if (delay % 1000 === 0) {
127
+ this.log?.(strings.switch.delay_s, delay / 1000);
128
+ }
129
+ else {
130
+ this.log?.(strings.switch.delay_ms, delay);
139
131
  }
132
+ this.timer = setTimeout(() => {
133
+ this.service.setCharacteristic(this.Characteristic.On, this.isReverse);
134
+ }, delay);
140
135
  }
141
136
  ;
142
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/homebridge/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/homebridge/index.ts"],"names":[],"mappings":"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"}
package/dist/i18n/en.d.ts CHANGED
@@ -1,2 +1,20 @@
1
- declare const en: {};
1
+ declare const en: {
2
+ brightness: {
3
+ set: string;
4
+ };
5
+ config: {
6
+ support: string;
7
+ };
8
+ info: {
9
+ dimmer: string;
10
+ homebridge: string;
11
+ switch: string;
12
+ };
13
+ switch: {
14
+ delay_ms: string;
15
+ delay_s: string;
16
+ off: string;
17
+ on: string;
18
+ };
19
+ };
2
20
  export default en;
package/dist/i18n/en.js CHANGED
@@ -1,3 +1,21 @@
1
- const en = {};
1
+ const en = {
2
+ brightness: {
3
+ set: 'Brightness = %s',
4
+ },
5
+ config: {
6
+ support: 'For help and support please visit %s',
7
+ },
8
+ info: {
9
+ dimmer: 'Dummy Dimmer',
10
+ homebridge: 'Homebridge',
11
+ switch: 'Dummy Switch',
12
+ },
13
+ switch: {
14
+ delay_ms: 'Delaying %sms…',
15
+ delay_s: 'Delaying %ss…',
16
+ off: 'Off',
17
+ on: 'On',
18
+ },
19
+ };
2
20
  export default en;
3
21
  //# sourceMappingURL=en.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG,EACV,CAAC;AAEF,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;IAET,UAAU,EAAE;QACV,GAAG,EAAE,iBAAiB;KACvB;IAED,MAAM,EAAE;QACN,OAAO,EAAE,sCAAsC;KAChD;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,cAAc;KACvB;IAED,MAAM,EAAE;QACN,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,eAAe;QACxB,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;KACT;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
@@ -7,5 +7,23 @@ export type Translation = typeof en;
7
7
  export declare function getLanguage(): Language;
8
8
  export declare function setLanguage(i18nLang: string): void;
9
9
  export declare function getAllTranslations(): Translation;
10
- declare const translations: {};
10
+ declare const translations: {
11
+ brightness: {
12
+ set: string;
13
+ };
14
+ config: {
15
+ support: string;
16
+ };
17
+ info: {
18
+ dimmer: string;
19
+ homebridge: string;
20
+ switch: string;
21
+ };
22
+ switch: {
23
+ delay_ms: string;
24
+ delay_s: string;
25
+ off: string;
26
+ on: string;
27
+ };
28
+ };
11
29
  export { translations as strings };
@@ -1,2 +1,20 @@
1
- declare const REPLACE_THIS_WITH_ISO_CODE: {};
1
+ declare const REPLACE_THIS_WITH_ISO_CODE: {
2
+ brightness: {
3
+ set: string;
4
+ };
5
+ config: {
6
+ support: string;
7
+ };
8
+ info: {
9
+ dimmer: string;
10
+ homebridge: string;
11
+ switch: string;
12
+ };
13
+ switch: {
14
+ delay_ms: string;
15
+ delay_s: string;
16
+ off: string;
17
+ on: string;
18
+ };
19
+ };
2
20
  export default REPLACE_THIS_WITH_ISO_CODE;
package/dist/i18n/zz.d.ts CHANGED
@@ -1,2 +1,20 @@
1
- declare const zz: {};
1
+ declare const zz: {
2
+ brightness: {
3
+ set: string;
4
+ };
5
+ config: {
6
+ support: string;
7
+ };
8
+ info: {
9
+ dimmer: string;
10
+ homebridge: string;
11
+ switch: string;
12
+ };
13
+ switch: {
14
+ delay_ms: string;
15
+ delay_s: string;
16
+ off: string;
17
+ on: string;
18
+ };
19
+ };
2
20
  export default zz;
@@ -1,4 +1,2 @@
1
- export declare const STORAGE_KEY_SUFFIX_BRIGHTNESS = "_brightness";
2
- export declare const STORAGE_KEY_SUFFIX_STATE = "_state";
3
1
  export declare function storageGet(dir: string, key: string): Promise<string | null>;
4
2
  export declare function storageSet(dir: string, key: string, value: string): Promise<void>;
@@ -1,7 +1,5 @@
1
1
  import storage from 'node-persist';
2
2
  import { PLUGIN_NAME } from '../homebridge/settings.js';
3
- export const STORAGE_KEY_SUFFIX_BRIGHTNESS = '_brightness';
4
- export const STORAGE_KEY_SUFFIX_STATE = '_state';
5
3
  async function init(dir) {
6
4
  await storage.init({ dir: dir, forgiveParseErrors: true });
7
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,6BAA6B,GAAG,aAAa,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD,KAAK,UAAU,IAAI,CAAC,GAAW;IAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,GAAW;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,UAAU,IAAI,CAAC,GAAW;IAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,GAAW;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-dummy",
3
3
  "displayName": "Homebridge Dummy",
4
- "version": "0.9.1-beta.1",
4
+ "version": "0.9.1-beta.2",
5
5
  "author": {
6
6
  "name": "mpatfield"
7
7
  },
@@ -19,8 +19,6 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "build": "rimraf ./dist && tsc",
22
- "build:html": "mkdir ./dist/homebridge-ui/public && cp -r ./src/homebridge-ui/public/* ./dist/homebridge-ui/public/",
23
- "build:ui": "esbuild src/homebridge-ui/ui.ts --bundle --outfile=dist/homebridge-ui/public/ui.js --minify",
24
22
  "lint": "eslint . --max-warnings=0",
25
23
  "prepublishOnly": "npm run lint && npm run build"
26
24
  },
@@ -40,7 +38,6 @@
40
38
  "url": "https://github.com/sponsors/mpatfield"
41
39
  },
42
40
  "dependencies": {
43
- "@homebridge/plugin-ui-utils": "^2.0.2",
44
41
  "homebridge-lib": "^7.1.4",
45
42
  "lodash.merge": "^4.6.2",
46
43
  "node-persist": "^4.0.4"
@@ -48,10 +45,8 @@
48
45
  "devDependencies": {
49
46
  "@types/lodash.merge": "^4.6.9",
50
47
  "@types/node-persist": "^3.1.8",
51
- "esbuild": "^0.25.5",
52
48
  "eslint": "^9.27.0",
53
49
  "homebridge": "^2.0.0-beta.0",
54
- "jiti": "^2.4.2",
55
50
  "rimraf": "^6.0.1",
56
51
  "ts-node": "^10.9.2",
57
52
  "typescript-eslint": "^8.24.1"