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.
- package/lib/index.js +5 -1
- package/lib/models/excessEnergyConsumerSettings.d.ts +9 -0
- package/lib/models/excessEnergyConsumerSettings.js +15 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +6 -1
- package/lib/models/persistence/index.js +5 -1
- package/lib/models/rooms/RoomSettings/index.js +5 -1
- package/lib/models/rooms/index.js +5 -1
- package/lib/server/config/index.js +5 -1
- package/lib/server/devices/deviceType.d.ts +1 -0
- package/lib/server/devices/deviceType.js +1 -0
- package/lib/server/devices/devices.d.ts +4 -0
- package/lib/server/devices/devices.js +13 -0
- package/lib/server/devices/groups/index.js +5 -1
- package/lib/server/devices/groups/praesenzGroup.d.ts +6 -0
- package/lib/server/devices/groups/praesenzGroup.js +14 -5
- package/lib/server/devices/hmIPDevices/index.js +5 -1
- package/lib/server/devices/iEnergyManager.d.ts +10 -0
- package/lib/server/devices/iEnergyManager.js +2 -0
- package/lib/server/devices/iExcessEnergyConsumer.d.ts +6 -0
- package/lib/server/devices/iExcessEnergyConsumer.js +2 -0
- package/lib/server/devices/index.d.ts +4 -1
- package/lib/server/devices/index.js +9 -2
- package/lib/server/devices/jsObject/index.d.ts +1 -0
- package/lib/server/devices/jsObject/index.js +17 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +17 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +40 -0
- package/lib/server/devices/models/index.js +5 -1
- package/lib/server/devices/zigbee/ZigbeeActuator.js +2 -2
- package/lib/server/devices/zigbee/index.js +5 -1
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +6 -2
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +5 -0
- package/lib/server/index.js +5 -1
- package/lib/server/ioBroker/index.js +5 -1
- package/lib/server/services/Sonos/index.js +5 -1
- package/lib/server/services/Sonos/mp3-server.js +5 -1
- package/lib/server/services/Sonos/polly-service.js +5 -1
- package/lib/server/services/Telegram/index.js +5 -1
- package/lib/server/services/Translation/index.js +5 -1
- package/lib/server/services/api/index.js +5 -1
- package/lib/server/services/calendar/index.js +5 -1
- package/lib/server/services/dbo/index.js +5 -1
- package/lib/server/services/https-service.js +5 -1
- package/lib/server/services/index.js +5 -1
- package/lib/server/services/log-service/index.js +5 -1
- package/lib/server/services/news-service.js +11 -2
- package/lib/server/services/room-service/index.js +5 -1
- package/lib/server/services/utils/index.js +5 -1
- package/lib/server/services/weather/index.js +5 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- 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.
|
|
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;
|
package/lib/models/index.d.ts
CHANGED
|
@@ -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';
|
package/lib/models/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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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];
|
|
@@ -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.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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,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
|
+
}
|
|
@@ -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.
|
|
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.
|
|
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, `
|
|
44
|
+
this.log(logLevel_1.LogLevel.Debug, `Switch actuator to: ${pValue}`);
|
|
45
45
|
this.setState(this.actuatorOnSwitchID, pValue, undefined, (err) => {
|
|
46
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
package/lib/server/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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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];
|