hoffmation-base 2.7.0 → 2.7.1

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.
Files changed (52) hide show
  1. package/lib/models/deviceSettings/index.d.ts +1 -0
  2. package/lib/models/deviceSettings/index.js +1 -0
  3. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +10 -0
  4. package/lib/models/deviceSettings/victronDeviceSettings.js +28 -0
  5. package/lib/server/devices/IoBrokerBaseDevice.js +1 -1
  6. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +3 -12
  7. package/lib/server/devices/blueIris/blueIrisCoordinator.js +1 -1
  8. package/lib/server/devices/deviceType.d.ts +2 -1
  9. package/lib/server/devices/deviceType.js +1 -0
  10. package/lib/server/devices/devices.js +1 -1
  11. package/lib/server/devices/espresense/espresenseCoordinator.js +1 -1
  12. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +1 -1
  13. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +1 -1
  14. package/lib/server/devices/hmIPDevices/hmIpTaster.js +1 -1
  15. package/lib/server/devices/hmIPDevices/hmIpWippe.js +1 -1
  16. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +1 -0
  17. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +28 -50
  18. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +1 -1
  19. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +1 -1
  20. package/lib/server/ioBroker/ioBroker.main.js +1 -1
  21. package/lib/server/ioBroker/iobrokerConnectionLogging.js +1 -1
  22. package/lib/server/services/Sonos/OwnSonosDevices.js +1 -1
  23. package/lib/server/services/Sonos/mp3-server.js +1 -1
  24. package/lib/server/services/Sonos/polly-service.js +1 -1
  25. package/lib/server/services/Sonos/sonos-service.js +1 -1
  26. package/lib/server/services/Telegram/telegram-Commands.js +3 -8
  27. package/lib/server/services/Telegram/telegram-service.js +1 -1
  28. package/lib/server/services/ac/daikin-service.js +1 -1
  29. package/lib/server/services/ac/own-ac-devices.js +1 -1
  30. package/lib/server/services/calendar/muell-tonne.js +1 -1
  31. package/lib/server/services/calendar/m/303/274ll-service.js +1 -1
  32. package/lib/server/services/index.d.ts +1 -1
  33. package/lib/server/services/index.js +1 -1
  34. package/lib/server/services/log-service/log-service.js +1 -1
  35. package/lib/server/services/network/router.js +1 -1
  36. package/lib/server/services/news-service.js +1 -1
  37. package/lib/server/services/room-service/room-service.js +3 -3
  38. package/lib/server/services/tibber-service.js +1 -1
  39. package/lib/server/services/time-callback-service.js +1 -1
  40. package/lib/server/services/utils/energy-manager-utils.d.ts +17 -0
  41. package/lib/server/services/utils/energy-manager-utils.js +55 -0
  42. package/lib/server/services/utils/index.d.ts +1 -0
  43. package/lib/server/services/utils/index.js +1 -0
  44. package/lib/server/services/victron/index.d.ts +2 -0
  45. package/lib/server/services/victron/index.js +18 -0
  46. package/lib/server/services/victron/victron-device.d.ts +35 -0
  47. package/lib/server/services/victron/victron-device.js +142 -0
  48. package/lib/server/services/{victron-service.d.ts → victron/victron-service.d.ts} +2 -2
  49. package/lib/server/services/{victron-service.js → victron/victron-service.js} +5 -4
  50. package/lib/server/services/weather/weather-service.js +1 -1
  51. package/lib/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +9 -9
@@ -10,5 +10,6 @@ export * from './sceneSettings';
10
10
  export * from './shutterSettings';
11
11
  export * from './sonosDeviceSettings';
12
12
  export * from './tvSettings';
13
+ export * from './victronDeviceSettings';
13
14
  export * from './windowSettings';
14
15
  export * from './wledSettings';
@@ -26,5 +26,6 @@ __exportStar(require("./sceneSettings"), exports);
26
26
  __exportStar(require("./shutterSettings"), exports);
27
27
  __exportStar(require("./sonosDeviceSettings"), exports);
28
28
  __exportStar(require("./tvSettings"), exports);
29
+ __exportStar(require("./victronDeviceSettings"), exports);
29
30
  __exportStar(require("./windowSettings"), exports);
30
31
  __exportStar(require("./wledSettings"), exports);
@@ -0,0 +1,10 @@
1
+ import { DeviceSettings } from './deviceSettings';
2
+ export declare class VictronDeviceSettings extends DeviceSettings {
3
+ maxBatteryLoadWattage: number;
4
+ hasBattery: boolean;
5
+ hasGrid: boolean;
6
+ hasSolar: boolean;
7
+ batteryCapacityWattage: number;
8
+ fromPartialObject(data: Partial<VictronDeviceSettings>): void;
9
+ protected toJSON(): Partial<VictronDeviceSettings>;
10
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VictronDeviceSettings = void 0;
4
+ const deviceSettings_1 = require("./deviceSettings");
5
+ const server_1 = require("../../server");
6
+ class VictronDeviceSettings extends deviceSettings_1.DeviceSettings {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.maxBatteryLoadWattage = 1700;
10
+ this.hasBattery = true;
11
+ this.hasGrid = true;
12
+ this.hasSolar = true;
13
+ this.batteryCapacityWattage = 10000;
14
+ }
15
+ fromPartialObject(data) {
16
+ var _a, _b, _c, _d, _e;
17
+ this.maxBatteryLoadWattage = (_a = data.maxBatteryLoadWattage) !== null && _a !== void 0 ? _a : this.maxBatteryLoadWattage;
18
+ this.hasBattery = (_b = data.hasBattery) !== null && _b !== void 0 ? _b : this.hasBattery;
19
+ this.hasGrid = (_c = data.hasGrid) !== null && _c !== void 0 ? _c : this.hasGrid;
20
+ this.hasSolar = (_d = data.hasSolar) !== null && _d !== void 0 ? _d : this.hasSolar;
21
+ this.batteryCapacityWattage = (_e = data.batteryCapacityWattage) !== null && _e !== void 0 ? _e : this.batteryCapacityWattage;
22
+ super.fromPartialObject(data);
23
+ }
24
+ toJSON() {
25
+ return server_1.Utils.jsonFilter(this);
26
+ }
27
+ }
28
+ exports.VictronDeviceSettings = VictronDeviceSettings;
@@ -159,5 +159,5 @@ class IoBrokerBaseDevice {
159
159
  });
160
160
  }
161
161
  }
162
- exports.IoBrokerBaseDevice = IoBrokerBaseDevice;
163
162
  IoBrokerBaseDevice.roomAddingSettings = {};
163
+ exports.IoBrokerBaseDevice = IoBrokerBaseDevice;
@@ -1,5 +1,5 @@
1
1
  import { iExcessEnergyConsumer } from './iExcessEnergyConsumer';
2
- import { iRoomDevice } from './iRoomDevice';
2
+ import { iBaseDevice } from './iBaseDevice';
3
3
  export declare class PhaseState {
4
4
  private readonly _meterValue;
5
5
  private readonly _production;
@@ -13,19 +13,10 @@ export declare class PhaseState {
13
13
  get injectingWattage(): number;
14
14
  get totalConsumptionWattage(): number;
15
15
  }
16
- export interface iEnergyManager extends iRoomDevice {
17
- baseConsumption: number;
18
- currentProduction: number;
16
+ export interface iEnergyManager extends iBaseDevice {
19
17
  excessEnergy: number;
20
- excessEnergyConsumerConsumption: number;
21
- totalConsumption: number;
22
- drawingWattage: number;
23
- selfConsumingWattage: number;
24
- injectingWattage: number;
25
- phaseAState: PhaseState;
26
- phaseBState: PhaseState;
27
- phaseCState: PhaseState;
28
18
  addExcessConsumer(device: iExcessEnergyConsumer): void;
29
19
  recalculatePowerSharing(): void;
30
20
  cleanup(): void;
21
+ getReport(): string;
31
22
  }
@@ -20,5 +20,5 @@ class BlueIrisCoordinator {
20
20
  dev.update(idSplit[4], state);
21
21
  }
22
22
  }
23
- exports.BlueIrisCoordinator = BlueIrisCoordinator;
24
23
  BlueIrisCoordinator.cameraDeviceMap = new Map();
24
+ exports.BlueIrisCoordinator = BlueIrisCoordinator;
@@ -43,5 +43,6 @@ export declare enum DeviceType {
43
43
  Espresense = 4001,
44
44
  TrackableDevice = 4002,
45
45
  SamsungTv = 5001,
46
- Camera = 6001
46
+ Camera = 6001,
47
+ Victron = 7001
47
48
  }
@@ -48,4 +48,5 @@ var DeviceType;
48
48
  DeviceType[DeviceType["TrackableDevice"] = 4002] = "TrackableDevice";
49
49
  DeviceType[DeviceType["SamsungTv"] = 5001] = "SamsungTv";
50
50
  DeviceType[DeviceType["Camera"] = 6001] = "Camera";
51
+ DeviceType[DeviceType["Victron"] = 7001] = "Victron";
51
52
  })(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
@@ -234,10 +234,10 @@ class Devices {
234
234
  Devices.alLDevices[fullName] = Devices.energymanager;
235
235
  }
236
236
  }
237
- exports.Devices = Devices;
238
237
  Devices.IDENTIFIER_HOMEMATIC = 'hm-rpc';
239
238
  Devices.IDENTIFIER_JS = 'javascript';
240
239
  Devices.IDENTIFIER_ZIGBEE = 'zigbee';
241
240
  Devices.IDENTIFIER_WLED = 'wled';
242
241
  Devices.alLDevices = {};
243
242
  Devices.energymanager = undefined;
243
+ exports.Devices = Devices;
@@ -17,5 +17,5 @@ class EspresenseCoordinator {
17
17
  dev.update(idSplit[4], state);
18
18
  }
19
19
  }
20
- exports.EspresenseCoordinator = EspresenseCoordinator;
21
20
  EspresenseCoordinator.espDeviceMap = new Map();
21
+ exports.EspresenseCoordinator = EspresenseCoordinator;
@@ -117,7 +117,7 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
117
117
  }, 270000, this);
118
118
  }
119
119
  }
120
- exports.HmIpBewegung = HmIpBewegung;
121
120
  HmIpBewegung.MOVEMENT_DETECTION = 'MOTION';
122
121
  // private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
123
122
  HmIpBewegung.CURRENT_ILLUMINATION = 'ILLUMINATION';
123
+ exports.HmIpBewegung = HmIpBewegung;
@@ -127,8 +127,8 @@ class HmIpPraezenz extends hmIpDevice_1.HmIPDevice {
127
127
  this._lastBatteryPersist = now;
128
128
  }
129
129
  }
130
- exports.HmIpPraezenz = HmIpPraezenz;
131
130
  // TODO: Add iPresenceSensor
132
131
  HmIpPraezenz.PRESENCE_DETECTION = 'PRESENCE_DETECTION_STATE';
133
132
  // private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
134
133
  HmIpPraezenz.CURRENT_ILLUMINATION = 'ILLUMINATION';
134
+ exports.HmIpPraezenz = HmIpPraezenz;
@@ -123,10 +123,10 @@ class HmIpTaster extends hmIpDevice_1.HmIPDevice {
123
123
  this._lastBatteryPersist = now;
124
124
  }
125
125
  }
126
- exports.HmIpTaster = HmIpTaster;
127
126
  HmIpTaster.BUTTON_CAPABILLITIES = {
128
127
  shortPress: true,
129
128
  longPress: true,
130
129
  doublePress: false,
131
130
  triplePress: false,
132
131
  };
132
+ exports.HmIpTaster = HmIpTaster;
@@ -70,10 +70,10 @@ class HmIpWippe extends hmIpDevice_1.HmIPDevice {
70
70
  return result.join('\n');
71
71
  }
72
72
  }
73
- exports.HmIpWippe = HmIpWippe;
74
73
  HmIpWippe.BUTTON_CAPABILLITIES = {
75
74
  shortPress: true,
76
75
  longPress: true,
77
76
  doublePress: false,
78
77
  triplePress: false,
79
78
  };
79
+ exports.HmIpWippe = HmIpWippe;
@@ -56,4 +56,5 @@ export declare class JsObjectEnergyManager extends IoBrokerBaseDevice implements
56
56
  private turnOnAdditionalConsumer;
57
57
  private turnOffAdditionalConsumer;
58
58
  dispose(): void;
59
+ getReport(): string;
59
60
  }
@@ -169,62 +169,30 @@ class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
169
169
  this.log(models_1.LogLevel.Info, `Persisting energy Manager Data.`);
170
170
  }
171
171
  turnOnAdditionalConsumer() {
172
- var _a;
173
- const potentialDevices = this._excessEnergyConsumer.filter((e) => {
174
- var _a;
175
- if (e.energySettings.priority === -1 || e.on || !e.isAvailableForExcessEnergy()) {
176
- return false;
177
- }
178
- if (((_a = this._lastDeviceChange) === null || _a === void 0 ? void 0 : _a.newState) && e === this._lastDeviceChange.device) {
179
- e.log(models_1.LogLevel.Debug, `This woould have been a matching energy consumer, but apperantly last turn on failed...`);
180
- return false;
181
- }
182
- return true;
183
- });
184
- if (potentialDevices.length === 0) {
185
- if (((_a = this._lastDeviceChange) === null || _a === void 0 ? void 0 : _a.newState) === true) {
186
- this._lastDeviceChange = undefined;
187
- }
172
+ const result = services_1.EnergyManagerUtils.turnOnAdditionalConsumer(this._excessEnergyConsumer, this._lastDeviceChange);
173
+ if (result == undefined) {
174
+ this._lastDeviceChange = undefined;
188
175
  return;
189
176
  }
190
- potentialDevices.sort((a, b) => {
191
- return b.energySettings.priority - a.energySettings.priority;
192
- });
193
- this.blockDeviceChangeTime = services_1.Utils.nowMS() + potentialDevices[0].energySettings.powerReactionTime;
194
- potentialDevices[0].log(models_1.LogLevel.Info, `Turning on, as we have ${this.excessEnergy}W to spare...`);
195
- potentialDevices[0].turnOnForExcessEnergy();
196
- this._lastDeviceChange = { newState: true, device: potentialDevices[0] };
177
+ if (result.newState) {
178
+ this.blockDeviceChangeTime = services_1.Utils.nowMS() + result.device.energySettings.powerReactionTime;
179
+ result.device.log(models_1.LogLevel.Info, `Turning on, as we have ${this.excessEnergy}W to spare...`);
180
+ result.device.turnOnForExcessEnergy();
181
+ this._lastDeviceChange = result;
182
+ }
197
183
  }
198
184
  turnOffAdditionalConsumer() {
199
- var _a;
200
- const potentialDevices = this._excessEnergyConsumer.filter((e) => {
201
- var _a;
202
- if (e.energySettings.priority === -1 || !e.on) {
203
- return false;
204
- }
205
- if (!e.wasActivatedByExcessEnergy()) {
206
- e.log(models_1.LogLevel.Info, 'This would have been turned off, but was activated manually....');
207
- return false;
208
- }
209
- if (((_a = this._lastDeviceChange) === null || _a === void 0 ? void 0 : _a.newState) === false && e === this._lastDeviceChange.device) {
210
- e.log(models_1.LogLevel.Debug, `This woould have been a matching turn off energy consumer, but apperantly last turn off failed...`);
211
- return false;
212
- }
213
- return true;
214
- });
215
- if (potentialDevices.length === 0) {
216
- if (((_a = this._lastDeviceChange) === null || _a === void 0 ? void 0 : _a.newState) === false) {
217
- this._lastDeviceChange = undefined;
218
- }
185
+ const result = services_1.EnergyManagerUtils.turnOffAdditionalConsumer(this._excessEnergyConsumer, this._lastDeviceChange);
186
+ if (result == undefined) {
187
+ this._lastDeviceChange = undefined;
219
188
  return;
220
189
  }
221
- potentialDevices.sort((a, b) => {
222
- return a.energySettings.priority - b.energySettings.priority;
223
- });
224
- potentialDevices[0].log(models_1.LogLevel.Info, `Turning off, as we don't have energy to spare...`);
225
- this.blockDeviceChangeTime = services_1.Utils.nowMS() + potentialDevices[0].energySettings.powerReactionTime;
226
- potentialDevices[0].turnOffDueToMissingEnergy();
227
- this._lastDeviceChange = { newState: false, device: potentialDevices[0] };
190
+ if (!result.newState) {
191
+ this.blockDeviceChangeTime = services_1.Utils.nowMS() + result.device.energySettings.powerReactionTime;
192
+ result.device.log(models_1.LogLevel.Info, `Turning off, as we don't have energy to spare...`);
193
+ result.device.turnOffDueToMissingEnergy();
194
+ this._lastDeviceChange = result;
195
+ }
228
196
  }
229
197
  dispose() {
230
198
  if (this._iCalculationInterval) {
@@ -236,5 +204,15 @@ class JsObjectEnergyManager extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
236
204
  this._iDatabaseLoggerInterval = null;
237
205
  }
238
206
  }
207
+ getReport() {
208
+ const response = [];
209
+ response.push(`Production: ${this.currentProduction}W`);
210
+ response.push(`Total Consumption: ${this.totalConsumption}W`);
211
+ response.push(`Excess Consumption: ${this.excessEnergyConsumerConsumption}W`);
212
+ response.push(`Drawing Wattage: ${this.drawingWattage}W`);
213
+ response.push(`Self Consuming Wattage: ${this.selfConsumingWattage}W`);
214
+ response.push(`Injecting Wattage: ${this.injectingWattage}W`);
215
+ return response.join('');
216
+ }
239
217
  }
240
218
  exports.JsObjectEnergyManager = JsObjectEnergyManager;
@@ -99,5 +99,5 @@ class ZigbeeLedRGBCCT extends zigbeeDimmer_1.ZigbeeDimmer {
99
99
  });
100
100
  }
101
101
  }
102
- exports.ZigbeeLedRGBCCT = ZigbeeLedRGBCCT;
103
102
  ZigbeeLedRGBCCT.DEFAULT_COLOR_WARM = '#f2b200';
103
+ exports.ZigbeeLedRGBCCT = ZigbeeLedRGBCCT;
@@ -102,10 +102,10 @@ class ZigbeeAqaraOpple3Switch extends BaseDevices_1.ZigbeeSwitch {
102
102
  taste.updateState(pressType, val);
103
103
  }
104
104
  }
105
- exports.ZigbeeAqaraOpple3Switch = ZigbeeAqaraOpple3Switch;
106
105
  ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES = {
107
106
  shortPress: true,
108
107
  longPress: true,
109
108
  doublePress: true,
110
109
  triplePress: true,
111
110
  };
111
+ exports.ZigbeeAqaraOpple3Switch = ZigbeeAqaraOpple3Switch;
@@ -100,6 +100,6 @@ class ioBrokerMain {
100
100
  services_1.TimeCallbackService.performCheck();
101
101
  }
102
102
  }
103
- exports.ioBrokerMain = ioBrokerMain;
104
103
  ioBrokerMain.SplitKeys = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
105
104
  ioBrokerMain.roomConstructors = {};
105
+ exports.ioBrokerMain = ioBrokerMain;
@@ -29,5 +29,5 @@ class iobrokerConnectionLogging {
29
29
  }
30
30
  }
31
31
  }
32
- exports.iobrokerConnectionLogging = iobrokerConnectionLogging;
33
32
  iobrokerConnectionLogging.LogLevel = 5;
33
+ exports.iobrokerConnectionLogging = iobrokerConnectionLogging;
@@ -9,5 +9,5 @@ class OwnSonosDevices {
9
9
  this.ownDevices[device.discoveryName] = device;
10
10
  }
11
11
  }
12
- exports.OwnSonosDevices = OwnSonosDevices;
13
12
  OwnSonosDevices.ownDevices = {};
13
+ exports.OwnSonosDevices = OwnSonosDevices;
@@ -90,5 +90,5 @@ class MP3Server {
90
90
  .listen(8081);
91
91
  }
92
92
  }
93
- exports.MP3Server = MP3Server;
94
93
  MP3Server.active = false;
94
+ exports.MP3Server = MP3Server;
@@ -118,5 +118,5 @@ class PollyService {
118
118
  });
119
119
  }
120
120
  }
121
- exports.PollyService = PollyService;
122
121
  PollyService.active = false;
122
+ exports.PollyService = PollyService;
@@ -105,7 +105,7 @@ class SonosService {
105
105
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Sonos ${d.Uuid} für ${d.Name} gefunden`);
106
106
  }
107
107
  }
108
- exports.SonosService = SonosService;
109
108
  SonosService.all = [];
110
109
  SonosService.devicesDict = {};
111
110
  SonosService.ownDevices = {};
111
+ exports.SonosService = SonosService;
@@ -112,16 +112,11 @@ class TelegramCommands {
112
112
  }, `Retrieves the button assignments for all buttons in home`));
113
113
  if (devices_1.Devices.energymanager !== undefined) {
114
114
  telegram_service_1.TelegramService.addMessageCallback(new telegramMessageCalback_1.TelegramMessageCallback('EnergyManager', /\/get_energy_values/, async (m) => {
115
- var _a, _b, _c, _d, _e, _f;
115
+ var _a, _b;
116
116
  if (m.from === undefined)
117
117
  return false;
118
- const response = ['Current Energy Manager values:'];
119
- response.push(`Production: ${(_a = devices_1.Devices.energymanager) === null || _a === void 0 ? void 0 : _a.currentProduction}W`);
120
- response.push(`Total Consumption: ${(_b = devices_1.Devices.energymanager) === null || _b === void 0 ? void 0 : _b.totalConsumption}W`);
121
- response.push(`Excess Consumption: ${(_c = devices_1.Devices.energymanager) === null || _c === void 0 ? void 0 : _c.excessEnergyConsumerConsumption}W`);
122
- response.push(`Drawing Wattage: ${(_d = devices_1.Devices.energymanager) === null || _d === void 0 ? void 0 : _d.drawingWattage}W`);
123
- response.push(`Self Consuming Wattage: ${(_e = devices_1.Devices.energymanager) === null || _e === void 0 ? void 0 : _e.selfConsumingWattage}W`);
124
- response.push(`Injecting Wattage: ${(_f = devices_1.Devices.energymanager) === null || _f === void 0 ? void 0 : _f.injectingWattage}W`);
118
+ const response = ['Current Energy Manager report:'];
119
+ response.push((_b = (_a = devices_1.Devices.energymanager) === null || _a === void 0 ? void 0 : _a.getReport()) !== null && _b !== void 0 ? _b : 'No Energy Manager found');
125
120
  telegram_service_1.TelegramService.sendMessage([m.chat.id], response.join('\n'));
126
121
  return true;
127
122
  }, `Retrieves the current energy manager values`));
@@ -153,8 +153,8 @@ class TelegramService {
153
153
  }
154
154
  }
155
155
  }
156
- exports.TelegramService = TelegramService;
157
156
  TelegramService.active = false;
158
157
  TelegramService.settings = undefined;
159
158
  // private static restartTimeout: NodeJS.Timeout | undefined = undefined;
160
159
  TelegramService.callbacks = {};
160
+ exports.TelegramService = TelegramService;
@@ -114,5 +114,5 @@ class DaikinService {
114
114
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Daikin ${name} gefunden`);
115
115
  }
116
116
  }
117
- exports.DaikinService = DaikinService;
118
117
  DaikinService._ownDevices = {};
118
+ exports.DaikinService = DaikinService;
@@ -11,5 +11,5 @@ class OwnAcDevices {
11
11
  devices_1.Devices.alLDevices[device.id] = device;
12
12
  }
13
13
  }
14
- exports.OwnAcDevices = OwnAcDevices;
15
14
  OwnAcDevices.ownDevices = {};
15
+ exports.OwnAcDevices = OwnAcDevices;
@@ -64,5 +64,5 @@ class MuellTonne {
64
64
  }
65
65
  }
66
66
  }
67
- exports.MuellTonne = MuellTonne;
68
67
  MuellTonne.oneDay = 1000 * 60 * 60 * 24;
68
+ exports.MuellTonne = MuellTonne;
@@ -106,10 +106,10 @@ class MuellService {
106
106
  this.brauneTonne.check();
107
107
  }
108
108
  }
109
- exports.MuellService = MuellService;
110
109
  MuellService.alleTonnen = [];
111
110
  MuellService.loadingPending = true;
112
111
  MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
113
112
  MuellService.lastCheck = new Date(0);
114
113
  MuellService._active = false;
115
114
  MuellService.defaultSpeaker = undefined;
115
+ exports.MuellService = MuellService;
@@ -16,5 +16,5 @@ export * from './news-service';
16
16
  export * from './settings-service';
17
17
  export * from './ShutterService';
18
18
  export * from './tibber-service';
19
- export * from './victron-service';
19
+ export * from './victron/index';
20
20
  export * from './time-callback-service';
@@ -32,5 +32,5 @@ __exportStar(require("./news-service"), exports);
32
32
  __exportStar(require("./settings-service"), exports);
33
33
  __exportStar(require("./ShutterService"), exports);
34
34
  __exportStar(require("./tibber-service"), exports);
35
- __exportStar(require("./victron-service"), exports);
35
+ __exportStar(require("./victron/index"), exports);
36
36
  __exportStar(require("./time-callback-service"), exports);
@@ -112,7 +112,6 @@ class ServerLogService {
112
112
  return true;
113
113
  }
114
114
  }
115
- exports.ServerLogService = ServerLogService;
116
115
  ServerLogService.telegramLevel = -1; // Controlled from within Config File
117
116
  ServerLogService.storageLevel = 5; // Controlled from within Config File
118
117
  ServerLogService.storage = new utils_1.ringStorage(10000);
@@ -120,3 +119,4 @@ ServerLogService.settings = {
120
119
  logLevel: 4,
121
120
  useTimestamp: false,
122
121
  };
122
+ exports.ServerLogService = ServerLogService;
@@ -9,5 +9,5 @@ class Router {
9
9
  this._router = router;
10
10
  }
11
11
  }
12
- exports.Router = Router;
13
12
  Router._router = undefined;
13
+ exports.Router = Router;
@@ -203,6 +203,6 @@ class NewsService {
203
203
  }
204
204
  }
205
205
  }
206
- exports.NewsService = NewsService;
207
206
  // prefix for all downloaded files of the news service
208
207
  NewsService.newsFilePrefix = `news$`;
208
+ exports.NewsService = NewsService;
@@ -39,9 +39,9 @@ class RoomService {
39
39
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Schalte alle Lampen in Etage ${floor} auf den Wert ${status}`);
40
40
  const rooms = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.Rooms.entries();
41
41
  for (const [_name, room] of rooms) {
42
- (_a = room.LightGroup) === null || _a === void 0 ? void 0 : _a.setAllLampen(status, -1, true, timeout);
42
+ (_a = room.LightGroup) === null || _a === void 0 ? void 0 : _a.setAllLampen(status, undefined, true, timeout);
43
43
  (_b = room.LightGroup) === null || _b === void 0 ? void 0 : _b.setAllLED(status);
44
- (_c = room.LightGroup) === null || _c === void 0 ? void 0 : _c.setAllStecker(status, -1, true);
44
+ (_c = room.LightGroup) === null || _c === void 0 ? void 0 : _c.setAllStecker(status, undefined, true);
45
45
  (_d = room.LightGroup) === null || _d === void 0 ? void 0 : _d.setAllWled(status);
46
46
  }
47
47
  }
@@ -190,10 +190,10 @@ class RoomService {
190
190
  }
191
191
  }
192
192
  }
193
- exports.RoomService = RoomService;
194
193
  RoomService.Rooms = new Map();
195
194
  RoomService.awayModeActive = false;
196
195
  RoomService.nightAlarmActive = false;
197
196
  RoomService.movementHistory = new utils_1.ringStorage(15);
198
197
  RoomService._intrusionAlarmActive = false;
199
198
  RoomService._intrusionAlarmLevel = 0;
199
+ exports.RoomService = RoomService;
@@ -39,5 +39,5 @@ class TibberService {
39
39
  this._tibberFeed = new tibber_api_1.TibberFeed(this.tibberQueryBase);
40
40
  }
41
41
  }
42
- exports.TibberService = TibberService;
43
42
  TibberService._settings = undefined;
43
+ exports.TibberService = TibberService;
@@ -178,6 +178,6 @@ Next Sunset: ${TimeCallbackService._nextSunSet.toLocaleString('de-DE')}`);
178
178
  return (0, sunrise_sunset_js_1.getSunset)(lat !== null && lat !== void 0 ? lat : settings_service_1.SettingsService.latitude, long !== null && long !== void 0 ? long : settings_service_1.SettingsService.longitude, pDay);
179
179
  }
180
180
  }
181
- exports.TimeCallbackService = TimeCallbackService;
182
181
  TimeCallbackService._callbacks = new Map();
183
182
  TimeCallbackService._lastCheck = new Date(0);
183
+ exports.TimeCallbackService = TimeCallbackService;
@@ -0,0 +1,17 @@
1
+ import { iExcessEnergyConsumer } from '../../devices';
2
+ export declare class EnergyManagerUtils {
3
+ static turnOnAdditionalConsumer(excessEnergyConsumer: iExcessEnergyConsumer[], lastDeviceChange: {
4
+ newState: boolean;
5
+ device: iExcessEnergyConsumer;
6
+ } | undefined): void | undefined | {
7
+ newState: boolean;
8
+ device: iExcessEnergyConsumer;
9
+ };
10
+ static turnOffAdditionalConsumer(excessEnergyConsumer: iExcessEnergyConsumer[], lastDeviceChange: {
11
+ newState: boolean;
12
+ device: iExcessEnergyConsumer;
13
+ } | undefined): void | undefined | {
14
+ newState: boolean;
15
+ device: iExcessEnergyConsumer;
16
+ };
17
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnergyManagerUtils = void 0;
4
+ const models_1 = require("../../../models");
5
+ class EnergyManagerUtils {
6
+ static turnOnAdditionalConsumer(excessEnergyConsumer, lastDeviceChange) {
7
+ const potentialDevices = excessEnergyConsumer.filter((e) => {
8
+ if (e.energySettings.priority === -1 || e.on || !e.isAvailableForExcessEnergy()) {
9
+ return false;
10
+ }
11
+ if ((lastDeviceChange === null || lastDeviceChange === void 0 ? void 0 : lastDeviceChange.newState) && e === lastDeviceChange.device) {
12
+ e.log(models_1.LogLevel.Debug, `This woould have been a matching energy consumer, but apperantly last turn on failed...`);
13
+ return false;
14
+ }
15
+ return true;
16
+ });
17
+ if (potentialDevices.length === 0) {
18
+ if ((lastDeviceChange === null || lastDeviceChange === void 0 ? void 0 : lastDeviceChange.newState) === true) {
19
+ return undefined;
20
+ }
21
+ return;
22
+ }
23
+ potentialDevices.sort((a, b) => {
24
+ return b.energySettings.priority - a.energySettings.priority;
25
+ });
26
+ return { newState: true, device: potentialDevices[0] };
27
+ }
28
+ static turnOffAdditionalConsumer(excessEnergyConsumer, lastDeviceChange) {
29
+ const potentialDevices = excessEnergyConsumer.filter((e) => {
30
+ if (e.energySettings.priority === -1 || !e.on) {
31
+ return false;
32
+ }
33
+ if (!e.wasActivatedByExcessEnergy()) {
34
+ e.log(models_1.LogLevel.Info, 'This would have been turned off, but was activated manually....');
35
+ return false;
36
+ }
37
+ if ((lastDeviceChange === null || lastDeviceChange === void 0 ? void 0 : lastDeviceChange.newState) === false && e === lastDeviceChange.device) {
38
+ e.log(models_1.LogLevel.Debug, `This woould have been a matching turn off energy consumer, but apperantly last turn off failed...`);
39
+ return false;
40
+ }
41
+ return true;
42
+ });
43
+ if (potentialDevices.length === 0) {
44
+ if ((lastDeviceChange === null || lastDeviceChange === void 0 ? void 0 : lastDeviceChange.newState) === false) {
45
+ return undefined;
46
+ }
47
+ return;
48
+ }
49
+ potentialDevices.sort((a, b) => {
50
+ return a.energySettings.priority - b.energySettings.priority;
51
+ });
52
+ return { newState: false, device: potentialDevices[0] };
53
+ }
54
+ }
55
+ exports.EnergyManagerUtils = EnergyManagerUtils;
@@ -1,3 +1,4 @@
1
+ export * from './energy-manager-utils';
1
2
  export * from './ringstorage';
2
3
  export * from './utils';
3
4
  export * from './iDisposeable';
@@ -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("./energy-manager-utils"), exports);
17
18
  __exportStar(require("./ringstorage"), exports);
18
19
  __exportStar(require("./utils"), exports);
19
20
  __exportStar(require("./iDisposeable"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './victron-device';
2
+ export * from './victron-service';