hoffmation-base 2.9.16 → 2.9.18

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.
@@ -2,7 +2,12 @@ import { iIdHolder } from './iIdHolder';
2
2
  export declare abstract class ObjectSettings {
3
3
  onChangeCb?: () => void;
4
4
  persist(holder: iIdHolder): void;
5
- initializeFromDb(holder: iIdHolder): void;
5
+ /**
6
+ * Loads the settings from the database
7
+ * @param {iIdHolder} holder The holder of the settings (e.g. a device)
8
+ * @param {() => void} loadDoneCb Callback when loading is done
9
+ */
10
+ initializeFromDb(holder: iIdHolder, loadDoneCb?: () => void): void;
6
11
  fromPartialObject(_obj: Partial<ObjectSettings>): void;
7
12
  protected toJSON(): Partial<ObjectSettings>;
8
13
  }
@@ -12,7 +12,12 @@ class ObjectSettings {
12
12
  var _a;
13
13
  (_a = server_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistSettings(holder.id, JSON.stringify(this), holder.customName);
14
14
  }
15
- initializeFromDb(holder) {
15
+ /**
16
+ * Loads the settings from the database
17
+ * @param {iIdHolder} holder The holder of the settings (e.g. a device)
18
+ * @param {() => void} loadDoneCb Callback when loading is done
19
+ */
20
+ initializeFromDb(holder, loadDoneCb) {
16
21
  var _a;
17
22
  (_a = server_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.loadSettings(holder.id).then((data) => {
18
23
  if (!data) {
@@ -33,6 +38,7 @@ class ObjectSettings {
33
38
  if (JSON.stringify(this) !== data) {
34
39
  this.persist(holder);
35
40
  }
41
+ loadDoneCb === null || loadDoneCb === void 0 ? void 0 : loadDoneCb();
36
42
  });
37
43
  }
38
44
  fromPartialObject(_obj) {
@@ -19,6 +19,7 @@ export declare enum DeviceCapability {
19
19
  tv = 17,
20
20
  ledLamp = 18,
21
21
  smokeSensor = 19,
22
+ loadMetering = 20,
22
23
  bluetoothDetector = 101,
23
24
  trackableDevice = 102,
24
25
  scene = 103,
@@ -23,6 +23,7 @@ var DeviceCapability;
23
23
  DeviceCapability[DeviceCapability["tv"] = 17] = "tv";
24
24
  DeviceCapability[DeviceCapability["ledLamp"] = 18] = "ledLamp";
25
25
  DeviceCapability[DeviceCapability["smokeSensor"] = 19] = "smokeSensor";
26
+ DeviceCapability[DeviceCapability["loadMetering"] = 20] = "loadMetering";
26
27
  DeviceCapability[DeviceCapability["bluetoothDetector"] = 101] = "bluetoothDetector";
27
28
  DeviceCapability[DeviceCapability["trackableDevice"] = 102] = "trackableDevice";
28
29
  DeviceCapability[DeviceCapability["scene"] = 103] = "scene";
@@ -0,0 +1,6 @@
1
+ export interface iLoadMeter {
2
+ /**
3
+ * The current load power in Watts
4
+ */
5
+ readonly loadPower: number;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -3,7 +3,8 @@ import { ActuatorSettings, ExcessEnergyConsumerSettings } from '../../../models'
3
3
  import { ZigbeeActuator } from './BaseDevices';
4
4
  import { iExcessEnergyConsumer } from '../baseDeviceInterfaces';
5
5
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
6
- export declare class ZigbeeBlitzShp extends ZigbeeActuator implements iExcessEnergyConsumer {
6
+ import { iLoadMeter } from '../baseDeviceInterfaces/iLoadMeter';
7
+ export declare class ZigbeeBlitzShp extends ZigbeeActuator implements iExcessEnergyConsumer, iLoadMeter {
7
8
  private _steckerOn;
8
9
  get steckerOn(): boolean;
9
10
  private _current;
@@ -29,6 +29,7 @@ class ZigbeeBlitzShp extends BaseDevices_1.ZigbeeActuator {
29
29
  this._activatedByExcessEnergy = false;
30
30
  this.settings.energySettings = new models_1.ExcessEnergyConsumerSettings();
31
31
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.excessEnergyConsumer);
32
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.loadMetering);
32
33
  }
33
34
  get energySettings() {
34
35
  return this.settings.energySettings;
@@ -2,7 +2,8 @@
2
2
  import { ZigbeeActuator } from './BaseDevices';
3
3
  import { DeviceType } from '../deviceType';
4
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
- export declare class ZigbeeUbisysActuator extends ZigbeeActuator {
5
+ import { iLoadMeter } from '../baseDeviceInterfaces/iLoadMeter';
6
+ export declare class ZigbeeUbisysActuator extends ZigbeeActuator implements iLoadMeter {
6
7
  private _loadPower;
7
8
  constructor(pInfo: IoBrokerDeviceInfo, deviceType?: DeviceType);
8
9
  get isActuatorOn(): boolean;
@@ -4,10 +4,12 @@ exports.ZigbeeUbisysActuator = void 0;
4
4
  const BaseDevices_1 = require("./BaseDevices");
5
5
  const models_1 = require("../../../models");
6
6
  const deviceType_1 = require("../deviceType");
7
+ const DeviceCapability_1 = require("../DeviceCapability");
7
8
  class ZigbeeUbisysActuator extends BaseDevices_1.ZigbeeActuator {
8
9
  constructor(pInfo, deviceType = deviceType_1.DeviceType.ZigbeeUbisysActuator) {
9
10
  super(pInfo, deviceType, `${pInfo.fullID}.state`);
10
11
  this._loadPower = 0;
12
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.loadMetering);
11
13
  }
12
14
  get isActuatorOn() {
13
15
  return this.actuatorOn;