hoffmation-base 2.9.14 → 2.9.15

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.
@@ -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:
@@ -35,6 +35,8 @@ export declare enum DeviceType {
35
35
  ZigbeeLinkindLedRgbCct = 221,
36
36
  ZigbeeOsramDimmer = 222,
37
37
  ZigbeeIkeaShutter = 223,
38
+ ZigbeeUbisysActuator = 224,
39
+ ZigbeeUbisysLampe = 224,
38
40
  JsEnergyManager = 301,
39
41
  RoomScene = 401,
40
42
  WledDevice = 1001,
@@ -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";
@@ -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;