homebridge-easy-mqtt 1.4.0-beta.23 → 1.4.0-beta.25

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 (38) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/README.md +7 -1
  3. package/config.schema.json +38 -7
  4. package/dist/accessory/abstract/common.d.ts +2 -1
  5. package/dist/accessory/abstract/common.js +4 -1
  6. package/dist/accessory/abstract/common.js.map +1 -1
  7. package/dist/accessory/climate/active.js +14 -8
  8. package/dist/accessory/climate/active.js.map +1 -1
  9. package/dist/accessory/onoff/lightbulb.js +6 -1
  10. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  11. package/dist/accessory/position/position.js +11 -3
  12. package/dist/accessory/position/position.js.map +1 -1
  13. package/dist/homebridge-ui/public/index.html +1 -1
  14. package/dist/i18n/en.d.ts +30 -19
  15. package/dist/i18n/en.js +31 -20
  16. package/dist/i18n/en.js.map +1 -1
  17. package/dist/i18n/fr.d.ts +48 -35
  18. package/dist/i18n/fr.js +18 -16
  19. package/dist/i18n/fr.js.map +1 -1
  20. package/dist/i18n/i18n.d.ts +30 -19
  21. package/dist/i18n/ro.d.ts +194 -36
  22. package/dist/i18n/ro.js +164 -17
  23. package/dist/i18n/ro.js.map +1 -1
  24. package/dist/i18n/template.d.ts +32 -21
  25. package/dist/i18n/template.js +3 -3
  26. package/dist/i18n/template.js.map +1 -1
  27. package/dist/i18n/vi.d.ts +48 -35
  28. package/dist/i18n/vi.js +18 -16
  29. package/dist/i18n/vi.js.map +1 -1
  30. package/dist/model/mqtt.js +1 -1
  31. package/dist/model/mqtt.js.map +1 -1
  32. package/dist/model/types.d.ts +3 -0
  33. package/dist/tools/log.d.ts +7 -5
  34. package/dist/tools/log.js.map +1 -1
  35. package/dist/tools/validation.d.ts +2 -0
  36. package/dist/tools/validation.js +11 -0
  37. package/dist/tools/validation.js.map +1 -1
  38. package/package.json +1 -1
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.22 (2025-10-03)
5
+ ## 1.4.0-beta.25 (2025-10-07)
6
6
 
7
7
  ### Added
8
8
  - A bunch of new accessory types:
@@ -17,6 +17,7 @@ All notable changes to homebridge-dummy will be documented in this file.
17
17
  - `Window Covering`
18
18
  - Broker, username, and password can be set via environment variables ([documentation](https://github.com/mpatfield/homebridge-easy-mqtt#environment-variables))
19
19
  - Publish arbitrary MQTT messages on connect ([documentation] (https://github.com/mpatfield/homebridge-easy-mqtt#mqtt-onconnect))
20
+ - `maximumBrightness` to use values (i.e. 1, 2, 3) rather than a percentage for lightbulb brightness
20
21
  - Traduceri în limba română. Mulțumesc, [@rursache](https://github.com/sponsors/rursache)!
21
22
  - Bản dịch tiếng Việt. Cảm ơn [@khanhnd88](https://github.com/sponsors/khanhnd88)!
22
23
 
package/README.md CHANGED
@@ -43,6 +43,7 @@ This plugin is designed to be a simple replacement for the fantastic [homebridge
43
43
  - `Outlet`
44
44
  - `SecuritySystem`
45
45
  - `SmokeSensor`
46
+ - `StatelessProgrammableSwitch`
46
47
  - `Switch`
47
48
  - `TemperatureSensor`
48
49
  - `Thermostat`
@@ -149,6 +150,7 @@ These values are used for both determining current state and, where appropriate,
149
150
  ### On/Off Accessories
150
151
 
151
152
  #### Lightbulb
153
+ - `maximumBrightness` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for brightness
152
154
  - `topicGetOn*` - The current state of the outlet, i.e. on/off
153
155
  - `topicSetOn*` - For setting the state of the outlet
154
156
  - `valueOn*` - Turned on, e.g. "true", or "1", or "On"
@@ -179,6 +181,7 @@ These values are used for both determining current state and, where appropriate,
179
181
  ### Position Accessories
180
182
 
181
183
  #### WindowCovering
184
+ - `maximumPosition` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for position
182
185
  - `topicGetPositionState*` - Get position state (Decreasing, Increasing, Stopped)
183
186
  - `topicGetCurrentPosition*` - Get current position percent
184
187
  - `topicGetTargetPosition*` - Get target position percent
@@ -328,6 +331,7 @@ These values are used for both determining current state and, where appropriate,
328
331
  - `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
329
332
 
330
333
  #### AirPurifier
334
+ - `maximumRotationSpeed` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for rotation speed
331
335
  - `topicGetActive*` - Get whether or not the accessory is currently active
332
336
  - `topicSetActive*` - Set whether or not the accessory is currently active
333
337
  - `topicGetCurrentPurifierState*` - Get the current mode (i.e. inactive, idle, purifying)
@@ -356,6 +360,7 @@ These values are used for both determining current state and, where appropriate,
356
360
  - `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
357
361
 
358
362
  #### Fanv2
363
+ - `maximumRotationSpeed` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for rotation speed
359
364
  - `topicGetActive*` - Get whether or not the accessory is currently active
360
365
  - `topicSetActive*` - Set whether or not the accessory is currently active
361
366
  - `topicGetCurrentFanState` - Get current fan mode (blowing, idle, inactive)
@@ -384,6 +389,7 @@ These values are used for both determining current state and, where appropriate,
384
389
  - `valueSwingDisabled` - Accessory is not oscillating
385
390
 
386
391
  #### HeaterCooler
392
+ - `maximumRotationSpeed` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for rotation speed
387
393
  - `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
388
394
  - `topicGetActive*` - Get whether or not the accessory is currently active
389
395
  - `topicSetActive*` - Set whether or not the accessory is currently active
@@ -459,7 +465,7 @@ These values are used for both determining current state and, where appropriate,
459
465
  - `valueFault` - Accessory has a fault
460
466
  - `valueTampered` - Accessory has been tampered with
461
467
 
462
- ### StatelessProgrammableSwitch
468
+ #### StatelessProgrammableSwitch
463
469
  - `topicEventButtonPress` - Event for button press event
464
470
  - `valueSinglePress` - Single press event
465
471
  - `valueDoublePress` - Double press event
@@ -122,6 +122,18 @@
122
122
  "type": "array",
123
123
  "items": { "$ref": "#/definitions/customCharacteristic" }
124
124
  },
125
+ "maximumBrightness": {
126
+ "type": "integer",
127
+ "title": "${config.title.maximum}"
128
+ },
129
+ "maximumPosition": {
130
+ "type": "integer",
131
+ "title": "${config.title.maximum}"
132
+ },
133
+ "maximumRotationSpeed": {
134
+ "type": "integer",
135
+ "title": "${config.title.maximum}"
136
+ },
125
137
  "temperatureUnits": {
126
138
  "type": "string",
127
139
  "title": "${config.title.sourceUnits}",
@@ -1966,11 +1978,15 @@
1966
1978
  "items": [
1967
1979
  {
1968
1980
  "key": "accessories[].topicGetBrightness",
1969
- "flex": "0 0 50%"
1981
+ "flex": "0 0 40%"
1970
1982
  },
1971
1983
  {
1972
1984
  "key": "accessories[].topicSetBrightness",
1973
- "flex": "0 0 50%"
1985
+ "flex": "0 0 40%"
1986
+ },
1987
+ {
1988
+ "key": "accessories[].maximumBrightness",
1989
+ "flex": "0 0 20%"
1974
1990
  }
1975
1991
  ]
1976
1992
  },
@@ -2058,12 +2074,23 @@
2058
2074
  "flex-direction": "row",
2059
2075
  "items": [
2060
2076
  {
2061
- "key": "accessories[].topicGetCurrentPosition",
2077
+ "key": "accessories[].topicGetPositionState",
2062
2078
  "flex": "0 0 50%"
2079
+ }
2080
+ ]
2081
+ },
2082
+ {
2083
+ "type": "div",
2084
+ "displayFlex": true,
2085
+ "flex-direction": "row",
2086
+ "items": [
2087
+ {
2088
+ "key": "accessories[].topicGetCurrentPosition",
2089
+ "flex": "0 0 80%"
2063
2090
  },
2064
2091
  {
2065
- "key": "accessories[].topicGetPositionState",
2066
- "flex": "0 0 50%"
2092
+ "key": "accessories[].maximumPosition",
2093
+ "flex": "0 0 20%"
2067
2094
  }
2068
2095
  ]
2069
2096
  },
@@ -2572,11 +2599,15 @@
2572
2599
  "items": [
2573
2600
  {
2574
2601
  "key": "accessories[].topicGetRotationSpeed",
2575
- "flex": "0 0 50%"
2602
+ "flex": "0 0 40%"
2576
2603
  },
2577
2604
  {
2578
2605
  "key": "accessories[].topicSetRotationSpeed",
2579
- "flex": "0 0 50%"
2606
+ "flex": "0 0 40%"
2607
+ },
2608
+ {
2609
+ "key": "accessories[].maximumRotationSpeed",
2610
+ "flex": "0 0 20%"
2580
2611
  }
2581
2612
  ]
2582
2613
  },
@@ -3,7 +3,7 @@ import { CharacteristicKey } from '../../model/enums.js';
3
3
  import { CharacteristicType, TemperatureConfig } from '../../model/types.js';
4
4
  import { Log, LogType } from '../../tools/log.js';
5
5
  import { Properties } from '../../tools/properties.js';
6
- import { Assertable } from '../../tools/validation.js';
6
+ import { Assertable, Type } from '../../tools/validation.js';
7
7
  type OnUpdateHandler = (topic: string, value: PrimitiveTypes) => (Promise<void>);
8
8
  export type TopicHandler = {
9
9
  topic: string;
@@ -25,6 +25,7 @@ export declare abstract class Common<C extends Assertable> {
25
25
  protected abstract publish(rawTopic: string, value: PrimitiveTypes): void;
26
26
  protected get properties(): Properties;
27
27
  protected assert(...keys: (keyof C)[]): boolean;
28
+ protected assertType(expectedType: Type, ...keys: (keyof C)[]): boolean;
28
29
  protected getRawValue(property: keyof C, assert?: boolean): string | undefined;
29
30
  protected getPrimitiveValue(property: keyof C, assert?: boolean): PrimitiveTypes | undefined;
30
31
  protected addTopicHandlers(topicHandlers: TopicHandler[]): void;
@@ -2,7 +2,7 @@ import { strings } from '../../i18n/i18n.js';
2
2
  import { LogType } from '../../tools/log.js';
3
3
  import { toNumber, toPrimitive } from '../../tools/primitive.js';
4
4
  import { Properties } from '../../tools/properties.js';
5
- import { assert } from '../../tools/validation.js';
5
+ import { assert, assertType } from '../../tools/validation.js';
6
6
  import { temperatureUnits, toCelsius } from '../../tools/temperature.js';
7
7
  export class Common {
8
8
  name;
@@ -20,6 +20,9 @@ export class Common {
20
20
  assert(...keys) {
21
21
  return assert(this.log, this.name, this.config, ...keys);
22
22
  }
23
+ assertType(expectedType, ...keys) {
24
+ return assertType(this.log, this.name, expectedType, this.config, ...keys);
25
+ }
23
26
  getRawValue(property, assert = true) {
24
27
  if (!property.toString().startsWith('value')) {
25
28
  throw new Error(`Trying to fetch value with unexpected property name '${property.toString()}'`);
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,22 @@ import { CharacteristicKey } from '../../model/enums.js';
4
4
  export class ActiveClimateAccessory extends TemperatureControlAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setup(CharacteristicKey.Active, Characteristic.Active.INACTIVE, 'topicGetActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueStateActive', strings.heaterCooler.active, strings.heaterCooler.notActive), true, 'topicSetActive', this.onSetActive.bind(this));
8
- this.setup(CharacteristicKey.LockPhysicalControls, Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED, 'topicGetLockPhysicalControls', this.bindOnUpdateNumericBoolean(CharacteristicKey.LockPhysicalControls, 'valueControlLock', strings.heaterCooler.controlsLocked, strings.heaterCooler.controlsUnLocked), false, 'topicSetLockPhysicalControls', this.onSetLockControls.bind(this));
9
- this.setup(CharacteristicKey.RotationSpeed, 0, 'topicGetRotationSpeed', this.bindOnUpdateNumeric(CharacteristicKey.RotationSpeed, strings.heaterCooler.rotationUpdate), false, 'topicSetRotationSpeed', this.onSetRotationSpeed.bind(this));
10
- this.setup(CharacteristicKey.SwingMode, Characteristic.SwingMode.SWING_DISABLED, 'topicGetSwingMode', this.bindOnUpdateNumericBoolean(CharacteristicKey.SwingMode, 'valueSwingEnabled', strings.heaterCooler.swingEnabled, strings.heaterCooler.swingDisabled), false, 'topicSetSwingMode', this.onSetSwingMode.bind(this));
7
+ this.setup(CharacteristicKey.Active, Characteristic.Active.INACTIVE, 'topicGetActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueStateActive', strings.active.active, strings.active.notActive), true, 'topicSetActive', this.onSetActive.bind(this));
8
+ this.setup(CharacteristicKey.LockPhysicalControls, Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED, 'topicGetLockPhysicalControls', this.bindOnUpdateNumericBoolean(CharacteristicKey.LockPhysicalControls, 'valueControlLock', strings.active.controlsLocked, strings.active.controlsUnLocked), false, 'topicSetLockPhysicalControls', this.onSetLockControls.bind(this));
9
+ let rotationLogString = strings.active.rotationValueUpdate;
10
+ if (!config.maximumRotationSpeed || !this.assertType('number', 'maximumRotationSpeed')) {
11
+ config.maximumRotationSpeed = 100;
12
+ rotationLogString = strings.active.rotationPercentUpdate;
13
+ }
14
+ this.setup(CharacteristicKey.RotationSpeed, 0, 'topicGetRotationSpeed', this.bindOnUpdateNumeric(CharacteristicKey.RotationSpeed, rotationLogString), false, 'topicSetRotationSpeed', this.onSetRotationSpeed.bind(this))?.setProps({ maxValue: config.maximumRotationSpeed });
15
+ this.setup(CharacteristicKey.SwingMode, Characteristic.SwingMode.SWING_DISABLED, 'topicGetSwingMode', this.bindOnUpdateNumericBoolean(CharacteristicKey.SwingMode, 'valueSwingEnabled', strings.active.swingEnabled, strings.active.swingDisabled), false, 'topicSetSwingMode', this.onSetSwingMode.bind(this));
11
16
  }
12
17
  async onSetActive(value) {
13
18
  if (!this.assert('valueStateActive', 'valueStateInactive')) {
14
19
  return;
15
20
  }
16
21
  const active = value === this.Characteristic.Active.ACTIVE;
17
- const logString = active ? strings.heaterCooler.activeSet : strings.heaterCooler.inactiveSet;
22
+ const logString = active ? strings.active.activeSet : strings.active.inactiveSet;
18
23
  const publish = active ? this.config.valueStateActive : this.config.valueStateInactive;
19
24
  this.onSet(CharacteristicKey.Active, value, publish, 'topicSetActive', logString);
20
25
  }
@@ -23,12 +28,13 @@ export class ActiveClimateAccessory extends TemperatureControlAccessory {
23
28
  return;
24
29
  }
25
30
  const lock = value === this.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED;
26
- const logString = lock ? strings.heaterCooler.controlsLockFuture : strings.heaterCooler.controlsUnlockFuture;
31
+ const logString = lock ? strings.active.controlsLockFuture : strings.active.controlsUnlockFuture;
27
32
  const publish = lock ? this.config.valueControlLock : this.config.valueControlUnlock;
28
33
  this.onSet(CharacteristicKey.LockPhysicalControls, value, publish, 'topicSetLockPhysicalControls', logString);
29
34
  }
30
35
  async onSetRotationSpeed(value) {
31
- const logString = strings.heaterCooler.rotationSet.replace('%d', value.toString());
36
+ const isPercent = this.config.maximumRotationSpeed === undefined || this.config.maximumRotationSpeed === 100;
37
+ const logString = (isPercent ? strings.active.rotationPercentSet : strings.active.rotationValueSet).replace('%d', value.toString());
32
38
  this.onSet(CharacteristicKey.RotationSpeed, value, value, 'topicSetRotationSpeed', logString);
33
39
  }
34
40
  async onSetSwingMode(value) {
@@ -36,7 +42,7 @@ export class ActiveClimateAccessory extends TemperatureControlAccessory {
36
42
  return;
37
43
  }
38
44
  const swing = value === this.Characteristic.SwingMode.SWING_ENABLED;
39
- const logString = swing ? strings.heaterCooler.swingEnabledFuture : strings.heaterCooler.swingDisabledFuture;
45
+ const logString = swing ? strings.active.swingEnabledFuture : strings.active.swingDisabledFuture;
40
46
  const publish = swing ? this.config.valueSwingEnabled : this.config.valueSwingDisabled;
41
47
  this.onSet(CharacteristicKey.SwingMode, value, publish, 'topicSetSwingMode', logString);
42
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"active.js","sourceRoot":"","sources":["../../../src/accessory/climate/active.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"active.js","sourceRoot":"","sources":["../../../src/accessory/climate/active.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,12 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class LightbulbAccessory extends OnOffAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setup(CharacteristicKey.Brightness, 100, 'topicGetBrightness', this.bindOnUpdateNumeric(CharacteristicKey.Brightness, strings.lightbulb.brightness), false, 'topicSetBrightness', this.onSetValue(CharacteristicKey.Brightness, 'topicSetBrightness', strings.lightbulb.brightnessFuture));
7
+ if (!config.maximumBrightness || !this.assertType('number', 'maximumBrightness')) {
8
+ config.maximumBrightness = 100;
9
+ }
10
+ const getLogString = config.maximumBrightness < 100 ? strings.lightbulb.brightnessValue : strings.lightbulb.brightnessPercent;
11
+ const setLogString = config.maximumBrightness < 100 ? strings.lightbulb.brightnessValueFuture : strings.lightbulb.brightnessPercentFuture;
12
+ this.setup(CharacteristicKey.Brightness, 100, 'topicGetBrightness', this.bindOnUpdateNumeric(CharacteristicKey.Brightness, getLogString), false, 'topicSetBrightness', this.onSetValue(CharacteristicKey.Brightness, 'topicSetBrightness', setLogString))?.setProps({ maxValue: config.maximumBrightness });
8
13
  this.setup(CharacteristicKey.ColorTemperature, 500, 'topicGetColorTemperature', this.bindOnUpdateNumeric(CharacteristicKey.ColorTemperature, strings.lightbulb.colorTemperature), false, 'topicSetColorTemperature', this.onSetValue(CharacteristicKey.ColorTemperature, 'topicSetColorTemperature', strings.lightbulb.colorTemperatureFuture));
9
14
  this.setup(CharacteristicKey.Hue, 0, 'topicGetHue', this.bindOnUpdateNumeric(CharacteristicKey.Hue, strings.lightbulb.hue), false, 'topicSetHue', this.onSetValue(CharacteristicKey.Hue, 'topicSetHue', strings.lightbulb.hueFuture));
10
15
  this.setup(CharacteristicKey.Saturation, 100, 'topicGetSaturation', this.bindOnUpdateNumeric(CharacteristicKey.Saturation, strings.lightbulb.saturation), false, 'topicSetSaturation', this.onSetValue(CharacteristicKey.Saturation, 'topicSetSaturation', strings.lightbulb.saturationFuture));
@@ -1 +1 @@
1
- {"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,kBAAmB,SAAQ,cAA+B;IAErE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAuB,EAAE,GAAQ,EAAE,SAAkB;QACvJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAC1C,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EACjH,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAC9H,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,EAChD,0BAA0B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,EACnI,0BAA0B,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CACtJ,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EACjC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAC5F,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAClG,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAC1C,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EACjH,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAC9H,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEO,UAAU,CAAC,GAAsB,EAAE,KAA4B,EAAE,WAAmB;QAC1F,OAAO,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAe,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,15 @@ export class PositionAccessory extends BaseAccessory {
6
6
  STATE_MAP;
7
7
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
8
8
  super(Service, Characteristic, accessory, config, log, isGrouped);
9
- this.setup(CharacteristicKey.CurrentPosition, 0, 'topicGetCurrentPosition', this.bindOnUpdateNumeric(CharacteristicKey.CurrentPosition, strings.position.current), true);
10
- this.setup(CharacteristicKey.TargetPosition, 0, 'topicGetTargetPosition', this.bindOnUpdateNumeric(CharacteristicKey.TargetPosition, strings.position.target), true, 'topicSetTargetPosition', this.onSetTargetPosition.bind(this));
9
+ let currentLogString = strings.position.currentValue;
10
+ let targetLogString = strings.position.targetValue;
11
+ if (!config.maximumPosition || !this.assertType('number', 'maximumPosition')) {
12
+ config.maximumPosition = 100;
13
+ currentLogString = strings.position.currentPercent;
14
+ targetLogString = strings.position.targetPercent;
15
+ }
16
+ this.setup(CharacteristicKey.CurrentPosition, 0, 'topicGetCurrentPosition', this.bindOnUpdateNumeric(CharacteristicKey.CurrentPosition, currentLogString), true)?.setProps({ maxValue: config.maximumPosition });
17
+ this.setup(CharacteristicKey.TargetPosition, 0, 'topicGetTargetPosition', this.bindOnUpdateNumeric(CharacteristicKey.TargetPosition, targetLogString), true, 'topicSetTargetPosition', this.onSetTargetPosition.bind(this))?.setProps({ maxValue: config.maximumPosition });
11
18
  this.STATE_MAP = new Map([
12
19
  ['valuePositionDecreasing', Characteristic.PositionState.DECREASING],
13
20
  ['valuePositionIncreasing', Characteristic.PositionState.INCREASING],
@@ -23,7 +30,8 @@ export class PositionAccessory extends BaseAccessory {
23
30
  this.setup(CharacteristicKey.ObstructionDetected, false, 'topicGetObstructionDetected', this.onObstructionUpdate.bind(this), false);
24
31
  }
25
32
  async onSetTargetPosition(value) {
26
- const logString = strings.position.targetSet.replace('%d', value.toString());
33
+ const isPercent = this.config.maximumPosition === undefined || this.config.maximumPosition === 100;
34
+ const logString = (isPercent ? strings.position.targetPercentSet : strings.position.targetValueSet).replace('%d', value.toString());
27
35
  this.onSet(CharacteristicKey.TargetPosition, value, value, 'topicSetTargetPosition', logString);
28
36
  }
29
37
  async onSetHoldPosition(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,4 @@
24
24
 
25
25
  <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="required"></footer>
26
26
 
27
- <script src="ui.js?v=1.4.0-beta.23"></script>
27
+ <script src="ui.js?v=1.4.0-beta.25"></script>
package/dist/i18n/en.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  declare const en: {
2
2
  accessory: {
3
+ badType: string;
3
4
  batteryLevel: string;
4
5
  batteryLow: string;
5
6
  batteryNotLow: string;
@@ -7,6 +8,24 @@ declare const en: {
7
8
  statusActive: string;
8
9
  statusInactive: string;
9
10
  };
11
+ active: {
12
+ active: string;
13
+ activeSet: string;
14
+ controlsLocked: string;
15
+ controlsLockFuture: string;
16
+ controlsUnLocked: string;
17
+ controlsUnlockFuture: string;
18
+ inactiveSet: string;
19
+ notActive: string;
20
+ rotationPercentUpdate: string;
21
+ rotationPercentSet: string;
22
+ rotationValueUpdate: string;
23
+ rotationValueSet: string;
24
+ swingEnabled: string;
25
+ swingEnabledFuture: string;
26
+ swingDisabled: string;
27
+ swingDisabledFuture: string;
28
+ };
10
29
  button: {
11
30
  doublePress: string;
12
31
  longPress: string;
@@ -77,6 +96,7 @@ declare const en: {
77
96
  broker: string;
78
97
  disableLogging: string;
79
98
  group: string;
99
+ maximum: string;
80
100
  name: string;
81
101
  options: string;
82
102
  password: string;
@@ -310,22 +330,8 @@ declare const en: {
310
330
  unobstructed: string;
311
331
  };
312
332
  heaterCooler: {
313
- active: string;
314
- activeSet: string;
315
333
  badValue: string;
316
- controlsLocked: string;
317
- controlsLockFuture: string;
318
- controlsUnLocked: string;
319
- controlsUnlockFuture: string;
320
- inactiveSet: string;
321
334
  noStateValues: string;
322
- notActive: string;
323
- rotationUpdate: string;
324
- rotationSet: string;
325
- swingDisabled: string;
326
- swingDisabledFuture: string;
327
- swingEnabled: string;
328
- swingEnabledFuture: string;
329
335
  stateAuto: string;
330
336
  stateCool: string;
331
337
  stateCooling: string;
@@ -337,8 +343,10 @@ declare const en: {
337
343
  unknownValue: string;
338
344
  };
339
345
  lightbulb: {
340
- brightness: string;
341
- brightnessFuture: string;
346
+ brightnessPercent: string;
347
+ brightnessPercentFuture: string;
348
+ brightnessValue: string;
349
+ brightnessValueFuture: string;
342
350
  colorTemperature: string;
343
351
  colorTemperatureFuture: string;
344
352
  hue: string;
@@ -392,7 +400,8 @@ declare const en: {
392
400
  targetVertical: string;
393
401
  targetVerticalSet: string;
394
402
  };
395
- current: string;
403
+ currentPercent: string;
404
+ currentValue: string;
396
405
  hold: string;
397
406
  noPositionValues: string;
398
407
  obstructed: string;
@@ -401,8 +410,10 @@ declare const en: {
401
410
  stateIncreasing: string;
402
411
  stateStopped: string;
403
412
  stateUnknown: string;
404
- target: string;
405
- targetSet: string;
413
+ targetPercent: string;
414
+ targetPercentSet: string;
415
+ targetValue: string;
416
+ targetValueSet: string;
406
417
  unknownValue: string;
407
418
  unobstructed: string;
408
419
  };
package/dist/i18n/en.js CHANGED
@@ -1,5 +1,6 @@
1
1
  const en = {
2
2
  accessory: {
3
+ badType: '%s config variable %s should have type %s but was %s', // accessory name, variable name, type, type
3
4
  batteryLevel: '%s battery is at %d%', // accessory name, number
4
5
  batteryLow: '%s battery is low', // accessory name
5
6
  batteryNotLow: '%s battery is okay', // accessory name
@@ -7,6 +8,24 @@ const en = {
7
8
  statusActive: '%s is now available', // accessory name
8
9
  statusInactive: '%s is unavailable', // accessory name
9
10
  },
11
+ active: {
12
+ active: '%s is active', // accessory name
13
+ activeSet: 'Setting %s to active…', // accessory name
14
+ controlsLocked: '%s controls are locked', // accessory name
15
+ controlsLockFuture: 'Setting %s controls to locked…', // accessory name
16
+ controlsUnLocked: '%s controls are unlocked', // accessory name
17
+ controlsUnlockFuture: 'Setting %s controls to unlocked…', // accessory name
18
+ inactiveSet: 'Setting %s to inactive…', // accessory name
19
+ notActive: '%s is not active', // accessory name
20
+ rotationPercentUpdate: '%s rotation is %d%', // accessory name, number
21
+ rotationPercentSet: 'Setting %s rotation speed to %d%…', // accessory name, number
22
+ rotationValueUpdate: '%s rotation speed set to %d', // accessory name, number
23
+ rotationValueSet: 'Setting %s rotation speed to %d…', // accessory name, number
24
+ swingEnabled: '%s swing is enabled', // accessory name
25
+ swingEnabledFuture: 'Setting %s swing to enabled…', // accessory name
26
+ swingDisabled: '%s swing is disabled', // accessory name
27
+ swingDisabledFuture: 'Setting %s swing to disabled…', // accessory name
28
+ },
10
29
  button: {
11
30
  doublePress: '%s was double pressed', // accessory name
12
31
  longPress: '%s was long pressed', // accessory name
@@ -77,6 +96,7 @@ const en = {
77
96
  broker: 'Broker',
78
97
  disableLogging: 'Disable Logging',
79
98
  group: 'Group',
99
+ maximum: 'Maximum',
80
100
  name: 'Name',
81
101
  options: 'Options',
82
102
  password: 'Password',
@@ -310,22 +330,8 @@ const en = {
310
330
  unobstructed: '%s is unobstructed', // accessory name
311
331
  },
312
332
  heaterCooler: {
313
- active: '%s is active', // accessory name
314
- activeSet: 'Setting %s to active…', // accessory name
315
333
  badValue: '%s missing value for heater/cooler state %s', // accessory name, value
316
- controlsLocked: '%s controls are locked', // accessory name
317
- controlsLockFuture: 'Setting %s controls to locked…', // accessory name
318
- controlsUnLocked: '%s controls are unlocked', // accessory name
319
- controlsUnlockFuture: 'Setting %s controls to unlocked…', // accessory name
320
- inactiveSet: 'Setting %s to inactive…', // accessory name
321
334
  noStateValues: '%s must have at least one state value defined (Inactive, Idle, Heating, Cooling)', // accessory name
322
- notActive: '%s is not active', // accessory name
323
- rotationUpdate: '%s rotation is %d%', // accessory name, number
324
- rotationSet: 'Setting %s rotation speed to %d%…', // accessory name, number
325
- swingDisabled: '%s swing is disabled', // accessory name
326
- swingDisabledFuture: 'Setting %s swing to disabled…', // accessory name
327
- swingEnabled: '%s swing is enabled', // accessory name
328
- swingEnabledFuture: 'Setting %s swing to enabled…', // accessory name
329
335
  stateAuto: 'Setting %s to auto…', // accessory name
330
336
  stateCool: 'Setting %s to cool…', // accessory name
331
337
  stateCooling: '%s is cooling', // accessory name
@@ -337,8 +343,10 @@ const en = {
337
343
  unknownValue: '%s unable to determine heater/cooler state from value %s. Ignoring…', // accessory name, value
338
344
  },
339
345
  lightbulb: {
340
- brightness: '%s brightness is %d%', // accessory name, number
341
- brightnessFuture: 'Setting %s brightness to %d%…', // accessory name, number
346
+ brightnessPercent: '%s brightness is %d%', // accessory name, number
347
+ brightnessPercentFuture: 'Setting %s brightness to %d%…', // accessory name, number
348
+ brightnessValue: '%s brightness is %d', // accessory name, number
349
+ brightnessValueFuture: 'Setting %s brightness to %d…', // accessory name, number
342
350
  colorTemperature: '%s color temperature is %dM', // accessory name, number
343
351
  colorTemperatureFuture: 'Setting %s color temperature to %dM…', // accessory name, number
344
352
  hue: '%s hue is %d°', // accessory name, number
@@ -356,7 +364,7 @@ const en = {
356
364
  stateUnknown: '%s state is unknown', // accessory name
357
365
  },
358
366
  mqttClient: {
359
- badOptions: 'Additional options for %s must be valid json', // accessory name
367
+ badOptions: 'Additional MQTT options for %s must be valid json', // accessory name
360
368
  badMessages: 'onConnect messages must be an array of topic/message objects',
361
369
  connected: 'Connected to %s and listening for updates…', // host
362
370
  connectionClosed: 'Closed connection to %s', // host
@@ -392,7 +400,8 @@ const en = {
392
400
  targetVertical: '%s target vertical angle is %d°', // accessory name, number
393
401
  targetVerticalSet: 'Setting %s target vertical angle to %d°…', // accessory name, number
394
402
  },
395
- current: '%s current position is %d%', // accessory name, number
403
+ currentPercent: '%s current position is %d%', // accessory name, number
404
+ currentValue: '%s current position is %d', // accessory name, number
396
405
  hold: 'Setting %s position to hold…', // accessory name
397
406
  noPositionValues: '%s must have at least one position value defined (Decreasing, Increasing, Stopped)', // accessory name
398
407
  obstructed: '%s is obstructed', // accessory name
@@ -401,8 +410,10 @@ const en = {
401
410
  stateIncreasing: '%s position is increasing', // accessory name
402
411
  stateStopped: '%s position is stopped', // accessory name
403
412
  stateUnknown: '%s position state is unknown', // accessory name
404
- target: '%s target position is %d%', // accessory name, number
405
- targetSet: 'Setting %s target position to %d%…', // accessory name, number
413
+ targetPercent: '%s target position is %d%', // accessory name, number
414
+ targetPercentSet: 'Setting %s target position to %d%…', // accessory name, number
415
+ targetValue: '%s target position is %d', // accessory name, number
416
+ targetValueSet: 'Setting %s target position to %d…', // accessory name, number
406
417
  unknownValue: '%s unable to determine position state from value %s. Ignoring…', // accessory name, value
407
418
  unobstructed: '%s is unobstructed', // accessory name
408
419
  },