hoffmation-base 0.1.41-17 → 0.1.41-22
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.js +1 -1
- package/lib/models/deviceSettings/heaterSettings.d.ts +22 -0
- package/lib/models/deviceSettings/heaterSettings.js +29 -0
- package/lib/models/deviceSettings/index.d.ts +1 -0
- package/lib/models/deviceSettings/index.js +1 -0
- package/lib/models/rooms/RoomBase.js +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettings.d.ts +1 -0
- package/lib/models/rooms/RoomSettings/RoomSettings.js +4 -0
- package/lib/models/rooms/RoomSettings/roomAddDeviceItem.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/roomAddDeviceItem.js +2 -2
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +1 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -4
- package/lib/models/rooms/roomInfo.d.ts +1 -1
- package/lib/server/config/iConfig.d.ts +1 -2
- package/lib/server/devices/DeviceInfo.d.ts +3 -3
- package/lib/server/devices/DeviceInfo.js +3 -3
- package/lib/server/devices/Griffe.d.ts +1 -1
- package/lib/server/devices/Griffe.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +1 -1
- package/lib/server/devices/{iBaseDevice.d.ts → baseDeviceInterfaces/iBaseDevice.d.ts} +3 -3
- package/lib/server/devices/{iBaseDevice.js → baseDeviceInterfaces/iBaseDevice.js} +0 -0
- package/lib/server/devices/{iButtonSwitch.d.ts → baseDeviceInterfaces/iButtonSwitch.d.ts} +1 -1
- package/lib/server/devices/{iButtonSwitch.js → baseDeviceInterfaces/iButtonSwitch.js} +0 -0
- package/lib/server/devices/{iEnergyManager.d.ts → baseDeviceInterfaces/iEnergyManager.d.ts} +0 -0
- package/lib/server/devices/{iEnergyManager.js → baseDeviceInterfaces/iEnergyManager.js} +0 -0
- package/lib/server/devices/{iExcessEnergyConsumer.d.ts → baseDeviceInterfaces/iExcessEnergyConsumer.d.ts} +1 -1
- package/lib/server/devices/{iExcessEnergyConsumer.js → baseDeviceInterfaces/iExcessEnergyConsumer.js} +0 -0
- package/lib/server/devices/{iHeater.d.ts → baseDeviceInterfaces/iHeater.d.ts} +5 -1
- package/lib/server/devices/{iHeater.js → baseDeviceInterfaces/iHeater.js} +0 -0
- package/lib/server/devices/{iHumiditySensor.d.ts → baseDeviceInterfaces/iHumiditySensor.d.ts} +0 -0
- package/lib/server/devices/{iHumiditySensor.js → baseDeviceInterfaces/iHumiditySensor.js} +0 -0
- package/lib/server/devices/{iIlluminationSensor.d.ts → baseDeviceInterfaces/iIlluminationSensor.d.ts} +0 -0
- package/lib/server/devices/{iIlluminationSensor.js → baseDeviceInterfaces/iIlluminationSensor.js} +0 -0
- package/lib/server/devices/{iLamp.d.ts → baseDeviceInterfaces/iLamp.d.ts} +1 -1
- package/lib/server/devices/{iLamp.js → baseDeviceInterfaces/iLamp.js} +0 -0
- package/lib/server/devices/{iMotionSensor.d.ts → baseDeviceInterfaces/iMotionSensor.d.ts} +1 -1
- package/lib/server/devices/{iMotionSensor.js → baseDeviceInterfaces/iMotionSensor.js} +0 -0
- package/lib/server/devices/{iShutter.d.ts → baseDeviceInterfaces/iShutter.d.ts} +1 -1
- package/lib/server/devices/{iShutter.js → baseDeviceInterfaces/iShutter.js} +0 -0
- package/lib/server/devices/{iTemperaturSensor.d.ts → baseDeviceInterfaces/iTemperaturSensor.d.ts} +2 -0
- package/lib/server/devices/{iTemperaturSensor.js → baseDeviceInterfaces/iTemperaturSensor.js} +2 -0
- package/lib/server/devices/{iVibrationSensor.d.ts → baseDeviceInterfaces/iVibrationSensor.d.ts} +0 -0
- package/lib/server/devices/{iVibrationSensor.js → baseDeviceInterfaces/iVibrationSensor.js} +0 -0
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/index.js +28 -0
- package/lib/server/devices/device-cluster.d.ts +1 -1
- package/lib/server/devices/device-list.d.ts +1 -1
- package/lib/server/devices/deviceType.d.ts +1 -0
- package/lib/server/devices/deviceType.js +1 -0
- package/lib/server/devices/devices.d.ts +1 -2
- package/lib/server/devices/devices.js +4 -0
- package/lib/server/devices/groups/Fenster.d.ts +1 -2
- package/lib/server/devices/groups/base-group.d.ts +2 -3
- package/lib/server/devices/groups/base-group.js +3 -5
- package/lib/server/devices/groups/heatGroup.d.ts +4 -4
- package/lib/server/devices/groups/heatGroup.js +46 -1
- package/lib/server/devices/groups/lampenGroup.d.ts +1 -1
- package/lib/server/devices/groups/praesenzGroup.d.ts +1 -1
- package/lib/server/devices/groups/smokeGroup.d.ts +2 -2
- package/lib/server/devices/groups/smokeGroup.js +3 -3
- package/lib/server/devices/groups/sonosGroup.d.ts +1 -1
- package/lib/server/devices/groups/sonosGroup.js +2 -2
- package/lib/server/devices/groups/tasterGroup.d.ts +1 -1
- package/lib/server/devices/groups/waterGroup.d.ts +2 -2
- package/lib/server/devices/groups/waterGroup.js +3 -3
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +5 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +3 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +21 -23
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +16 -7
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +63 -10
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +4 -4
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +9 -9
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +21 -21
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +2 -2
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +18 -21
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +1 -1
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +4 -4
- package/lib/server/devices/index.d.ts +1 -12
- package/lib/server/devices/index.js +1 -12
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +1 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +7 -7
- package/lib/server/devices/wledDevice.js +9 -9
- package/lib/server/devices/zigbee/{ZigbeeActuator.d.ts → BaseDevices/ZigbeeActuator.d.ts} +3 -3
- package/lib/server/devices/zigbee/{ZigbeeActuator.js → BaseDevices/ZigbeeActuator.js} +14 -15
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +6 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +22 -0
- package/lib/server/devices/zigbee/{zigbeeDevice.d.ts → BaseDevices/zigbeeDevice.d.ts} +3 -3
- package/lib/server/devices/zigbee/{zigbeeDevice.js → BaseDevices/zigbeeDevice.js} +7 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +38 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +111 -0
- package/lib/server/devices/zigbee/{zigbeeMagnetContact.d.ts → BaseDevices/zigbeeMagnetContact.d.ts} +3 -3
- package/lib/server/devices/zigbee/{zigbeeMagnetContact.js → BaseDevices/zigbeeMagnetContact.js} +18 -21
- package/lib/server/devices/zigbee/{zigbeeShutter.d.ts → BaseDevices/zigbeeShutter.d.ts} +6 -6
- package/lib/server/devices/zigbee/{zigbeeShutter.js → BaseDevices/zigbeeShutter.js} +3 -3
- package/lib/server/devices/zigbee/{zigbeeSwitch.d.ts → BaseDevices/zigbeeSwitch.d.ts} +4 -4
- package/lib/server/devices/zigbee/{zigbeeSwitch.js → BaseDevices/zigbeeSwitch.js} +0 -0
- package/lib/server/devices/zigbee/index.d.ts +1 -5
- package/lib/server/devices/zigbee/index.js +1 -5
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +6 -6
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +28 -28
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +2 -2
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +4 -4
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +34 -37
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +3 -4
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +13 -15
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +4 -4
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +36 -40
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +7 -7
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +7 -7
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +5 -2
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +5 -2
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +2 -2
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +2 -2
- package/lib/server/devices/zigbee/zigbeeMotionSensor.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeMotionSensor.js +2 -2
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +6 -6
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +2 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +8 -6
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +29 -15
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +21 -0
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +106 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -2
- package/lib/server/ioBroker/connection.d.ts +44 -44
- package/lib/server/ioBroker/connection.js +271 -271
- package/lib/server/ioBroker/index.d.ts +2 -2
- package/lib/server/ioBroker/index.js +2 -2
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -3
- package/lib/server/ioBroker/ioBroker.main.js +12 -16
- package/lib/server/ioBroker/ioBrokerAuthInfo.d.ts +6 -0
- package/lib/server/ioBroker/ioBrokerAuthInfo.js +11 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +12 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +32 -0
- package/lib/server/services/HTTPSOptions.js +3 -3
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -3
- package/lib/server/services/Sonos/mp3-server.d.ts +1 -1
- package/lib/server/services/Sonos/mp3-server.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +2 -2
- package/lib/server/services/Sonos/polly-service.js +10 -10
- package/lib/server/services/Sonos/sonos-service.d.ts +4 -4
- package/lib/server/services/Sonos/sonos-service.js +22 -23
- package/lib/server/services/Translation/res.d.ts +1 -1
- package/lib/server/services/calendar/muell-tonne.d.ts +1 -1
- package/lib/server/services/calendar/muell-tonne.js +14 -14
- package/lib/server/services/dbo/iPersist.d.ts +4 -10
- package/lib/server/services/dbo/mongoPersistance.d.ts +9 -15
- package/lib/server/services/dbo/mongoPersistance.js +38 -44
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +6 -12
- package/lib/server/services/dbo/postgreSqlPersist.js +25 -26
- package/lib/server/services/https-service.d.ts +1 -1
- package/lib/server/services/https-service.js +11 -11
- package/lib/server/services/log-service/log-object.d.ts +1 -1
- package/lib/server/services/log-service/log-service.d.ts +4 -4
- package/lib/server/services/log-service/log-service.js +11 -11
- package/lib/server/services/news-service.d.ts +9 -9
- package/lib/server/services/news-service.js +40 -41
- package/lib/server/services/settings-service.d.ts +2 -2
- package/lib/server/services/settings-service.js +3 -3
- package/lib/server/services/utils/utils.d.ts +2 -0
- package/lib/server/services/utils/utils.js +9 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/lib/server/ioBroker/socketIOAuthInfo.d.ts +0 -5
- package/lib/server/ioBroker/socketIOAuthInfo.js +0 -6
- package/lib/server/ioBroker/socketIOLogging.d.ts +0 -12
- package/lib/server/ioBroker/socketIOLogging.js +0 -32
|
@@ -5,6 +5,7 @@ const base_group_1 = require("./base-group");
|
|
|
5
5
|
const group_type_1 = require("./group-type");
|
|
6
6
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
7
7
|
const device_list_1 = require("../device-list");
|
|
8
|
+
const baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
8
9
|
class HeatGroup extends base_group_1.BaseGroup {
|
|
9
10
|
constructor(roomName, heaterIds, tempSensorIds, humiditySensorIds) {
|
|
10
11
|
super(roomName, group_type_1.GroupType.Heating);
|
|
@@ -34,7 +35,7 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
34
35
|
return Math.round((value / this.getHeater().length) * 10) / 10;
|
|
35
36
|
}
|
|
36
37
|
getHeater() {
|
|
37
|
-
return this.deviceCluster.
|
|
38
|
+
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Heater);
|
|
38
39
|
}
|
|
39
40
|
getTempSensors() {
|
|
40
41
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.TemperaturSensor);
|
|
@@ -42,5 +43,49 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
42
43
|
getHumiditySensors() {
|
|
43
44
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.HumiditySensor);
|
|
44
45
|
}
|
|
46
|
+
initialize() {
|
|
47
|
+
this.getTempSensors().forEach((sensor) => {
|
|
48
|
+
sensor.addTempChangeCallback((_newVal) => {
|
|
49
|
+
this.recalcRoomTemperatur();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
recalcRoomTemperatur() {
|
|
54
|
+
let temp = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
55
|
+
let count = 0;
|
|
56
|
+
this.getTempSensors().forEach((sensor) => {
|
|
57
|
+
const sensorValue = sensor.iTemperatur;
|
|
58
|
+
if (sensorValue === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (count === 0) {
|
|
62
|
+
count = 1;
|
|
63
|
+
temp = sensorValue;
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
temp = (temp * count + sensorValue) / ++count;
|
|
67
|
+
});
|
|
68
|
+
this.getHeater().forEach((heaterAsSensor) => {
|
|
69
|
+
if (!heaterAsSensor.settings.useOwnTemperatur) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const sensorValue = heaterAsSensor.iTemperatur;
|
|
73
|
+
if (sensorValue === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (count === 0) {
|
|
77
|
+
count = 1;
|
|
78
|
+
temp = sensorValue;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
temp = (temp * count + sensorValue) / ++count;
|
|
82
|
+
});
|
|
83
|
+
if (temp === baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.getHeater().forEach((heater) => {
|
|
87
|
+
heater.onTemperaturChange(temp);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
45
90
|
}
|
|
46
91
|
exports.HeatGroup = HeatGroup;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ZigbeeIkeaSteckdose, ZigbeeIlluLedRGBCCT } from '../zigbee';
|
|
2
2
|
import { BaseGroup } from './base-group';
|
|
3
|
-
import { iLamp } from '../
|
|
3
|
+
import { iLamp } from '../baseDeviceInterfaces';
|
|
4
4
|
import { TimeOfDay } from '../../../models';
|
|
5
5
|
export declare class LampenGroup extends BaseGroup {
|
|
6
6
|
constructor(roomName: string, lampenIds?: string[], steckerIds?: string[], ledIds?: string[]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HmIpPraezenz } from '../hmIPDevices';
|
|
2
2
|
import { BaseGroup } from './base-group';
|
|
3
|
-
import { iMotionSensor } from '../
|
|
3
|
+
import { iMotionSensor } from '../baseDeviceInterfaces';
|
|
4
4
|
export declare class PraesenzGroup extends BaseGroup {
|
|
5
5
|
private _lastMovement;
|
|
6
6
|
private _lastLeftTimeout;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ZigbeeHeimanSmoke } from '../zigbee
|
|
1
|
+
import { ZigbeeHeimanSmoke } from '../zigbee';
|
|
2
2
|
import { BaseGroup } from './base-group';
|
|
3
3
|
export declare class SmokeGroup extends BaseGroup {
|
|
4
|
-
getSmokeDetectors(): ZigbeeHeimanSmoke[];
|
|
5
4
|
constructor(roomName: string, smokeDetectorIds: string[]);
|
|
5
|
+
getSmokeDetectors(): ZigbeeHeimanSmoke[];
|
|
6
6
|
stopAlarm(): void;
|
|
7
7
|
}
|
|
@@ -6,13 +6,13 @@ const device_cluster_type_1 = require("../device-cluster-type");
|
|
|
6
6
|
const group_type_1 = require("./group-type");
|
|
7
7
|
const device_list_1 = require("../device-list");
|
|
8
8
|
class SmokeGroup extends base_group_1.BaseGroup {
|
|
9
|
-
getSmokeDetectors() {
|
|
10
|
-
return this.deviceCluster.getIoBrokerDevicesByType(device_cluster_type_1.DeviceClusterType.SmokeDetector);
|
|
11
|
-
}
|
|
12
9
|
constructor(roomName, smokeDetectorIds) {
|
|
13
10
|
super(roomName, group_type_1.GroupType.Smoke);
|
|
14
11
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.SmokeDetector, new device_list_1.DeviceList(smokeDetectorIds));
|
|
15
12
|
}
|
|
13
|
+
getSmokeDetectors() {
|
|
14
|
+
return this.deviceCluster.getIoBrokerDevicesByType(device_cluster_type_1.DeviceClusterType.SmokeDetector);
|
|
15
|
+
}
|
|
16
16
|
stopAlarm() {
|
|
17
17
|
for (const d of this.getSmokeDetectors()) {
|
|
18
18
|
d.stopAlarm(true);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SonosGroup = void 0;
|
|
4
|
-
const
|
|
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");
|
|
@@ -17,7 +17,7 @@ class SonosGroup extends base_group_1.BaseGroup {
|
|
|
17
17
|
}
|
|
18
18
|
playRadio(radioUrl) {
|
|
19
19
|
this.getOwnSonosDevices().forEach((s) => {
|
|
20
|
-
|
|
20
|
+
services_1.Utils.guardedTimeout(() => {
|
|
21
21
|
var _a;
|
|
22
22
|
(_a = s.device) === null || _a === void 0 ? void 0 : _a.SetAVTransportURI(radioUrl);
|
|
23
23
|
}, 1500);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseGroup } from './base-group';
|
|
2
|
-
import { iButtonSwitch } from '../
|
|
2
|
+
import { iButtonSwitch } from '../baseDeviceInterfaces';
|
|
3
3
|
export declare class TasterGroup extends BaseGroup {
|
|
4
4
|
constructor(roomName: string, buttonIds: string[]);
|
|
5
5
|
getButtons(): iButtonSwitch[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ZigbeeAquaraWater } from '../zigbee
|
|
1
|
+
import { ZigbeeAquaraWater } from '../zigbee';
|
|
2
2
|
import { BaseGroup } from './base-group';
|
|
3
3
|
export declare class WaterGroup extends BaseGroup {
|
|
4
|
-
getWaterDetectors(): ZigbeeAquaraWater[];
|
|
5
4
|
constructor(roomName: string, waterDetectorIds: string[]);
|
|
5
|
+
getWaterDetectors(): ZigbeeAquaraWater[];
|
|
6
6
|
stopAlarm(): void;
|
|
7
7
|
}
|
|
@@ -6,13 +6,13 @@ const device_cluster_type_1 = require("../device-cluster-type");
|
|
|
6
6
|
const group_type_1 = require("./group-type");
|
|
7
7
|
const device_list_1 = require("../device-list");
|
|
8
8
|
class WaterGroup extends base_group_1.BaseGroup {
|
|
9
|
-
getWaterDetectors() {
|
|
10
|
-
return this.deviceCluster.getIoBrokerDevicesByType(device_cluster_type_1.DeviceClusterType.WaterDetectors);
|
|
11
|
-
}
|
|
12
9
|
constructor(roomName, waterDetectorIds) {
|
|
13
10
|
super(roomName, group_type_1.GroupType.Water);
|
|
14
11
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.WaterDetectors, new device_list_1.DeviceList(waterDetectorIds));
|
|
15
12
|
}
|
|
13
|
+
getWaterDetectors() {
|
|
14
|
+
return this.deviceCluster.getIoBrokerDevicesByType(device_cluster_type_1.DeviceClusterType.WaterDetectors);
|
|
15
|
+
}
|
|
16
16
|
stopAlarm() {
|
|
17
17
|
for (const d of this.getWaterDetectors()) {
|
|
18
18
|
d.stopAlarm(true);
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
4
|
export declare class HmIpAccessPoint extends HmIPDevice {
|
|
5
|
+
constructor(pInfo: DeviceInfo);
|
|
5
6
|
private _ip;
|
|
6
7
|
get ip(): string;
|
|
7
|
-
constructor(pInfo: DeviceInfo);
|
|
8
8
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
9
9
|
private updateBaseInformation;
|
|
10
10
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HmIpAccessPoint = void 0;
|
|
4
4
|
const hmIpDevice_1 = require("./hmIpDevice");
|
|
5
5
|
const deviceType_1 = require("../deviceType");
|
|
6
|
-
const
|
|
6
|
+
const models_1 = require("../../../models");
|
|
7
7
|
class HmIpAccessPoint extends hmIpDevice_1.HmIPDevice {
|
|
8
8
|
constructor(pInfo) {
|
|
9
9
|
super(pInfo, deviceType_1.DeviceType.HmIpAccessPoint);
|
|
@@ -13,7 +13,7 @@ class HmIpAccessPoint extends hmIpDevice_1.HmIPDevice {
|
|
|
13
13
|
return this._ip;
|
|
14
14
|
}
|
|
15
15
|
update(idSplit, state, initial = false) {
|
|
16
|
-
this.log(
|
|
16
|
+
this.log(models_1.LogLevel.DeepTrace, `AP Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
17
17
|
super.update(idSplit, state, initial, true);
|
|
18
18
|
switch (idSplit[3]) {
|
|
19
19
|
case '0':
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { MotionSensorSettings } from '../../../models';
|
|
4
4
|
import { DeviceInfo } from '../DeviceInfo';
|
|
5
|
-
import { iIlluminationSensor } from '../
|
|
6
|
-
import { iMotionSensor } from '../iMotionSensor';
|
|
5
|
+
import { iIlluminationSensor, iMotionSensor } from '../baseDeviceInterfaces';
|
|
7
6
|
export declare class HmIpBewegung extends HmIPDevice implements iIlluminationSensor, iMotionSensor {
|
|
8
7
|
private static MOVEMENT_DETECTION;
|
|
9
8
|
private static CURRENT_ILLUMINATION;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HmIPDevice = void 0;
|
|
4
|
-
const
|
|
4
|
+
const models_1 = require("../../../models");
|
|
5
5
|
const IoBrokerBaseDevice_1 = require("../IoBrokerBaseDevice");
|
|
6
6
|
class HmIPDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
7
7
|
constructor(pInfo, pType) {
|
|
@@ -10,10 +10,10 @@ class HmIPDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
10
10
|
}
|
|
11
11
|
update(idSplit, state, initial = false, pOverride = false) {
|
|
12
12
|
if (!pOverride) {
|
|
13
|
-
this.log(
|
|
14
|
-
this.log(
|
|
13
|
+
this.log(models_1.LogLevel.Trace, `Keine Update Überschreibung :\n\tID: ${idSplit.join('.')}`);
|
|
14
|
+
this.log(models_1.LogLevel.DeepTrace, `Data: ${JSON.stringify(state)}`);
|
|
15
15
|
}
|
|
16
|
-
this.log(
|
|
16
|
+
this.log(models_1.LogLevel.DeepTrace, `Base-Device Update for ${this.info.customName}("${idSplit.join('.')}", ${state}, ${initial}, ${pOverride})`);
|
|
17
17
|
if (idSplit[3] !== '0') {
|
|
18
18
|
// Dies ist etwas Gerätespezifisches
|
|
19
19
|
return;
|
|
@@ -25,7 +25,7 @@ class HmIPDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
25
25
|
case 'LOW_BAT':
|
|
26
26
|
const newBatLowVal = state.val;
|
|
27
27
|
if (newBatLowVal) {
|
|
28
|
-
this.log(
|
|
28
|
+
this.log(models_1.LogLevel.Alert, `!!BATTERIE FAST LEER!!`);
|
|
29
29
|
}
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="iobroker" />
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
|
-
import { FensterPosition } from '../models
|
|
5
|
-
import { Fenster } from '../groups
|
|
4
|
+
import { FensterPosition } from '../models';
|
|
5
|
+
import { Fenster } from '../groups';
|
|
6
6
|
import { IoBrokerBaseDevice } from '../IoBrokerBaseDevice';
|
|
7
7
|
export declare class HmIpGriff extends HmIPDevice {
|
|
8
8
|
position: FensterPosition;
|
|
@@ -14,10 +14,10 @@ export declare class HmIpGriff extends HmIPDevice {
|
|
|
14
14
|
private _fenster;
|
|
15
15
|
private _helpingRoomTemp;
|
|
16
16
|
constructor(pInfo: DeviceInfo);
|
|
17
|
+
set Fenster(value: Fenster);
|
|
17
18
|
addOffenCallback(pCallback: (pValue: boolean) => void): void;
|
|
18
19
|
addKippCallback(pCallback: (pValue: boolean) => void): void;
|
|
19
20
|
addClosedCallback(pCallback: (pValue: boolean) => void): void;
|
|
20
|
-
set Fenster(value: Fenster);
|
|
21
21
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
22
22
|
updatePosition(pValue: FensterPosition): void;
|
|
23
23
|
toJSON(): Partial<IoBrokerBaseDevice>;
|
|
@@ -6,16 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.HmIpGriff = void 0;
|
|
7
7
|
const hmIpDevice_1 = require("./hmIpDevice");
|
|
8
8
|
const deviceType_1 = require("../deviceType");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const FensterPosition_1 = require("../models/FensterPosition");
|
|
13
|
-
const logLevel_1 = require("../../../models/logLevel");
|
|
9
|
+
const services_1 = require("../../services");
|
|
10
|
+
const models_1 = require("../models");
|
|
11
|
+
const models_2 = require("../../../models");
|
|
14
12
|
const lodash_1 = __importDefault(require("lodash"));
|
|
15
13
|
class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
16
14
|
constructor(pInfo) {
|
|
17
15
|
super(pInfo, deviceType_1.DeviceType.HmIpGriff);
|
|
18
|
-
this.position =
|
|
16
|
+
this.position = models_1.FensterPosition.geschlossen;
|
|
19
17
|
this._kippCallback = [];
|
|
20
18
|
this._closedCallback = [];
|
|
21
19
|
this._offenCallback = [];
|
|
@@ -23,6 +21,9 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
|
23
21
|
this._fenster = undefined;
|
|
24
22
|
this._helpingRoomTemp = false;
|
|
25
23
|
}
|
|
24
|
+
set Fenster(value) {
|
|
25
|
+
this._fenster = value;
|
|
26
|
+
}
|
|
26
27
|
addOffenCallback(pCallback) {
|
|
27
28
|
this._offenCallback.push(pCallback);
|
|
28
29
|
}
|
|
@@ -32,11 +33,8 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
|
32
33
|
addClosedCallback(pCallback) {
|
|
33
34
|
this._closedCallback.push(pCallback);
|
|
34
35
|
}
|
|
35
|
-
set Fenster(value) {
|
|
36
|
-
this._fenster = value;
|
|
37
|
-
}
|
|
38
36
|
update(idSplit, state, initial = false) {
|
|
39
|
-
this.log(
|
|
37
|
+
this.log(models_2.LogLevel.DeepTrace, `Griff Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
40
38
|
super.update(idSplit, state, initial, true);
|
|
41
39
|
switch (idSplit[3]) {
|
|
42
40
|
case '1':
|
|
@@ -50,7 +48,7 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
|
50
48
|
if (pValue === this.position) {
|
|
51
49
|
return;
|
|
52
50
|
}
|
|
53
|
-
this.log(
|
|
51
|
+
this.log(models_2.LogLevel.Trace, `Update Fenstergriff auf Position "${models_1.FensterPosition[pValue]}"`);
|
|
54
52
|
this.position = pValue;
|
|
55
53
|
for (const c1 of this._closedCallback) {
|
|
56
54
|
c1(pValue === 0);
|
|
@@ -61,39 +59,39 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
|
61
59
|
for (const c3 of this._offenCallback) {
|
|
62
60
|
c3(pValue === 2);
|
|
63
61
|
}
|
|
64
|
-
if (pValue ===
|
|
62
|
+
if (pValue === models_1.FensterPosition.geschlossen) {
|
|
65
63
|
if (this._iOpenTimeout !== undefined) {
|
|
66
64
|
clearInterval(this._iOpenTimeout);
|
|
67
|
-
this.log(
|
|
65
|
+
this.log(models_2.LogLevel.Info, `Fenster nach ${this.minutesOpen} Minuten geschlossen`);
|
|
68
66
|
this.minutesOpen = 0;
|
|
69
67
|
this._iOpenTimeout = undefined;
|
|
70
68
|
}
|
|
71
69
|
return;
|
|
72
70
|
}
|
|
73
71
|
else if (this._iOpenTimeout === undefined) {
|
|
74
|
-
this._iOpenTimeout =
|
|
72
|
+
this._iOpenTimeout = services_1.Utils.guardedInterval(() => {
|
|
75
73
|
var _a;
|
|
76
74
|
this.minutesOpen++;
|
|
77
75
|
const heatgroup = (_a = this._fenster) === null || _a === void 0 ? void 0 : _a.getRoom().HeatGroup;
|
|
78
76
|
if (heatgroup !== undefined) {
|
|
79
77
|
const desiredTemp = heatgroup.desiredTemp;
|
|
80
78
|
const currentTemp = heatgroup.currentTemp;
|
|
81
|
-
const outSideTemp =
|
|
79
|
+
const outSideTemp = services_1.WeatherService.getCurrentTemp();
|
|
82
80
|
// Check if any of these values are unavailable
|
|
83
81
|
if (desiredTemp > -99 && currentTemp > -99 && outSideTemp > -99) {
|
|
84
82
|
const wouldHelp = (desiredTemp < currentTemp && outSideTemp < currentTemp) ||
|
|
85
83
|
(desiredTemp > currentTemp && outSideTemp > currentTemp);
|
|
86
84
|
if (!wouldHelp && this._helpingRoomTemp) {
|
|
87
85
|
const info = `Das Fenster sollte geschlossen werden, es hilft dem Raum nicht mehr`;
|
|
88
|
-
this.log(
|
|
89
|
-
|
|
86
|
+
this.log(models_2.LogLevel.Info, info);
|
|
87
|
+
services_1.TelegramService.inform(info);
|
|
90
88
|
this._helpingRoomTemp = false;
|
|
91
89
|
}
|
|
92
90
|
else if (wouldHelp && !this._helpingRoomTemp) {
|
|
93
91
|
this._helpingRoomTemp = true;
|
|
94
92
|
const info = `Das Fenster hilft der Innentemperatur ihr Ziel von ${desiredTemp} zu erreichen. Draußen sind es ${outSideTemp}. Du wirst informiert wenn es nicht mehr hilft.`;
|
|
95
|
-
this.log(
|
|
96
|
-
|
|
93
|
+
this.log(models_2.LogLevel.Info, info);
|
|
94
|
+
services_1.TelegramService.inform(info);
|
|
97
95
|
return;
|
|
98
96
|
}
|
|
99
97
|
else if (wouldHelp && this._helpingRoomTemp) {
|
|
@@ -101,18 +99,18 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
|
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
101
|
}
|
|
104
|
-
const message = `Fenster seit ${this.minutesOpen} Minuten auf Position ${
|
|
102
|
+
const message = `Fenster seit ${this.minutesOpen} Minuten auf Position ${models_1.FensterPosition[this.position]}`;
|
|
105
103
|
switch (this.minutesOpen) {
|
|
106
104
|
case 15:
|
|
107
105
|
case 30:
|
|
108
106
|
case 60:
|
|
109
107
|
case 120:
|
|
110
108
|
case 240:
|
|
111
|
-
this.log(
|
|
112
|
-
|
|
109
|
+
this.log(models_2.LogLevel.Info, message);
|
|
110
|
+
services_1.TelegramService.inform(message);
|
|
113
111
|
break;
|
|
114
112
|
default:
|
|
115
|
-
this.log(
|
|
113
|
+
this.log(models_2.LogLevel.Trace, message);
|
|
116
114
|
break;
|
|
117
115
|
}
|
|
118
116
|
}, 60000, this);
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
/// <reference types="iobroker" />
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
|
-
import { TemperaturSettings } from '../../../models';
|
|
5
|
-
import { iTemperaturSensor } from '../
|
|
6
|
-
import { iHumiditySensor } from '../iHumiditySensor';
|
|
7
|
-
import { iHeater } from '../iHeater';
|
|
4
|
+
import { HeaterSettings, TemperaturSettings } from '../../../models';
|
|
5
|
+
import { iHeater, iHumiditySensor, iTemperaturSensor } from '../baseDeviceInterfaces';
|
|
8
6
|
export declare class HmIpHeizgruppe extends HmIPDevice implements iTemperaturSensor, iHumiditySensor, iHeater {
|
|
9
|
-
|
|
7
|
+
settings: HeaterSettings;
|
|
10
8
|
private _iAutomaticInterval;
|
|
9
|
+
private _initialSeasonCheckDone;
|
|
11
10
|
private _level;
|
|
12
|
-
private _temperatur;
|
|
13
11
|
private _setPointTemperaturID;
|
|
14
|
-
private _automaticFallBackTemperatur;
|
|
15
12
|
private _automaticPoints;
|
|
16
13
|
private _humidityCallbacks;
|
|
14
|
+
private _temperaturCallbacks;
|
|
17
15
|
constructor(pInfo: DeviceInfo);
|
|
16
|
+
protected _seasonTurnOff: boolean;
|
|
17
|
+
get seasonTurnOff(): boolean;
|
|
18
|
+
set seasonTurnOff(value: boolean);
|
|
19
|
+
private _temperatur;
|
|
20
|
+
get temperatur(): number;
|
|
21
|
+
private set temperatur(value);
|
|
18
22
|
private _humidity;
|
|
19
23
|
get humidity(): number;
|
|
20
24
|
private set humidity(value);
|
|
@@ -25,6 +29,8 @@ export declare class HmIpHeizgruppe extends HmIPDevice implements iTemperaturSen
|
|
|
25
29
|
get iLevel(): number;
|
|
26
30
|
get sTemperatur(): string;
|
|
27
31
|
get iTemperatur(): number;
|
|
32
|
+
private _roomTemperatur;
|
|
33
|
+
private set roomTemperatur(value);
|
|
28
34
|
addHumidityCallback(pCallback: (pValue: number) => void): void;
|
|
29
35
|
deleteAutomaticPoint(name: string): void;
|
|
30
36
|
getBelongingHeizungen(): iHeater[];
|
|
@@ -32,5 +38,8 @@ export declare class HmIpHeizgruppe extends HmIPDevice implements iTemperaturSen
|
|
|
32
38
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
33
39
|
stopAutomaticCheck(): void;
|
|
34
40
|
checkAutomaticChange(): void;
|
|
41
|
+
addTempChangeCallback(pCallback: (pValue: number) => void): void;
|
|
42
|
+
onTemperaturChange(newTemperatur: number): void;
|
|
35
43
|
private updateBaseInformation;
|
|
44
|
+
private checkSeasonTurnOff;
|
|
36
45
|
}
|
|
@@ -5,21 +5,52 @@ 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 baseDeviceInterfaces_1 = require("../baseDeviceInterfaces");
|
|
8
9
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
9
10
|
class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
10
11
|
constructor(pInfo) {
|
|
11
12
|
super(pInfo, deviceType_1.DeviceType.HmIpHeizgruppe);
|
|
12
|
-
this.
|
|
13
|
+
this.settings = new models_1.HeaterSettings();
|
|
14
|
+
this._initialSeasonCheckDone = false;
|
|
13
15
|
this._level = 0;
|
|
14
|
-
this._temperatur = 0;
|
|
15
16
|
this._setPointTemperaturID = '';
|
|
16
|
-
this._automaticFallBackTemperatur = 20;
|
|
17
17
|
this._automaticPoints = {};
|
|
18
18
|
this._humidityCallbacks = [];
|
|
19
|
+
this._temperaturCallbacks = [];
|
|
20
|
+
this._seasonTurnOff = false;
|
|
21
|
+
this._temperatur = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
19
22
|
this._humidity = 0;
|
|
20
23
|
this._desiredTemperatur = 0;
|
|
24
|
+
this._roomTemperatur = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
21
25
|
this._setPointTemperaturID = `${this.info.fullID}.1.SET_POINT_TEMPERATURE`;
|
|
22
26
|
this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
|
|
27
|
+
services_1.TimeCallbackService.addCallback(new models_1.TimeCallback(`${this.info.fullID} Season Check`, models_1.TimeCallbackType.TimeOfDay, () => {
|
|
28
|
+
this.checkSeasonTurnOff();
|
|
29
|
+
}, 0, 2, 0));
|
|
30
|
+
}
|
|
31
|
+
get seasonTurnOff() {
|
|
32
|
+
return this._seasonTurnOff;
|
|
33
|
+
}
|
|
34
|
+
set seasonTurnOff(value) {
|
|
35
|
+
this._seasonTurnOff = value;
|
|
36
|
+
if (value) {
|
|
37
|
+
this.setState(this._setPointTemperaturID, 5);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.setState(this._setPointTemperaturID, this.desiredTemperatur);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get temperatur() {
|
|
44
|
+
if (this.settings.useOwnTemperatur) {
|
|
45
|
+
return this._temperatur;
|
|
46
|
+
}
|
|
47
|
+
return this._roomTemperatur;
|
|
48
|
+
}
|
|
49
|
+
set temperatur(val) {
|
|
50
|
+
this._temperatur = val;
|
|
51
|
+
for (const cb of this._temperaturCallbacks) {
|
|
52
|
+
cb(val);
|
|
53
|
+
}
|
|
23
54
|
}
|
|
24
55
|
get humidity() {
|
|
25
56
|
return this._humidity;
|
|
@@ -34,7 +65,7 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
34
65
|
return this._desiredTemperatur;
|
|
35
66
|
}
|
|
36
67
|
set desiredTemperatur(val) {
|
|
37
|
-
this.setState(this._setPointTemperaturID, val, () => {
|
|
68
|
+
this.setState(this._setPointTemperaturID, this.seasonTurnOff ? 5 : val, () => {
|
|
38
69
|
this.log(models_1.LogLevel.Info, `Changed temperature of to "${val}.`);
|
|
39
70
|
}, (err) => {
|
|
40
71
|
this.log(models_1.LogLevel.Error, `Temperaturänderung ergab Fehler ${err}.`);
|
|
@@ -47,10 +78,13 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
47
78
|
return this._level;
|
|
48
79
|
}
|
|
49
80
|
get sTemperatur() {
|
|
50
|
-
return `${this.
|
|
81
|
+
return `${this.temperatur}°C`;
|
|
51
82
|
}
|
|
52
83
|
get iTemperatur() {
|
|
53
|
-
return this.
|
|
84
|
+
return this.temperatur;
|
|
85
|
+
}
|
|
86
|
+
set roomTemperatur(value) {
|
|
87
|
+
this._roomTemperatur = value;
|
|
54
88
|
}
|
|
55
89
|
addHumidityCallback(pCallback) {
|
|
56
90
|
this._humidityCallbacks.push(pCallback);
|
|
@@ -88,26 +122,38 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
88
122
|
}
|
|
89
123
|
checkAutomaticChange() {
|
|
90
124
|
var _a, _b, _c;
|
|
91
|
-
if (!this.
|
|
125
|
+
if (!this._initialSeasonCheckDone) {
|
|
126
|
+
this.checkSeasonTurnOff();
|
|
127
|
+
}
|
|
128
|
+
if (!this.settings.automaticMode || this.seasonTurnOff) {
|
|
92
129
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addTemperaturDataPoint(this);
|
|
93
130
|
return;
|
|
94
131
|
}
|
|
95
132
|
const setting = models_1.TemperaturSettings.getActiveSetting(this._automaticPoints, new Date());
|
|
96
133
|
if (setting === undefined) {
|
|
97
134
|
this.log(models_1.LogLevel.Warn, `Undefined Heating Timestamp.`);
|
|
98
|
-
this.desiredTemperatur = this.
|
|
135
|
+
this.desiredTemperatur = this.settings.automaticFallBackTemperatur;
|
|
99
136
|
return;
|
|
100
137
|
}
|
|
101
138
|
if (this._desiredTemperatur !== setting.temperatur) {
|
|
102
139
|
this.log(models_1.LogLevel.Debug, `Automatische Temperaturanpassung für ${this.info.customName} auf ${setting.temperatur}°C`);
|
|
103
|
-
this.desiredTemperatur = (_b = setting.temperatur) !== null && _b !== void 0 ? _b : this.
|
|
140
|
+
this.desiredTemperatur = (_b = setting.temperatur) !== null && _b !== void 0 ? _b : this.settings.automaticFallBackTemperatur;
|
|
104
141
|
}
|
|
105
142
|
(_c = services_1.Utils.dbo) === null || _c === void 0 ? void 0 : _c.addTemperaturDataPoint(this);
|
|
106
143
|
}
|
|
144
|
+
addTempChangeCallback(pCallback) {
|
|
145
|
+
this._temperaturCallbacks.push(pCallback);
|
|
146
|
+
if (this._temperatur > baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
|
|
147
|
+
pCallback(this._temperatur);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
onTemperaturChange(newTemperatur) {
|
|
151
|
+
this.roomTemperatur = newTemperatur;
|
|
152
|
+
}
|
|
107
153
|
updateBaseInformation(name, state) {
|
|
108
154
|
switch (name) {
|
|
109
155
|
case 'ACTUAL_TEMPERATURE':
|
|
110
|
-
this.
|
|
156
|
+
this.temperatur = state.val;
|
|
111
157
|
break;
|
|
112
158
|
case 'LEVEL':
|
|
113
159
|
this._level = state.val;
|
|
@@ -121,5 +167,12 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
|
|
|
121
167
|
break;
|
|
122
168
|
}
|
|
123
169
|
}
|
|
170
|
+
checkSeasonTurnOff() {
|
|
171
|
+
const desiredState = services_1.Utils.beetweenDays(new Date(), this.settings.seasonTurnOffDay, this.settings.seasonTurnOnDay);
|
|
172
|
+
if (desiredState !== this.seasonTurnOff) {
|
|
173
|
+
this.seasonTurnOff = desiredState;
|
|
174
|
+
}
|
|
175
|
+
this._initialSeasonCheckDone = true;
|
|
176
|
+
}
|
|
124
177
|
}
|
|
125
178
|
exports.HmIpHeizgruppe = HmIpHeizgruppe;
|
|
@@ -5,11 +5,11 @@ export declare class HmIpHeizung extends HmIPDevice {
|
|
|
5
5
|
private _temperatur;
|
|
6
6
|
private _level;
|
|
7
7
|
private _adaptionState;
|
|
8
|
+
constructor(pInfo: DeviceInfo);
|
|
8
9
|
private _desiredTemperatur;
|
|
9
10
|
get desiredTemperatur(): number;
|
|
10
11
|
get iLevel(): number;
|
|
11
12
|
get iTemperatur(): number;
|
|
12
|
-
constructor(pInfo: DeviceInfo);
|
|
13
13
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
14
14
|
private updateBaseInformation;
|
|
15
15
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HmIpHeizung = void 0;
|
|
4
4
|
const deviceType_1 = require("../deviceType");
|
|
5
|
-
const
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
6
|
const hmIpDevice_1 = require("./hmIpDevice");
|
|
7
7
|
var HmIpHeizungAdaptionStates;
|
|
8
8
|
(function (HmIpHeizungAdaptionStates) {
|
|
@@ -33,7 +33,7 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
|
|
|
33
33
|
return this._temperatur;
|
|
34
34
|
}
|
|
35
35
|
update(idSplit, state, initial = false) {
|
|
36
|
-
this.log(
|
|
36
|
+
this.log(models_1.LogLevel.DeepTrace, `Heizung Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
37
37
|
super.update(idSplit, state, initial, true);
|
|
38
38
|
switch (idSplit[3]) {
|
|
39
39
|
case '1':
|
|
@@ -53,11 +53,11 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
|
|
|
53
53
|
this._adaptionState = state.val;
|
|
54
54
|
if (this._adaptionState !== HmIpHeizungAdaptionStates.AdaptionInProgress &&
|
|
55
55
|
this._adaptionState !== HmIpHeizungAdaptionStates.AdaptionDone) {
|
|
56
|
-
this.log(
|
|
56
|
+
this.log(models_1.LogLevel.Alert, `Akward adaption state: ${HmIpHeizungAdaptionStates[this._adaptionState]}`);
|
|
57
57
|
}
|
|
58
58
|
break;
|
|
59
59
|
case 'SET_POINT_TEMPERATURE':
|
|
60
|
-
this.log(
|
|
60
|
+
this.log(models_1.LogLevel.Trace, `Heizung Update Soll-Temperatur JSON: ${JSON.stringify(state)}`);
|
|
61
61
|
this._desiredTemperatur = state.val;
|
|
62
62
|
break;
|
|
63
63
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { ActuatorSettings, TimeOfDay } from '../../../models';
|
|
4
4
|
import { DeviceInfo } from '../DeviceInfo';
|
|
5
|
-
import { iLamp } from '../
|
|
5
|
+
import { iLamp } from '../baseDeviceInterfaces';
|
|
6
6
|
export declare class HmIpLampe extends HmIPDevice implements iLamp {
|
|
7
7
|
lightOn: boolean;
|
|
8
8
|
queuedLightValue: boolean | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="iobroker" />
|
|
2
2
|
import { HmIPDevice } from './hmIpDevice';
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
|
-
import { iIlluminationSensor } from '../
|
|
4
|
+
import { iIlluminationSensor } from '../baseDeviceInterfaces';
|
|
5
5
|
export declare class HmIpPraezenz extends HmIPDevice implements iIlluminationSensor {
|
|
6
6
|
private static PRESENCE_DETECTION;
|
|
7
7
|
private static CURRENT_ILLUMINATION;
|