hoffmation-base 0.1.37-2 → 0.1.38-1

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 (51) hide show
  1. package/lib/index.js +5 -1
  2. package/lib/models/excessEnergyConsumerSettings.d.ts +9 -0
  3. package/lib/models/excessEnergyConsumerSettings.js +15 -0
  4. package/lib/models/index.d.ts +1 -0
  5. package/lib/models/index.js +6 -1
  6. package/lib/models/persistence/index.js +5 -1
  7. package/lib/models/rooms/RoomSettings/index.js +5 -1
  8. package/lib/models/rooms/index.js +5 -1
  9. package/lib/server/config/index.js +5 -1
  10. package/lib/server/devices/deviceType.d.ts +1 -0
  11. package/lib/server/devices/deviceType.js +1 -0
  12. package/lib/server/devices/devices.d.ts +4 -0
  13. package/lib/server/devices/devices.js +13 -0
  14. package/lib/server/devices/groups/index.js +5 -1
  15. package/lib/server/devices/groups/praesenzGroup.d.ts +6 -0
  16. package/lib/server/devices/groups/praesenzGroup.js +14 -5
  17. package/lib/server/devices/hmIPDevices/index.js +5 -1
  18. package/lib/server/devices/iEnergyManager.d.ts +10 -0
  19. package/lib/server/devices/iEnergyManager.js +2 -0
  20. package/lib/server/devices/iExcessEnergyConsumer.d.ts +6 -0
  21. package/lib/server/devices/iExcessEnergyConsumer.js +2 -0
  22. package/lib/server/devices/index.d.ts +4 -1
  23. package/lib/server/devices/index.js +9 -2
  24. package/lib/server/devices/jsObject/index.d.ts +1 -0
  25. package/lib/server/devices/jsObject/index.js +17 -0
  26. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +17 -0
  27. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +40 -0
  28. package/lib/server/devices/models/index.js +5 -1
  29. package/lib/server/devices/zigbee/ZigbeeActuator.js +2 -2
  30. package/lib/server/devices/zigbee/index.js +5 -1
  31. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +6 -2
  32. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +5 -0
  33. package/lib/server/index.js +5 -1
  34. package/lib/server/ioBroker/index.js +5 -1
  35. package/lib/server/services/Sonos/index.js +5 -1
  36. package/lib/server/services/Sonos/mp3-server.js +5 -1
  37. package/lib/server/services/Sonos/polly-service.js +5 -1
  38. package/lib/server/services/Telegram/index.js +5 -1
  39. package/lib/server/services/Translation/index.js +5 -1
  40. package/lib/server/services/api/index.js +5 -1
  41. package/lib/server/services/calendar/index.js +5 -1
  42. package/lib/server/services/dbo/index.js +5 -1
  43. package/lib/server/services/https-service.js +5 -1
  44. package/lib/server/services/index.js +5 -1
  45. package/lib/server/services/log-service/index.js +5 -1
  46. package/lib/server/services/news-service.js +11 -2
  47. package/lib/server/services/room-service/index.js +5 -1
  48. package/lib/server/services/utils/index.js +5 -1
  49. package/lib/server/services/weather/index.js +5 -1
  50. package/lib/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +19 -19
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -0,0 +1,9 @@
1
+ export declare class ExcessEnergyConsumerSettings {
2
+ /**
3
+ * Priority in comparision to other ExcessEnergyConsumer Devices
4
+ * (-1 = off, 1= lowest, 99 = highest, 100 = Always on)
5
+ * Devices with same prio try to share as good as possible.
6
+ */
7
+ priority: number;
8
+ rampUpOnSpareEnergy: boolean;
9
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExcessEnergyConsumerSettings = void 0;
4
+ class ExcessEnergyConsumerSettings {
5
+ constructor() {
6
+ /**
7
+ * Priority in comparision to other ExcessEnergyConsumer Devices
8
+ * (-1 = off, 1= lowest, 99 = highest, 100 = Always on)
9
+ * Devices with same prio try to share as good as possible.
10
+ */
11
+ this.priority = -1;
12
+ this.rampUpOnSpareEnergy = false;
13
+ }
14
+ }
15
+ exports.ExcessEnergyConsumerSettings = ExcessEnergyConsumerSettings;
@@ -5,6 +5,7 @@ export * from './connectionCallbacks';
5
5
  export * from './daytime';
6
6
  export * from './deviceConfig';
7
7
  export * from './dimmerSettings';
8
+ export * from './excessEnergyConsumerSettings';
8
9
  export * from './iTemperaturDataPoint';
9
10
  export * from './ledSettings';
10
11
  export * from './logLevel';
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -17,6 +21,7 @@ __exportStar(require("./connectionCallbacks"), exports);
17
21
  __exportStar(require("./daytime"), exports);
18
22
  __exportStar(require("./deviceConfig"), exports);
19
23
  __exportStar(require("./dimmerSettings"), exports);
24
+ __exportStar(require("./excessEnergyConsumerSettings"), exports);
20
25
  __exportStar(require("./iTemperaturDataPoint"), exports);
21
26
  __exportStar(require("./ledSettings"), exports);
22
27
  __exportStar(require("./logLevel"), exports);
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -29,5 +29,6 @@ export declare enum DeviceType {
29
29
  ZigbeeAqaraMagnetContact = 215,
30
30
  ZigbeeSonoffTemp = 216,
31
31
  ZigbeeAqaraOpple3Switch = 217,
32
+ JsEnergyManager = 301,
32
33
  Wled = 1001
33
34
  }
@@ -33,5 +33,6 @@ var DeviceType;
33
33
  DeviceType[DeviceType["ZigbeeAqaraMagnetContact"] = 215] = "ZigbeeAqaraMagnetContact";
34
34
  DeviceType[DeviceType["ZigbeeSonoffTemp"] = 216] = "ZigbeeSonoffTemp";
35
35
  DeviceType[DeviceType["ZigbeeAqaraOpple3Switch"] = 217] = "ZigbeeAqaraOpple3Switch";
36
+ DeviceType[DeviceType["JsEnergyManager"] = 301] = "JsEnergyManager";
36
37
  DeviceType[DeviceType["Wled"] = 1001] = "Wled";
37
38
  })(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
@@ -1,12 +1,15 @@
1
1
  import { deviceConfig } from '../../models/deviceConfig';
2
2
  import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
3
3
  import { iRoomImportEnforcer } from '../../models/rooms/iRoomImportEnforcer';
4
+ import { iEnergyManager } from './iEnergyManager';
4
5
  export declare class Devices {
5
6
  static IDENTIFIER_HOMEMATIC: string;
7
+ static IDENTIFIER_JSEnergyManager: string;
6
8
  static IDENTIFIER_ZIGBEE: string;
7
9
  static alLDevices: {
8
10
  [id: string]: IoBrokerBaseDevice;
9
11
  };
12
+ static energymanager?: iEnergyManager;
10
13
  constructor(pDeviceData: {
11
14
  [id: string]: deviceConfig;
12
15
  }, pRoomImportEnforcer?: iRoomImportEnforcer);
@@ -15,4 +18,5 @@ export declare class Devices {
15
18
  private processZigbeeDevice;
16
19
  private processHMIPDevice;
17
20
  static getBatteryInfo(): string;
21
+ private createEnergyManager;
18
22
  }
@@ -35,6 +35,7 @@ const hmIpAccessPoint_1 = require("./hmIPDevices/hmIpAccessPoint");
35
35
  const zigbeeAqaraMagnetContact_1 = require("./zigbee/zigbeeAqaraMagnetContact");
36
36
  const zigbeeSonoffTemp_1 = require("./zigbee/zigbeeSonoffTemp");
37
37
  const zigbeeAqaraOpple3Switch_1 = require("./zigbee/zigbeeAqaraOpple3Switch");
38
+ const jsObjectEnergyManager_1 = require("./jsObject/jsObjectEnergyManager");
38
39
  class Devices {
39
40
  constructor(pDeviceData, pRoomImportEnforcer) {
40
41
  // This forces import of rooms at correct timing, to allow devices to land in proper rooms.
@@ -56,6 +57,9 @@ class Devices {
56
57
  else if (cName.indexOf('00-Zigbee') === 0) {
57
58
  this.processZigbeeDevice(cDevConf);
58
59
  }
60
+ else if (cName.indexOf('00-EnergyManager') === 0) {
61
+ this.createEnergyManager(cDevConf);
62
+ }
59
63
  }
60
64
  hmIpDevice_1.HmIPDevice.checkMissing();
61
65
  zigbeeDevice_1.ZigbeeDevice.checkMissing();
@@ -218,8 +222,17 @@ class Devices {
218
222
  }
219
223
  return result.join('\n');
220
224
  }
225
+ createEnergyManager(cDevConf) {
226
+ const devInfo = new DeviceInfo_1.DeviceInfo(cDevConf);
227
+ const fullName = `${Devices.IDENTIFIER_JSEnergyManager}-${devInfo.devID}`;
228
+ devInfo.allDevicesKey = fullName;
229
+ Devices.energymanager = new jsObjectEnergyManager_1.JsObjectEnergyManager(devInfo);
230
+ Devices.alLDevices[fullName] = Devices.energymanager;
231
+ }
221
232
  }
222
233
  exports.Devices = Devices;
223
234
  Devices.IDENTIFIER_HOMEMATIC = 'hm-rpc';
235
+ Devices.IDENTIFIER_JSEnergyManager = 'jsEnergyManager';
224
236
  Devices.IDENTIFIER_ZIGBEE = 'zigbee';
225
237
  Devices.alLDevices = {};
238
+ Devices.energymanager = undefined;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -4,6 +4,7 @@ import { BaseGroup } from './base-group';
4
4
  import { ZigbeeMotionSensor } from '../zigbee/zigbeeMotionSensor';
5
5
  export declare class PraesenzGroup extends BaseGroup {
6
6
  private _lastMovement;
7
+ private _lastLeftTimeout;
7
8
  getMotionDetector(): Array<HmIpBewegung | ZigbeeMotionSensor>;
8
9
  getPresenceSensors(): HmIpPraezenz[];
9
10
  constructor(roomName: string, presenceDetectorIds: string[], motionSensorIds: string[]);
@@ -11,6 +12,11 @@ export declare class PraesenzGroup extends BaseGroup {
11
12
  presentAmount(): number;
12
13
  anyPresent(): boolean;
13
14
  lastLeftCB(val: boolean, cb: () => void): void;
15
+ /**
16
+ * In case of an existing delayed last left callback timeout, this removes it.
17
+ * @private
18
+ */
19
+ private resetLastLeftTimeout;
14
20
  addLastLeftCallback(cb: () => void): void;
15
21
  private firstEnterCallback;
16
22
  addFirstEnterCallback(cb: () => void): void;
@@ -14,6 +14,7 @@ class PraesenzGroup extends base_group_1.BaseGroup {
14
14
  constructor(roomName, presenceDetectorIds, motionSensorIds) {
15
15
  super(roomName, group_type_1.GroupType.Presence);
16
16
  this._lastMovement = new Date(0);
17
+ this._lastLeftTimeout = null;
17
18
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.PresenceDetection, new device_list_1.DeviceList(presenceDetectorIds));
18
19
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.MotionDetection, new device_list_1.DeviceList(motionSensorIds));
19
20
  }
@@ -94,10 +95,8 @@ class PraesenzGroup extends base_group_1.BaseGroup {
94
95
  return false;
95
96
  }
96
97
  lastLeftCB(val, cb) {
97
- if (val) {
98
- return;
99
- }
100
- if (this.anyPresent()) {
98
+ if (val || this.anyPresent()) {
99
+ this.resetLastLeftTimeout();
101
100
  return;
102
101
  }
103
102
  let timeAfterReset = utils_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
@@ -107,7 +106,8 @@ class PraesenzGroup extends base_group_1.BaseGroup {
107
106
  return;
108
107
  }
109
108
  this.log(logLevel_1.LogLevel.Debug, `Movement reset in ${this.roomName} delayed.`);
110
- utils_1.Utils.guardedTimeout(() => {
109
+ this.resetLastLeftTimeout();
110
+ this._lastLeftTimeout = utils_1.Utils.guardedTimeout(() => {
111
111
  timeAfterReset =
112
112
  utils_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
113
113
  this.log(logLevel_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
@@ -116,6 +116,15 @@ class PraesenzGroup extends base_group_1.BaseGroup {
116
116
  }
117
117
  }, Math.abs(timeAfterReset) + 500, this);
118
118
  }
119
+ /**
120
+ * In case of an existing delayed last left callback timeout, this removes it.
121
+ * @private
122
+ */
123
+ resetLastLeftTimeout() {
124
+ if (this._lastLeftTimeout !== null) {
125
+ clearTimeout(this._lastLeftTimeout);
126
+ }
127
+ }
119
128
  addLastLeftCallback(cb) {
120
129
  this.getPresenceSensors().forEach((p) => {
121
130
  p.addPresenceCallback((val) => {
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -0,0 +1,10 @@
1
+ import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
2
+ import { iExcessEnergyConsumer } from './iExcessEnergyConsumer';
3
+ export interface iEnergyManager extends IoBrokerBaseDevice {
4
+ baseConsumption: number;
5
+ currentProduction: number;
6
+ excessEnergy: number;
7
+ excessEnergyConsumerConsumption: number;
8
+ addExcessConsumer(device: iExcessEnergyConsumer): void;
9
+ recalculatePowerSharing(): void;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
2
+ import { ExcessEnergyConsumerSettings } from '../../models/excessEnergyConsumerSettings';
3
+ export interface iExcessEnergyConsumer extends IoBrokerBaseDevice {
4
+ energyConsumerSettings: ExcessEnergyConsumerSettings;
5
+ currentConsumption: number;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
1
  export * from './groups/index';
2
2
  export * from './hmIPDevices/index';
3
+ export * from './jsObject/index';
3
4
  export * from './models/index';
4
5
  export * from './zigbee/index';
5
6
  export * from './button';
@@ -14,9 +15,11 @@ export * from './Griffe';
14
15
  export * from './Heizgruppen';
15
16
  export * from './iButtonSwitch';
16
17
  export * from './iDeviceUpdater';
18
+ export * from './iEnergyManager';
19
+ export * from './iExcessEnergyConsumer';
17
20
  export * from './iHumiditySensor';
18
- export * from './iIlluminationSensor';
19
21
  export * from './iHeater';
22
+ export * from './iIlluminationSensor';
20
23
  export * from './iLamp';
21
24
  export * from './IoBrokerBaseDevice';
22
25
  export * from './iShutter';
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -12,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./groups/index"), exports);
14
18
  __exportStar(require("./hmIPDevices/index"), exports);
19
+ __exportStar(require("./jsObject/index"), exports);
15
20
  __exportStar(require("./models/index"), exports);
16
21
  __exportStar(require("./zigbee/index"), exports);
17
22
  __exportStar(require("./button"), exports);
@@ -26,9 +31,11 @@ __exportStar(require("./Griffe"), exports);
26
31
  __exportStar(require("./Heizgruppen"), exports);
27
32
  __exportStar(require("./iButtonSwitch"), exports);
28
33
  __exportStar(require("./iDeviceUpdater"), exports);
34
+ __exportStar(require("./iEnergyManager"), exports);
35
+ __exportStar(require("./iExcessEnergyConsumer"), exports);
29
36
  __exportStar(require("./iHumiditySensor"), exports);
30
- __exportStar(require("./iIlluminationSensor"), exports);
31
37
  __exportStar(require("./iHeater"), exports);
38
+ __exportStar(require("./iIlluminationSensor"), exports);
32
39
  __exportStar(require("./iLamp"), exports);
33
40
  __exportStar(require("./IoBrokerBaseDevice"), exports);
34
41
  __exportStar(require("./iShutter"), exports);
@@ -0,0 +1 @@
1
+ export * from './jsObjectEnergyManager';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./jsObjectEnergyManager"), exports);
@@ -0,0 +1,17 @@
1
+ /// <reference types="iobroker" />
2
+ import { IoBrokerBaseDevice } from '../IoBrokerBaseDevice';
3
+ import { iEnergyManager } from '../iEnergyManager';
4
+ import { iExcessEnergyConsumer } from '../iExcessEnergyConsumer';
5
+ import { DeviceInfo } from '../DeviceInfo';
6
+ export declare class JsObjectEnergyManager extends IoBrokerBaseDevice implements iEnergyManager {
7
+ baseConsumption: number;
8
+ currentProduction: number;
9
+ excessEnergy: number;
10
+ excessEnergyConsumerConsumption: number;
11
+ private _excessEnergyConsumer;
12
+ constructor(info: DeviceInfo);
13
+ addExcessConsumer(device: iExcessEnergyConsumer): void;
14
+ recalculatePowerSharing(): void;
15
+ update(idSplit: string[], state: ioBroker.State, initial: boolean, pOverride?: boolean): void;
16
+ private setExcessEnergy;
17
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsObjectEnergyManager = void 0;
4
+ const IoBrokerBaseDevice_1 = require("../IoBrokerBaseDevice");
5
+ const deviceType_1 = require("../deviceType");
6
+ const logLevel_1 = require("../../../models/logLevel");
7
+ class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
8
+ constructor(info) {
9
+ super(info, deviceType_1.DeviceType.JsEnergyManager);
10
+ this.baseConsumption = -1;
11
+ this.currentProduction = -1;
12
+ this.excessEnergy = -1;
13
+ this.excessEnergyConsumerConsumption = -1;
14
+ this._excessEnergyConsumer = [];
15
+ }
16
+ addExcessConsumer(device) {
17
+ this._excessEnergyConsumer.push(device);
18
+ }
19
+ recalculatePowerSharing() {
20
+ // TODO Implement
21
+ }
22
+ update(idSplit, state, initial, pOverride = false) {
23
+ this.log(logLevel_1.LogLevel.DeepTrace, `EnergyManager: ${initial ? 'Initial ' : ''} update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}, override: ${pOverride}`);
24
+ switch (idSplit[3]) {
25
+ case 'CurrentExcessEnergy':
26
+ this.log(logLevel_1.LogLevel.Trace, `Current excess energy update to ${state.val}`);
27
+ this.setExcessEnergy(state.val);
28
+ break;
29
+ case 'CurrentProduction':
30
+ this.log(logLevel_1.LogLevel.Trace, `Current Production Update to ${state.val}`);
31
+ this.currentProduction = state.val;
32
+ break;
33
+ }
34
+ }
35
+ setExcessEnergy(val) {
36
+ this.excessEnergy = val;
37
+ this.recalculatePowerSharing();
38
+ }
39
+ }
40
+ exports.JsObjectEnergyManager = JsObjectEnergyManager;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -41,9 +41,9 @@ class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
41
41
  this.log(logLevel_1.LogLevel.Debug, `Skip actuator command as it is already ${pValue}`);
42
42
  return;
43
43
  }
44
- this.log(logLevel_1.LogLevel.Debug, `Stecker schalten Wert: ${pValue}`);
44
+ this.log(logLevel_1.LogLevel.Debug, `Switch actuator to: ${pValue}`);
45
45
  this.setState(this.actuatorOnSwitchID, pValue, undefined, (err) => {
46
- console.log(`Stecker schalten ergab Fehler: ${err}`);
46
+ this.log(logLevel_1.LogLevel.Error, `Switching actuator resulted in error: ${err}`);
47
47
  });
48
48
  this.queuedValue = pValue;
49
49
  if (this._turnOffTimeout !== undefined) {
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -2,14 +2,18 @@
2
2
  import { ActuatorSettings } from '../../../models/actuatorSettings';
3
3
  import { DeviceInfo } from '../DeviceInfo';
4
4
  import { ZigbeeDevice } from './zigbeeDevice';
5
- export declare class ZigbeeBlitzShp extends ZigbeeDevice {
5
+ import { ExcessEnergyConsumerSettings } from '../../../models/excessEnergyConsumerSettings';
6
+ import { iExcessEnergyConsumer } from '../iExcessEnergyConsumer';
7
+ export declare class ZigbeeBlitzShp extends ZigbeeDevice implements iExcessEnergyConsumer {
6
8
  steckerOn: boolean;
7
9
  current: number;
8
10
  energy: number;
9
11
  loadPower: number;
10
12
  settings: ActuatorSettings;
11
- private steckerOnSwitchID;
13
+ energyConsumerSettings: ExcessEnergyConsumerSettings;
14
+ private readonly steckerOnSwitchID;
12
15
  constructor(pInfo: DeviceInfo);
16
+ get currentConsumption(): number;
13
17
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
14
18
  setStecker(pValue: boolean): void;
15
19
  toggleStecker(): boolean;
@@ -5,6 +5,7 @@ const deviceType_1 = require("../deviceType");
5
5
  const actuatorSettings_1 = require("../../../models/actuatorSettings");
6
6
  const zigbeeDevice_1 = require("./zigbeeDevice");
7
7
  const logLevel_1 = require("../../../models/logLevel");
8
+ const excessEnergyConsumerSettings_1 = require("../../../models/excessEnergyConsumerSettings");
8
9
  class ZigbeeBlitzShp extends zigbeeDevice_1.ZigbeeDevice {
9
10
  constructor(pInfo) {
10
11
  super(pInfo, deviceType_1.DeviceType.ZigbeeBlitzShp);
@@ -13,9 +14,13 @@ class ZigbeeBlitzShp extends zigbeeDevice_1.ZigbeeDevice {
13
14
  this.energy = 0;
14
15
  this.loadPower = 0;
15
16
  this.settings = new actuatorSettings_1.ActuatorSettings();
17
+ this.energyConsumerSettings = new excessEnergyConsumerSettings_1.ExcessEnergyConsumerSettings();
16
18
  this.steckerOnSwitchID = '';
17
19
  this.steckerOnSwitchID = `${this.info.fullID}.state`;
18
20
  }
21
+ get currentConsumption() {
22
+ return this.loadPower;
23
+ }
19
24
  update(idSplit, state, initial = false) {
20
25
  this.log(logLevel_1.LogLevel.DeepTrace, `Stecker Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
21
26
  super.update(idSplit, state, initial, true);
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];