hoffmation-base 0.1.41-20 → 0.1.41-22
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 +1 -1
- package/lib/models/deviceSettings/heaterSettings.d.ts +16 -0
- package/lib/models/deviceSettings/heaterSettings.js +16 -0
- package/lib/models/rooms/RoomBase.js +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/roomAddDeviceItem.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/roomAddDeviceItem.js +2 -2
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -4
- package/lib/models/rooms/roomInfo.d.ts +1 -1
- package/lib/server/config/iConfig.d.ts +1 -2
- package/lib/server/devices/DeviceInfo.d.ts +3 -3
- package/lib/server/devices/DeviceInfo.js +3 -3
- package/lib/server/devices/Griffe.d.ts +1 -1
- package/lib/server/devices/Griffe.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +1 -1
- package/lib/server/devices/{iBaseDevice.d.ts → baseDeviceInterfaces/iBaseDevice.d.ts} +3 -3
- package/lib/server/devices/{iBaseDevice.js → baseDeviceInterfaces/iBaseDevice.js} +0 -0
- package/lib/server/devices/{iButtonSwitch.d.ts → baseDeviceInterfaces/iButtonSwitch.d.ts} +1 -1
- package/lib/server/devices/{iButtonSwitch.js → baseDeviceInterfaces/iButtonSwitch.js} +0 -0
- package/lib/server/devices/{iEnergyManager.d.ts → baseDeviceInterfaces/iEnergyManager.d.ts} +0 -0
- package/lib/server/devices/{iEnergyManager.js → baseDeviceInterfaces/iEnergyManager.js} +0 -0
- package/lib/server/devices/{iExcessEnergyConsumer.d.ts → baseDeviceInterfaces/iExcessEnergyConsumer.d.ts} +1 -1
- package/lib/server/devices/{iExcessEnergyConsumer.js → baseDeviceInterfaces/iExcessEnergyConsumer.js} +0 -0
- package/lib/server/devices/{iHeater.d.ts → baseDeviceInterfaces/iHeater.d.ts} +4 -1
- package/lib/server/devices/{iHeater.js → baseDeviceInterfaces/iHeater.js} +0 -0
- package/lib/server/devices/{iHumiditySensor.d.ts → baseDeviceInterfaces/iHumiditySensor.d.ts} +0 -0
- package/lib/server/devices/{iHumiditySensor.js → baseDeviceInterfaces/iHumiditySensor.js} +0 -0
- package/lib/server/devices/{iIlluminationSensor.d.ts → baseDeviceInterfaces/iIlluminationSensor.d.ts} +0 -0
- package/lib/server/devices/{iIlluminationSensor.js → baseDeviceInterfaces/iIlluminationSensor.js} +0 -0
- package/lib/server/devices/{iLamp.d.ts → baseDeviceInterfaces/iLamp.d.ts} +1 -1
- package/lib/server/devices/{iLamp.js → baseDeviceInterfaces/iLamp.js} +0 -0
- package/lib/server/devices/{iMotionSensor.d.ts → baseDeviceInterfaces/iMotionSensor.d.ts} +1 -1
- package/lib/server/devices/{iMotionSensor.js → baseDeviceInterfaces/iMotionSensor.js} +0 -0
- package/lib/server/devices/{iShutter.d.ts → baseDeviceInterfaces/iShutter.d.ts} +1 -1
- package/lib/server/devices/{iShutter.js → baseDeviceInterfaces/iShutter.js} +0 -0
- package/lib/server/devices/{iTemperaturSensor.d.ts → baseDeviceInterfaces/iTemperaturSensor.d.ts} +2 -0
- package/lib/server/devices/{iTemperaturSensor.js → baseDeviceInterfaces/iTemperaturSensor.js} +2 -0
- package/lib/server/devices/{iVibrationSensor.d.ts → baseDeviceInterfaces/iVibrationSensor.d.ts} +0 -0
- package/lib/server/devices/{iVibrationSensor.js → baseDeviceInterfaces/iVibrationSensor.js} +0 -0
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/index.js +28 -0
- package/lib/server/devices/device-cluster.d.ts +1 -1
- package/lib/server/devices/device-list.d.ts +1 -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 +1 -2
- package/lib/server/devices/devices.js +4 -0
- package/lib/server/devices/groups/Fenster.d.ts +1 -2
- package/lib/server/devices/groups/base-group.d.ts +2 -3
- package/lib/server/devices/groups/base-group.js +3 -5
- package/lib/server/devices/groups/heatGroup.d.ts +4 -4
- package/lib/server/devices/groups/heatGroup.js +46 -1
- package/lib/server/devices/groups/lampenGroup.d.ts +1 -1
- package/lib/server/devices/groups/praesenzGroup.d.ts +1 -1
- package/lib/server/devices/groups/smokeGroup.d.ts +2 -2
- package/lib/server/devices/groups/smokeGroup.js +3 -3
- package/lib/server/devices/groups/sonosGroup.d.ts +1 -1
- package/lib/server/devices/groups/sonosGroup.js +2 -2
- package/lib/server/devices/groups/tasterGroup.d.ts +1 -1
- package/lib/server/devices/groups/waterGroup.d.ts +2 -2
- package/lib/server/devices/groups/waterGroup.js +3 -3
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +5 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +3 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +21 -23
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +14 -4
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +60 -6
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +4 -4
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +9 -9
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +21 -21
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +18 -21
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +4 -4
- package/lib/server/devices/index.d.ts +1 -12
- package/lib/server/devices/index.js +1 -12
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +1 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +7 -7
- package/lib/server/devices/wledDevice.js +9 -9
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +40 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +1 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeMotionSensor.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +2 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +5 -3
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +16 -2
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +17 -2
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +98 -2
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -3
- package/lib/server/ioBroker/ioBroker.main.js +12 -16
- package/lib/server/services/HTTPSOptions.js +3 -3
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -3
- package/lib/server/services/Sonos/mp3-server.d.ts +1 -1
- package/lib/server/services/Sonos/mp3-server.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +2 -2
- package/lib/server/services/Sonos/polly-service.js +10 -10
- package/lib/server/services/Sonos/sonos-service.d.ts +4 -4
- package/lib/server/services/Sonos/sonos-service.js +22 -23
- package/lib/server/services/Translation/res.d.ts +1 -1
- package/lib/server/services/calendar/muell-tonne.d.ts +1 -1
- package/lib/server/services/calendar/muell-tonne.js +14 -14
- package/lib/server/services/https-service.d.ts +1 -1
- package/lib/server/services/https-service.js +11 -11
- package/lib/server/services/log-service/log-object.d.ts +1 -1
- package/lib/server/services/log-service/log-service.d.ts +4 -4
- package/lib/server/services/log-service/log-service.js +11 -11
- package/lib/server/services/news-service.d.ts +9 -9
- package/lib/server/services/news-service.js +40 -41
- package/lib/server/services/settings-service.d.ts +2 -2
- package/lib/server/services/settings-service.js +3 -3
- package/lib/server/services/utils/utils.d.ts +2 -0
- package/lib/server/services/utils/utils.js +9 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/lib/index.js
CHANGED
|
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.HoffmationBase = exports.HoffmationInitializationObject = void 0;
|
|
18
|
-
const models_1 = require("./models");
|
|
19
18
|
const server_1 = require("./server");
|
|
19
|
+
const models_1 = require("./models");
|
|
20
20
|
__exportStar(require("./models/index"), exports);
|
|
21
21
|
__exportStar(require("./server/index"), exports);
|
|
22
22
|
class HoffmationInitializationObject {
|
|
@@ -3,4 +3,20 @@ export declare class HeaterSettings extends DeviceSettings {
|
|
|
3
3
|
automaticMode: boolean;
|
|
4
4
|
automaticFallBackTemperatur: number;
|
|
5
5
|
useOwnTemperatur: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Whether this device should turn off at Start of summer season and only heat in winter
|
|
8
|
+
* @type {boolean}
|
|
9
|
+
*/
|
|
10
|
+
seasonalTurnOffActive: boolean;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* The day in a year after which SeasonalHeater should be turned off completly
|
|
14
|
+
* @type {number}
|
|
15
|
+
*/
|
|
16
|
+
seasonTurnOffDay: number;
|
|
17
|
+
/**
|
|
18
|
+
* The day in a year after which SeasonalHeater should be turned to automatic
|
|
19
|
+
* @type {number}
|
|
20
|
+
*/
|
|
21
|
+
seasonTurnOnDay: number;
|
|
6
22
|
}
|
|
@@ -8,6 +8,22 @@ class HeaterSettings extends deviceSettings_1.DeviceSettings {
|
|
|
8
8
|
this.automaticMode = true;
|
|
9
9
|
this.automaticFallBackTemperatur = 20;
|
|
10
10
|
this.useOwnTemperatur = true;
|
|
11
|
+
/**
|
|
12
|
+
* Whether this device should turn off at Start of summer season and only heat in winter
|
|
13
|
+
* @type {boolean}
|
|
14
|
+
*/
|
|
15
|
+
this.seasonalTurnOffActive = true;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* The day in a year after which SeasonalHeater should be turned off completly
|
|
19
|
+
* @type {number}
|
|
20
|
+
*/
|
|
21
|
+
this.seasonTurnOffDay = 99;
|
|
22
|
+
/**
|
|
23
|
+
* The day in a year after which SeasonalHeater should be turned to automatic
|
|
24
|
+
* @type {number}
|
|
25
|
+
*/
|
|
26
|
+
this.seasonTurnOnDay = 267;
|
|
11
27
|
}
|
|
12
28
|
}
|
|
13
29
|
exports.HeaterSettings = HeaterSettings;
|
|
@@ -54,12 +54,13 @@ class RoomBase {
|
|
|
54
54
|
return this.info.etage;
|
|
55
55
|
}
|
|
56
56
|
initializeBase() {
|
|
57
|
-
var _a, _b, _c;
|
|
57
|
+
var _a, _b, _c, _d;
|
|
58
58
|
this.log(logLevel_1.LogLevel.Debug, `RoomBase Init für ${this.roomName}`);
|
|
59
59
|
this.recalcTimeCallbacks();
|
|
60
60
|
(_a = this.PraesenzGroup) === null || _a === void 0 ? void 0 : _a.initCallbacks();
|
|
61
61
|
(_b = this.FensterGroup) === null || _b === void 0 ? void 0 : _b.initialize();
|
|
62
62
|
(_c = this.TasterGroup) === null || _c === void 0 ? void 0 : _c.initCallbacks();
|
|
63
|
+
(_d = this.HeatGroup) === null || _d === void 0 ? void 0 : _d.initialize();
|
|
63
64
|
}
|
|
64
65
|
persist() {
|
|
65
66
|
var _a;
|
|
@@ -3,7 +3,7 @@ import { RoomDeviceAddingSettings } from './roomDeviceAddingSettings';
|
|
|
3
3
|
export declare class RoomInitializationSettings implements iRoomInitializationSettings {
|
|
4
4
|
shortName: string;
|
|
5
5
|
etage: number;
|
|
6
|
-
constructor(shortName: string, etage?: number);
|
|
7
6
|
deviceAddidngSettings?: RoomDeviceAddingSettings;
|
|
7
|
+
constructor(shortName: string, etage?: number);
|
|
8
8
|
static registerRoomForDevices(roomInitializationSettings: RoomInitializationSettings): void;
|
|
9
9
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RoomInitializationSettings = void 0;
|
|
4
|
-
const
|
|
4
|
+
const server_1 = require("../../../server");
|
|
5
5
|
class RoomInitializationSettings {
|
|
6
6
|
constructor(shortName, etage = -1) {
|
|
7
7
|
this.shortName = shortName;
|
|
@@ -9,7 +9,7 @@ class RoomInitializationSettings {
|
|
|
9
9
|
}
|
|
10
10
|
static registerRoomForDevices(roomInitializationSettings) {
|
|
11
11
|
if (roomInitializationSettings.deviceAddidngSettings !== undefined) {
|
|
12
|
-
|
|
12
|
+
server_1.IoBrokerBaseDevice.addRoom(roomInitializationSettings.shortName, roomInitializationSettings.deviceAddidngSettings);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -3,8 +3,8 @@ export declare class RoomAddDeviceItem {
|
|
|
3
3
|
setID: (value: string) => RoomBase;
|
|
4
4
|
index: number;
|
|
5
5
|
customName: string;
|
|
6
|
+
constructor(setID: (value: string) => RoomBase, index: number, customName: string);
|
|
6
7
|
private _added;
|
|
7
8
|
get added(): boolean;
|
|
8
9
|
set added(value: boolean);
|
|
9
|
-
constructor(setID: (value: string) => RoomBase, index: number, customName: string);
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RoomAddDeviceItem = void 0;
|
|
4
|
-
const
|
|
4
|
+
const server_1 = require("../../../server");
|
|
5
5
|
const logLevel_1 = require("../../logLevel");
|
|
6
6
|
class RoomAddDeviceItem {
|
|
7
7
|
constructor(setID, index, customName) {
|
|
@@ -15,7 +15,7 @@ class RoomAddDeviceItem {
|
|
|
15
15
|
}
|
|
16
16
|
set added(value) {
|
|
17
17
|
if (this._added) {
|
|
18
|
-
|
|
18
|
+
server_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${this.customName} Added twice`);
|
|
19
19
|
}
|
|
20
20
|
this._added = value;
|
|
21
21
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DeviceType } from '../../../server';
|
|
1
2
|
import { RoomAddDeviceItem } from './roomAddDeviceItem';
|
|
2
|
-
import { DeviceType } from '../../../server/devices/deviceType';
|
|
3
3
|
import { RoomBase } from '../RoomBase';
|
|
4
4
|
export declare class RoomDeviceAddingSettings {
|
|
5
5
|
RoomName: string;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RoomDeviceAddingSettings = void 0;
|
|
4
|
-
const
|
|
4
|
+
const server_1 = require("../../../server");
|
|
5
5
|
const roomAddDeviceItem_1 = require("./roomAddDeviceItem");
|
|
6
6
|
const logLevel_1 = require("../../logLevel");
|
|
7
|
-
const deviceType_1 = require("../../../server/devices/deviceType");
|
|
8
7
|
class RoomDeviceAddingSettings {
|
|
9
8
|
constructor(RoomName) {
|
|
10
9
|
this.RoomName = RoomName;
|
|
@@ -15,7 +14,7 @@ class RoomDeviceAddingSettings {
|
|
|
15
14
|
this.devices[deviceType] = [];
|
|
16
15
|
}
|
|
17
16
|
if (customName === undefined) {
|
|
18
|
-
customName = `${this.RoomName} ${
|
|
17
|
+
customName = `${this.RoomName} ${server_1.DeviceType[deviceType]}`;
|
|
19
18
|
}
|
|
20
19
|
this.devices[deviceType][index] = new roomAddDeviceItem_1.RoomAddDeviceItem(setID, index, customName);
|
|
21
20
|
}
|
|
@@ -25,7 +24,7 @@ class RoomDeviceAddingSettings {
|
|
|
25
24
|
for (const index in devs) {
|
|
26
25
|
const dev = devs[index];
|
|
27
26
|
if (!dev.added) {
|
|
28
|
-
|
|
27
|
+
server_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { LogLevel } from '../../models
|
|
2
|
-
import { iRoomDefaultSettings } from '../../models/rooms/RoomSettings/iRoomDefaultSettings';
|
|
1
|
+
import { iRoomDefaultSettings, LogLevel } from '../../models';
|
|
3
2
|
import { PoolConfig } from 'pg';
|
|
4
3
|
interface iSonosSettings {
|
|
5
4
|
active: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deviceConfig } from '../../models
|
|
1
|
+
import { deviceConfig } from '../../models';
|
|
2
2
|
export declare class DeviceInfo {
|
|
3
3
|
devID: string;
|
|
4
4
|
room: string;
|
|
@@ -6,7 +6,6 @@ export declare class DeviceInfo {
|
|
|
6
6
|
deviceRoomIndex: number;
|
|
7
7
|
type: 'device' | 'channel' | 'state';
|
|
8
8
|
fullName: string;
|
|
9
|
-
private _customName?;
|
|
10
9
|
fullID: string;
|
|
11
10
|
channel?: number;
|
|
12
11
|
valueName?: string;
|
|
@@ -19,7 +18,8 @@ export declare class DeviceInfo {
|
|
|
19
18
|
* so we name the first child state for the object creation (e.g. javascript.0.00-EnergyManager.CurrentProduction)
|
|
20
19
|
*/
|
|
21
20
|
constructor(pDevConf: deviceConfig, isJsStateChildObject?: boolean);
|
|
22
|
-
|
|
21
|
+
private _customName?;
|
|
23
22
|
get customName(): string;
|
|
23
|
+
set customName(val: string);
|
|
24
24
|
toJSON(): Partial<DeviceInfo>;
|
|
25
25
|
}
|
|
@@ -61,15 +61,15 @@ class DeviceInfo {
|
|
|
61
61
|
this.deviceRoomIndex = nameSplit.length >= 4 ? Number(nameSplit[3]) : 0;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
set customName(val) {
|
|
65
|
-
this._customName = val;
|
|
66
|
-
}
|
|
67
64
|
get customName() {
|
|
68
65
|
if (this._customName !== undefined) {
|
|
69
66
|
return this._customName;
|
|
70
67
|
}
|
|
71
68
|
return this.fullName;
|
|
72
69
|
}
|
|
70
|
+
set customName(val) {
|
|
71
|
+
this._customName = val;
|
|
72
|
+
}
|
|
73
73
|
toJSON() {
|
|
74
74
|
return lodash_1.default.omit(this, ['devConf']);
|
|
75
75
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Griffe = void 0;
|
|
4
4
|
const deviceType_1 = require("./deviceType");
|
|
5
|
-
const
|
|
5
|
+
const models_1 = require("./models");
|
|
6
6
|
const devices_1 = require("./devices");
|
|
7
7
|
class Griffe {
|
|
8
8
|
static getGriffPosition() {
|
|
@@ -13,7 +13,7 @@ class Griffe {
|
|
|
13
13
|
});
|
|
14
14
|
const response = [`Dies sind die aktuellen Stellungen der FensterGriffe:`];
|
|
15
15
|
for (const g of griffe) {
|
|
16
|
-
response.push(`${
|
|
16
|
+
response.push(`${models_1.FensterPosition[g.position]} Fenster: "${g.info.customName}"`);
|
|
17
17
|
}
|
|
18
18
|
return response.join('\n');
|
|
19
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="iobroker" />
|
|
2
|
-
import { IBaseDevice } from './
|
|
2
|
+
import { IBaseDevice } from './baseDeviceInterfaces';
|
|
3
3
|
import { DeviceInfo } from './DeviceInfo';
|
|
4
4
|
import { LogLevel, RoomBase, RoomDeviceAddingSettings } from '../../models';
|
|
5
5
|
import { IOBrokerConnection } from '../ioBroker';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogLevel, RoomBase } from '
|
|
2
|
-
import { DeviceType } from '
|
|
3
|
-
import { DeviceInfo } from '
|
|
1
|
+
import { LogLevel, RoomBase } from '../../../models';
|
|
2
|
+
import { DeviceType } from '../deviceType';
|
|
3
|
+
import { DeviceInfo } from '../DeviceInfo';
|
|
4
4
|
export interface IBaseDevice {
|
|
5
5
|
room: RoomBase | undefined;
|
|
6
6
|
deviceType: DeviceType;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExcessEnergyConsumerSettings } from '
|
|
1
|
+
import { ExcessEnergyConsumerSettings } from '../../../models';
|
|
2
2
|
import { IBaseDevice } from './iBaseDevice';
|
|
3
3
|
export interface iExcessEnergyConsumer extends IBaseDevice {
|
|
4
4
|
energyConsumerSettings: ExcessEnergyConsumerSettings;
|
|
File without changes
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { TemperaturSettings } from '
|
|
1
|
+
import { HeaterSettings, TemperaturSettings } from '../../../models';
|
|
2
2
|
import { IBaseDevice } from './iBaseDevice';
|
|
3
3
|
export interface iHeater extends IBaseDevice {
|
|
4
|
+
settings: HeaterSettings;
|
|
4
5
|
readonly desiredTemperatur: number;
|
|
5
6
|
readonly humidity: number;
|
|
6
7
|
readonly iLevel: number;
|
|
7
8
|
readonly iTemperatur: number;
|
|
9
|
+
set seasonTurnOff(value: boolean);
|
|
8
10
|
deleteAutomaticPoint(name: string): void;
|
|
9
11
|
setAutomaticPoint(name: string, setting: TemperaturSettings): void;
|
|
10
12
|
stopAutomaticCheck(): void;
|
|
11
13
|
checkAutomaticChange(): void;
|
|
14
|
+
onTemperaturChange(newTemperatur: number): void;
|
|
12
15
|
}
|
|
File without changes
|
package/lib/server/devices/{iHumiditySensor.d.ts → baseDeviceInterfaces/iHumiditySensor.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/server/devices/{iIlluminationSensor.js → baseDeviceInterfaces/iIlluminationSensor.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/server/devices/{iTemperaturSensor.d.ts → baseDeviceInterfaces/iTemperaturSensor.d.ts}
RENAMED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { IBaseDevice } from './iBaseDevice';
|
|
2
|
+
export declare const UNDEFINED_TEMP_VALUE = -99;
|
|
2
3
|
export interface iTemperaturSensor extends IBaseDevice {
|
|
3
4
|
iTemperatur: number;
|
|
4
5
|
sTemperatur: string;
|
|
6
|
+
addTempChangeCallback(pCallback: (pValue: number) => void): void;
|
|
5
7
|
}
|
package/lib/server/devices/{iVibrationSensor.d.ts → baseDeviceInterfaces/iVibrationSensor.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './iBaseDevice';
|
|
2
|
+
export * from './iButtonSwitch';
|
|
3
|
+
export * from './iEnergyManager';
|
|
4
|
+
export * from './iExcessEnergyConsumer';
|
|
5
|
+
export * from './iHeater';
|
|
6
|
+
export * from './iHumiditySensor';
|
|
7
|
+
export * from './iIlluminationSensor';
|
|
8
|
+
export * from './iLamp';
|
|
9
|
+
export * from './iMotionSensor';
|
|
10
|
+
export * from './iShutter';
|
|
11
|
+
export * from './iTemperaturSensor';
|
|
12
|
+
export * from './iVibrationSensor';
|
|
@@ -0,0 +1,28 @@
|
|
|
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("./iBaseDevice"), exports);
|
|
18
|
+
__exportStar(require("./iButtonSwitch"), exports);
|
|
19
|
+
__exportStar(require("./iEnergyManager"), exports);
|
|
20
|
+
__exportStar(require("./iExcessEnergyConsumer"), exports);
|
|
21
|
+
__exportStar(require("./iHeater"), exports);
|
|
22
|
+
__exportStar(require("./iHumiditySensor"), exports);
|
|
23
|
+
__exportStar(require("./iIlluminationSensor"), exports);
|
|
24
|
+
__exportStar(require("./iLamp"), exports);
|
|
25
|
+
__exportStar(require("./iMotionSensor"), exports);
|
|
26
|
+
__exportStar(require("./iShutter"), exports);
|
|
27
|
+
__exportStar(require("./iTemperaturSensor"), exports);
|
|
28
|
+
__exportStar(require("./iVibrationSensor"), exports);
|
|
@@ -2,7 +2,7 @@ import { DeviceClusterType } from './device-cluster-type';
|
|
|
2
2
|
import { DeviceList } from './device-list';
|
|
3
3
|
import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
|
|
4
4
|
import { OwnSonosDevice } from '../services';
|
|
5
|
-
import { IBaseDevice } from './
|
|
5
|
+
import { IBaseDevice } from './baseDeviceInterfaces';
|
|
6
6
|
export declare class DeviceCluster {
|
|
7
7
|
deviceMap: Map<DeviceClusterType, DeviceList>;
|
|
8
8
|
constructor(deviceMap?: Map<DeviceClusterType, DeviceList>);
|
|
@@ -34,6 +34,7 @@ var DeviceType;
|
|
|
34
34
|
DeviceType[DeviceType["ZigbeeSonoffTemp"] = 216] = "ZigbeeSonoffTemp";
|
|
35
35
|
DeviceType[DeviceType["ZigbeeAqaraOpple3Switch"] = 217] = "ZigbeeAqaraOpple3Switch";
|
|
36
36
|
DeviceType[DeviceType["ZigbeeUbisysShutter"] = 218] = "ZigbeeUbisysShutter";
|
|
37
|
+
DeviceType[DeviceType["ZigbeeTuyaValve"] = 219] = "ZigbeeTuyaValve";
|
|
37
38
|
DeviceType[DeviceType["JsEnergyManager"] = 301] = "JsEnergyManager";
|
|
38
39
|
DeviceType[DeviceType["Wled"] = 1001] = "Wled";
|
|
39
40
|
})(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { deviceConfig, iRoomImportEnforcer } from '../../models';
|
|
2
|
-
import { iEnergyManager } from './
|
|
3
|
-
import { IBaseDevice } from './iBaseDevice';
|
|
2
|
+
import { IBaseDevice, iEnergyManager } from './baseDeviceInterfaces';
|
|
4
3
|
export declare class Devices {
|
|
5
4
|
static IDENTIFIER_HOMEMATIC: string;
|
|
6
5
|
static IDENTIFIER_JS: string;
|
|
@@ -8,6 +8,7 @@ const deviceType_1 = require("./deviceType");
|
|
|
8
8
|
const services_1 = require("../services");
|
|
9
9
|
const DeviceInfo_1 = require("./DeviceInfo");
|
|
10
10
|
const jsObject_1 = require("./jsObject");
|
|
11
|
+
const zigbeeTuyaValve_1 = require("./zigbee/zigbeeTuyaValve");
|
|
11
12
|
class Devices {
|
|
12
13
|
constructor(pDeviceData, pRoomImportEnforcer) {
|
|
13
14
|
// This forces import of rooms at correct timing, to allow devices to land in proper rooms.
|
|
@@ -134,6 +135,9 @@ class Devices {
|
|
|
134
135
|
case 'UbisysShutter':
|
|
135
136
|
d = new zigbee_1.ZigbeeUbisysShutter(zigbeeInfo);
|
|
136
137
|
break;
|
|
138
|
+
case 'TuyaValve':
|
|
139
|
+
d = new zigbeeTuyaValve_1.ZigbeeTuyaValve(zigbeeInfo);
|
|
140
|
+
break;
|
|
137
141
|
default:
|
|
138
142
|
services_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No zigbee Device Type for ${zigbeeInfo.deviceType} defined`);
|
|
139
143
|
d = new zigbee_1.ZigbeeDevice(zigbeeInfo, deviceType_1.DeviceType.unknown);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { HmIpGriff } from '../hmIPDevices';
|
|
2
2
|
import { FensterPosition } from '../models';
|
|
3
|
-
import { iShutter } from '../
|
|
3
|
+
import { iShutter, iVibrationSensor } from '../baseDeviceInterfaces';
|
|
4
4
|
import { BaseGroup } from './base-group';
|
|
5
5
|
import { ZigbeeMagnetContact } from '../zigbee';
|
|
6
|
-
import { iVibrationSensor } from '../iVibrationSensor';
|
|
7
6
|
export declare class Fenster extends BaseGroup {
|
|
8
7
|
noRolloOnSunrise: boolean;
|
|
9
8
|
desiredPosition: number;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { GroupType } from './group-type';
|
|
2
2
|
import { DeviceCluster } from '../device-cluster';
|
|
3
|
-
import { RoomBase } from '../../../models
|
|
4
|
-
import { LogLevel } from '../../../models/logLevel';
|
|
3
|
+
import { LogLevel, RoomBase } from '../../../models';
|
|
5
4
|
export declare class BaseGroup {
|
|
6
5
|
roomName: string;
|
|
7
6
|
type: GroupType;
|
|
7
|
+
constructor(roomName: string, type: GroupType);
|
|
8
8
|
protected _deviceCluster: DeviceCluster;
|
|
9
9
|
get deviceCluster(): DeviceCluster;
|
|
10
|
-
constructor(roomName: string, type: GroupType);
|
|
11
10
|
getRoom(): RoomBase;
|
|
12
11
|
protected log(level: LogLevel, message: string): void;
|
|
13
12
|
}
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseGroup = void 0;
|
|
4
4
|
const group_type_1 = require("./group-type");
|
|
5
5
|
const device_cluster_1 = require("../device-cluster");
|
|
6
|
-
const
|
|
7
|
-
const utils_1 = require("../../services/utils/utils");
|
|
8
|
-
const log_service_1 = require("../../services/log-service/log-service");
|
|
6
|
+
const services_1 = require("../../services");
|
|
9
7
|
class BaseGroup {
|
|
10
8
|
constructor(roomName, type) {
|
|
11
9
|
this.roomName = roomName;
|
|
@@ -16,10 +14,10 @@ class BaseGroup {
|
|
|
16
14
|
return this._deviceCluster;
|
|
17
15
|
}
|
|
18
16
|
getRoom() {
|
|
19
|
-
return
|
|
17
|
+
return services_1.Utils.guard(services_1.API.getRoom(this.roomName));
|
|
20
18
|
}
|
|
21
19
|
log(level, message) {
|
|
22
|
-
|
|
20
|
+
services_1.ServerLogService.writeLog(level, message, {
|
|
23
21
|
room: this.roomName,
|
|
24
22
|
groupType: group_type_1.GroupType[this.type],
|
|
25
23
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { HmIpHeizgruppe } from '../hmIPDevices';
|
|
2
1
|
import { BaseGroup } from './base-group';
|
|
3
|
-
import { iTemperaturSensor } from '../
|
|
4
|
-
import { iHumiditySensor } from '../iHumiditySensor';
|
|
2
|
+
import { iHeater, iHumiditySensor, iTemperaturSensor } from '../baseDeviceInterfaces';
|
|
5
3
|
export declare class HeatGroup extends BaseGroup {
|
|
6
4
|
constructor(roomName: string, heaterIds: string[], tempSensorIds: string[], humiditySensorIds: string[]);
|
|
7
5
|
get currentTemp(): number;
|
|
8
6
|
get desiredTemp(): number;
|
|
9
|
-
getHeater():
|
|
7
|
+
getHeater(): iHeater[];
|
|
10
8
|
getTempSensors(): iTemperaturSensor[];
|
|
11
9
|
getHumiditySensors(): iHumiditySensor[];
|
|
10
|
+
initialize(): void;
|
|
11
|
+
private recalcRoomTemperatur;
|
|
12
12
|
}
|
|
@@ -5,6 +5,7 @@ const base_group_1 = require("./base-group");
|
|
|
5
5
|
const group_type_1 = require("./group-type");
|
|
6
6
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
7
7
|
const device_list_1 = require("../device-list");
|
|
8
|
+
const baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
8
9
|
class HeatGroup extends base_group_1.BaseGroup {
|
|
9
10
|
constructor(roomName, heaterIds, tempSensorIds, humiditySensorIds) {
|
|
10
11
|
super(roomName, group_type_1.GroupType.Heating);
|
|
@@ -34,7 +35,7 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
34
35
|
return Math.round((value / this.getHeater().length) * 10) / 10;
|
|
35
36
|
}
|
|
36
37
|
getHeater() {
|
|
37
|
-
return this.deviceCluster.
|
|
38
|
+
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Heater);
|
|
38
39
|
}
|
|
39
40
|
getTempSensors() {
|
|
40
41
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.TemperaturSensor);
|
|
@@ -42,5 +43,49 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
42
43
|
getHumiditySensors() {
|
|
43
44
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.HumiditySensor);
|
|
44
45
|
}
|
|
46
|
+
initialize() {
|
|
47
|
+
this.getTempSensors().forEach((sensor) => {
|
|
48
|
+
sensor.addTempChangeCallback((_newVal) => {
|
|
49
|
+
this.recalcRoomTemperatur();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
recalcRoomTemperatur() {
|
|
54
|
+
let temp = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
55
|
+
let count = 0;
|
|
56
|
+
this.getTempSensors().forEach((sensor) => {
|
|
57
|
+
const sensorValue = sensor.iTemperatur;
|
|
58
|
+
if (sensorValue === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (count === 0) {
|
|
62
|
+
count = 1;
|
|
63
|
+
temp = sensorValue;
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
temp = (temp * count + sensorValue) / ++count;
|
|
67
|
+
});
|
|
68
|
+
this.getHeater().forEach((heaterAsSensor) => {
|
|
69
|
+
if (!heaterAsSensor.settings.useOwnTemperatur) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const sensorValue = heaterAsSensor.iTemperatur;
|
|
73
|
+
if (sensorValue === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (count === 0) {
|
|
77
|
+
count = 1;
|
|
78
|
+
temp = sensorValue;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
temp = (temp * count + sensorValue) / ++count;
|
|
82
|
+
});
|
|
83
|
+
if (temp === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.getHeater().forEach((heater) => {
|
|
87
|
+
heater.onTemperaturChange(temp);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
45
90
|
}
|
|
46
91
|
exports.HeatGroup = HeatGroup;
|