hoffmation-base 1.0.44 → 1.0.45
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/server/devices/{DeviceCapabilities.d.ts → DeviceCapability.d.ts} +1 -1
- package/lib/server/devices/DeviceCapability.js +21 -0
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +2 -2
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +2 -2
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +3 -3
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +4 -4
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +2 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +2 -2
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +2 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +2 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +2 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +2 -2
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +2 -2
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +2 -2
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +2 -2
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +3 -3
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +2 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +3 -3
- package/lib/server/services/Sonos/own-sonos-device.d.ts +2 -2
- package/lib/server/services/Sonos/own-sonos-device.js +2 -2
- package/lib/server/services/ac/ac-device.d.ts +2 -2
- package/lib/server/services/ac/ac-device.js +2 -2
- package/lib/server/services/api/api-service.js +6 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/lib/server/devices/DeviceCapabilities.js +0 -21
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeviceCapability = void 0;
|
|
4
|
+
var DeviceCapability;
|
|
5
|
+
(function (DeviceCapability) {
|
|
6
|
+
DeviceCapability[DeviceCapability["ac"] = 0] = "ac";
|
|
7
|
+
DeviceCapability[DeviceCapability["actuator"] = 1] = "actuator";
|
|
8
|
+
DeviceCapability[DeviceCapability["buttonSwitch"] = 2] = "buttonSwitch";
|
|
9
|
+
DeviceCapability[DeviceCapability["energyManager"] = 3] = "energyManager";
|
|
10
|
+
DeviceCapability[DeviceCapability["excessEnergyConsumer"] = 4] = "excessEnergyConsumer";
|
|
11
|
+
DeviceCapability[DeviceCapability["heater"] = 5] = "heater";
|
|
12
|
+
DeviceCapability[DeviceCapability["humiditySensor"] = 6] = "humiditySensor";
|
|
13
|
+
DeviceCapability[DeviceCapability["illuminationSensor"] = 7] = "illuminationSensor";
|
|
14
|
+
DeviceCapability[DeviceCapability["lamp"] = 8] = "lamp";
|
|
15
|
+
DeviceCapability[DeviceCapability["dimmablelamp"] = 9] = "dimmablelamp";
|
|
16
|
+
DeviceCapability[DeviceCapability["motionSensor"] = 10] = "motionSensor";
|
|
17
|
+
DeviceCapability[DeviceCapability["shutter"] = 11] = "shutter";
|
|
18
|
+
DeviceCapability[DeviceCapability["temperatureSensor"] = 12] = "temperatureSensor";
|
|
19
|
+
DeviceCapability[DeviceCapability["vibrationSensor"] = 13] = "vibrationSensor";
|
|
20
|
+
DeviceCapability[DeviceCapability["speaker"] = 14] = "speaker";
|
|
21
|
+
})(DeviceCapability = exports.DeviceCapability || (exports.DeviceCapability = {}));
|
|
@@ -5,7 +5,7 @@ import { LogLevel, RoomBase, RoomDeviceAddingSettings } from '../../models';
|
|
|
5
5
|
import { IOBrokerConnection } from '../ioBroker';
|
|
6
6
|
import { DeviceType } from './deviceType';
|
|
7
7
|
import { IoBrokerDeviceInfo } from './IoBrokerDeviceInfo';
|
|
8
|
-
import {
|
|
8
|
+
import { DeviceCapability } from './DeviceCapability';
|
|
9
9
|
export declare abstract class IoBrokerBaseDevice implements iBaseDevice {
|
|
10
10
|
protected _info: IoBrokerDeviceInfo;
|
|
11
11
|
deviceType: DeviceType;
|
|
@@ -14,7 +14,7 @@ export declare abstract class IoBrokerBaseDevice implements iBaseDevice {
|
|
|
14
14
|
};
|
|
15
15
|
room: RoomBase | undefined;
|
|
16
16
|
battery: number | undefined;
|
|
17
|
-
readonly deviceCapabilities:
|
|
17
|
+
readonly deviceCapabilities: DeviceCapability[];
|
|
18
18
|
protected constructor(_info: IoBrokerDeviceInfo, deviceType: DeviceType);
|
|
19
19
|
get id(): string;
|
|
20
20
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { LogLevel, RoomBase } from '../../../models';
|
|
2
2
|
import { DeviceType } from '../deviceType';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
|
-
import {
|
|
4
|
+
import { DeviceCapability } from '../DeviceCapability';
|
|
5
5
|
export interface iBaseDevice {
|
|
6
6
|
room: RoomBase | undefined;
|
|
7
7
|
deviceType: DeviceType;
|
|
8
8
|
info: DeviceInfo;
|
|
9
|
-
readonly deviceCapabilities:
|
|
9
|
+
readonly deviceCapabilities: DeviceCapability[];
|
|
10
10
|
readonly id: string;
|
|
11
11
|
log(level: LogLevel, message: string): void;
|
|
12
12
|
toJSON(): Partial<iBaseDevice>;
|
|
@@ -5,7 +5,7 @@ const hmIpDevice_1 = require("./hmIpDevice");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const models_1 = require("../../../models");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
var _a;
|
|
@@ -17,8 +17,8 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
17
17
|
this._lastMotionTime = 0;
|
|
18
18
|
this._detectionsToday = 0;
|
|
19
19
|
this._currentIllumination = -1;
|
|
20
|
-
this.deviceCapabilities.push(
|
|
21
|
-
this.deviceCapabilities.push(
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.motionSensor);
|
|
21
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.illuminationSensor);
|
|
22
22
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
23
23
|
this.detectionsToday = todayCount.counter;
|
|
24
24
|
this.log(models_1.LogLevel.Debug, `Bewegungscounter vorinitialisiert mit ${this.detectionsToday}`);
|
|
@@ -7,7 +7,7 @@ const services_1 = require("../../services");
|
|
|
7
7
|
const models_1 = require("../../../models");
|
|
8
8
|
const baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
9
9
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
10
|
-
const
|
|
10
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
11
11
|
class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
12
12
|
constructor(pInfo) {
|
|
13
13
|
super(pInfo, deviceType_1.DeviceType.HmIpHeizgruppe);
|
|
@@ -23,9 +23,9 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
23
23
|
this._humidity = baseDeviceInterfaces_1.UNDEFINED_HUMIDITY_VALUE;
|
|
24
24
|
this._desiredTemperature = 0;
|
|
25
25
|
this._roomTemperatur = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
26
|
-
this.deviceCapabilities.push(
|
|
27
|
-
this.deviceCapabilities.push(
|
|
28
|
-
this.deviceCapabilities.push(
|
|
26
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.temperatureSensor);
|
|
27
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.humiditySensor);
|
|
28
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.heater);
|
|
29
29
|
this._setPointTemperatureID = `${this.info.fullID}.1.SET_POINT_TEMPERATURE`;
|
|
30
30
|
this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
|
|
31
31
|
services_1.TimeCallbackService.addCallback(new models_1.TimeCallback(`${this.info.fullID} Season Check`, models_1.TimeCallbackType.TimeOfDay, () => {
|
|
@@ -5,7 +5,7 @@ const hmIpDevice_1 = require("./hmIpDevice");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const services_1 = require("../../services");
|
|
7
7
|
const models_1 = require("../../../models");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class HmIpLampe extends hmIpDevice_1.HmIPDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.HmIpLampe);
|
|
@@ -15,7 +15,7 @@ class HmIpLampe extends hmIpDevice_1.HmIPDevice {
|
|
|
15
15
|
this.lightOnSwitchID = '';
|
|
16
16
|
this._turnOffTimeout = undefined;
|
|
17
17
|
this.turnOffTime = 0;
|
|
18
|
-
this.deviceCapabilities.push(
|
|
18
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
|
|
19
19
|
this.lightOnSwitchID = `${this.info.fullID}.2.STATE`;
|
|
20
20
|
}
|
|
21
21
|
update(idSplit, state, initial = false) {
|
|
@@ -5,7 +5,7 @@ const hmIpDevice_1 = require("./hmIpDevice");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const models_1 = require("../../../models");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
var _a;
|
|
@@ -17,7 +17,7 @@ class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
|
|
|
17
17
|
this.initialized = false;
|
|
18
18
|
this._detectionsToday = 0;
|
|
19
19
|
this._currentIllumination = -1;
|
|
20
|
-
this.deviceCapabilities.push(
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.illuminationSensor);
|
|
21
21
|
// this.presenceStateID = `${this.info.fullID}.1.${HmIpPraezenz.PRESENCE_DETECTION}`;
|
|
22
22
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
23
23
|
this.detectionsToday = todayCount.counter;
|
|
@@ -10,7 +10,7 @@ const services_1 = require("../../services");
|
|
|
10
10
|
const models_1 = require("../models");
|
|
11
11
|
const models_2 = require("../../../models");
|
|
12
12
|
const lodash_1 = __importDefault(require("lodash"));
|
|
13
|
-
const
|
|
13
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
14
14
|
class HmIpRoll extends hmIpDevice_1.HmIPDevice {
|
|
15
15
|
constructor(pInfo) {
|
|
16
16
|
super(pInfo, deviceType_1.DeviceType.HmIpRoll);
|
|
@@ -18,7 +18,7 @@ class HmIpRoll extends hmIpDevice_1.HmIPDevice {
|
|
|
18
18
|
this._setLevel = -1;
|
|
19
19
|
this._setLevelTime = -1;
|
|
20
20
|
this._currentLevel = -1;
|
|
21
|
-
this.deviceCapabilities.push(
|
|
21
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.shutter);
|
|
22
22
|
this._setLevelSwitchID = `${this.info.fullID}.4.LEVEL`;
|
|
23
23
|
}
|
|
24
24
|
get currentLevel() {
|
|
@@ -5,7 +5,7 @@ const hmIpDevice_1 = require("./hmIpDevice");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const button_1 = require("../button");
|
|
7
7
|
const models_1 = require("../../../models");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class HmIpTaster extends hmIpDevice_1.HmIPDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.HmIpTaster);
|
|
@@ -17,7 +17,7 @@ class HmIpTaster extends hmIpDevice_1.HmIPDevice {
|
|
|
17
17
|
this.buttonBotRight = new button_1.Button('BotRight', HmIpTaster.BUTTON_CAPABILLITIES);
|
|
18
18
|
this.buttonBot = undefined;
|
|
19
19
|
this.buttonTop = undefined;
|
|
20
|
-
this.deviceCapabilities.push(
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.buttonSwitch);
|
|
21
21
|
}
|
|
22
22
|
update(idSplit, state, initial = false) {
|
|
23
23
|
this.log(models_1.LogLevel.DeepTrace, `Taster Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
@@ -5,13 +5,13 @@ const hmIpDevice_1 = require("./hmIpDevice");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const button_1 = require("../button");
|
|
7
7
|
const models_1 = require("../../../models");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class HmIpWippe extends hmIpDevice_1.HmIPDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.HmIpWippe);
|
|
12
12
|
this.buttonBot = new button_1.Button('Bottom', HmIpWippe.BUTTON_CAPABILLITIES);
|
|
13
13
|
this.buttonTop = new button_1.Button('Top', HmIpWippe.BUTTON_CAPABILLITIES);
|
|
14
|
-
this.deviceCapabilities.push(
|
|
14
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.buttonSwitch);
|
|
15
15
|
}
|
|
16
16
|
update(idSplit, state, initial = false) {
|
|
17
17
|
this.log(models_1.LogLevel.DeepTrace, `Wippe Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
@@ -6,7 +6,7 @@ const baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
|
6
6
|
const deviceType_1 = require("../deviceType");
|
|
7
7
|
const models_1 = require("../../../models");
|
|
8
8
|
const services_1 = require("../../services");
|
|
9
|
-
const
|
|
9
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
10
10
|
class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
11
11
|
constructor(info) {
|
|
12
12
|
super(info, deviceType_1.DeviceType.JsEnergyManager);
|
|
@@ -23,7 +23,7 @@ class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
23
23
|
this._phaseAState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
24
24
|
this._phaseBState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
25
25
|
this._phaseCState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
26
|
-
this.deviceCapabilities.push(
|
|
26
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.energyManager);
|
|
27
27
|
this.log(models_1.LogLevel.Info, `Creating Energy Manager Device`);
|
|
28
28
|
this._iCalculationInterval = services_1.Utils.guardedInterval(() => {
|
|
29
29
|
this.calculateExcessEnergy();
|
|
@@ -4,7 +4,7 @@ exports.ZigbeeActuator = void 0;
|
|
|
4
4
|
const services_1 = require("../../../services");
|
|
5
5
|
const models_1 = require("../../../../models");
|
|
6
6
|
const zigbeeDevice_1 = require("./zigbeeDevice");
|
|
7
|
-
const
|
|
7
|
+
const DeviceCapability_1 = require("../../DeviceCapability");
|
|
8
8
|
class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
|
|
9
9
|
constructor(pInfo, type, actuatorOnSwitchID) {
|
|
10
10
|
super(pInfo, type);
|
|
@@ -13,7 +13,7 @@ class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
13
13
|
this.actuatorOn = false;
|
|
14
14
|
this._turnOffTimeout = undefined;
|
|
15
15
|
this.turnOffTime = 0;
|
|
16
|
-
this.deviceCapabilities.push(
|
|
16
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
|
|
17
17
|
this.actuatorOnSwitchID = actuatorOnSwitchID;
|
|
18
18
|
}
|
|
19
19
|
update(idSplit, state, initial = false, handledByChildObject = false) {
|
|
@@ -5,7 +5,7 @@ const zigbeeDevice_1 = require("./zigbeeDevice");
|
|
|
5
5
|
const baseDeviceInterfaces_1 = require("../../baseDeviceInterfaces");
|
|
6
6
|
const models_1 = require("../../../../models");
|
|
7
7
|
const services_1 = require("../../../services");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../../DeviceCapability");
|
|
9
9
|
class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
|
|
10
10
|
constructor(pInfo, pType) {
|
|
11
11
|
super(pInfo, pType);
|
|
@@ -19,7 +19,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
19
19
|
this._seasonTurnOff = false;
|
|
20
20
|
this._humidity = 0;
|
|
21
21
|
this._roomTemperatur = 0;
|
|
22
|
-
this.deviceCapabilities.push(
|
|
22
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.heater);
|
|
23
23
|
this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
|
|
24
24
|
services_1.TimeCallbackService.addCallback(new models_1.TimeCallback(`${this.info.fullID} Season Check`, models_1.TimeCallbackType.TimeOfDay, () => {
|
|
25
25
|
this.checkSeasonTurnOff();
|
|
@@ -4,7 +4,7 @@ exports.ZigbeeMotionSensor = void 0;
|
|
|
4
4
|
const index_1 = require("./index");
|
|
5
5
|
const models_1 = require("../../../../models");
|
|
6
6
|
const services_1 = require("../../../services");
|
|
7
|
-
const
|
|
7
|
+
const DeviceCapability_1 = require("../../DeviceCapability");
|
|
8
8
|
class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
|
|
9
9
|
constructor(pInfo, type) {
|
|
10
10
|
var _a;
|
|
@@ -16,7 +16,7 @@ class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
|
|
|
16
16
|
this._needsMovementResetFallback = true;
|
|
17
17
|
this._timeSinceLastMotion = 0;
|
|
18
18
|
this._detectionsToday = 0;
|
|
19
|
-
this.deviceCapabilities.push(
|
|
19
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.motionSensor);
|
|
20
20
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
21
21
|
this.detectionsToday = todayCount.counter;
|
|
22
22
|
this.log(models_1.LogLevel.Debug, `Preinitialized movement counter with ${this.detectionsToday}`);
|
|
@@ -9,7 +9,7 @@ const models_1 = require("../../../../models");
|
|
|
9
9
|
const zigbeeDevice_1 = require("./zigbeeDevice");
|
|
10
10
|
const models_2 = require("../../models");
|
|
11
11
|
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
-
const
|
|
12
|
+
const DeviceCapability_1 = require("../../DeviceCapability");
|
|
13
13
|
class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
|
|
14
14
|
constructor(pInfo, pType) {
|
|
15
15
|
var _a;
|
|
@@ -21,7 +21,7 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
21
21
|
this._setLevelTime = -1;
|
|
22
22
|
this._shutterCalibrationData = new models_1.ShutterCalibration(this.info.fullID, 0, 0, 0, 0);
|
|
23
23
|
this._currentLevel = -1;
|
|
24
|
-
this.deviceCapabilities.push(
|
|
24
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.shutter);
|
|
25
25
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getShutterCalibration(this).then((calibrationData) => {
|
|
26
26
|
this._shutterCalibrationData = calibrationData;
|
|
27
27
|
this.log(models_1.LogLevel.DeepTrace, `ZigbeeShutter initialized with calibration data`);
|
|
@@ -5,14 +5,14 @@ const deviceType_1 = require("../deviceType");
|
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
const BaseDevices_1 = require("./BaseDevices");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class ZigbeeAquaraMotion extends BaseDevices_1.ZigbeeMotionSensor {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.ZigbeeAquaraMotion);
|
|
12
12
|
this._illuminance = 0;
|
|
13
13
|
this.occupancyTimeoutID = `occupancy_timeout`;
|
|
14
14
|
this._motionTimeout = 0;
|
|
15
|
-
this.deviceCapabilities.push(
|
|
15
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.illuminationSensor);
|
|
16
16
|
this.occupancyTimeoutID = `${this.info.fullID}.${this.occupancyTimeoutID}`;
|
|
17
17
|
}
|
|
18
18
|
// Time after the last trigger until a motion event gets triggered again
|
|
@@ -5,7 +5,7 @@ const deviceType_1 = require("../deviceType");
|
|
|
5
5
|
const services_1 = require("../../services");
|
|
6
6
|
const models_1 = require("../../../models");
|
|
7
7
|
const BaseDevices_1 = require("./BaseDevices");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class ZigbeeAquaraVibra extends BaseDevices_1.ZigbeeDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.ZigbeeAquaraVibra);
|
|
@@ -24,7 +24,7 @@ class ZigbeeAquaraVibra extends BaseDevices_1.ZigbeeDevice {
|
|
|
24
24
|
// TODO Set Sensitivity
|
|
25
25
|
this._vibrationBlockedByGriff = false;
|
|
26
26
|
this._vibrationBlockedByMotion = false;
|
|
27
|
-
this.deviceCapabilities.push(
|
|
27
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.vibrationSensor);
|
|
28
28
|
this._alarmMessage = services_1.Res.vibrationAlarm(this.info.customName);
|
|
29
29
|
services_1.PollyService.preloadTTS(this._alarmMessage);
|
|
30
30
|
this._idSensitivity = `${this.info.fullID}.sensitivity`;
|
|
@@ -4,7 +4,7 @@ exports.ZigbeeBlitzShp = void 0;
|
|
|
4
4
|
const deviceType_1 = require("../deviceType");
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
const BaseDevices_1 = require("./BaseDevices");
|
|
7
|
-
const
|
|
7
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
8
8
|
class ZigbeeBlitzShp extends BaseDevices_1.ZigbeeDevice {
|
|
9
9
|
constructor(pInfo) {
|
|
10
10
|
super(pInfo, deviceType_1.DeviceType.ZigbeeBlitzShp);
|
|
@@ -17,7 +17,7 @@ class ZigbeeBlitzShp extends BaseDevices_1.ZigbeeDevice {
|
|
|
17
17
|
this._availableForExcessEnergy = true;
|
|
18
18
|
this.steckerOnSwitchID = '';
|
|
19
19
|
this._activatedByExcessEnergy = false;
|
|
20
|
-
this.deviceCapabilities.push(
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.excessEnergyConsumer);
|
|
21
21
|
this.steckerOnSwitchID = `${this.info.fullID}.state`;
|
|
22
22
|
}
|
|
23
23
|
get currentConsumption() {
|
|
@@ -5,7 +5,7 @@ const models_1 = require("../../../models");
|
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
6
|
const services_1 = require("../../services");
|
|
7
7
|
const BaseDevices_1 = require("./BaseDevices");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class ZigbeeIlluDimmer extends BaseDevices_1.ZigbeeDevice {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.ZigbeeIlluDimmer);
|
|
@@ -19,8 +19,8 @@ class ZigbeeIlluDimmer extends BaseDevices_1.ZigbeeDevice {
|
|
|
19
19
|
this.transitionID = 'transition_time';
|
|
20
20
|
this._turnOffTimeout = undefined;
|
|
21
21
|
this.turnOffTime = 0;
|
|
22
|
-
this.deviceCapabilities.push(
|
|
23
|
-
this.deviceCapabilities.push(
|
|
22
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
|
|
23
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.dimmablelamp);
|
|
24
24
|
this.stateID = `${this.info.fullID}.state`;
|
|
25
25
|
this.brightnessID = `${this.info.fullID}.brightness`;
|
|
26
26
|
this.transitionID = `${this.info.fullID}.transition_time`;
|
|
@@ -5,11 +5,11 @@ const deviceType_1 = require("../deviceType");
|
|
|
5
5
|
const zigbeeIlluActuator_1 = require("./zigbeeIlluActuator");
|
|
6
6
|
const models_1 = require("../../../models");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
|
-
const
|
|
8
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
9
|
class ZigbeeIlluLampe extends zigbeeIlluActuator_1.ZigbeeIlluActuator {
|
|
10
10
|
constructor(pInfo) {
|
|
11
11
|
super(pInfo, deviceType_1.DeviceType.ZigbeeIlluLampe);
|
|
12
|
-
this.deviceCapabilities.push(
|
|
12
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
|
|
13
13
|
}
|
|
14
14
|
get lightOn() {
|
|
15
15
|
return super.actuatorOn;
|
|
@@ -4,7 +4,7 @@ exports.ZigbeeSonoffTemp = void 0;
|
|
|
4
4
|
const BaseDevices_1 = require("./BaseDevices");
|
|
5
5
|
const baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
6
6
|
const deviceType_1 = require("../deviceType");
|
|
7
|
-
const
|
|
7
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
8
8
|
class ZigbeeSonoffTemp extends BaseDevices_1.ZigbeeDevice {
|
|
9
9
|
constructor(pInfo) {
|
|
10
10
|
super(pInfo, deviceType_1.DeviceType.ZigbeeSonoffTemp);
|
|
@@ -12,8 +12,8 @@ class ZigbeeSonoffTemp extends BaseDevices_1.ZigbeeDevice {
|
|
|
12
12
|
this._temperaturCallbacks = [];
|
|
13
13
|
this._humidity = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
14
14
|
this._temperature = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
15
|
-
this.deviceCapabilities.push(
|
|
16
|
-
this.deviceCapabilities.push(
|
|
15
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.temperatureSensor);
|
|
16
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.humiditySensor);
|
|
17
17
|
}
|
|
18
18
|
get humidity() {
|
|
19
19
|
return this._humidity;
|
|
@@ -2,14 +2,14 @@ import { DeviceInfo, DeviceType, ISpeaker } from '../../devices';
|
|
|
2
2
|
import { LogLevel, RoomBase } from '../../../models';
|
|
3
3
|
import { SonosDevice } from '@svrooij/sonos/lib';
|
|
4
4
|
import { LogDebugType } from '../log-service';
|
|
5
|
-
import {
|
|
5
|
+
import { DeviceCapability } from '../../devices/DeviceCapability';
|
|
6
6
|
export declare class OwnSonosDevice implements ISpeaker {
|
|
7
7
|
device: SonosDevice | undefined;
|
|
8
8
|
maxPlayOnAllVolume: number;
|
|
9
9
|
room: RoomBase | undefined;
|
|
10
10
|
readonly deviceType: DeviceType;
|
|
11
11
|
readonly discoveryName: string;
|
|
12
|
-
readonly deviceCapabilities:
|
|
12
|
+
readonly deviceCapabilities: DeviceCapability[];
|
|
13
13
|
constructor(discoveryName: string, roomName: string, device: SonosDevice | undefined);
|
|
14
14
|
protected _info: DeviceInfo;
|
|
15
15
|
get info(): DeviceInfo;
|
|
@@ -10,7 +10,7 @@ const log_service_1 = require("../log-service");
|
|
|
10
10
|
const utils_1 = require("../utils");
|
|
11
11
|
const lodash_1 = __importDefault(require("lodash"));
|
|
12
12
|
const sonos_service_1 = require("./sonos-service");
|
|
13
|
-
const
|
|
13
|
+
const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
14
14
|
const settings_service_1 = require("../settings-service");
|
|
15
15
|
const polly_service_1 = require("./polly-service");
|
|
16
16
|
class OwnSonosDevice {
|
|
@@ -18,7 +18,7 @@ class OwnSonosDevice {
|
|
|
18
18
|
this.device = device;
|
|
19
19
|
this.maxPlayOnAllVolume = 80;
|
|
20
20
|
this.deviceType = devices_1.DeviceType.Sonos;
|
|
21
|
-
this.deviceCapabilities = [
|
|
21
|
+
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.speaker];
|
|
22
22
|
this.discoveryName = discoveryName;
|
|
23
23
|
this._info = new devices_1.DeviceInfo();
|
|
24
24
|
this._info.fullName = `Sonos ${roomName} ${discoveryName}`;
|
|
@@ -4,7 +4,7 @@ import { LogDebugType } from '../log-service';
|
|
|
4
4
|
import { AcMode } from './ac-mode';
|
|
5
5
|
import { AcSettings } from '../../../models/deviceSettings/acSettings';
|
|
6
6
|
import { AcDeviceType } from './acDeviceType';
|
|
7
|
-
import {
|
|
7
|
+
import { DeviceCapability } from '../../devices/DeviceCapability';
|
|
8
8
|
export declare abstract class AcDevice implements iExcessEnergyConsumer, iBaseDevice, iAcDevice {
|
|
9
9
|
ip: string;
|
|
10
10
|
acDeviceType: AcDeviceType;
|
|
@@ -12,7 +12,7 @@ export declare abstract class AcDevice implements iExcessEnergyConsumer, iBaseDe
|
|
|
12
12
|
energyConsumerSettings: ExcessEnergyConsumerSettings;
|
|
13
13
|
acSettings: AcSettings;
|
|
14
14
|
room: RoomBase | undefined;
|
|
15
|
-
deviceCapabilities:
|
|
15
|
+
deviceCapabilities: DeviceCapability[];
|
|
16
16
|
protected _info: DeviceInfo;
|
|
17
17
|
protected constructor(name: string, roomName: string, ip: string, acDeviceType: AcDeviceType);
|
|
18
18
|
get info(): DeviceInfo;
|
|
@@ -11,7 +11,7 @@ const log_service_1 = require("../log-service");
|
|
|
11
11
|
const ac_mode_1 = require("./ac-mode");
|
|
12
12
|
const acSettings_1 = require("../../../models/deviceSettings/acSettings");
|
|
13
13
|
const lodash_1 = __importDefault(require("lodash"));
|
|
14
|
-
const
|
|
14
|
+
const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
15
15
|
class AcDevice {
|
|
16
16
|
constructor(name, roomName, ip, acDeviceType) {
|
|
17
17
|
this.ip = ip;
|
|
@@ -19,7 +19,7 @@ class AcDevice {
|
|
|
19
19
|
this.currentConsumption = -1;
|
|
20
20
|
this.energyConsumerSettings = new models_1.ExcessEnergyConsumerSettings();
|
|
21
21
|
this.acSettings = new acSettings_1.AcSettings();
|
|
22
|
-
this.deviceCapabilities = [
|
|
22
|
+
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.ac];
|
|
23
23
|
this._activatedByExcessEnergy = false;
|
|
24
24
|
this._blockAutomaticTurnOnMS = -1;
|
|
25
25
|
this._info = new devices_1.DeviceInfo();
|
|
@@ -6,7 +6,7 @@ const models_1 = require("../../../models");
|
|
|
6
6
|
const room_service_1 = require("../room-service");
|
|
7
7
|
const log_service_1 = require("../log-service");
|
|
8
8
|
const ac_1 = require("../ac");
|
|
9
|
-
const
|
|
9
|
+
const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
10
10
|
class API {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the instance of an Ac Device identified by id
|
|
@@ -15,7 +15,7 @@ class API {
|
|
|
15
15
|
*/
|
|
16
16
|
static getAc(id) {
|
|
17
17
|
const result = this.getDevice(id);
|
|
18
|
-
if (!result.deviceCapabilities.includes(
|
|
18
|
+
if (!result.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.ac)) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
21
|
return result;
|
|
@@ -52,7 +52,7 @@ class API {
|
|
|
52
52
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `AC Device for id ${id} not found`);
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
|
-
if (!d.deviceCapabilities.includes(
|
|
55
|
+
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.ac)) {
|
|
56
56
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Device for id ${id} is not an ac`);
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
@@ -82,7 +82,7 @@ class API {
|
|
|
82
82
|
if (d === undefined) {
|
|
83
83
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
84
84
|
}
|
|
85
|
-
if (!d.deviceCapabilities.includes(
|
|
85
|
+
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.lamp)) {
|
|
86
86
|
return new Error(`Device with ID ${deviceId} is no Lamp`);
|
|
87
87
|
}
|
|
88
88
|
d.setLight(state, 60 * 60 * 1000, true);
|
|
@@ -99,7 +99,7 @@ class API {
|
|
|
99
99
|
if (d === undefined) {
|
|
100
100
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
101
101
|
}
|
|
102
|
-
if (!d.deviceCapabilities.includes(
|
|
102
|
+
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.actuator)) {
|
|
103
103
|
return new Error(`Device with ID ${deviceId} is no actuator`);
|
|
104
104
|
}
|
|
105
105
|
d.setActuator(state, 60 * 60 * 1000, true);
|
|
@@ -119,7 +119,7 @@ class API {
|
|
|
119
119
|
if (d === undefined) {
|
|
120
120
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
121
121
|
}
|
|
122
|
-
if (!d.deviceCapabilities.includes(
|
|
122
|
+
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.dimmablelamp)) {
|
|
123
123
|
return new Error(`Device with ID ${deviceId} is no dimmablelamp`);
|
|
124
124
|
}
|
|
125
125
|
d.setLight(state, timeout, true, brightness, transitionTime);
|