hoffmation-base 0.1.41-1 → 0.1.41-13
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 +1 -2
- package/lib/index.js +5 -4
- package/lib/models/deviceSettings/index.d.ts +1 -0
- package/lib/models/deviceSettings/index.js +1 -0
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +9 -0
- package/lib/models/deviceSettings/motionSensorSettings.js +16 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +6 -0
- package/lib/models/deviceSettings/shutterSettings.js +6 -0
- package/lib/models/rooms/RoomBase.d.ts +7 -17
- package/lib/models/rooms/RoomBase.js +27 -32
- package/lib/models/rooms/RoomSettings/RoomSettings.js +1 -0
- package/lib/models/timeCallback.d.ts +7 -1
- package/lib/models/timeCallback.js +16 -10
- package/lib/server/devices/Heizgruppen.d.ts +1 -1
- package/lib/server/devices/Heizgruppen.js +3 -3
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +11 -12
- package/lib/server/devices/IoBrokerBaseDevice.js +36 -38
- package/lib/server/devices/button.d.ts +1 -1
- package/lib/server/devices/button.js +5 -6
- package/lib/server/devices/device-cluster.d.ts +5 -4
- package/lib/server/devices/device-cluster.js +3 -2
- package/lib/server/devices/device-list.d.ts +4 -4
- package/lib/server/devices/device-list.js +5 -5
- package/lib/server/devices/deviceType.d.ts +1 -0
- package/lib/server/devices/deviceType.js +1 -0
- package/lib/server/devices/deviceUpdater.js +4 -4
- package/lib/server/devices/devices.d.ts +6 -7
- package/lib/server/devices/devices.js +78 -108
- package/lib/server/devices/groups/Fenster.d.ts +6 -6
- package/lib/server/devices/groups/Fenster.js +22 -24
- package/lib/server/devices/groups/fensterGroup.d.ts +2 -1
- package/lib/server/devices/groups/fensterGroup.js +42 -36
- package/lib/server/devices/groups/heatGroup.d.ts +2 -2
- package/lib/server/devices/groups/heatGroup.js +8 -8
- package/lib/server/devices/groups/lampenGroup.d.ts +3 -4
- package/lib/server/devices/groups/lampenGroup.js +12 -12
- package/lib/server/devices/groups/praesenzGroup.d.ts +6 -7
- package/lib/server/devices/groups/praesenzGroup.js +45 -40
- package/lib/server/devices/groups/tasterGroup.d.ts +1 -1
- package/lib/server/devices/groups/tasterGroup.js +3 -3
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +12 -8
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +31 -26
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +8 -8
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +40 -43
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -13
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +5 -5
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +17 -17
- package/lib/server/devices/iBaseDevice.d.ts +11 -0
- package/lib/server/devices/iBaseDevice.js +2 -0
- package/lib/server/devices/iButtonSwitch.d.ts +2 -2
- package/lib/server/devices/iEnergyManager.d.ts +18 -2
- package/lib/server/devices/iEnergyManager.js +28 -0
- package/lib/server/devices/iExcessEnergyConsumer.d.ts +3 -3
- package/lib/server/devices/iHeater.d.ts +3 -3
- package/lib/server/devices/iHumiditySensor.d.ts +2 -2
- package/lib/server/devices/iLamp.d.ts +3 -5
- package/lib/server/devices/iMotionSensor.d.ts +13 -0
- package/lib/server/devices/iMotionSensor.js +2 -0
- package/lib/server/devices/iShutter.d.ts +3 -3
- package/lib/server/devices/iTemperaturSensor.d.ts +2 -2
- package/lib/server/devices/iVibrationSensor.d.ts +9 -0
- package/lib/server/devices/iVibrationSensor.js +2 -0
- package/lib/server/devices/index.d.ts +3 -0
- package/lib/server/devices/index.js +3 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +36 -24
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +79 -39
- package/lib/server/devices/zigbee/index.d.ts +1 -0
- package/lib/server/devices/zigbee/index.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +4 -4
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +15 -16
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +11 -5
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +48 -32
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +23 -25
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +7 -8
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +18 -20
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +0 -2
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +26 -24
- package/lib/server/devices/zigbee/zigbeeMotionSensor.d.ts +8 -6
- package/lib/server/devices/zigbee/zigbeeMotionSensor.js +22 -21
- package/lib/server/devices/zigbee/zigbeeShutter.d.ts +13 -11
- package/lib/server/devices/zigbee/zigbeeShutter.js +43 -34
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +9 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +26 -0
- package/lib/server/services/ShutterService.d.ts +1 -2
- package/lib/server/services/ShutterService.js +6 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +1 -1
- package/lib/server/services/Telegram/telegram-service.js +13 -11
- package/lib/server/services/api/api-service.d.ts +5 -5
- package/lib/server/services/api/api-service.js +5 -5
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +4 -4
- package/lib/server/services/calendar/m/303/274ll-service.js +18 -14
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +9 -9
- package/lib/server/services/dbo/postgreSqlPersist.js +13 -13
- package/lib/server/services/room-service/room-service.d.ts +5 -6
- package/lib/server/services/room-service/room-service.js +29 -30
- package/lib/server/services/time-callback-service.d.ts +9 -15
- package/lib/server/services/time-callback-service.js +39 -45
- package/lib/server/services/utils/utils.d.ts +2 -0
- package/lib/server/services/utils/utils.js +6 -10
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Button = exports.ButtonPressType = exports.ButtonCapabilities = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const logLevel_1 = require("../../models/logLevel");
|
|
4
|
+
const services_1 = require("../services");
|
|
5
|
+
const models_1 = require("../../models");
|
|
7
6
|
class ButtonCapabilities {
|
|
8
7
|
constructor() {
|
|
9
8
|
this.shortPress = true;
|
|
@@ -55,7 +54,7 @@ class Button {
|
|
|
55
54
|
addCb(buttonType, pCallback, description = 'Not described') {
|
|
56
55
|
const cbArr = this._callbacks.get(buttonType);
|
|
57
56
|
if (cbArr === undefined) {
|
|
58
|
-
|
|
57
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Error, `This Button doesn't support press Type ${ButtonPressType[buttonType]}`);
|
|
59
58
|
return;
|
|
60
59
|
}
|
|
61
60
|
cbArr.push({ cb: pCallback, description: description });
|
|
@@ -76,7 +75,7 @@ class Button {
|
|
|
76
75
|
}
|
|
77
76
|
this._state.set(type, pValue);
|
|
78
77
|
if (!this._callbacks.has(type)) {
|
|
79
|
-
|
|
78
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Error, `This Button doesn't support press Type ${ButtonPressType[type]}`);
|
|
80
79
|
return;
|
|
81
80
|
}
|
|
82
81
|
for (const c of (_a = this._callbacks.get(type)) !== null && _a !== void 0 ? _a : []) {
|
|
@@ -89,7 +88,7 @@ class Button {
|
|
|
89
88
|
if (timeout !== null) {
|
|
90
89
|
clearTimeout(timeout);
|
|
91
90
|
}
|
|
92
|
-
this._timeouts.set(type,
|
|
91
|
+
this._timeouts.set(type, services_1.Utils.guardedTimeout(() => {
|
|
93
92
|
this.updateState(type, false);
|
|
94
93
|
}, 5000, this));
|
|
95
94
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { DeviceClusterType } from './device-cluster-type';
|
|
2
2
|
import { DeviceList } from './device-list';
|
|
3
3
|
import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
|
|
4
|
-
import { OwnSonosDevice } from '../services
|
|
4
|
+
import { OwnSonosDevice } from '../services';
|
|
5
|
+
import { IBaseDevice } from './iBaseDevice';
|
|
5
6
|
export declare class DeviceCluster {
|
|
6
7
|
deviceMap: Map<DeviceClusterType, DeviceList>;
|
|
7
8
|
constructor(deviceMap?: Map<DeviceClusterType, DeviceList>);
|
|
8
9
|
getIoBrokerDevicesByType(type: DeviceClusterType): IoBrokerBaseDevice[];
|
|
9
|
-
getDevicesByType(type: DeviceClusterType): Array<
|
|
10
|
-
addByDeviceType(device:
|
|
11
|
-
addToList(type: DeviceClusterType, device:
|
|
10
|
+
getDevicesByType(type: DeviceClusterType): Array<IBaseDevice | OwnSonosDevice>;
|
|
11
|
+
addByDeviceType(device: IBaseDevice): void;
|
|
12
|
+
addToList(type: DeviceClusterType, device: IBaseDevice): void;
|
|
12
13
|
toJSON(): Partial<DeviceCluster & {
|
|
13
14
|
deviceDict?: {
|
|
14
15
|
[p: string]: DeviceList;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DeviceCluster = void 0;
|
|
7
7
|
const device_cluster_type_1 = require("./device-cluster-type");
|
|
8
8
|
const device_list_1 = require("./device-list");
|
|
9
|
-
const
|
|
9
|
+
const services_1 = require("../services");
|
|
10
10
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
11
|
const deviceType_1 = require("./deviceType");
|
|
12
12
|
class DeviceCluster {
|
|
@@ -39,6 +39,7 @@ class DeviceCluster {
|
|
|
39
39
|
break;
|
|
40
40
|
case deviceType_1.DeviceType.HmIpRoll:
|
|
41
41
|
case deviceType_1.DeviceType.ZigbeeIlluShutter:
|
|
42
|
+
case deviceType_1.DeviceType.ZigbeeUbisysShutter:
|
|
42
43
|
clusterTypes.push(device_cluster_type_1.DeviceClusterType.Shutter);
|
|
43
44
|
break;
|
|
44
45
|
case deviceType_1.DeviceType.ZigbeeSonoffTemp:
|
|
@@ -109,7 +110,7 @@ class DeviceCluster {
|
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
toJSON() {
|
|
112
|
-
const result =
|
|
113
|
+
const result = services_1.Utils.jsonFilter(this);
|
|
113
114
|
result.deviceDict = Object.fromEntries(this.deviceMap);
|
|
114
115
|
return lodash_1.default.omit(result, [`deviceMap`]);
|
|
115
116
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { OwnSonosDevice } from '../services';
|
|
2
|
+
import { IBaseDevice } from './iBaseDevice';
|
|
3
3
|
export declare class DeviceList {
|
|
4
4
|
private _ids;
|
|
5
|
-
get ids(): string[];
|
|
6
5
|
constructor(_ids?: string[]);
|
|
7
|
-
|
|
6
|
+
get ids(): string[];
|
|
7
|
+
getDevices(): Array<IBaseDevice | OwnSonosDevice>;
|
|
8
8
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeviceList = void 0;
|
|
4
|
-
const
|
|
5
|
-
const OwnSonosDevices_1 = require("../services/Sonos/OwnSonosDevices");
|
|
4
|
+
const services_1 = require("../services");
|
|
6
5
|
class DeviceList {
|
|
7
6
|
constructor(_ids = []) {
|
|
8
7
|
this._ids = _ids;
|
|
8
|
+
// Empty
|
|
9
9
|
}
|
|
10
10
|
get ids() {
|
|
11
11
|
return this._ids;
|
|
@@ -13,15 +13,15 @@ class DeviceList {
|
|
|
13
13
|
getDevices() {
|
|
14
14
|
const result = [];
|
|
15
15
|
for (const dID of this._ids) {
|
|
16
|
-
const d =
|
|
16
|
+
const d = services_1.API.getDevice(dID);
|
|
17
17
|
if (d !== undefined) {
|
|
18
18
|
result.push(d);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
for (const name of this._ids) {
|
|
22
|
-
const s =
|
|
22
|
+
const s = services_1.OwnSonosDevices.ownDevices[name];
|
|
23
23
|
if (s !== undefined) {
|
|
24
|
-
result.push(
|
|
24
|
+
result.push(services_1.OwnSonosDevices.ownDevices[name]);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
return result;
|
|
@@ -33,6 +33,7 @@ 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["ZigbeeUbisysShutter"] = 218] = "ZigbeeUbisysShutter";
|
|
36
37
|
DeviceType[DeviceType["JsEnergyManager"] = 301] = "JsEnergyManager";
|
|
37
38
|
DeviceType[DeviceType["Wled"] = 1001] = "Wled";
|
|
38
39
|
})(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeviceUpdater = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const services_1 = require("../services");
|
|
5
|
+
const models_1 = require("../../models");
|
|
6
6
|
const devices_1 = require("./devices");
|
|
7
7
|
class DeviceUpdater {
|
|
8
8
|
constructor(pDevices) {
|
|
@@ -25,14 +25,14 @@ class DeviceUpdater {
|
|
|
25
25
|
if (idSplit.length < 2)
|
|
26
26
|
return;
|
|
27
27
|
const device = devices_1.Devices.alLDevices[`${idSplit[0]}-${idSplit[2]}`];
|
|
28
|
-
if (typeof device === 'undefined') {
|
|
28
|
+
if (typeof device === 'undefined' || device.update === undefined) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
try {
|
|
32
32
|
device.update(idSplit, state, initial, false);
|
|
33
33
|
}
|
|
34
34
|
catch (e) {
|
|
35
|
-
|
|
35
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Alert, `deviceUpdater.updateState('${id}', '${state}'): Error occured updating Device: ${e} \n ${e.stack}`);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { deviceConfig } from '../../models
|
|
2
|
-
import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
|
|
3
|
-
import { iRoomImportEnforcer } from '../../models/rooms/iRoomImportEnforcer';
|
|
1
|
+
import { deviceConfig, iRoomImportEnforcer } from '../../models';
|
|
4
2
|
import { iEnergyManager } from './iEnergyManager';
|
|
3
|
+
import { IBaseDevice } from './iBaseDevice';
|
|
5
4
|
export declare class Devices {
|
|
6
5
|
static IDENTIFIER_HOMEMATIC: string;
|
|
7
6
|
static IDENTIFIER_JS: string;
|
|
8
7
|
static IDENTIFIER_ZIGBEE: string;
|
|
9
8
|
static alLDevices: {
|
|
10
|
-
[id: string]:
|
|
9
|
+
[id: string]: IBaseDevice;
|
|
11
10
|
};
|
|
12
11
|
static energymanager?: iEnergyManager;
|
|
13
12
|
constructor(pDeviceData: {
|
|
@@ -15,8 +14,8 @@ export declare class Devices {
|
|
|
15
14
|
}, pRoomImportEnforcer?: iRoomImportEnforcer);
|
|
16
15
|
static midnightReset(): void;
|
|
17
16
|
static resetPraesenzCount(): void;
|
|
18
|
-
private processZigbeeDevice;
|
|
19
|
-
private processHMIPDevice;
|
|
20
17
|
static getBatteryInfo(): string;
|
|
21
|
-
private
|
|
18
|
+
private static processZigbeeDevice;
|
|
19
|
+
private static processHMIPDevice;
|
|
20
|
+
private static createEnergyManager;
|
|
22
21
|
}
|
|
@@ -1,46 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Devices = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const models_1 = require("../../models");
|
|
5
|
+
const hmIPDevices_1 = require("./hmIPDevices");
|
|
6
|
+
const zigbee_1 = require("./zigbee");
|
|
6
7
|
const deviceType_1 = require("./deviceType");
|
|
7
|
-
const
|
|
8
|
-
const log_service_1 = require("../services/log-service/log-service");
|
|
8
|
+
const services_1 = require("../services");
|
|
9
9
|
const DeviceInfo_1 = require("./DeviceInfo");
|
|
10
|
-
const
|
|
11
|
-
const hmIpBewegung_1 = require("./hmIPDevices/hmIpBewegung");
|
|
12
|
-
const zigbeeAquaraVibra_1 = require("./zigbee/zigbeeAquaraVibra");
|
|
13
|
-
const zigbeeAquaraMotion_1 = require("./zigbee/zigbeeAquaraMotion");
|
|
14
|
-
const zigbeeIkeaSteckdose_1 = require("./zigbee/zigbeeIkeaSteckdose");
|
|
15
|
-
const zigbeeIlluLedRGBCCT_1 = require("./zigbee/zigbeeIlluLedRGBCCT");
|
|
16
|
-
const zigbeeIlluDimmer_1 = require("./zigbee/zigbeeIlluDimmer");
|
|
17
|
-
const zigbeeHeimanSmoke_1 = require("./zigbee/zigbeeHeimanSmoke");
|
|
18
|
-
const zigbeeAquaraWater_1 = require("./zigbee/zigbeeAquaraWater");
|
|
19
|
-
const zigbeeBlitzShp_1 = require("./zigbee/zigbeeBlitzShp");
|
|
20
|
-
const zigbeeIlluLampe_1 = require("./zigbee/zigbeeIlluLampe");
|
|
21
|
-
const zigbeeIlluActuator_1 = require("./zigbee/zigbeeIlluActuator");
|
|
22
|
-
const hmIpLampe_1 = require("./hmIPDevices/hmIpLampe");
|
|
23
|
-
const hmIpRoll_1 = require("./hmIPDevices/hmIpRoll");
|
|
24
|
-
const hmIpTaster_1 = require("./hmIPDevices/hmIpTaster");
|
|
25
|
-
const hmIpWippe_1 = require("./hmIPDevices/hmIpWippe");
|
|
26
|
-
const hmIpGriff_1 = require("./hmIPDevices/hmIpGriff");
|
|
27
|
-
const hmIpTherm_1 = require("./hmIPDevices/hmIpTherm");
|
|
28
|
-
const hmIpHeizung_1 = require("./hmIPDevices/hmIpHeizung");
|
|
29
|
-
const hmIpTuer_1 = require("./hmIPDevices/hmIpTuer");
|
|
30
|
-
const hmIpHeizgruppe_1 = require("./hmIPDevices/hmIpHeizgruppe");
|
|
31
|
-
const zigbeeIlluShutter_1 = require("./zigbee/zigbeeIlluShutter");
|
|
32
|
-
const zigbeeSMaBiTMagnetContact_1 = require("./zigbee/zigbeeSMaBiTMagnetContact");
|
|
33
|
-
const zigbeeSonoffMotion_1 = require("./zigbee/zigbeeSonoffMotion");
|
|
34
|
-
const hmIpAccessPoint_1 = require("./hmIPDevices/hmIpAccessPoint");
|
|
35
|
-
const zigbeeAqaraMagnetContact_1 = require("./zigbee/zigbeeAqaraMagnetContact");
|
|
36
|
-
const zigbeeSonoffTemp_1 = require("./zigbee/zigbeeSonoffTemp");
|
|
37
|
-
const zigbeeAqaraOpple3Switch_1 = require("./zigbee/zigbeeAqaraOpple3Switch");
|
|
38
|
-
const jsObjectEnergyManager_1 = require("./jsObject/jsObjectEnergyManager");
|
|
10
|
+
const jsObject_1 = require("./jsObject");
|
|
39
11
|
class Devices {
|
|
40
12
|
constructor(pDeviceData, pRoomImportEnforcer) {
|
|
41
13
|
// This forces import of rooms at correct timing, to allow devices to land in proper rooms.
|
|
42
14
|
pRoomImportEnforcer === null || pRoomImportEnforcer === void 0 ? void 0 : pRoomImportEnforcer.addRoomConstructor();
|
|
43
|
-
|
|
15
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Constructing devices now`);
|
|
44
16
|
for (const cID in pDeviceData) {
|
|
45
17
|
const cDevConf = pDeviceData[cID];
|
|
46
18
|
if (!cDevConf.common ||
|
|
@@ -52,182 +24,180 @@ class Devices {
|
|
|
52
24
|
}
|
|
53
25
|
const cName = cDevConf.common.name;
|
|
54
26
|
if (cName.indexOf('00-HmIP') === 0) {
|
|
55
|
-
|
|
27
|
+
Devices.processHMIPDevice(cDevConf);
|
|
56
28
|
}
|
|
57
29
|
else if (cName.indexOf('00-Zigbee') === 0) {
|
|
58
|
-
|
|
30
|
+
Devices.processZigbeeDevice(cDevConf);
|
|
59
31
|
}
|
|
60
32
|
else if (cName.indexOf('00-EnergyManager') === 0) {
|
|
61
|
-
|
|
62
|
-
|
|
33
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Found Energy-Manager in Device json.`);
|
|
34
|
+
Devices.createEnergyManager(cDevConf);
|
|
63
35
|
}
|
|
64
36
|
}
|
|
65
|
-
|
|
66
|
-
|
|
37
|
+
hmIPDevices_1.HmIPDevice.checkMissing();
|
|
38
|
+
zigbee_1.ZigbeeDevice.checkMissing();
|
|
67
39
|
}
|
|
68
40
|
static midnightReset() {
|
|
69
41
|
// Nothing yet
|
|
70
42
|
}
|
|
71
43
|
static resetPraesenzCount() {
|
|
72
|
-
|
|
44
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, `3 Uhr Reset der Präsenzmelder`);
|
|
73
45
|
for (const dID in Devices.alLDevices) {
|
|
74
46
|
const d = Devices.alLDevices[dID];
|
|
75
|
-
if (d.deviceType === deviceType_1.DeviceType.HmIpPraezenz
|
|
76
|
-
|
|
47
|
+
if (d.deviceType === deviceType_1.DeviceType.HmIpPraezenz ||
|
|
48
|
+
d.deviceType === deviceType_1.DeviceType.HmIpBewegung ||
|
|
49
|
+
d.deviceType === deviceType_1.DeviceType.ZigbeeSonoffMotion ||
|
|
50
|
+
d.deviceType === deviceType_1.DeviceType.ZigbeeAquaraMotion) {
|
|
51
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `2 Uhr Reset der Tages Detektionen von ${d.info.customName}`);
|
|
77
52
|
d.detectionsToday = 0;
|
|
78
53
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static getBatteryInfo() {
|
|
57
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Getting Battery Info`);
|
|
58
|
+
let data = [];
|
|
59
|
+
const result = [
|
|
60
|
+
`These are the battery values for each device. Device dependandt some are in volts, some in %`,
|
|
61
|
+
];
|
|
62
|
+
for (const key in this.alLDevices) {
|
|
63
|
+
const d = this.alLDevices[key];
|
|
64
|
+
if (d.battery !== undefined) {
|
|
65
|
+
data.push({ name: d.info.customName, amount: d.battery });
|
|
86
66
|
}
|
|
87
67
|
}
|
|
68
|
+
data = data.sort((a, b) => {
|
|
69
|
+
return a.amount - b.amount;
|
|
70
|
+
});
|
|
71
|
+
for (let i = 0; i < data.length; i++) {
|
|
72
|
+
result.push(`${data[i].amount}\t${data[i].name}`);
|
|
73
|
+
}
|
|
74
|
+
return result.join('\n');
|
|
88
75
|
}
|
|
89
|
-
processZigbeeDevice(cDevConf) {
|
|
76
|
+
static processZigbeeDevice(cDevConf) {
|
|
90
77
|
const zigbeeInfo = new DeviceInfo_1.DeviceInfo(cDevConf);
|
|
91
78
|
const fullName = `${Devices.IDENTIFIER_ZIGBEE}-${zigbeeInfo.devID}`;
|
|
92
79
|
zigbeeInfo.allDevicesKey = fullName;
|
|
93
80
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
94
81
|
return;
|
|
95
82
|
}
|
|
96
|
-
|
|
83
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `${zigbeeInfo.devID} with Type "${zigbeeInfo.deviceType}" doesn't exists --> create it`);
|
|
97
84
|
let d;
|
|
98
85
|
switch (zigbeeInfo.deviceType) {
|
|
99
86
|
case 'AqaraMagnetContact':
|
|
100
|
-
d = new
|
|
87
|
+
d = new zigbee_1.ZigbeeAqaraMagnetContact(zigbeeInfo);
|
|
101
88
|
break;
|
|
102
89
|
case 'AqaraOpple3Switch':
|
|
103
|
-
d = new
|
|
90
|
+
d = new zigbee_1.ZigbeeAqaraOpple3Switch(zigbeeInfo);
|
|
104
91
|
break;
|
|
105
92
|
case 'AquaraMotion':
|
|
106
|
-
d = new
|
|
93
|
+
d = new zigbee_1.ZigbeeAquaraMotion(zigbeeInfo);
|
|
107
94
|
break;
|
|
108
95
|
case 'AquaraVibra':
|
|
109
|
-
d = new
|
|
96
|
+
d = new zigbee_1.ZigbeeAquaraVibra(zigbeeInfo);
|
|
110
97
|
break;
|
|
111
98
|
case 'AquaraWater':
|
|
112
|
-
d = new
|
|
99
|
+
d = new zigbee_1.ZigbeeAquaraWater(zigbeeInfo);
|
|
113
100
|
break;
|
|
114
101
|
case 'BlitzShp':
|
|
115
|
-
d = new
|
|
102
|
+
d = new zigbee_1.ZigbeeBlitzShp(zigbeeInfo);
|
|
116
103
|
break;
|
|
117
104
|
case 'HeimanSmoke':
|
|
118
|
-
d = new
|
|
105
|
+
d = new zigbee_1.ZigbeeHeimanSmoke(zigbeeInfo);
|
|
119
106
|
break;
|
|
120
107
|
case 'IkeaStecker':
|
|
121
|
-
d = new
|
|
108
|
+
d = new zigbee_1.ZigbeeIkeaSteckdose(zigbeeInfo);
|
|
122
109
|
break;
|
|
123
110
|
case 'IlluActuator':
|
|
124
|
-
d = new
|
|
111
|
+
d = new zigbee_1.ZigbeeIlluActuator(zigbeeInfo);
|
|
125
112
|
break;
|
|
126
113
|
case 'IlluDimmer':
|
|
127
|
-
d = new
|
|
114
|
+
d = new zigbee_1.ZigbeeIlluDimmer(zigbeeInfo);
|
|
128
115
|
break;
|
|
129
116
|
case 'IlluLampe':
|
|
130
|
-
d = new
|
|
117
|
+
d = new zigbee_1.ZigbeeIlluLampe(zigbeeInfo);
|
|
131
118
|
break;
|
|
132
119
|
case 'IlluShutter':
|
|
133
|
-
d = new
|
|
120
|
+
d = new zigbee_1.ZigbeeIlluShutter(zigbeeInfo);
|
|
134
121
|
break;
|
|
135
122
|
case 'LedRGBCCT':
|
|
136
|
-
d = new
|
|
123
|
+
d = new zigbee_1.ZigbeeIlluLedRGBCCT(zigbeeInfo);
|
|
137
124
|
break;
|
|
138
125
|
case 'SMaBiTMagnet':
|
|
139
|
-
d = new
|
|
126
|
+
d = new zigbee_1.ZigbeeSMaBiTMagnetContact(zigbeeInfo);
|
|
140
127
|
break;
|
|
141
128
|
case 'SonoffMotion':
|
|
142
|
-
d = new
|
|
129
|
+
d = new zigbee_1.ZigbeeSonoffMotion(zigbeeInfo);
|
|
143
130
|
break;
|
|
144
131
|
case 'SonoffTemp':
|
|
145
|
-
d = new
|
|
132
|
+
d = new zigbee_1.ZigbeeSonoffTemp(zigbeeInfo);
|
|
133
|
+
break;
|
|
134
|
+
case 'UbisysShutter':
|
|
135
|
+
d = new zigbee_1.ZigbeeUbisysShutter(zigbeeInfo);
|
|
146
136
|
break;
|
|
147
137
|
default:
|
|
148
|
-
|
|
149
|
-
d = new
|
|
138
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No zigbee Device Type for ${zigbeeInfo.deviceType} defined`);
|
|
139
|
+
d = new zigbee_1.ZigbeeDevice(zigbeeInfo, deviceType_1.DeviceType.unknown);
|
|
150
140
|
}
|
|
151
141
|
Devices.alLDevices[fullName] = d;
|
|
152
142
|
}
|
|
153
|
-
processHMIPDevice(cDevConf) {
|
|
143
|
+
static processHMIPDevice(cDevConf) {
|
|
154
144
|
const hmIPInfo = new DeviceInfo_1.DeviceInfo(cDevConf);
|
|
155
145
|
const fullName = `${Devices.IDENTIFIER_HOMEMATIC}-${hmIPInfo.devID}`;
|
|
156
146
|
hmIPInfo.allDevicesKey = fullName;
|
|
157
147
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
158
148
|
return;
|
|
159
149
|
}
|
|
160
|
-
|
|
150
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `${hmIPInfo.devID} with Type "${hmIPInfo.deviceType}" doesn't exists --> create it`);
|
|
161
151
|
let d;
|
|
162
152
|
switch (hmIPInfo.deviceType) {
|
|
163
153
|
case 'Lampe':
|
|
164
|
-
d = new
|
|
154
|
+
d = new hmIPDevices_1.HmIpLampe(hmIPInfo);
|
|
165
155
|
break;
|
|
166
156
|
case 'Roll':
|
|
167
157
|
case 'Broll':
|
|
168
|
-
d = new
|
|
158
|
+
d = new hmIPDevices_1.HmIpRoll(hmIPInfo);
|
|
169
159
|
break;
|
|
170
160
|
case 'Beweg':
|
|
171
|
-
d = new
|
|
161
|
+
d = new hmIPDevices_1.HmIpBewegung(hmIPInfo);
|
|
172
162
|
break;
|
|
173
163
|
case 'Taster':
|
|
174
|
-
d = new
|
|
164
|
+
d = new hmIPDevices_1.HmIpTaster(hmIPInfo);
|
|
175
165
|
break;
|
|
176
166
|
case 'Wippe':
|
|
177
|
-
d = new
|
|
167
|
+
d = new hmIPDevices_1.HmIpWippe(hmIPInfo);
|
|
178
168
|
break;
|
|
179
169
|
case 'Praezenz':
|
|
180
|
-
d = new
|
|
170
|
+
d = new hmIPDevices_1.HmIpPraezenz(hmIPInfo);
|
|
181
171
|
break;
|
|
182
172
|
case 'Griff':
|
|
183
|
-
d = new
|
|
173
|
+
d = new hmIPDevices_1.HmIpGriff(hmIPInfo);
|
|
184
174
|
break;
|
|
185
175
|
case 'Thermostat':
|
|
186
|
-
d = new
|
|
176
|
+
d = new hmIPDevices_1.HmIpTherm(hmIPInfo);
|
|
187
177
|
break;
|
|
188
178
|
case 'Heizung':
|
|
189
|
-
d = new
|
|
179
|
+
d = new hmIPDevices_1.HmIpHeizung(hmIPInfo);
|
|
190
180
|
break;
|
|
191
181
|
case 'Tuer':
|
|
192
|
-
d = new
|
|
182
|
+
d = new hmIPDevices_1.HmIpTuer(hmIPInfo);
|
|
193
183
|
break;
|
|
194
184
|
case 'HeizGr':
|
|
195
|
-
d = new
|
|
185
|
+
d = new hmIPDevices_1.HmIpHeizgruppe(hmIPInfo);
|
|
196
186
|
break;
|
|
197
187
|
case 'AccessPoint':
|
|
198
|
-
d = new
|
|
188
|
+
d = new hmIPDevices_1.HmIpAccessPoint(hmIPInfo);
|
|
199
189
|
break;
|
|
200
190
|
default:
|
|
201
|
-
|
|
202
|
-
d = new
|
|
191
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No HmIP Device Type for ${hmIPInfo.deviceType} defined`);
|
|
192
|
+
d = new hmIPDevices_1.HmIPDevice(hmIPInfo, deviceType_1.DeviceType.unknown);
|
|
203
193
|
}
|
|
204
194
|
Devices.alLDevices[fullName] = d;
|
|
205
195
|
}
|
|
206
|
-
static
|
|
207
|
-
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Getting Battery Info`);
|
|
208
|
-
let data = [];
|
|
209
|
-
const result = [
|
|
210
|
-
`These are the battery values for each device. Device dependandt some are in volts, some in %`,
|
|
211
|
-
];
|
|
212
|
-
for (const key in this.alLDevices) {
|
|
213
|
-
const d = this.alLDevices[key];
|
|
214
|
-
if (d.battery !== undefined) {
|
|
215
|
-
data.push({ name: d.info.customName, amount: d.battery });
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
data = data.sort((a, b) => {
|
|
219
|
-
return a.amount - b.amount;
|
|
220
|
-
});
|
|
221
|
-
for (let i = 0; i < data.length; i++) {
|
|
222
|
-
result.push(`${data[i].amount}\t${data[i].name}`);
|
|
223
|
-
}
|
|
224
|
-
return result.join('\n');
|
|
225
|
-
}
|
|
226
|
-
createEnergyManager(cDevConf) {
|
|
196
|
+
static createEnergyManager(cDevConf) {
|
|
227
197
|
const devInfo = new DeviceInfo_1.DeviceInfo(cDevConf, true);
|
|
228
198
|
const fullName = `${Devices.IDENTIFIER_JS}-${devInfo.devID}`;
|
|
229
199
|
devInfo.allDevicesKey = fullName;
|
|
230
|
-
Devices.energymanager = new
|
|
200
|
+
Devices.energymanager = new jsObject_1.JsObjectEnergyManager(devInfo);
|
|
231
201
|
Devices.alLDevices[fullName] = Devices.energymanager;
|
|
232
202
|
}
|
|
233
203
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { HmIpGriff } from '../hmIPDevices
|
|
2
|
-
import {
|
|
3
|
-
import { FensterPosition } from '../models/FensterPosition';
|
|
1
|
+
import { HmIpGriff } from '../hmIPDevices';
|
|
2
|
+
import { FensterPosition } from '../models';
|
|
4
3
|
import { iShutter } from '../iShutter';
|
|
5
4
|
import { BaseGroup } from './base-group';
|
|
6
|
-
import { ZigbeeMagnetContact } from '../zigbee
|
|
5
|
+
import { ZigbeeMagnetContact } from '../zigbee';
|
|
6
|
+
import { iVibrationSensor } from '../iVibrationSensor';
|
|
7
7
|
export declare class Fenster extends BaseGroup {
|
|
8
8
|
noRolloOnSunrise: boolean;
|
|
9
9
|
desiredPosition: number;
|
|
10
|
+
constructor(roomName: string, handleIds?: string[], vibrationIds?: string[], shutterIds?: string[], magnetIds?: string[], noRolloOnSunrise?: boolean);
|
|
10
11
|
/**
|
|
11
12
|
* sets the desired Pos and moves rollo to this level
|
|
12
13
|
* @param {number} value
|
|
13
14
|
*/
|
|
14
15
|
setDesiredPosition(value: number): void;
|
|
15
|
-
constructor(roomName: string, handleIds?: string[], vibrationIds?: string[], shutterIds?: string[], magnetIds?: string[], noRolloOnSunrise?: boolean);
|
|
16
16
|
getHandle(): HmIpGriff[];
|
|
17
17
|
getMagnetContact(): ZigbeeMagnetContact[];
|
|
18
18
|
getShutter(): iShutter[];
|
|
19
|
-
getVibration():
|
|
19
|
+
getVibration(): iVibrationSensor[];
|
|
20
20
|
griffeInPosition(pPosition: FensterPosition): number;
|
|
21
21
|
initialize(): void;
|
|
22
22
|
rolloPositionChange(pValue: number): void;
|