hoffmation-base 0.1.37 → 0.1.38-11
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.d.ts +2 -1
- package/lib/index.js +13 -6
- package/lib/models/{actuatorSettings.d.ts → deviceSettings/actuatorSettings.d.ts} +0 -0
- package/lib/models/{actuatorSettings.js → deviceSettings/actuatorSettings.js} +0 -0
- package/lib/models/{deviceSettings.d.ts → deviceSettings/deviceSettings.d.ts} +0 -0
- package/lib/models/{deviceSettings.js → deviceSettings/deviceSettings.js} +0 -0
- package/lib/models/{dimmerSettings.d.ts → deviceSettings/dimmerSettings.d.ts} +0 -0
- package/lib/models/{dimmerSettings.js → deviceSettings/dimmerSettings.js} +0 -0
- package/lib/models/deviceSettings/index.d.ts +5 -0
- package/lib/models/deviceSettings/index.js +21 -0
- package/lib/models/{ledSettings.d.ts → deviceSettings/ledSettings.d.ts} +0 -0
- package/lib/models/{ledSettings.js → deviceSettings/ledSettings.js} +0 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +5 -0
- package/lib/models/deviceSettings/shutterSettings.js +12 -0
- package/lib/models/excessEnergyConsumerSettings.d.ts +9 -0
- package/lib/models/excessEnergyConsumerSettings.js +15 -0
- package/lib/models/index.d.ts +2 -3
- package/lib/models/index.js +7 -4
- package/lib/models/persistence/EnergyCalculation.d.ts +11 -0
- package/lib/models/persistence/EnergyCalculation.js +16 -0
- package/lib/models/persistence/index.d.ts +1 -0
- package/lib/models/persistence/index.js +6 -1
- package/lib/models/rooms/RoomBase.js +2 -2
- package/lib/models/rooms/RoomSettings/index.js +5 -1
- package/lib/models/rooms/index.js +5 -1
- package/lib/models/temperaturSettings.d.ts +4 -1
- package/lib/models/temperaturSettings.js +15 -4
- package/lib/server/config/iConfig.d.ts +7 -0
- package/lib/server/config/index.js +5 -1
- package/lib/server/devices/DeviceInfo.d.ts +7 -1
- package/lib/server/devices/DeviceInfo.js +48 -26
- package/lib/server/devices/Heizgruppen.js +3 -2
- 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 +14 -0
- package/lib/server/devices/groups/index.js +5 -1
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +7 -8
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +13 -16
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +1 -1
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +7 -8
- package/lib/server/devices/hmIPDevices/index.js +5 -1
- package/lib/server/devices/iEnergyManager.d.ts +12 -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/iLamp.d.ts +1 -1
- 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 +27 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +100 -0
- package/lib/server/devices/models/index.js +5 -1
- package/lib/server/devices/zigbee/ZigbeeActuator.d.ts +1 -1
- package/lib/server/devices/zigbee/ZigbeeActuator.js +3 -3
- package/lib/server/devices/zigbee/index.js +5 -1
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +2 -2
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +7 -3
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +6 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +0 -3
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +0 -18
- package/lib/server/devices/zigbee/zigbeeMotionSensor.js +6 -7
- package/lib/server/devices/zigbee/zigbeeShutter.d.ts +8 -0
- package/lib/server/devices/zigbee/zigbeeShutter.js +37 -0
- package/lib/server/index.js +5 -1
- package/lib/server/ioBroker/index.js +5 -1
- package/lib/server/ioBroker/ioBroker.main.js +2 -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/Telegram/telegram-Commands.js +13 -0
- 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/calendar/muell-tonne.js +3 -2
- package/lib/server/services/dbo/iPersist.d.ts +21 -0
- package/lib/server/services/dbo/iPersist.js +2 -0
- package/lib/server/services/dbo/index.d.ts +3 -1
- package/lib/server/services/dbo/index.js +8 -2
- package/lib/server/services/dbo/mongoPersistance.d.ts +37 -0
- package/lib/server/services/dbo/{persist.js → mongoPersistance.js} +45 -39
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +27 -0
- package/lib/server/services/dbo/postgreSqlPersist.js +269 -0
- package/lib/server/services/https-service.js +10 -4
- 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 +5 -1
- package/lib/server/services/room-service/index.js +5 -1
- package/lib/server/services/utils/index.js +5 -1
- package/lib/server/services/utils/utils.d.ts +2 -0
- package/lib/server/services/utils/utils.js +7 -0
- package/lib/server/services/weather/index.js +5 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -22
- package/lib/server/services/dbo/persist.d.ts +0 -34
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Devices, iConfig, ioBrokerMain, OwnSonosDevice } from './server';
|
|
1
|
+
import { Devices, iConfig, ioBrokerMain, OwnSonosDevice, iPersist } from './server';
|
|
2
2
|
export * from './models/index';
|
|
3
3
|
export * from './server/index';
|
|
4
4
|
export declare class HoffmationInitializationObject {
|
|
5
5
|
config: iConfig;
|
|
6
6
|
constructor(config: iConfig);
|
|
7
7
|
}
|
|
8
|
+
export declare let dbo: iPersist | undefined;
|
|
8
9
|
export declare class HoffmationBase {
|
|
9
10
|
static ioMain: ioBrokerMain;
|
|
10
11
|
static initializeBeforeIoBroker(initObject: HoffmationInitializationObject): Promise<void>;
|
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];
|
|
@@ -10,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.HoffmationBase = exports.HoffmationInitializationObject = void 0;
|
|
17
|
+
exports.HoffmationBase = exports.dbo = exports.HoffmationInitializationObject = void 0;
|
|
14
18
|
const models_1 = require("./models");
|
|
15
19
|
const server_1 = require("./server");
|
|
16
20
|
__exportStar(require("./models/index"), exports);
|
|
@@ -30,10 +34,13 @@ class HoffmationBase {
|
|
|
30
34
|
}
|
|
31
35
|
server_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Hoffmation-Base Startup`);
|
|
32
36
|
if (initObject.config.persistence) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
if (initObject.config.persistence.mongo) {
|
|
38
|
+
exports.dbo = new server_1.MongoPersistance(initObject.config.persistence);
|
|
39
|
+
}
|
|
40
|
+
else if (initObject.config.persistence.postgreSql) {
|
|
41
|
+
exports.dbo = new server_1.PostgreSqlPersist(initObject.config.persistence);
|
|
42
|
+
}
|
|
43
|
+
await (exports.dbo === null || exports.dbo === void 0 ? void 0 : exports.dbo.initialize());
|
|
37
44
|
}
|
|
38
45
|
if (server_1.SettingsService.settings.mp3Server) {
|
|
39
46
|
server_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Mp3Server settings detected --> initializing`);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
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("./actuatorSettings"), exports);
|
|
18
|
+
__exportStar(require("./deviceSettings"), exports);
|
|
19
|
+
__exportStar(require("./dimmerSettings"), exports);
|
|
20
|
+
__exportStar(require("./ledSettings"), exports);
|
|
21
|
+
__exportStar(require("./shutterSettings"), exports);
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShutterSettings = void 0;
|
|
4
|
+
const deviceSettings_1 = require("./deviceSettings");
|
|
5
|
+
class ShutterSettings extends deviceSettings_1.DeviceSettings {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.msTilTop = -1;
|
|
9
|
+
this.msTilBot = -1;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.ShutterSettings = ShutterSettings;
|
|
@@ -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
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
export * from './rooms/index';
|
|
2
|
+
export * from './deviceSettings/index';
|
|
2
3
|
export * from './persistence/index';
|
|
3
|
-
export * from './actuatorSettings';
|
|
4
4
|
export * from './connectionCallbacks';
|
|
5
5
|
export * from './daytime';
|
|
6
6
|
export * from './deviceConfig';
|
|
7
|
-
export * from './
|
|
7
|
+
export * from './excessEnergyConsumerSettings';
|
|
8
8
|
export * from './iTemperaturDataPoint';
|
|
9
|
-
export * from './ledSettings';
|
|
10
9
|
export * from './logLevel';
|
|
11
10
|
export * from './temperaturSettings';
|
|
12
11
|
export * from './timeCallback';
|
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];
|
|
@@ -11,14 +15,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./rooms/index"), exports);
|
|
18
|
+
__exportStar(require("./deviceSettings/index"), exports);
|
|
14
19
|
__exportStar(require("./persistence/index"), exports);
|
|
15
|
-
__exportStar(require("./actuatorSettings"), exports);
|
|
16
20
|
__exportStar(require("./connectionCallbacks"), exports);
|
|
17
21
|
__exportStar(require("./daytime"), exports);
|
|
18
22
|
__exportStar(require("./deviceConfig"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
23
|
+
__exportStar(require("./excessEnergyConsumerSettings"), exports);
|
|
20
24
|
__exportStar(require("./iTemperaturDataPoint"), exports);
|
|
21
|
-
__exportStar(require("./ledSettings"), exports);
|
|
22
25
|
__exportStar(require("./logLevel"), exports);
|
|
23
26
|
__exportStar(require("./temperaturSettings"), exports);
|
|
24
27
|
__exportStar(require("./timeCallback"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class EnergyCalculation {
|
|
2
|
+
startMs: number;
|
|
3
|
+
drawnKwH: number;
|
|
4
|
+
injectedKwH: number;
|
|
5
|
+
selfConsumedKwH: number;
|
|
6
|
+
costDrawn: number;
|
|
7
|
+
earnedInjected: number;
|
|
8
|
+
savedSelfConsume: number;
|
|
9
|
+
endMs: number;
|
|
10
|
+
constructor(startMs: number);
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnergyCalculation = void 0;
|
|
4
|
+
class EnergyCalculation {
|
|
5
|
+
constructor(startMs) {
|
|
6
|
+
this.startMs = startMs;
|
|
7
|
+
this.drawnKwH = 0;
|
|
8
|
+
this.injectedKwH = 0;
|
|
9
|
+
this.selfConsumedKwH = 0;
|
|
10
|
+
this.costDrawn = 0;
|
|
11
|
+
this.earnedInjected = 0;
|
|
12
|
+
this.savedSelfConsume = 0;
|
|
13
|
+
this.endMs = 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.EnergyCalculation = EnergyCalculation;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './BasicRoomInfo';
|
|
2
2
|
export * from './CurrentIlluminationDataPoint';
|
|
3
3
|
export * from './DailyMovementCount';
|
|
4
|
+
export * from './EnergyCalculation';
|
|
4
5
|
export * from './RoomDetailInfo';
|
|
5
6
|
export * from './ShutterCalibration';
|
|
6
7
|
export * from './temperaturDataPoint';
|
|
@@ -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];
|
|
@@ -13,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./BasicRoomInfo"), exports);
|
|
14
18
|
__exportStar(require("./CurrentIlluminationDataPoint"), exports);
|
|
15
19
|
__exportStar(require("./DailyMovementCount"), exports);
|
|
20
|
+
__exportStar(require("./EnergyCalculation"), exports);
|
|
16
21
|
__exportStar(require("./RoomDetailInfo"), exports);
|
|
17
22
|
__exportStar(require("./ShutterCalibration"), exports);
|
|
18
23
|
__exportStar(require("./temperaturDataPoint"), exports);
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.RoomBase = void 0;
|
|
7
7
|
const logLevel_1 = require("../logLevel");
|
|
8
8
|
const log_service_1 = require("../../server/services/log-service/log-service");
|
|
9
|
-
const persist_1 = require("../../server/services/dbo/persist");
|
|
10
9
|
const time_callback_service_1 = require("../../server/services/time-callback-service");
|
|
11
10
|
const room_service_1 = require("../../server/services/room-service/room-service");
|
|
12
11
|
const roomInfo_1 = require("./roomInfo");
|
|
@@ -15,6 +14,7 @@ const ShutterService_1 = require("../../server/services/ShutterService");
|
|
|
15
14
|
const utils_1 = require("../../server/services/utils/utils");
|
|
16
15
|
const lodash_1 = __importDefault(require("lodash"));
|
|
17
16
|
const device_cluster_1 = require("../../server/devices/device-cluster");
|
|
17
|
+
const index_1 = require("../../index");
|
|
18
18
|
class RoomBase {
|
|
19
19
|
constructor(roomName, settings, groups) {
|
|
20
20
|
this.settings = settings;
|
|
@@ -68,7 +68,7 @@ class RoomBase {
|
|
|
68
68
|
(_c = this.TasterGroup) === null || _c === void 0 ? void 0 : _c.initCallbacks();
|
|
69
69
|
}
|
|
70
70
|
persist() {
|
|
71
|
-
|
|
71
|
+
index_1.dbo === null || index_1.dbo === void 0 ? void 0 : index_1.dbo.addRoom(this);
|
|
72
72
|
}
|
|
73
73
|
recalcTimeCallbacks() {
|
|
74
74
|
const now = new Date();
|
|
@@ -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];
|
|
@@ -5,5 +5,8 @@ export declare class TemperaturSettings {
|
|
|
5
5
|
temperatur: number;
|
|
6
6
|
active: boolean;
|
|
7
7
|
constructor(start: Daytime, end: Daytime, temperatur: number, active?: boolean);
|
|
8
|
-
isNowInRange(): boolean;
|
|
8
|
+
isNowInRange(date: Date): boolean;
|
|
9
|
+
static getActiveSetting(settings: {
|
|
10
|
+
[name: string]: TemperaturSettings;
|
|
11
|
+
}, date: Date): TemperaturSettings | undefined;
|
|
9
12
|
}
|
|
@@ -8,14 +8,25 @@ class TemperaturSettings {
|
|
|
8
8
|
this.temperatur = temperatur;
|
|
9
9
|
this.active = active;
|
|
10
10
|
}
|
|
11
|
-
isNowInRange() {
|
|
12
|
-
const now =
|
|
13
|
-
const todayStart = new Date().setHours(this.start.hour, this.start.minute);
|
|
11
|
+
isNowInRange(date) {
|
|
12
|
+
const now = date.getTime();
|
|
13
|
+
const todayStart = new Date(now).setHours(this.start.hour, this.start.minute);
|
|
14
14
|
if (now < todayStart) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
|
-
const todayEnd = new Date().setHours(this.end.hour, this.end.minute);
|
|
17
|
+
const todayEnd = new Date(now).setHours(this.end.hour, this.end.minute);
|
|
18
18
|
return now < todayEnd;
|
|
19
19
|
}
|
|
20
|
+
static getActiveSetting(settings, date) {
|
|
21
|
+
for (const name of Object.keys(settings)) {
|
|
22
|
+
if (settings[name] === undefined) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const setting = settings[name];
|
|
26
|
+
if (setting.isNowInRange(date)) {
|
|
27
|
+
return setting;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
20
31
|
}
|
|
21
32
|
exports.TemperaturSettings = TemperaturSettings;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LogLevel } from '../../models/logLevel';
|
|
2
2
|
import { iRoomDefaultSettings } from '../../models/rooms/RoomSettings/iRoomDefaultSettings';
|
|
3
|
+
import { PoolConfig } from 'pg';
|
|
3
4
|
interface iSonosSettings {
|
|
4
5
|
active: boolean;
|
|
5
6
|
}
|
|
@@ -8,6 +9,8 @@ export interface iRestSettings {
|
|
|
8
9
|
port?: number;
|
|
9
10
|
}
|
|
10
11
|
export interface iConfig {
|
|
12
|
+
wattagePrice: number;
|
|
13
|
+
injectWattagePrice?: number;
|
|
11
14
|
ioBrokerUrl: string;
|
|
12
15
|
logSettings?: iLogSettings;
|
|
13
16
|
translationSettings: iTranslationSettings;
|
|
@@ -42,6 +45,10 @@ export interface iTelegramSettings {
|
|
|
42
45
|
subscribedIDs: number[];
|
|
43
46
|
}
|
|
44
47
|
export interface iPersistenceSettings {
|
|
48
|
+
mongo?: iMongoSettings;
|
|
49
|
+
postgreSql?: PoolConfig;
|
|
50
|
+
}
|
|
51
|
+
export interface iMongoSettings {
|
|
45
52
|
mongoConnection: string;
|
|
46
53
|
mongoDbName: string;
|
|
47
54
|
}
|
|
@@ -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,7 +12,13 @@ export declare class DeviceInfo {
|
|
|
12
12
|
valueName?: string;
|
|
13
13
|
devConf: deviceConfig;
|
|
14
14
|
allDevicesKey?: string;
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Extracts the relevant infos from the passed deviceConfig and combines them in a new Info object
|
|
17
|
+
* @param {deviceConfig} pDevConf The device Config based on the extracted devices.json from ioBroker
|
|
18
|
+
* @param {boolean} isJsStateChildObject Within JS Objects, creating devices is limited,
|
|
19
|
+
* so we name the first child state for the object creation (e.g. javascript.0.00-EnergyManager.CurrentProduction)
|
|
20
|
+
*/
|
|
21
|
+
constructor(pDevConf: deviceConfig, isJsStateChildObject?: boolean);
|
|
16
22
|
set customName(val: string);
|
|
17
23
|
get customName(): string;
|
|
18
24
|
toJSON(): Partial<DeviceInfo>;
|
|
@@ -6,38 +6,60 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DeviceInfo = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
class DeviceInfo {
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Extracts the relevant infos from the passed deviceConfig and combines them in a new Info object
|
|
11
|
+
* @param {deviceConfig} pDevConf The device Config based on the extracted devices.json from ioBroker
|
|
12
|
+
* @param {boolean} isJsStateChildObject Within JS Objects, creating devices is limited,
|
|
13
|
+
* so we name the first child state for the object creation (e.g. javascript.0.00-EnergyManager.CurrentProduction)
|
|
14
|
+
*/
|
|
15
|
+
constructor(pDevConf, isJsStateChildObject = false) {
|
|
10
16
|
this.devConf = pDevConf;
|
|
11
17
|
this.type = pDevConf.type;
|
|
12
|
-
this.fullID = pDevConf._id;
|
|
13
|
-
/**
|
|
14
|
-
* 0: hm-rpc
|
|
15
|
-
* 1: rcpInstance
|
|
16
|
-
* 2: Device ID
|
|
17
|
-
* 3?: Channel
|
|
18
|
-
* 4?: ValueName
|
|
19
|
-
*/
|
|
20
18
|
const idSplit = pDevConf._id.split('.');
|
|
19
|
+
this.fullID = pDevConf._id;
|
|
21
20
|
this.devID = idSplit[2];
|
|
22
|
-
if (idSplit.length > 3) {
|
|
23
|
-
this.channel = Number(idSplit[3]);
|
|
24
|
-
}
|
|
25
|
-
if (idSplit.length > 4) {
|
|
26
|
-
this.valueName = idSplit[4];
|
|
27
|
-
}
|
|
28
21
|
this.fullName = pDevConf.common.name;
|
|
29
|
-
/**
|
|
30
|
-
* 0: Indikator own "00"
|
|
31
|
-
* 1: "HmIP"
|
|
32
|
-
* 2: Raum
|
|
33
|
-
* 3: Was für ein Gerät
|
|
34
|
-
* 4: Index dieses Gerätes im Raum (ggf. + :Channel)
|
|
35
|
-
* 5?: Name des Wertes
|
|
36
|
-
*/
|
|
37
22
|
const nameSplit = pDevConf.common.name.split('-');
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
if (!isJsStateChildObject) {
|
|
24
|
+
/**
|
|
25
|
+
* 0: hm-rpc
|
|
26
|
+
* 1: rcpInstance
|
|
27
|
+
* 2: Device ID
|
|
28
|
+
* 3?: Channel
|
|
29
|
+
* 4?: ValueName
|
|
30
|
+
*/
|
|
31
|
+
if (idSplit.length > 3) {
|
|
32
|
+
this.channel = Number(idSplit[3]);
|
|
33
|
+
}
|
|
34
|
+
if (idSplit.length > 4) {
|
|
35
|
+
this.valueName = idSplit[4];
|
|
36
|
+
}
|
|
37
|
+
/** Name-Split
|
|
38
|
+
* 0: Indikator own "00"
|
|
39
|
+
* 1: "HmIP"
|
|
40
|
+
* 2: Raum
|
|
41
|
+
* 3: Was für ein Gerät
|
|
42
|
+
* 4: Index dieses Gerätes im Raum (ggf. + :Channel)
|
|
43
|
+
* 5?: Name des Wertes
|
|
44
|
+
*/
|
|
45
|
+
this.room = nameSplit[2];
|
|
46
|
+
this.deviceType = nameSplit[3];
|
|
47
|
+
this.deviceRoomIndex = Number(nameSplit[4].split(':')[0]);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
/** Name-Split
|
|
52
|
+
* 0: Indikator own "00"
|
|
53
|
+
* 1: "EnergyManager"
|
|
54
|
+
* 2: Raum
|
|
55
|
+
* 3: Was für ein Gerät
|
|
56
|
+
* 4: Index dieses Gerätes im Raum (ggf. + :Channel)
|
|
57
|
+
* 5?: Name des Wertes
|
|
58
|
+
*/
|
|
59
|
+
this.deviceType = nameSplit[1];
|
|
60
|
+
this.room = nameSplit.length >= 3 ? nameSplit[2] : '';
|
|
61
|
+
this.deviceRoomIndex = nameSplit.length >= 4 ? Number(nameSplit[3]) : 0;
|
|
62
|
+
}
|
|
41
63
|
}
|
|
42
64
|
set customName(val) {
|
|
43
65
|
this._customName = val;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Heizgruppen = void 0;
|
|
4
4
|
const deviceType_1 = require("./deviceType");
|
|
5
|
-
const persist_1 = require("../services/dbo/persist");
|
|
6
5
|
const devices_1 = require("./devices");
|
|
6
|
+
const index_1 = require("../../index");
|
|
7
7
|
class Heizgruppen {
|
|
8
8
|
static getInfo() {
|
|
9
9
|
const gruppen = Heizgruppen.getAllGruppen();
|
|
@@ -18,6 +18,7 @@ class Heizgruppen {
|
|
|
18
18
|
return response.join('\n');
|
|
19
19
|
}
|
|
20
20
|
static async getSpecificInfo(pText) {
|
|
21
|
+
var _a;
|
|
21
22
|
if (pText === undefined || !pText.includes('"')) {
|
|
22
23
|
return `Bitte übergeben Sie eine Heizgruppe innerhalb von "". z.B. "EG Flur HeizGr"`;
|
|
23
24
|
}
|
|
@@ -26,7 +27,7 @@ class Heizgruppen {
|
|
|
26
27
|
if (group === undefined) {
|
|
27
28
|
return `"${searchText}" ist keine gültige Heizgruppe, im Folgenden ist eine Liste aller gültigen Heizgruppen:\n${this.getInfo()}`;
|
|
28
29
|
}
|
|
29
|
-
const results = await
|
|
30
|
+
const results = (_a = (await (index_1.dbo === null || index_1.dbo === void 0 ? void 0 : index_1.dbo.readTemperaturDataPoint(group, 20)))) !== null && _a !== void 0 ? _a : [];
|
|
30
31
|
const response = [`Dies sind die letzten 20 Messpunkte der Heizgruppe:`];
|
|
31
32
|
response.push(`Zeitpunkt\t\tIst-Temperatur\t\tSoll-Temperatur\t\tVentilstellung`);
|
|
32
33
|
for (const r of results) {
|
|
@@ -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_JS: 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,10 @@ 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
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Found Energy-Manager in Device json.`);
|
|
62
|
+
this.createEnergyManager(cDevConf);
|
|
63
|
+
}
|
|
59
64
|
}
|
|
60
65
|
hmIpDevice_1.HmIPDevice.checkMissing();
|
|
61
66
|
zigbeeDevice_1.ZigbeeDevice.checkMissing();
|
|
@@ -218,8 +223,17 @@ class Devices {
|
|
|
218
223
|
}
|
|
219
224
|
return result.join('\n');
|
|
220
225
|
}
|
|
226
|
+
createEnergyManager(cDevConf) {
|
|
227
|
+
const devInfo = new DeviceInfo_1.DeviceInfo(cDevConf, true);
|
|
228
|
+
const fullName = `${Devices.IDENTIFIER_JS}-${devInfo.devID}`;
|
|
229
|
+
devInfo.allDevicesKey = fullName;
|
|
230
|
+
Devices.energymanager = new jsObjectEnergyManager_1.JsObjectEnergyManager(devInfo);
|
|
231
|
+
Devices.alLDevices[fullName] = Devices.energymanager;
|
|
232
|
+
}
|
|
221
233
|
}
|
|
222
234
|
exports.Devices = Devices;
|
|
223
235
|
Devices.IDENTIFIER_HOMEMATIC = 'hm-rpc';
|
|
236
|
+
Devices.IDENTIFIER_JS = 'javascript';
|
|
224
237
|
Devices.IDENTIFIER_ZIGBEE = 'zigbee';
|
|
225
238
|
Devices.alLDevices = {};
|
|
239
|
+
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];
|