hoffmation-base 3.2.20 → 3.2.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.
@@ -141,12 +141,15 @@ class Dachs extends RoomBaseDevice_1.RoomBaseDevice {
141
141
  }
142
142
  /** @inheritDoc */
143
143
  setActuator(c) {
144
+ var _a;
144
145
  sharedFunctions_1.LampUtils.setActuator(this, c);
145
146
  if (!c.on ||
146
147
  !this.warmWaterPump ||
147
148
  (this.queuedValue === false && !this._dachsOn) ||
149
+ this.settings.disableDachsOwnWW ||
150
+ ((_a = this.warmWaterDachsAlternativeActuator) === null || _a === void 0 ? void 0 : _a.actuatorOn) ||
148
151
  this.heatStorageTempSensor.temperatureSensor.temperature < this.warmWaterSensor.temperatureSensor.temperature ||
149
- this.warmWaterSensor.temperatureSensor.temperature > 70) {
152
+ this.warmWaterSensor.temperatureSensor.temperature > this.settings.warmWaterDesiredMaxTemp) {
150
153
  return;
151
154
  }
152
155
  const startPumpCommand = new command_1.ActuatorSetStateCommand(c, true, 'Dachs is starting/on');
@@ -242,6 +245,10 @@ class Dachs extends RoomBaseDevice_1.RoomBaseDevice {
242
245
  desiredWwPumpState = false;
243
246
  reason = `Temperature of warm water pump ${wwTemp}°C is higher than temperature of heat storage ${heatStorageTemp}°C`;
244
247
  }
248
+ else if (wwTemp > this.settings.warmWaterDesiredMaxTemp) {
249
+ desiredWwPumpState = false;
250
+ reason = `Temperature of warm water pump ${wwTemp}°C is higher than the desired max value`;
251
+ }
245
252
  else if (this._dachsOn) {
246
253
  desiredWwPumpState = true;
247
254
  reason = 'Dachs is on anyways';
@@ -344,6 +351,10 @@ class Dachs extends RoomBaseDevice_1.RoomBaseDevice {
344
351
  // It is winter and heat storage is kinda cold --> Start
345
352
  return true;
346
353
  }
354
+ else if (this.heatStorageTempSensor.temperatureSensor.temperature > this.settings.heatStorageMaxStartTemp) {
355
+ // Heat Storage is already quite full, don't start
356
+ return false;
357
+ }
347
358
  if ((dayType === enums_1.TimeOfDay.Daylight || dayType === enums_1.TimeOfDay.BeforeSunrise) &&
348
359
  batteryLevel > this.settings.batteryLevelTurnOnThreshold) {
349
360
  // It is daytime (maybe solar power) and it is no critical battery level
@@ -57,10 +57,18 @@ export interface iDachsDeviceSettings extends iActuatorSettings {
57
57
  * Defines the desired minimum temperature for warm water.
58
58
  */
59
59
  warmWaterDesiredMinTemp: number;
60
+ /**
61
+ * Defines the desired maximum temperature for warm water using dachs.
62
+ */
63
+ warmWaterDesiredMaxTemp: number;
60
64
  /**
61
65
  * Defines the desired minimum temperature for heat storage during winter.
62
66
  */
63
67
  winterMinimumHeatStorageTemp: number;
68
+ /**
69
+ * Defines the maximum temperature for heat storage at start requests.
70
+ */
71
+ heatStorageMaxStartTemp: number;
64
72
  /**
65
73
  * Defines the desired minimum temperature for heat storage during winter.
66
74
  */
@@ -24,6 +24,10 @@ export declare class DachsDeviceSettings extends ActuatorSettings implements iDa
24
24
  /** @inheritDoc */
25
25
  warmWaterDesiredMinTemp: number;
26
26
  /** @inheritDoc */
27
+ warmWaterDesiredMaxTemp: number;
28
+ /** @inheritDoc */
29
+ heatStorageMaxStartTemp: number;
30
+ /** @inheritDoc */
27
31
  winterMinimumHeatStorageTemp: number;
28
32
  /** @inheritDoc */
29
33
  winterMinimumPreNightHeatStorageTemp: number;
@@ -29,12 +29,16 @@ class DachsDeviceSettings extends actuatorSettings_1.ActuatorSettings {
29
29
  /** @inheritDoc */
30
30
  this.warmWaterDesiredMinTemp = 45;
31
31
  /** @inheritDoc */
32
+ this.warmWaterDesiredMaxTemp = 75;
33
+ /** @inheritDoc */
34
+ this.heatStorageMaxStartTemp = 70;
35
+ /** @inheritDoc */
32
36
  this.winterMinimumHeatStorageTemp = 55;
33
37
  /** @inheritDoc */
34
38
  this.winterMinimumPreNightHeatStorageTemp = 65;
35
39
  }
36
40
  fromPartialObject(data) {
37
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
41
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
38
42
  this.disableHeatingRod = (_a = data.disableHeatingRod) !== null && _a !== void 0 ? _a : this.disableHeatingRod;
39
43
  this.disableDachsOwnWW = (_b = data.disableDachsOwnWW) !== null && _b !== void 0 ? _b : this.disableDachsOwnWW;
40
44
  this.disableDachsTemporarily = (_c = data.disableDachsTemporarily) !== null && _c !== void 0 ? _c : this.disableDachsTemporarily;
@@ -49,9 +53,11 @@ class DachsDeviceSettings extends actuatorSettings_1.ActuatorSettings {
49
53
  (_j = data.batteryLevelPreventStartAtNightThreshold) !== null && _j !== void 0 ? _j : this.batteryLevelPreventStartAtNightThreshold;
50
54
  this.batteryLevelAllowStartThreshold = (_k = data.batteryLevelAllowStartThreshold) !== null && _k !== void 0 ? _k : this.batteryLevelAllowStartThreshold;
51
55
  this.warmWaterDesiredMinTemp = (_l = data.warmWaterDesiredMinTemp) !== null && _l !== void 0 ? _l : this.warmWaterDesiredMinTemp;
52
- this.winterMinimumHeatStorageTemp = (_m = data.winterMinimumHeatStorageTemp) !== null && _m !== void 0 ? _m : this.winterMinimumHeatStorageTemp;
56
+ this.warmWaterDesiredMaxTemp = (_m = data.warmWaterDesiredMaxTemp) !== null && _m !== void 0 ? _m : this.warmWaterDesiredMaxTemp;
57
+ this.heatStorageMaxStartTemp = (_o = data.heatStorageMaxStartTemp) !== null && _o !== void 0 ? _o : this.heatStorageMaxStartTemp;
58
+ this.winterMinimumHeatStorageTemp = (_p = data.winterMinimumHeatStorageTemp) !== null && _p !== void 0 ? _p : this.winterMinimumHeatStorageTemp;
53
59
  this.winterMinimumPreNightHeatStorageTemp =
54
- (_o = data.winterMinimumPreNightHeatStorageTemp) !== null && _o !== void 0 ? _o : this.winterMinimumPreNightHeatStorageTemp;
60
+ (_q = data.winterMinimumPreNightHeatStorageTemp) !== null && _q !== void 0 ? _q : this.winterMinimumPreNightHeatStorageTemp;
55
61
  super.fromPartialObject(data);
56
62
  }
57
63
  toJSON() {