hoffmation-base 1.0.39 → 1.0.43
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.d.ts +2 -2
- package/lib/models/rooms/RoomBase.d.ts +2 -2
- package/lib/server/devices/DeviceCapabilities.d.ts +15 -0
- package/lib/server/devices/DeviceCapabilities.js +19 -0
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +2 -0
- package/lib/server/devices/IoBrokerBaseDevice.js +1 -0
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +14 -0
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +8 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +2 -0
- package/lib/server/devices/baseDeviceInterfaces/index.js +2 -0
- package/lib/server/devices/device-cluster.d.ts +1 -2
- package/lib/server/devices/device-cluster.js +6 -0
- package/lib/server/devices/device-list.d.ts +2 -4
- package/lib/server/devices/device-list.js +4 -13
- package/lib/server/devices/groups/heatGroup.js +1 -1
- package/lib/server/devices/groups/index.d.ts +1 -1
- package/lib/server/devices/groups/index.js +1 -1
- package/lib/server/devices/groups/{sonosGroup.d.ts → speakerGroup.d.ts} +3 -3
- package/lib/server/devices/groups/{sonosGroup.js → speakerGroup.js} +6 -8
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +3 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +4 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +2 -0
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +3 -0
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +2 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +2 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +2 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +2 -0
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +1 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +2 -0
- package/lib/server/devices/zigbee/{zigbeeMotionSensor.d.ts → BaseDevices/zigbeeMotionSensor.d.ts} +5 -5
- package/lib/server/devices/zigbee/{zigbeeMotionSensor.js → BaseDevices/zigbeeMotionSensor.js} +6 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +2 -0
- package/lib/server/devices/zigbee/index.d.ts +0 -1
- package/lib/server/devices/zigbee/index.js +0 -1
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +4 -2
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +2 -0
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +2 -0
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +2 -0
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +2 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +2 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +3 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -1
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +1 -1
- package/lib/server/services/Sonos/OwnSonosDevices.js +1 -1
- package/lib/server/services/Sonos/index.d.ts +1 -0
- package/lib/server/services/Sonos/index.js +3 -0
- package/lib/server/services/Sonos/own-sonos-device.d.ts +26 -0
- package/lib/server/services/Sonos/own-sonos-device.js +108 -0
- package/lib/server/services/Sonos/sonos-service.d.ts +1 -20
- package/lib/server/services/Sonos/sonos-service.js +5 -94
- package/lib/server/services/ac/ac-device.d.ts +4 -2
- package/lib/server/services/ac/ac-device.js +6 -1
- package/lib/server/services/api/api-service.d.ts +6 -6
- package/lib/server/services/api/api-service.js +13 -9
- package/lib/server/services/calendar/muell-tonne.d.ts +3 -3
- package/lib/server/services/calendar/muell-tonne.js +6 -12
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +3 -3
- package/lib/server/services/calendar/m/303/274ll-service.js +7 -7
- package/lib/server/services/news-service.d.ts +3 -3
- package/lib/server/services/news-service.js +4 -4
- package/lib/server/services/weather/weather-service.d.ts +2 -2
- package/lib/server/services/weather/weather-service.js +14 -15
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Devices, iConfig, ioBrokerMain,
|
|
1
|
+
import { Devices, iConfig, ioBrokerMain, ISpeaker } from './server';
|
|
2
2
|
export * from './models/index';
|
|
3
3
|
export * from './server/index';
|
|
4
4
|
export declare class HoffmationInitializationObject {
|
|
@@ -8,6 +8,6 @@ export declare class HoffmationInitializationObject {
|
|
|
8
8
|
export declare class HoffmationBase {
|
|
9
9
|
static ioMain: ioBrokerMain;
|
|
10
10
|
static initializeBeforeIoBroker(initObject: HoffmationInitializationObject): Promise<void>;
|
|
11
|
-
static initializePostIoBroker(defaultMuellSonos?:
|
|
11
|
+
static initializePostIoBroker(defaultMuellSonos?: ISpeaker): void;
|
|
12
12
|
static startIoBroker(devices: Devices): void;
|
|
13
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TimeCallback } from '../timeCallback';
|
|
2
|
-
import { BaseGroup, DeviceCluster, FensterGroup, GroupType, HeatGroup, LampenGroup, PraesenzGroup, SmokeGroup,
|
|
2
|
+
import { BaseGroup, DeviceCluster, FensterGroup, GroupType, HeatGroup, LampenGroup, PraesenzGroup, SmokeGroup, SpeakerGroup, TasterGroup, WaterGroup } from '../../server';
|
|
3
3
|
import { RoomSettings } from './RoomSettings';
|
|
4
4
|
import { iRoomBase } from './iRoomBase';
|
|
5
5
|
import { RoomInfo } from './roomInfo';
|
|
@@ -19,7 +19,7 @@ export declare class RoomBase implements iRoomBase {
|
|
|
19
19
|
get PraesenzGroup(): PraesenzGroup | undefined;
|
|
20
20
|
get LampenGroup(): LampenGroup | undefined;
|
|
21
21
|
get TasterGroup(): TasterGroup | undefined;
|
|
22
|
-
get SonosGroup():
|
|
22
|
+
get SonosGroup(): SpeakerGroup | undefined;
|
|
23
23
|
get SmokeGroup(): SmokeGroup | undefined;
|
|
24
24
|
get WaterGroup(): WaterGroup | undefined;
|
|
25
25
|
get HeatGroup(): HeatGroup | undefined;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum DeviceCapabilities {
|
|
2
|
+
ac = 0,
|
|
3
|
+
buttonSwitch = 1,
|
|
4
|
+
energyManager = 2,
|
|
5
|
+
excessEnergyConsumer = 3,
|
|
6
|
+
heater = 4,
|
|
7
|
+
humiditySensor = 5,
|
|
8
|
+
illuminationSensor = 6,
|
|
9
|
+
lamp = 7,
|
|
10
|
+
motionSensor = 8,
|
|
11
|
+
shutter = 9,
|
|
12
|
+
temperatureSensor = 10,
|
|
13
|
+
vibrationSensor = 11,
|
|
14
|
+
speaker = 12
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeviceCapabilities = void 0;
|
|
4
|
+
var DeviceCapabilities;
|
|
5
|
+
(function (DeviceCapabilities) {
|
|
6
|
+
DeviceCapabilities[DeviceCapabilities["ac"] = 0] = "ac";
|
|
7
|
+
DeviceCapabilities[DeviceCapabilities["buttonSwitch"] = 1] = "buttonSwitch";
|
|
8
|
+
DeviceCapabilities[DeviceCapabilities["energyManager"] = 2] = "energyManager";
|
|
9
|
+
DeviceCapabilities[DeviceCapabilities["excessEnergyConsumer"] = 3] = "excessEnergyConsumer";
|
|
10
|
+
DeviceCapabilities[DeviceCapabilities["heater"] = 4] = "heater";
|
|
11
|
+
DeviceCapabilities[DeviceCapabilities["humiditySensor"] = 5] = "humiditySensor";
|
|
12
|
+
DeviceCapabilities[DeviceCapabilities["illuminationSensor"] = 6] = "illuminationSensor";
|
|
13
|
+
DeviceCapabilities[DeviceCapabilities["lamp"] = 7] = "lamp";
|
|
14
|
+
DeviceCapabilities[DeviceCapabilities["motionSensor"] = 8] = "motionSensor";
|
|
15
|
+
DeviceCapabilities[DeviceCapabilities["shutter"] = 9] = "shutter";
|
|
16
|
+
DeviceCapabilities[DeviceCapabilities["temperatureSensor"] = 10] = "temperatureSensor";
|
|
17
|
+
DeviceCapabilities[DeviceCapabilities["vibrationSensor"] = 11] = "vibrationSensor";
|
|
18
|
+
DeviceCapabilities[DeviceCapabilities["speaker"] = 12] = "speaker";
|
|
19
|
+
})(DeviceCapabilities = exports.DeviceCapabilities || (exports.DeviceCapabilities = {}));
|
|
@@ -5,6 +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 { DeviceCapabilities } from './DeviceCapabilities';
|
|
8
9
|
export declare abstract class IoBrokerBaseDevice implements IBaseDevice {
|
|
9
10
|
protected _info: IoBrokerDeviceInfo;
|
|
10
11
|
deviceType: DeviceType;
|
|
@@ -13,6 +14,7 @@ export declare abstract class IoBrokerBaseDevice implements IBaseDevice {
|
|
|
13
14
|
};
|
|
14
15
|
room: RoomBase | undefined;
|
|
15
16
|
battery: number | undefined;
|
|
17
|
+
readonly deviceCapabilities: DeviceCapabilities[];
|
|
16
18
|
protected constructor(_info: IoBrokerDeviceInfo, deviceType: DeviceType);
|
|
17
19
|
get id(): string;
|
|
18
20
|
/**
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AcSettings } from '../../../models/deviceSettings/acSettings';
|
|
2
|
+
import { AcMode } from '../../services';
|
|
3
|
+
export interface iAcDevice {
|
|
4
|
+
acSettings: AcSettings;
|
|
5
|
+
readonly on: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Disable automatic Turn-On for given amount of ms and turn off immediately.
|
|
8
|
+
* @param {number} timeout
|
|
9
|
+
*/
|
|
10
|
+
deactivateAutomaticTurnOn(timeout: number): void;
|
|
11
|
+
setDesiredMode(mode: AcMode, writeToDevice: boolean): void;
|
|
12
|
+
turnOn(): void;
|
|
13
|
+
turnOff(): void;
|
|
14
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { LogLevel, RoomBase } from '../../../models';
|
|
2
2
|
import { DeviceType } from '../deviceType';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
|
+
import { DeviceCapabilities } from '../DeviceCapabilities';
|
|
4
5
|
export interface IBaseDevice {
|
|
5
6
|
room: RoomBase | undefined;
|
|
6
7
|
deviceType: DeviceType;
|
|
7
8
|
info: DeviceInfo;
|
|
9
|
+
readonly deviceCapabilities: DeviceCapabilities[];
|
|
8
10
|
readonly id: string;
|
|
9
11
|
log(level: LogLevel, message: string): void;
|
|
10
12
|
toJSON(): Partial<IBaseDevice>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IBaseDevice } from './iBaseDevice';
|
|
2
|
+
export interface ISpeaker extends IBaseDevice {
|
|
3
|
+
playOnDevice(mp3Name: string, duration: number, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
4
|
+
playTestMessage(): void;
|
|
5
|
+
playUrl(url: string): void;
|
|
6
|
+
stop(): void;
|
|
7
|
+
speakOnDevice(pMessage: string, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
8
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './iAcDevice';
|
|
1
2
|
export * from './iBaseDevice';
|
|
2
3
|
export * from './iButtonSwitch';
|
|
3
4
|
export * from './iEnergyManager';
|
|
@@ -8,5 +9,6 @@ export * from './iIlluminationSensor';
|
|
|
8
9
|
export * from './iLamp';
|
|
9
10
|
export * from './iMotionSensor';
|
|
10
11
|
export * from './iShutter';
|
|
12
|
+
export * from './iSpeaker';
|
|
11
13
|
export * from './iTemperatureSensor';
|
|
12
14
|
export * from './iVibrationSensor';
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./iAcDevice"), exports);
|
|
17
18
|
__exportStar(require("./iBaseDevice"), exports);
|
|
18
19
|
__exportStar(require("./iButtonSwitch"), exports);
|
|
19
20
|
__exportStar(require("./iEnergyManager"), exports);
|
|
@@ -24,5 +25,6 @@ __exportStar(require("./iIlluminationSensor"), exports);
|
|
|
24
25
|
__exportStar(require("./iLamp"), exports);
|
|
25
26
|
__exportStar(require("./iMotionSensor"), exports);
|
|
26
27
|
__exportStar(require("./iShutter"), exports);
|
|
28
|
+
__exportStar(require("./iSpeaker"), exports);
|
|
27
29
|
__exportStar(require("./iTemperatureSensor"), exports);
|
|
28
30
|
__exportStar(require("./iVibrationSensor"), exports);
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { DeviceClusterType } from './device-cluster-type';
|
|
2
2
|
import { DeviceList } from './device-list';
|
|
3
3
|
import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
|
|
4
|
-
import { AcDevice, OwnSonosDevice } from '../services';
|
|
5
4
|
import { IBaseDevice } from './baseDeviceInterfaces';
|
|
6
5
|
export declare class DeviceCluster {
|
|
7
6
|
deviceMap: Map<DeviceClusterType, DeviceList>;
|
|
8
7
|
constructor(deviceMap?: Map<DeviceClusterType, DeviceList>);
|
|
9
8
|
getIoBrokerDevicesByType(type: DeviceClusterType): IoBrokerBaseDevice[];
|
|
10
|
-
getDevicesByType(type: DeviceClusterType): Array<IBaseDevice
|
|
9
|
+
getDevicesByType(type: DeviceClusterType): Array<IBaseDevice>;
|
|
11
10
|
addByDeviceType(device: IBaseDevice): void;
|
|
12
11
|
addToList(type: DeviceClusterType, device: IBaseDevice): void;
|
|
13
12
|
toJSON(): Partial<DeviceCluster & {
|
|
@@ -23,6 +23,12 @@ class DeviceCluster {
|
|
|
23
23
|
const type = device.deviceType;
|
|
24
24
|
const clusterTypes = [device_cluster_type_1.DeviceClusterType.all];
|
|
25
25
|
switch (type) {
|
|
26
|
+
case deviceType_1.DeviceType.Daikin:
|
|
27
|
+
clusterTypes.push(device_cluster_type_1.DeviceClusterType.Ac);
|
|
28
|
+
break;
|
|
29
|
+
case deviceType_1.DeviceType.Sonos:
|
|
30
|
+
clusterTypes.push(device_cluster_type_1.DeviceClusterType.Speaker);
|
|
31
|
+
break;
|
|
26
32
|
case deviceType_1.DeviceType.HmIpLampe:
|
|
27
33
|
case deviceType_1.DeviceType.ZigbeeIlluDimmer:
|
|
28
34
|
case deviceType_1.DeviceType.ZigbeeIlluLampe:
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { AcDevice, OwnSonosDevice } from '../services';
|
|
2
1
|
import { IBaseDevice } from './baseDeviceInterfaces';
|
|
3
2
|
export declare class DeviceList {
|
|
4
3
|
private _ids;
|
|
5
|
-
|
|
6
|
-
constructor(_ids?: string[], _isSonos?: boolean);
|
|
4
|
+
constructor(_ids?: string[]);
|
|
7
5
|
get ids(): string[];
|
|
8
|
-
getDevices(): Array<IBaseDevice
|
|
6
|
+
getDevices(): Array<IBaseDevice>;
|
|
9
7
|
}
|
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DeviceList = void 0;
|
|
4
4
|
const services_1 = require("../services");
|
|
5
5
|
class DeviceList {
|
|
6
|
-
constructor(_ids = []
|
|
6
|
+
constructor(_ids = []) {
|
|
7
7
|
this._ids = _ids;
|
|
8
|
-
this._isSonos = _isSonos;
|
|
9
8
|
// Empty
|
|
10
9
|
}
|
|
11
10
|
get ids() {
|
|
@@ -14,17 +13,9 @@ class DeviceList {
|
|
|
14
13
|
getDevices() {
|
|
15
14
|
const result = [];
|
|
16
15
|
for (const dID of this._ids) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
result.push(services_1.OwnSonosDevices.ownDevices[dID]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
const d = services_1.API.getDevice(dID);
|
|
25
|
-
if (d !== undefined) {
|
|
26
|
-
result.push(d);
|
|
27
|
-
}
|
|
16
|
+
const d = services_1.API.getDevice(dID);
|
|
17
|
+
if (d !== undefined) {
|
|
18
|
+
result.push(d);
|
|
28
19
|
}
|
|
29
20
|
}
|
|
30
21
|
return result;
|
|
@@ -14,7 +14,7 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
14
14
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Heater, new device_list_1.DeviceList(heaterIds));
|
|
15
15
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.TemperaturSensor, new device_list_1.DeviceList(tempSensorIds));
|
|
16
16
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.HumiditySensor, new device_list_1.DeviceList(humiditySensorIds));
|
|
17
|
-
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Ac, new device_list_1.DeviceList(acIds
|
|
17
|
+
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Ac, new device_list_1.DeviceList(acIds));
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* The current measured temperature of the room in Celsius
|
|
@@ -22,6 +22,6 @@ __exportStar(require("./heatGroup"), exports);
|
|
|
22
22
|
__exportStar(require("./lampenGroup"), exports);
|
|
23
23
|
__exportStar(require("./praesenzGroup"), exports);
|
|
24
24
|
__exportStar(require("./smokeGroup"), exports);
|
|
25
|
-
__exportStar(require("./
|
|
25
|
+
__exportStar(require("./speakerGroup"), exports);
|
|
26
26
|
__exportStar(require("./tasterGroup"), exports);
|
|
27
27
|
__exportStar(require("./waterGroup"), exports);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { OwnSonosDevice } from '../../services';
|
|
2
1
|
import { BaseGroup } from './base-group';
|
|
3
|
-
|
|
2
|
+
import { ISpeaker } from '../baseDeviceInterfaces';
|
|
3
|
+
export declare class SpeakerGroup extends BaseGroup {
|
|
4
4
|
private _playing;
|
|
5
5
|
constructor(roomName: string, speakerIds: string[]);
|
|
6
|
-
getOwnSonosDevices():
|
|
6
|
+
getOwnSonosDevices(): ISpeaker[];
|
|
7
7
|
playRadio(radioUrl: string): void;
|
|
8
8
|
turnOff(): void;
|
|
9
9
|
trigger(track: string): void;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SpeakerGroup = void 0;
|
|
4
4
|
const services_1 = require("../../services");
|
|
5
5
|
const base_group_1 = require("./base-group");
|
|
6
6
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
7
7
|
const group_type_1 = require("./group-type");
|
|
8
8
|
const device_list_1 = require("../device-list");
|
|
9
|
-
class
|
|
9
|
+
class SpeakerGroup extends base_group_1.BaseGroup {
|
|
10
10
|
constructor(roomName, speakerIds) {
|
|
11
11
|
super(roomName, group_type_1.GroupType.Speaker);
|
|
12
12
|
this._playing = false;
|
|
13
|
-
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Speaker, new device_list_1.DeviceList(speakerIds
|
|
13
|
+
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Speaker, new device_list_1.DeviceList(speakerIds));
|
|
14
14
|
}
|
|
15
15
|
getOwnSonosDevices() {
|
|
16
16
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Speaker);
|
|
@@ -18,16 +18,14 @@ class SonosGroup extends base_group_1.BaseGroup {
|
|
|
18
18
|
playRadio(radioUrl) {
|
|
19
19
|
this.getOwnSonosDevices().forEach((s) => {
|
|
20
20
|
services_1.Utils.guardedTimeout(() => {
|
|
21
|
-
|
|
22
|
-
(_a = s.device) === null || _a === void 0 ? void 0 : _a.SetAVTransportURI(radioUrl);
|
|
21
|
+
s.playUrl(radioUrl);
|
|
23
22
|
}, 1500);
|
|
24
23
|
});
|
|
25
24
|
this._playing = true;
|
|
26
25
|
}
|
|
27
26
|
turnOff() {
|
|
28
27
|
this.getOwnSonosDevices().forEach((s) => {
|
|
29
|
-
|
|
30
|
-
(_a = s.device) === null || _a === void 0 ? void 0 : _a.Stop();
|
|
28
|
+
s.stop();
|
|
31
29
|
});
|
|
32
30
|
this._playing = false;
|
|
33
31
|
}
|
|
@@ -39,4 +37,4 @@ class SonosGroup extends base_group_1.BaseGroup {
|
|
|
39
37
|
this.playRadio(track);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
|
-
exports.
|
|
40
|
+
exports.SpeakerGroup = SpeakerGroup;
|
|
@@ -5,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
8
9
|
class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
var _a;
|
|
@@ -16,6 +17,8 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
16
17
|
this._lastMotionTime = 0;
|
|
17
18
|
this._detectionsToday = 0;
|
|
18
19
|
this._currentIllumination = -1;
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.motionSensor);
|
|
21
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.illuminationSensor);
|
|
19
22
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
20
23
|
this.detectionsToday = todayCount.counter;
|
|
21
24
|
this.log(models_1.LogLevel.Debug, `Bewegungscounter vorinitialisiert mit ${this.detectionsToday}`);
|
|
@@ -7,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
10
11
|
class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
11
12
|
constructor(pInfo) {
|
|
12
13
|
super(pInfo, deviceType_1.DeviceType.HmIpHeizgruppe);
|
|
@@ -22,6 +23,9 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
22
23
|
this._humidity = baseDeviceInterfaces_1.UNDEFINED_HUMIDITY_VALUE;
|
|
23
24
|
this._desiredTemperature = 0;
|
|
24
25
|
this._roomTemperatur = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
26
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.temperatureSensor);
|
|
27
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.humiditySensor);
|
|
28
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.heater);
|
|
25
29
|
this._setPointTemperatureID = `${this.info.fullID}.1.SET_POINT_TEMPERATURE`;
|
|
26
30
|
this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
|
|
27
31
|
services_1.TimeCallbackService.addCallback(new models_1.TimeCallback(`${this.info.fullID} Season Check`, models_1.TimeCallbackType.TimeOfDay, () => {
|
|
@@ -5,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
8
9
|
class HmIpLampe extends hmIpDevice_1.HmIPDevice {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
super(pInfo, deviceType_1.DeviceType.HmIpLampe);
|
|
@@ -14,6 +15,7 @@ class HmIpLampe extends hmIpDevice_1.HmIPDevice {
|
|
|
14
15
|
this.lightOnSwitchID = '';
|
|
15
16
|
this._turnOffTimeout = undefined;
|
|
16
17
|
this.turnOffTime = 0;
|
|
18
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.lamp);
|
|
17
19
|
this.lightOnSwitchID = `${this.info.fullID}.2.STATE`;
|
|
18
20
|
}
|
|
19
21
|
update(idSplit, state, initial = false) {
|
|
@@ -5,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
8
9
|
class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
var _a;
|
|
@@ -16,6 +17,7 @@ class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
|
|
|
16
17
|
this.initialized = false;
|
|
17
18
|
this._detectionsToday = 0;
|
|
18
19
|
this._currentIllumination = -1;
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.illuminationSensor);
|
|
19
21
|
// this.presenceStateID = `${this.info.fullID}.1.${HmIpPraezenz.PRESENCE_DETECTION}`;
|
|
20
22
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
21
23
|
this.detectionsToday = todayCount.counter;
|
|
@@ -86,6 +88,7 @@ class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
|
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
exports.HmIpPraezenz = HmIpPraezenz;
|
|
91
|
+
// TODO: Add iPresenceSensor
|
|
89
92
|
HmIpPraezenz.PRESENCE_DETECTION = 'PRESENCE_DETECTION_STATE';
|
|
90
93
|
// private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
|
|
91
94
|
HmIpPraezenz.CURRENT_ILLUMINATION = 'ILLUMINATION';
|
|
@@ -10,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
13
14
|
class HmIpRoll extends hmIpDevice_1.HmIPDevice {
|
|
14
15
|
constructor(pInfo) {
|
|
15
16
|
super(pInfo, deviceType_1.DeviceType.HmIpRoll);
|
|
@@ -17,6 +18,7 @@ class HmIpRoll extends hmIpDevice_1.HmIPDevice {
|
|
|
17
18
|
this._setLevel = -1;
|
|
18
19
|
this._setLevelTime = -1;
|
|
19
20
|
this._currentLevel = -1;
|
|
21
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.shutter);
|
|
20
22
|
this._setLevelSwitchID = `${this.info.fullID}.4.LEVEL`;
|
|
21
23
|
}
|
|
22
24
|
get currentLevel() {
|
|
@@ -5,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
8
9
|
class HmIpTaster extends hmIpDevice_1.HmIPDevice {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
super(pInfo, deviceType_1.DeviceType.HmIpTaster);
|
|
@@ -16,6 +17,7 @@ class HmIpTaster extends hmIpDevice_1.HmIPDevice {
|
|
|
16
17
|
this.buttonBotRight = new button_1.Button('BotRight', HmIpTaster.BUTTON_CAPABILLITIES);
|
|
17
18
|
this.buttonBot = undefined;
|
|
18
19
|
this.buttonTop = undefined;
|
|
20
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.buttonSwitch);
|
|
19
21
|
}
|
|
20
22
|
update(idSplit, state, initial = false) {
|
|
21
23
|
this.log(models_1.LogLevel.DeepTrace, `Taster Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
@@ -5,11 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
8
9
|
class HmIpWippe extends hmIpDevice_1.HmIPDevice {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
super(pInfo, deviceType_1.DeviceType.HmIpWippe);
|
|
11
12
|
this.buttonBot = new button_1.Button('Bottom', HmIpWippe.BUTTON_CAPABILLITIES);
|
|
12
13
|
this.buttonTop = new button_1.Button('Top', HmIpWippe.BUTTON_CAPABILLITIES);
|
|
14
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.buttonSwitch);
|
|
13
15
|
}
|
|
14
16
|
update(idSplit, state, initial = false) {
|
|
15
17
|
this.log(models_1.LogLevel.DeepTrace, `Wippe Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
@@ -6,6 +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 DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
9
10
|
class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
10
11
|
constructor(info) {
|
|
11
12
|
super(info, deviceType_1.DeviceType.JsEnergyManager);
|
|
@@ -22,6 +23,7 @@ class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
22
23
|
this._phaseAState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
23
24
|
this._phaseBState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
24
25
|
this._phaseCState = new baseDeviceInterfaces_1.PhaseState(0, 0);
|
|
26
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.energyManager);
|
|
25
27
|
this.log(models_1.LogLevel.Info, `Creating Energy Manager Device`);
|
|
26
28
|
this._iCalculationInterval = services_1.Utils.guardedInterval(() => {
|
|
27
29
|
this.calculateExcessEnergy();
|
|
@@ -18,5 +18,6 @@ __exportStar(require("./ZigbeeActuator"), exports);
|
|
|
18
18
|
__exportStar(require("./zigbeeDevice"), exports);
|
|
19
19
|
__exportStar(require("./zigbeeHeater"), exports);
|
|
20
20
|
__exportStar(require("./zigbeeMagnetContact"), exports);
|
|
21
|
+
__exportStar(require("./zigbeeMotionSensor"), exports);
|
|
21
22
|
__exportStar(require("./zigbeeShutter"), exports);
|
|
22
23
|
__exportStar(require("./zigbeeSwitch"), exports);
|
|
@@ -5,6 +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 DeviceCapabilities_1 = require("../../DeviceCapabilities");
|
|
8
9
|
class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
|
|
9
10
|
constructor(pInfo, pType) {
|
|
10
11
|
super(pInfo, pType);
|
|
@@ -18,6 +19,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
18
19
|
this._seasonTurnOff = false;
|
|
19
20
|
this._humidity = 0;
|
|
20
21
|
this._roomTemperatur = 0;
|
|
22
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.heater);
|
|
21
23
|
this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
|
|
22
24
|
services_1.TimeCallbackService.addCallback(new models_1.TimeCallback(`${this.info.fullID} Season Check`, models_1.TimeCallbackType.TimeOfDay, () => {
|
|
23
25
|
this.checkSeasonTurnOff();
|
package/lib/server/devices/zigbee/{zigbeeMotionSensor.d.ts → BaseDevices/zigbeeMotionSensor.d.ts}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="iobroker" />
|
|
3
|
-
import { DeviceType } from '
|
|
4
|
-
import { ZigbeeDevice } from './
|
|
5
|
-
import { MotionSensorSettings } from '
|
|
6
|
-
import { iMotionSensor } from '
|
|
7
|
-
import { IoBrokerDeviceInfo } from '
|
|
3
|
+
import { DeviceType } from '../../deviceType';
|
|
4
|
+
import { ZigbeeDevice } from './index';
|
|
5
|
+
import { MotionSensorSettings } from '../../../../models';
|
|
6
|
+
import { iMotionSensor } from '../../baseDeviceInterfaces';
|
|
7
|
+
import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
|
|
8
8
|
export declare class ZigbeeMotionSensor extends ZigbeeDevice implements iMotionSensor {
|
|
9
9
|
settings: MotionSensorSettings;
|
|
10
10
|
movementDetected: boolean;
|
package/lib/server/devices/zigbee/{zigbeeMotionSensor.js → BaseDevices/zigbeeMotionSensor.js}
RENAMED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZigbeeMotionSensor = void 0;
|
|
4
|
-
const
|
|
5
|
-
const models_1 = require("
|
|
6
|
-
const services_1 = require("
|
|
7
|
-
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const models_1 = require("../../../../models");
|
|
6
|
+
const services_1 = require("../../../services");
|
|
7
|
+
const DeviceCapabilities_1 = require("../../DeviceCapabilities");
|
|
8
|
+
class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
|
|
8
9
|
constructor(pInfo, type) {
|
|
9
10
|
var _a;
|
|
10
11
|
super(pInfo, type);
|
|
@@ -15,6 +16,7 @@ class ZigbeeMotionSensor extends BaseDevices_1.ZigbeeDevice {
|
|
|
15
16
|
this._needsMovementResetFallback = true;
|
|
16
17
|
this._timeSinceLastMotion = 0;
|
|
17
18
|
this._detectionsToday = 0;
|
|
19
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.motionSensor);
|
|
18
20
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getCount(this).then((todayCount) => {
|
|
19
21
|
this.detectionsToday = todayCount.counter;
|
|
20
22
|
this.log(models_1.LogLevel.Debug, `Preinitialized movement counter with ${this.detectionsToday}`);
|
|
@@ -9,6 +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 DeviceCapabilities_1 = require("../../DeviceCapabilities");
|
|
12
13
|
class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
|
|
13
14
|
constructor(pInfo, pType) {
|
|
14
15
|
var _a;
|
|
@@ -20,6 +21,7 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
|
|
|
20
21
|
this._setLevelTime = -1;
|
|
21
22
|
this._shutterCalibrationData = new models_1.ShutterCalibration(this.info.fullID, 0, 0, 0, 0);
|
|
22
23
|
this._currentLevel = -1;
|
|
24
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.shutter);
|
|
23
25
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getShutterCalibration(this).then((calibrationData) => {
|
|
24
26
|
this._shutterCalibrationData = calibrationData;
|
|
25
27
|
this.log(models_1.LogLevel.DeepTrace, `ZigbeeShutter initialized with calibration data`);
|
|
@@ -13,7 +13,6 @@ export * from './zigbeeIlluDimmer';
|
|
|
13
13
|
export * from './zigbeeIlluLampe';
|
|
14
14
|
export * from './zigbeeIlluLedRGBCCT';
|
|
15
15
|
export * from './zigbeeIlluShutter';
|
|
16
|
-
export * from './zigbeeMotionSensor';
|
|
17
16
|
export * from './zigbeeSMaBiTMagnetContact';
|
|
18
17
|
export * from './zigbeeSonoffMotion';
|
|
19
18
|
export * from './zigbeeSonoffTemp';
|
|
@@ -29,7 +29,6 @@ __exportStar(require("./zigbeeIlluDimmer"), exports);
|
|
|
29
29
|
__exportStar(require("./zigbeeIlluLampe"), exports);
|
|
30
30
|
__exportStar(require("./zigbeeIlluLedRGBCCT"), exports);
|
|
31
31
|
__exportStar(require("./zigbeeIlluShutter"), exports);
|
|
32
|
-
__exportStar(require("./zigbeeMotionSensor"), exports);
|
|
33
32
|
__exportStar(require("./zigbeeSMaBiTMagnetContact"), exports);
|
|
34
33
|
__exportStar(require("./zigbeeSonoffMotion"), exports);
|
|
35
34
|
__exportStar(require("./zigbeeSonoffTemp"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="iobroker" />
|
|
2
2
|
import { iIlluminationSensor } from '../baseDeviceInterfaces';
|
|
3
|
-
import { ZigbeeMotionSensor } from './
|
|
3
|
+
import { ZigbeeMotionSensor } from './BaseDevices';
|
|
4
4
|
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
5
5
|
export declare class ZigbeeAquaraMotion extends ZigbeeMotionSensor implements iIlluminationSensor {
|
|
6
6
|
private _illuminance;
|
|
@@ -3,14 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ZigbeeAquaraMotion = void 0;
|
|
4
4
|
const deviceType_1 = require("../deviceType");
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
|
-
const
|
|
6
|
+
const BaseDevices_1 = require("./BaseDevices");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
|
-
|
|
8
|
+
const DeviceCapabilities_1 = require("../DeviceCapabilities");
|
|
9
|
+
class ZigbeeAquaraMotion extends BaseDevices_1.ZigbeeMotionSensor {
|
|
9
10
|
constructor(pInfo) {
|
|
10
11
|
super(pInfo, deviceType_1.DeviceType.ZigbeeAquaraMotion);
|
|
11
12
|
this._illuminance = 0;
|
|
12
13
|
this.occupancyTimeoutID = `occupancy_timeout`;
|
|
13
14
|
this._motionTimeout = 0;
|
|
15
|
+
this.deviceCapabilities.push(DeviceCapabilities_1.DeviceCapabilities.illuminationSensor);
|
|
14
16
|
this.occupancyTimeoutID = `${this.info.fullID}.${this.occupancyTimeoutID}`;
|
|
15
17
|
}
|
|
16
18
|
// Time after the last trigger until a motion event gets triggered again
|