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.
@@ -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";
@@ -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;