hoffmation-base 2.9.14 → 2.9.16
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/device-cluster.js +2 -0
- package/lib/server/devices/deviceType.d.ts +2 -0
- package/lib/server/devices/deviceType.js +2 -0
- package/lib/server/devices/devices.js +6 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +1 -1
- package/lib/server/devices/zigbee/index.d.ts +2 -0
- package/lib/server/devices/zigbee/index.js +2 -0
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +13 -0
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +38 -0
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +15 -0
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +65 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -39,6 +39,7 @@ class DeviceCluster {
|
|
|
39
39
|
case deviceType_1.DeviceType.ZigbeeIlluDimmer:
|
|
40
40
|
case deviceType_1.DeviceType.ZigbeeOsramDimmer:
|
|
41
41
|
case deviceType_1.DeviceType.ZigbeeIlluLampe:
|
|
42
|
+
case deviceType_1.DeviceType.ZigbeeUbisysLampe:
|
|
42
43
|
clusterTypes.push(device_cluster_type_1.DeviceClusterType.Lamps);
|
|
43
44
|
break;
|
|
44
45
|
case deviceType_1.DeviceType.HmIpWippe:
|
|
@@ -97,6 +98,7 @@ class DeviceCluster {
|
|
|
97
98
|
clusterTypes.push(device_cluster_type_1.DeviceClusterType.WLED);
|
|
98
99
|
break;
|
|
99
100
|
case deviceType_1.DeviceType.ZigbeeIlluActuator: // Dependent on use case
|
|
101
|
+
case deviceType_1.DeviceType.ZigbeeUbisysActuator: // Dependent on use case
|
|
100
102
|
case deviceType_1.DeviceType.HmIpTherm: // Humidity and temperature not yet implemented
|
|
101
103
|
case deviceType_1.DeviceType.HmIpHeizung: // Setting/Controlling via HM-Ip Heizgruppe
|
|
102
104
|
case deviceType_1.DeviceType.unknown:
|
|
@@ -39,6 +39,8 @@ var DeviceType;
|
|
|
39
39
|
DeviceType[DeviceType["ZigbeeLinkindLedRgbCct"] = 221] = "ZigbeeLinkindLedRgbCct";
|
|
40
40
|
DeviceType[DeviceType["ZigbeeOsramDimmer"] = 222] = "ZigbeeOsramDimmer";
|
|
41
41
|
DeviceType[DeviceType["ZigbeeIkeaShutter"] = 223] = "ZigbeeIkeaShutter";
|
|
42
|
+
DeviceType[DeviceType["ZigbeeUbisysActuator"] = 224] = "ZigbeeUbisysActuator";
|
|
43
|
+
DeviceType[DeviceType["ZigbeeUbisysLampe"] = 224] = "ZigbeeUbisysLampe";
|
|
42
44
|
DeviceType[DeviceType["JsEnergyManager"] = 301] = "JsEnergyManager";
|
|
43
45
|
DeviceType[DeviceType["RoomScene"] = 401] = "RoomScene";
|
|
44
46
|
DeviceType[DeviceType["WledDevice"] = 1001] = "WledDevice";
|
|
@@ -142,6 +142,12 @@ class Devices {
|
|
|
142
142
|
case 'SonoffTemp':
|
|
143
143
|
d = new zigbee_1.ZigbeeSonoffTemp(zigbeeInfo);
|
|
144
144
|
break;
|
|
145
|
+
case 'UbisysActuator':
|
|
146
|
+
d = new zigbee_1.ZigbeeUbisysActuator(zigbeeInfo);
|
|
147
|
+
break;
|
|
148
|
+
case 'UbisysLampe':
|
|
149
|
+
d = new zigbee_1.ZigbeeUbisysLampe(zigbeeInfo);
|
|
150
|
+
break;
|
|
145
151
|
case 'UbisysShutter':
|
|
146
152
|
d = new zigbee_1.ZigbeeUbisysShutter(zigbeeInfo);
|
|
147
153
|
break;
|
|
@@ -10,7 +10,7 @@ class ZigbeeSwitch extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
10
10
|
constructor(pInfo, deviceType) {
|
|
11
11
|
super(pInfo, deviceType);
|
|
12
12
|
this.battery = -99;
|
|
13
|
-
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
|
|
13
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven, DeviceCapability_1.DeviceCapability.buttonSwitch);
|
|
14
14
|
}
|
|
15
15
|
persist(buttonName, pressType) {
|
|
16
16
|
var _a;
|
|
@@ -20,4 +20,6 @@ export * from './zigbeeSMaBiTMagnetContact';
|
|
|
20
20
|
export * from './zigbeeSonoffMotion';
|
|
21
21
|
export * from './zigbeeSonoffTemp';
|
|
22
22
|
export * from './zigbeeTuyaValve';
|
|
23
|
+
export * from './zigbeeUbisysActuator';
|
|
24
|
+
export * from './zigbeeUbisysLampe';
|
|
23
25
|
export * from './zigbeeUbisysShutter';
|
|
@@ -36,4 +36,6 @@ __exportStar(require("./zigbeeSMaBiTMagnetContact"), exports);
|
|
|
36
36
|
__exportStar(require("./zigbeeSonoffMotion"), exports);
|
|
37
37
|
__exportStar(require("./zigbeeSonoffTemp"), exports);
|
|
38
38
|
__exportStar(require("./zigbeeTuyaValve"), exports);
|
|
39
|
+
__exportStar(require("./zigbeeUbisysActuator"), exports);
|
|
40
|
+
__exportStar(require("./zigbeeUbisysLampe"), exports);
|
|
39
41
|
__exportStar(require("./zigbeeUbisysShutter"), exports);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="iobroker" />
|
|
2
|
+
import { ZigbeeActuator } from './BaseDevices';
|
|
3
|
+
import { DeviceType } from '../deviceType';
|
|
4
|
+
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
5
|
+
export declare class ZigbeeUbisysActuator extends ZigbeeActuator {
|
|
6
|
+
private _loadPower;
|
|
7
|
+
constructor(pInfo: IoBrokerDeviceInfo, deviceType?: DeviceType);
|
|
8
|
+
get isActuatorOn(): boolean;
|
|
9
|
+
get loadPower(): number;
|
|
10
|
+
update(idSplit: string[], state: ioBroker.State, initial?: boolean, handledByChildObject?: boolean): void;
|
|
11
|
+
setActuator(pValue: boolean, timeout?: number, force?: boolean): void;
|
|
12
|
+
toggleActuator(force?: boolean): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZigbeeUbisysActuator = void 0;
|
|
4
|
+
const BaseDevices_1 = require("./BaseDevices");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const deviceType_1 = require("../deviceType");
|
|
7
|
+
class ZigbeeUbisysActuator extends BaseDevices_1.ZigbeeActuator {
|
|
8
|
+
constructor(pInfo, deviceType = deviceType_1.DeviceType.ZigbeeUbisysActuator) {
|
|
9
|
+
super(pInfo, deviceType, `${pInfo.fullID}.state`);
|
|
10
|
+
this._loadPower = 0;
|
|
11
|
+
}
|
|
12
|
+
get isActuatorOn() {
|
|
13
|
+
return this.actuatorOn;
|
|
14
|
+
}
|
|
15
|
+
get loadPower() {
|
|
16
|
+
return this._loadPower;
|
|
17
|
+
}
|
|
18
|
+
update(idSplit, state, initial = false, handledByChildObject = false) {
|
|
19
|
+
if (!handledByChildObject) {
|
|
20
|
+
this.log(models_1.LogLevel.DeepTrace, `Aktuator Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
21
|
+
}
|
|
22
|
+
switch (idSplit[3]) {
|
|
23
|
+
case 'load_power':
|
|
24
|
+
const newLoadPower = state.val;
|
|
25
|
+
this.log(Math.abs(newLoadPower - this._loadPower) > 0.25 ? models_1.LogLevel.Trace : models_1.LogLevel.DeepTrace, `Outlet update, new current load power: ${state.val}`);
|
|
26
|
+
this._loadPower = newLoadPower;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
super.update(idSplit, state, initial, true);
|
|
30
|
+
}
|
|
31
|
+
setActuator(pValue, timeout = -1, force = false) {
|
|
32
|
+
super.setActuator(pValue, timeout, force);
|
|
33
|
+
}
|
|
34
|
+
toggleActuator(force = false) {
|
|
35
|
+
return super.toggleActuator(force);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ZigbeeUbisysActuator = ZigbeeUbisysActuator;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="iobroker" />
|
|
2
|
+
import { TimeOfDay } from '../../../models';
|
|
3
|
+
import { iLamp } from '../baseDeviceInterfaces';
|
|
4
|
+
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
5
|
+
import { ZigbeeUbisysActuator } from './zigbeeUbisysActuator';
|
|
6
|
+
export declare class ZigbeeUbisysLampe extends ZigbeeUbisysActuator implements iLamp {
|
|
7
|
+
constructor(pInfo: IoBrokerDeviceInfo);
|
|
8
|
+
get lightOn(): boolean;
|
|
9
|
+
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
setLight(pValue: boolean, timeout?: number, force?: boolean): void;
|
|
12
|
+
toggleLight(time?: TimeOfDay, force?: boolean, calculateTime?: boolean): boolean;
|
|
13
|
+
setTimeBased(time: TimeOfDay, timeout?: number, force?: boolean): void;
|
|
14
|
+
persist(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZigbeeUbisysLampe = void 0;
|
|
4
|
+
const deviceType_1 = require("../deviceType");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const services_1 = require("../../services");
|
|
7
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
8
|
+
const zigbeeUbisysActuator_1 = require("./zigbeeUbisysActuator");
|
|
9
|
+
class ZigbeeUbisysLampe extends zigbeeUbisysActuator_1.ZigbeeUbisysActuator {
|
|
10
|
+
constructor(pInfo) {
|
|
11
|
+
super(pInfo, deviceType_1.DeviceType.ZigbeeUbisysLampe);
|
|
12
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
|
|
13
|
+
}
|
|
14
|
+
get lightOn() {
|
|
15
|
+
return super.isActuatorOn;
|
|
16
|
+
}
|
|
17
|
+
update(idSplit, state, initial = false) {
|
|
18
|
+
super.update(idSplit, state, initial, true);
|
|
19
|
+
switch (idSplit[3]) {
|
|
20
|
+
case 'state':
|
|
21
|
+
this.log(models_1.LogLevel.Trace, `Lampen Update für ${this.info.customName} auf ${state.val}`);
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
setLight(pValue, timeout = -1, force = false) {
|
|
27
|
+
this.log(models_1.LogLevel.Debug, `Set Light Acutator to "${pValue}"`, services_1.LogDebugType.SetActuator);
|
|
28
|
+
if (this.settings.isStromStoss) {
|
|
29
|
+
timeout = 3000;
|
|
30
|
+
services_1.Utils.guardedTimeout(() => {
|
|
31
|
+
var _a;
|
|
32
|
+
if (this.room && ((_a = this.room.PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent())) {
|
|
33
|
+
this.setLight(true, -1, true);
|
|
34
|
+
}
|
|
35
|
+
}, this.settings.stromStossResendTime * 1000, this);
|
|
36
|
+
}
|
|
37
|
+
super.setActuator(pValue, timeout, force);
|
|
38
|
+
}
|
|
39
|
+
toggleLight(time, force = false, calculateTime = false) {
|
|
40
|
+
var _a;
|
|
41
|
+
const newVal = this.queuedValue !== null ? !this.queuedValue : !this.lightOn;
|
|
42
|
+
const timeout = newVal && force ? 30 * 60 * 1000 : -1;
|
|
43
|
+
if (newVal && time === undefined && calculateTime && this.room !== undefined) {
|
|
44
|
+
time = services_1.TimeCallbackService.dayType((_a = this.room) === null || _a === void 0 ? void 0 : _a.settings.lampOffset);
|
|
45
|
+
}
|
|
46
|
+
if (newVal && time !== undefined) {
|
|
47
|
+
this.setTimeBased(time, timeout, force);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
this.setLight(newVal, timeout, force);
|
|
51
|
+
return newVal;
|
|
52
|
+
}
|
|
53
|
+
setTimeBased(time, timeout = -1, force = false) {
|
|
54
|
+
if ((time === models_1.TimeOfDay.Night && this.settings.nightOn) ||
|
|
55
|
+
(time === models_1.TimeOfDay.BeforeSunrise && this.settings.dawnOn) ||
|
|
56
|
+
(time === models_1.TimeOfDay.AfterSunset && this.settings.duskOn)) {
|
|
57
|
+
this.setLight(true, timeout, force);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
persist() {
|
|
61
|
+
var _a;
|
|
62
|
+
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.ZigbeeUbisysLampe = ZigbeeUbisysLampe;
|