hoffmation-base 0.1.41-1 → 0.1.41-13
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 +1 -2
- package/lib/index.js +5 -4
- package/lib/models/deviceSettings/index.d.ts +1 -0
- package/lib/models/deviceSettings/index.js +1 -0
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +9 -0
- package/lib/models/deviceSettings/motionSensorSettings.js +16 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +6 -0
- package/lib/models/deviceSettings/shutterSettings.js +6 -0
- package/lib/models/rooms/RoomBase.d.ts +7 -17
- package/lib/models/rooms/RoomBase.js +27 -32
- package/lib/models/rooms/RoomSettings/RoomSettings.js +1 -0
- package/lib/models/timeCallback.d.ts +7 -1
- package/lib/models/timeCallback.js +16 -10
- package/lib/server/devices/Heizgruppen.d.ts +1 -1
- package/lib/server/devices/Heizgruppen.js +3 -3
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +11 -12
- package/lib/server/devices/IoBrokerBaseDevice.js +36 -38
- package/lib/server/devices/button.d.ts +1 -1
- package/lib/server/devices/button.js +5 -6
- package/lib/server/devices/device-cluster.d.ts +5 -4
- package/lib/server/devices/device-cluster.js +3 -2
- package/lib/server/devices/device-list.d.ts +4 -4
- package/lib/server/devices/device-list.js +5 -5
- package/lib/server/devices/deviceType.d.ts +1 -0
- package/lib/server/devices/deviceType.js +1 -0
- package/lib/server/devices/deviceUpdater.js +4 -4
- package/lib/server/devices/devices.d.ts +6 -7
- package/lib/server/devices/devices.js +78 -108
- package/lib/server/devices/groups/Fenster.d.ts +6 -6
- package/lib/server/devices/groups/Fenster.js +22 -24
- package/lib/server/devices/groups/fensterGroup.d.ts +2 -1
- package/lib/server/devices/groups/fensterGroup.js +42 -36
- package/lib/server/devices/groups/heatGroup.d.ts +2 -2
- package/lib/server/devices/groups/heatGroup.js +8 -8
- package/lib/server/devices/groups/lampenGroup.d.ts +3 -4
- package/lib/server/devices/groups/lampenGroup.js +12 -12
- package/lib/server/devices/groups/praesenzGroup.d.ts +6 -7
- package/lib/server/devices/groups/praesenzGroup.js +45 -40
- package/lib/server/devices/groups/tasterGroup.d.ts +1 -1
- package/lib/server/devices/groups/tasterGroup.js +3 -3
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +12 -8
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +31 -26
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +8 -8
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +40 -43
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -13
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +5 -5
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +17 -17
- package/lib/server/devices/iBaseDevice.d.ts +11 -0
- package/lib/server/devices/iBaseDevice.js +2 -0
- package/lib/server/devices/iButtonSwitch.d.ts +2 -2
- package/lib/server/devices/iEnergyManager.d.ts +18 -2
- package/lib/server/devices/iEnergyManager.js +28 -0
- package/lib/server/devices/iExcessEnergyConsumer.d.ts +3 -3
- package/lib/server/devices/iHeater.d.ts +3 -3
- package/lib/server/devices/iHumiditySensor.d.ts +2 -2
- package/lib/server/devices/iLamp.d.ts +3 -5
- package/lib/server/devices/iMotionSensor.d.ts +13 -0
- package/lib/server/devices/iMotionSensor.js +2 -0
- package/lib/server/devices/iShutter.d.ts +3 -3
- package/lib/server/devices/iTemperaturSensor.d.ts +2 -2
- package/lib/server/devices/iVibrationSensor.d.ts +9 -0
- package/lib/server/devices/iVibrationSensor.js +2 -0
- package/lib/server/devices/index.d.ts +3 -0
- package/lib/server/devices/index.js +3 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +36 -24
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +79 -39
- package/lib/server/devices/zigbee/index.d.ts +1 -0
- package/lib/server/devices/zigbee/index.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +4 -4
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +15 -16
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +11 -5
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +48 -32
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +23 -25
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +2 -2
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +7 -8
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +18 -20
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +0 -2
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +26 -24
- package/lib/server/devices/zigbee/zigbeeMotionSensor.d.ts +8 -6
- package/lib/server/devices/zigbee/zigbeeMotionSensor.js +22 -21
- package/lib/server/devices/zigbee/zigbeeShutter.d.ts +13 -11
- package/lib/server/devices/zigbee/zigbeeShutter.js +43 -34
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +9 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +26 -0
- package/lib/server/services/ShutterService.d.ts +1 -2
- package/lib/server/services/ShutterService.js +6 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +1 -1
- package/lib/server/services/Telegram/telegram-service.js +13 -11
- package/lib/server/services/api/api-service.d.ts +5 -5
- package/lib/server/services/api/api-service.js +5 -5
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +4 -4
- package/lib/server/services/calendar/m/303/274ll-service.js +18 -14
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +9 -9
- package/lib/server/services/dbo/postgreSqlPersist.js +13 -13
- package/lib/server/services/room-service/room-service.d.ts +5 -6
- package/lib/server/services/room-service/room-service.js +29 -30
- package/lib/server/services/time-callback-service.d.ts +9 -15
- package/lib/server/services/time-callback-service.js +39 -45
- package/lib/server/services/utils/utils.d.ts +2 -0
- package/lib/server/services/utils/utils.js +6 -10
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -2,30 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MuellService = void 0;
|
|
4
4
|
const node_ical_1 = require("node-ical");
|
|
5
|
-
const
|
|
6
|
-
const log_service_1 = require("../log-service
|
|
7
|
-
const utils_1 = require("../utils
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const log_service_1 = require("../log-service");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
8
|
const muell_tonne_1 = require("./muell-tonne");
|
|
9
9
|
const time_callback_service_1 = require("../time-callback-service");
|
|
10
|
-
const logLevel_1 = require("../../../models/logLevel");
|
|
11
10
|
class MuellService {
|
|
12
11
|
static intialize(config, defaultSonosDevice) {
|
|
13
12
|
this.defaultSonosDevice = defaultSonosDevice;
|
|
14
13
|
this._active = true;
|
|
15
14
|
this._calendarURL = config.calendarURL;
|
|
16
|
-
this.updateTimeCallback = new
|
|
15
|
+
this.updateTimeCallback = new models_1.TimeCallback('MuelltonnenServiceUpdater', models_1.TimeCallbackType.TimeOfDay, () => {
|
|
17
16
|
this.updateCalendar(false);
|
|
18
17
|
}, 0, 2, 0);
|
|
19
18
|
time_callback_service_1.TimeCallbackService.addCallback(this.updateTimeCallback);
|
|
20
|
-
this.checkTimeCallback = new
|
|
19
|
+
this.checkTimeCallback = new models_1.TimeCallback('MuelltonnenServiceChecker', models_1.TimeCallbackType.TimeOfDay, () => {
|
|
21
20
|
this.checkAll();
|
|
22
21
|
}, 0, 18, 0);
|
|
23
22
|
time_callback_service_1.TimeCallbackService.addCallback(this.checkTimeCallback);
|
|
24
23
|
this.updateCalendar();
|
|
25
24
|
}
|
|
26
25
|
static updateCalendar(checkAfterwards = true) {
|
|
27
|
-
log_service_1.ServerLogService.writeLog(
|
|
28
|
-
node_ical_1.async
|
|
26
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Muell Service wird nun initialisiert`);
|
|
27
|
+
node_ical_1.async
|
|
28
|
+
.fromURL(this._calendarURL)
|
|
29
|
+
.then((data) => {
|
|
29
30
|
this.gelbeTonne = new muell_tonne_1.MuellTonne('Gelbe Tonne', this.defaultSonosDevice);
|
|
30
31
|
this.graueTonne = new muell_tonne_1.MuellTonne('Graue Tonne', this.defaultSonosDevice);
|
|
31
32
|
this.blaueTonne = new muell_tonne_1.MuellTonne('Blaue Tonne', this.defaultSonosDevice);
|
|
@@ -40,7 +41,7 @@ class MuellService {
|
|
|
40
41
|
continue;
|
|
41
42
|
}
|
|
42
43
|
const ev = data[k];
|
|
43
|
-
log_service_1.ServerLogService.writeLog(
|
|
44
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.DeepTrace, `${ev.summary} is in ${ev.location} on the ${ev.start.getDate()} of ${this.months[ev.start.getMonth()]} at ${ev.start.toLocaleTimeString('en-GB')}`);
|
|
44
45
|
if (ev.start.getTime() < todayMidnight) {
|
|
45
46
|
continue;
|
|
46
47
|
}
|
|
@@ -59,7 +60,7 @@ class MuellService {
|
|
|
59
60
|
this.brauneTonne.dates.push(ev.start);
|
|
60
61
|
break;
|
|
61
62
|
default:
|
|
62
|
-
log_service_1.ServerLogService.writeLog(
|
|
63
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Unbekannte Mülltonne (${ev.summary})`);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
this.gelbeTonne.sortDates();
|
|
@@ -70,6 +71,9 @@ class MuellService {
|
|
|
70
71
|
if (checkAfterwards) {
|
|
71
72
|
this.checkAll();
|
|
72
73
|
}
|
|
74
|
+
})
|
|
75
|
+
.catch((r) => {
|
|
76
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `Loading Trash Calendar failed with error: "${r}"`);
|
|
73
77
|
});
|
|
74
78
|
}
|
|
75
79
|
static checkAll(pRetries = 10) {
|
|
@@ -78,18 +82,18 @@ class MuellService {
|
|
|
78
82
|
}
|
|
79
83
|
const now = new Date();
|
|
80
84
|
if (now.getTime() - this.lastCheck.getTime() < 60000 && now.getDate() === this.lastCheck.getDate()) {
|
|
81
|
-
log_service_1.ServerLogService.writeLog(
|
|
85
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `MüllService.checkAll: Skipped weil wir gerade erst geprüft hatten.`);
|
|
82
86
|
return;
|
|
83
87
|
}
|
|
84
88
|
if (this.gelbeTonne === undefined) {
|
|
85
89
|
if (pRetries > 0) {
|
|
86
|
-
log_service_1.ServerLogService.writeLog(
|
|
90
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Der Müllservice ist noch nicht bereit --> warten`);
|
|
87
91
|
utils_1.Utils.guardedTimeout(() => {
|
|
88
92
|
MuellService.checkAll(pRetries - 1);
|
|
89
93
|
}, 1000);
|
|
90
94
|
}
|
|
91
95
|
else {
|
|
92
|
-
log_service_1.ServerLogService.writeLog(
|
|
96
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `Der Müllservice ist trotz Warten nicht bereit --> Abbruch`);
|
|
93
97
|
}
|
|
94
98
|
return;
|
|
95
99
|
}
|
|
@@ -102,7 +106,7 @@ class MuellService {
|
|
|
102
106
|
}
|
|
103
107
|
exports.MuellService = MuellService;
|
|
104
108
|
MuellService.alleTonnen = [];
|
|
109
|
+
MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
105
110
|
MuellService.lastCheck = new Date(0);
|
|
106
111
|
MuellService._active = false;
|
|
107
112
|
MuellService.defaultSonosDevice = undefined;
|
|
108
|
-
MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { iPersist } from './iPersist';
|
|
2
|
-
import { RoomBase } from '../../../models
|
|
3
|
-
import { IoBrokerBaseDevice } from '../../devices
|
|
4
|
-
import { CountToday } from '../../../models
|
|
5
|
-
import { TemperaturDataPoint } from '../../../models
|
|
6
|
-
import { HmIpHeizgruppe } from '../../devices
|
|
7
|
-
import { CurrentIlluminationDataPoint } from '../../../models
|
|
8
|
-
import { iPersistenceSettings } from '../../config
|
|
9
|
-
import { ShutterCalibration } from '../../../models
|
|
10
|
-
import { EnergyCalculation } from '../../../models
|
|
2
|
+
import { RoomBase } from '../../../models';
|
|
3
|
+
import { IoBrokerBaseDevice } from '../../devices';
|
|
4
|
+
import { CountToday } from '../../../models';
|
|
5
|
+
import { TemperaturDataPoint } from '../../../models';
|
|
6
|
+
import { HmIpHeizgruppe } from '../../devices';
|
|
7
|
+
import { CurrentIlluminationDataPoint } from '../../../models';
|
|
8
|
+
import { iPersistenceSettings } from '../../config';
|
|
9
|
+
import { ShutterCalibration } from '../../../models';
|
|
10
|
+
import { EnergyCalculation } from '../../../models';
|
|
11
11
|
export declare class PostgreSqlPersist implements iPersist {
|
|
12
12
|
private psql;
|
|
13
13
|
initialized: boolean;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PostgreSqlPersist = void 0;
|
|
4
|
-
const
|
|
4
|
+
const models_1 = require("../../../models");
|
|
5
5
|
const pg_1 = require("pg");
|
|
6
|
-
const log_service_1 = require("../log-service
|
|
7
|
-
const
|
|
6
|
+
const log_service_1 = require("../log-service");
|
|
7
|
+
const models_2 = require("../../../models");
|
|
8
8
|
class PostgreSqlPersist {
|
|
9
9
|
constructor(config) {
|
|
10
10
|
this.initialized = false;
|
|
@@ -22,7 +22,7 @@ values ('${room.roomName}',${room.settings.etage})
|
|
|
22
22
|
`);
|
|
23
23
|
}
|
|
24
24
|
addTemperaturDataPoint(hzGrp) {
|
|
25
|
-
log_service_1.ServerLogService.writeLog(
|
|
25
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Trace, `Persisting Temperatur Data for ${hzGrp.info.customName}`);
|
|
26
26
|
this.query(`
|
|
27
27
|
insert into hoffmation_schema."TemperaturData" ("date", humidity, "istTemperatur", level, name, "sollTemperatur")
|
|
28
28
|
values ('${new Date().toISOString()}',${hzGrp.humidity},${hzGrp.iTemperatur},${hzGrp.iLevel},'${hzGrp.info.customName}',${hzGrp.desiredTemperatur});`);
|
|
@@ -44,11 +44,11 @@ values ('${new Date().toISOString()}',${hzGrp.humidity},${hzGrp.iTemperatur},${h
|
|
|
44
44
|
if (dbResult !== null && dbResult.length > 0) {
|
|
45
45
|
return dbResult[0];
|
|
46
46
|
}
|
|
47
|
-
log_service_1.ServerLogService.writeLog(
|
|
48
|
-
return new
|
|
47
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Debug, `Es gibt noch keinen persistierten Counter für ${device.info.fullName}`);
|
|
48
|
+
return new models_1.CountToday(device.info.fullID, 0);
|
|
49
49
|
}
|
|
50
50
|
getShutterCalibration(_device) {
|
|
51
|
-
log_service_1.ServerLogService.writeLog(
|
|
51
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Warn, `Postgres doesn't support Shutter Calibration yet.`);
|
|
52
52
|
return new Promise((_res, reject) => {
|
|
53
53
|
reject('Not Implemented');
|
|
54
54
|
});
|
|
@@ -182,7 +182,7 @@ alter table "TemperaturData"
|
|
|
182
182
|
END
|
|
183
183
|
$$;`);
|
|
184
184
|
this.initialized = true;
|
|
185
|
-
log_service_1.ServerLogService.writeLog(
|
|
185
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Info, `Postgres DB initialized`);
|
|
186
186
|
}
|
|
187
187
|
persistCurrentIllumination(data) {
|
|
188
188
|
this.query(`
|
|
@@ -191,7 +191,7 @@ values ('${data.roomName}','${data.deviceID}',${data.currentIllumination},'${dat
|
|
|
191
191
|
`);
|
|
192
192
|
}
|
|
193
193
|
persistShutterCalibration(_data) {
|
|
194
|
-
log_service_1.ServerLogService.writeLog(
|
|
194
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Warn, `Postgres doesn't support Shutter Calibration yet.`);
|
|
195
195
|
}
|
|
196
196
|
persistTodayCount(device, count, oldCount) {
|
|
197
197
|
this.query(`
|
|
@@ -238,18 +238,18 @@ LIMIT ${limit}
|
|
|
238
238
|
resolve(result.rows);
|
|
239
239
|
})
|
|
240
240
|
.catch((r) => {
|
|
241
|
-
log_service_1.ServerLogService.writeLog(
|
|
241
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Warn, `Postgres Query failed: ${r}`);
|
|
242
242
|
resolve(null);
|
|
243
243
|
});
|
|
244
244
|
});
|
|
245
245
|
}
|
|
246
246
|
isPsqlReady() {
|
|
247
247
|
if (!this.initialized) {
|
|
248
|
-
log_service_1.ServerLogService.writeLog(
|
|
248
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Warn, `Db is not yet initialized`);
|
|
249
249
|
return false;
|
|
250
250
|
}
|
|
251
251
|
if (!this.psql) {
|
|
252
|
-
log_service_1.ServerLogService.writeLog(
|
|
252
|
+
log_service_1.ServerLogService.writeLog(models_2.LogLevel.Error, `PSQL client missing`);
|
|
253
253
|
return false;
|
|
254
254
|
}
|
|
255
255
|
return true;
|
|
@@ -258,7 +258,7 @@ LIMIT ${limit}
|
|
|
258
258
|
this.query(`
|
|
259
259
|
insert into hoffmation_schema."EnergyCalculation" ("startDate", "endDate", "selfConsumedKwH", "injectedKwH",
|
|
260
260
|
"drawnKwH")
|
|
261
|
-
values ('${new Date(calc.startMs).toISOString()}','${new Date(calc.
|
|
261
|
+
values ('${new Date(calc.startMs).toISOString()}','${new Date(calc.endMs).toISOString()}',
|
|
262
262
|
${calc.selfConsumedKwH}, ${calc.injectedKwH}, ${calc.drawnKwH});
|
|
263
263
|
`);
|
|
264
264
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ringStorage } from '../utils
|
|
2
|
-
import { RoomBase } from '../../../models
|
|
3
|
-
import {
|
|
4
|
-
import { IoBrokerBaseDevice } from '../../devices/IoBrokerBaseDevice';
|
|
1
|
+
import { ringStorage } from '../utils';
|
|
2
|
+
import { iRoomBase, RoomBase } from '../../../models';
|
|
3
|
+
import { IBaseDevice } from '../../devices';
|
|
5
4
|
export declare class RoomService {
|
|
6
5
|
static Rooms: Map<string, RoomBase>;
|
|
7
6
|
static awayModeActive: boolean;
|
|
@@ -27,11 +26,11 @@ export declare class RoomService {
|
|
|
27
26
|
* @param floor the level on which all lamps shall be changed -1 equals all rooms
|
|
28
27
|
* @param status
|
|
29
28
|
*/
|
|
30
|
-
static setAllLampsOfFloor(floor: number, status?: boolean): void;
|
|
29
|
+
static setAllLampsOfFloor(floor: number, status?: boolean, timeout?: number): void;
|
|
31
30
|
static clearAllAlarms(): void;
|
|
32
31
|
static startAwayMode(): void;
|
|
33
32
|
static startNightAlarmMode(): void;
|
|
34
|
-
static startIntrusionAlarm(room: iRoomBase, device:
|
|
33
|
+
static startIntrusionAlarm(room: iRoomBase, device: IBaseDevice): void;
|
|
35
34
|
static endAlarmModes(): void;
|
|
36
35
|
static getLastMovements(): string;
|
|
37
36
|
private static stopIntrusionAlarm;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RoomService = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const telegram_service_1 = require("../Telegram/telegram-service");
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const log_service_1 = require("../log-service");
|
|
7
|
+
const Sonos_1 = require("../Sonos");
|
|
8
|
+
const Translation_1 = require("../Translation");
|
|
9
|
+
const Telegram_1 = require("../Telegram");
|
|
11
10
|
class RoomService {
|
|
12
11
|
static addToRoomList(room) {
|
|
13
12
|
RoomService.Rooms.set(room.roomName, room);
|
|
@@ -34,12 +33,12 @@ class RoomService {
|
|
|
34
33
|
* @param floor the level on which all lamps shall be changed -1 equals all rooms
|
|
35
34
|
* @param status
|
|
36
35
|
*/
|
|
37
|
-
static setAllLampsOfFloor(floor, status = false) {
|
|
36
|
+
static setAllLampsOfFloor(floor, status = false, timeout) {
|
|
38
37
|
var _a, _b, _c;
|
|
39
|
-
log_service_1.ServerLogService.writeLog(
|
|
38
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Schalte alle Lampen in Etage ${floor} auf den Wert ${status}`);
|
|
40
39
|
const rooms = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.Rooms.entries();
|
|
41
40
|
for (const [_name, room] of rooms) {
|
|
42
|
-
(_a = room.LampenGroup) === null || _a === void 0 ? void 0 : _a.setAllLampen(status, -1, true);
|
|
41
|
+
(_a = room.LampenGroup) === null || _a === void 0 ? void 0 : _a.setAllLampen(status, -1, true, timeout);
|
|
43
42
|
(_b = room.LampenGroup) === null || _b === void 0 ? void 0 : _b.setAllLED(status);
|
|
44
43
|
(_c = room.LampenGroup) === null || _c === void 0 ? void 0 : _c.setAllStecker(status, -1, true);
|
|
45
44
|
}
|
|
@@ -58,36 +57,36 @@ class RoomService {
|
|
|
58
57
|
this.restoreLight();
|
|
59
58
|
}
|
|
60
59
|
static startAwayMode() {
|
|
61
|
-
|
|
60
|
+
Sonos_1.SonosService.speakOnAll(Translation_1.Res.alarmArmed(), 40);
|
|
62
61
|
if (this._awayModeTimeout) {
|
|
63
62
|
clearTimeout(this._awayModeTimeout);
|
|
64
63
|
}
|
|
65
64
|
this._awayModeTimeout = utils_1.Utils.guardedTimeout(() => {
|
|
66
65
|
this.awayModeActive = true;
|
|
67
66
|
this._awayModeTimeout = undefined;
|
|
68
|
-
|
|
67
|
+
Telegram_1.TelegramService.inform(`Alarm ist nun scharf. Gute Reise!`);
|
|
69
68
|
}, 60000, this);
|
|
70
69
|
}
|
|
71
70
|
static startNightAlarmMode() {
|
|
72
|
-
|
|
71
|
+
Sonos_1.SonosService.speakOnAll(Translation_1.Res.alarmNightModeArmed(), 30);
|
|
73
72
|
if (this._nightModeTimeout) {
|
|
74
73
|
clearTimeout(this._nightModeTimeout);
|
|
75
74
|
}
|
|
76
75
|
this._nightModeTimeout = utils_1.Utils.guardedTimeout(() => {
|
|
77
76
|
this.nightAlarmActive = true;
|
|
78
77
|
this._nightModeTimeout = undefined;
|
|
79
|
-
|
|
78
|
+
Telegram_1.TelegramService.inform(`Alarm ist nun scharf. Süße Träume!`);
|
|
80
79
|
}, 60000, this);
|
|
81
80
|
}
|
|
82
81
|
static startIntrusionAlarm(room, device) {
|
|
83
82
|
const message = `!Potenzieller Eindringling! Bewegung in ${room.roomName} von ${device.info.fullName} festgestellt`;
|
|
84
|
-
log_service_1.ServerLogService.writeLog(
|
|
83
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, message);
|
|
85
84
|
if (!this.awayModeActive && !this.nightAlarmActive) {
|
|
86
85
|
this.stopIntrusionAlarm();
|
|
87
86
|
return;
|
|
88
87
|
}
|
|
89
88
|
utils_1.Utils.guardedNewThread(() => {
|
|
90
|
-
|
|
89
|
+
Telegram_1.TelegramService.inform(message);
|
|
91
90
|
}, this);
|
|
92
91
|
if (this._intrusionAlarmActive) {
|
|
93
92
|
return;
|
|
@@ -97,12 +96,12 @@ class RoomService {
|
|
|
97
96
|
}
|
|
98
97
|
static endAlarmModes() {
|
|
99
98
|
if (this.awayModeActive) {
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
Telegram_1.TelegramService.sendMessage(Telegram_1.TelegramService.subscribedIDs, `Alarmanalage entschärft`);
|
|
100
|
+
Sonos_1.SonosService.speakOnAll(Translation_1.Res.welcomeHome(), 35);
|
|
102
101
|
}
|
|
103
102
|
if (this.nightAlarmActive) {
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
Telegram_1.TelegramService.sendMessage(Telegram_1.TelegramService.subscribedIDs, `Nachtmodus der Alarmanlage entschärft`);
|
|
104
|
+
Sonos_1.SonosService.speakOnAll(Translation_1.Res.goodMorning(), 30);
|
|
106
105
|
}
|
|
107
106
|
if (this._nightModeTimeout) {
|
|
108
107
|
clearTimeout(this._nightModeTimeout);
|
|
@@ -118,7 +117,7 @@ class RoomService {
|
|
|
118
117
|
return this.movementHistory.readAmount(15).join('\n');
|
|
119
118
|
}
|
|
120
119
|
static stopIntrusionAlarm() {
|
|
121
|
-
log_service_1.ServerLogService.writeLog(
|
|
120
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Stoppe Intrusion Alarm`);
|
|
122
121
|
if (this._intrusionAlarmTimeout) {
|
|
123
122
|
clearTimeout(this._intrusionAlarmTimeout);
|
|
124
123
|
}
|
|
@@ -127,7 +126,7 @@ class RoomService {
|
|
|
127
126
|
}
|
|
128
127
|
this._intrusionAlarmActive = false;
|
|
129
128
|
this._intrusionAlarmLevel = 0;
|
|
130
|
-
log_service_1.ServerLogService.writeLog(
|
|
129
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Alert, `Alarm wurde beendet --> Fahre Rollos in Ausgangsposition.`);
|
|
131
130
|
this.restoreRolloPosition();
|
|
132
131
|
this.restoreLight();
|
|
133
132
|
}
|
|
@@ -142,11 +141,11 @@ class RoomService {
|
|
|
142
141
|
let newTimeout = 20000;
|
|
143
142
|
const alarmAutomaticEnd = 15;
|
|
144
143
|
if (this._intrusionAlarmLevel === 1) {
|
|
145
|
-
speakMessage =
|
|
144
|
+
speakMessage = Translation_1.Res.intruderGreeting();
|
|
146
145
|
volume = 40;
|
|
147
146
|
}
|
|
148
147
|
else if (this._intrusionAlarmLevel === 2) {
|
|
149
|
-
speakMessage =
|
|
148
|
+
speakMessage = Translation_1.Res.intruderShutterUpPleaseLeave();
|
|
150
149
|
utils_1.Utils.guardedNewThread(() => {
|
|
151
150
|
this.setAllRolloOfFloor(-1, 100);
|
|
152
151
|
this.setAllLampsOfFloor(-1, true);
|
|
@@ -154,11 +153,11 @@ class RoomService {
|
|
|
154
153
|
}
|
|
155
154
|
else if (this._intrusionAlarmLevel === 3) {
|
|
156
155
|
volume = 70;
|
|
157
|
-
speakMessage =
|
|
156
|
+
speakMessage = Translation_1.Res.intruderLeaveAndOwnerInformed();
|
|
158
157
|
}
|
|
159
158
|
else if (this._intrusionAlarmLevel <= 5) {
|
|
160
159
|
volume = 80;
|
|
161
|
-
speakMessage =
|
|
160
|
+
speakMessage = Translation_1.Res.intruderAdditionalDefenseWarning();
|
|
162
161
|
}
|
|
163
162
|
else if (this._intrusionAlarmLevel >= alarmAutomaticEnd) {
|
|
164
163
|
this.stopIntrusionAlarm();
|
|
@@ -166,15 +165,15 @@ class RoomService {
|
|
|
166
165
|
}
|
|
167
166
|
else {
|
|
168
167
|
volume = 90;
|
|
169
|
-
speakMessage =
|
|
168
|
+
speakMessage = Translation_1.Res.intruderAlarm();
|
|
170
169
|
newTimeout = 10000;
|
|
171
170
|
}
|
|
172
171
|
this._intrusionAlarmTimeout = utils_1.Utils.guardedTimeout(() => {
|
|
173
172
|
this.performNextIntrusionLevel();
|
|
174
173
|
}, newTimeout, this);
|
|
175
174
|
utils_1.Utils.guardedNewThread(() => {
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
Sonos_1.SonosService.speakOnAll(speakMessage, volume);
|
|
176
|
+
Telegram_1.TelegramService.inform(`Eindringling erhielt folgende Nachricht: "${speakMessage}"\nAlarmlevel ist ${this._intrusionAlarmLevel}\t Automatisches Ende bei ${alarmAutomaticEnd}`);
|
|
178
177
|
}, this);
|
|
179
178
|
}
|
|
180
179
|
static restoreRolloPosition() {
|
|
@@ -193,6 +192,6 @@ exports.RoomService = RoomService;
|
|
|
193
192
|
RoomService.Rooms = new Map();
|
|
194
193
|
RoomService.awayModeActive = false;
|
|
195
194
|
RoomService.nightAlarmActive = false;
|
|
196
|
-
RoomService.movementHistory = new
|
|
195
|
+
RoomService.movementHistory = new utils_1.ringStorage(15);
|
|
197
196
|
RoomService._intrusionAlarmActive = false;
|
|
198
197
|
RoomService._intrusionAlarmLevel = 0;
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import { TimeCallback } from '../../models
|
|
2
|
-
export declare enum TimeOfDay {
|
|
3
|
-
BeforeSunrise = 1,
|
|
4
|
-
Daylight = 2,
|
|
5
|
-
AfterSunset = 3,
|
|
6
|
-
Night = 4
|
|
7
|
-
}
|
|
1
|
+
import { TimeCallback, TimeOfDay } from '../../models';
|
|
8
2
|
export declare class SunTimeOffsets {
|
|
9
3
|
sunrise: number;
|
|
10
4
|
sunset: number;
|
|
@@ -13,27 +7,27 @@ export declare class SunTimeOffsets {
|
|
|
13
7
|
maximumHours: number;
|
|
14
8
|
maximumMinutes: number;
|
|
15
9
|
constructor(sunrise?: number, sunset?: number, minimumHours?: number, minimumMinutes?: number, maximumHours?: number, maximumMinutes?: number);
|
|
16
|
-
getNextMinimumSunrise(): Date;
|
|
17
|
-
getNextMaximumSunset(): Date;
|
|
10
|
+
getNextMinimumSunrise(date?: Date): Date;
|
|
11
|
+
getNextMaximumSunset(date?: Date): Date;
|
|
18
12
|
}
|
|
19
13
|
export declare class TimeCallbackService {
|
|
20
14
|
private static _todaySunRise;
|
|
21
15
|
private static _todaySunSet;
|
|
22
|
-
private static _nextSunRise;
|
|
23
|
-
private static _nextSunSet;
|
|
24
16
|
private static _callbacks;
|
|
25
17
|
private static _iCheckTimeout;
|
|
26
18
|
private static _lastCheck;
|
|
19
|
+
private static _nextSunRise;
|
|
20
|
+
static get nextSunRise(): Date;
|
|
21
|
+
private static _nextSunSet;
|
|
22
|
+
static get nextSunSet(): Date;
|
|
27
23
|
static dayType(pOffset: SunTimeOffsets): TimeOfDay;
|
|
28
24
|
static darkOutsideOrNight(dayType: TimeOfDay): boolean;
|
|
29
25
|
static stopInterval(): void;
|
|
30
|
-
static get nextSunRise(): Date;
|
|
31
|
-
static get nextSunSet(): Date;
|
|
32
26
|
static init(): void;
|
|
33
27
|
static addCallback(pCallback: TimeCallback): void;
|
|
34
28
|
static performCheck(): void;
|
|
35
29
|
static recalcSunTimes(): void;
|
|
36
30
|
static removeCallback(pCallback: TimeCallback): void;
|
|
37
|
-
static updateSunRise(pDay?: Date): void;
|
|
38
|
-
static updateSunSet(pDay?: Date): void;
|
|
31
|
+
static updateSunRise(pDay?: Date, lat?: number, long?: number): void;
|
|
32
|
+
static updateSunSet(pDay?: Date, lat?: number, long?: number): void;
|
|
39
33
|
}
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeCallbackService = exports.SunTimeOffsets =
|
|
3
|
+
exports.TimeCallbackService = exports.SunTimeOffsets = void 0;
|
|
4
4
|
const sunrise_sunset_js_1 = require("sunrise-sunset-js");
|
|
5
|
-
const
|
|
6
|
-
const log_service_1 = require("./log-service
|
|
7
|
-
const utils_1 = require("./utils
|
|
5
|
+
const models_1 = require("../../models");
|
|
6
|
+
const log_service_1 = require("./log-service");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
8
|
const settings_service_1 = require("./settings-service");
|
|
9
|
-
const devices_1 = require("../devices
|
|
10
|
-
const logLevel_1 = require("../../models/logLevel");
|
|
11
|
-
var TimeOfDay;
|
|
12
|
-
(function (TimeOfDay) {
|
|
13
|
-
TimeOfDay[TimeOfDay["BeforeSunrise"] = 1] = "BeforeSunrise";
|
|
14
|
-
TimeOfDay[TimeOfDay["Daylight"] = 2] = "Daylight";
|
|
15
|
-
TimeOfDay[TimeOfDay["AfterSunset"] = 3] = "AfterSunset";
|
|
16
|
-
TimeOfDay[TimeOfDay["Night"] = 4] = "Night";
|
|
17
|
-
})(TimeOfDay = exports.TimeOfDay || (exports.TimeOfDay = {}));
|
|
9
|
+
const devices_1 = require("../devices");
|
|
18
10
|
class SunTimeOffsets {
|
|
19
11
|
constructor(sunrise = 0, sunset = 0, minimumHours = 6, minimumMinutes = 24, maximumHours = 22, maximumMinutes = 30) {
|
|
20
12
|
this.sunrise = sunrise;
|
|
@@ -24,23 +16,31 @@ class SunTimeOffsets {
|
|
|
24
16
|
this.maximumHours = maximumHours;
|
|
25
17
|
this.maximumMinutes = maximumMinutes;
|
|
26
18
|
}
|
|
27
|
-
getNextMinimumSunrise() {
|
|
28
|
-
const
|
|
29
|
-
|
|
19
|
+
getNextMinimumSunrise(date = new Date()) {
|
|
20
|
+
const dateCopy = new Date(date);
|
|
21
|
+
const today = new Date(dateCopy.setHours(this.minimumHours, this.minimumMinutes, 0, 0));
|
|
22
|
+
if (today > date) {
|
|
30
23
|
return today;
|
|
31
24
|
}
|
|
32
|
-
return new Date(today.
|
|
25
|
+
return new Date(today.setDate(today.getDate() + 1));
|
|
33
26
|
}
|
|
34
|
-
getNextMaximumSunset() {
|
|
35
|
-
const
|
|
36
|
-
|
|
27
|
+
getNextMaximumSunset(date = new Date()) {
|
|
28
|
+
const dateCopy = new Date(date);
|
|
29
|
+
const today = new Date(dateCopy.setHours(this.maximumHours, this.maximumMinutes, 0, 0));
|
|
30
|
+
if (today > date) {
|
|
37
31
|
return today;
|
|
38
32
|
}
|
|
39
|
-
return new Date(today.
|
|
33
|
+
return new Date(today.setDate(today.getDate() + 1));
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
36
|
exports.SunTimeOffsets = SunTimeOffsets;
|
|
43
37
|
class TimeCallbackService {
|
|
38
|
+
static get nextSunRise() {
|
|
39
|
+
return TimeCallbackService._nextSunRise;
|
|
40
|
+
}
|
|
41
|
+
static get nextSunSet() {
|
|
42
|
+
return TimeCallbackService._nextSunSet;
|
|
43
|
+
}
|
|
44
44
|
static dayType(pOffset) {
|
|
45
45
|
const now = new Date();
|
|
46
46
|
const hours = now.getHours();
|
|
@@ -51,7 +51,7 @@ class TimeCallbackService {
|
|
|
51
51
|
if ((hours < nightEnd.hours && hours > nightStart.hours) ||
|
|
52
52
|
(hours === nightEnd.hours && minutes < nightEnd.minutes) ||
|
|
53
53
|
(hours === nightStart.hours && minutes > nightStart.minutes)) {
|
|
54
|
-
return TimeOfDay.Night;
|
|
54
|
+
return models_1.TimeOfDay.Night;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
@@ -59,7 +59,7 @@ class TimeCallbackService {
|
|
|
59
59
|
hours < nightEnd.hours ||
|
|
60
60
|
(hours === nightStart.hours && minutes >= nightStart.minutes) ||
|
|
61
61
|
(hours === nightEnd.hours && minutes <= nightEnd.minutes)) {
|
|
62
|
-
return TimeOfDay.Night;
|
|
62
|
+
return models_1.TimeOfDay.Night;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
let sunset = new Date(TimeCallbackService._todaySunSet.getTime() + pOffset.sunset * 60 * 1000);
|
|
@@ -68,11 +68,11 @@ class TimeCallbackService {
|
|
|
68
68
|
maximumSunset.setDate(maximumSunset.getDate() - 1);
|
|
69
69
|
}
|
|
70
70
|
if (maximumSunset < sunset && maximumSunset.getDate() === sunset.getDate()) {
|
|
71
|
-
log_service_1.ServerLogService.writeLog(
|
|
71
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `Maximum Sunset vor nächstem Sunset: Sunset ${sunset.toLocaleString()}\t\t${maximumSunset.toLocaleString()}`);
|
|
72
72
|
sunset = maximumSunset;
|
|
73
73
|
}
|
|
74
74
|
if (now > sunset) {
|
|
75
|
-
return TimeOfDay.AfterSunset;
|
|
75
|
+
return models_1.TimeOfDay.AfterSunset;
|
|
76
76
|
}
|
|
77
77
|
const minimumSunrise = pOffset.getNextMinimumSunrise();
|
|
78
78
|
let sunrise = new Date(TimeCallbackService._todaySunRise.getTime() + pOffset.sunrise * 60 * 1000);
|
|
@@ -80,19 +80,19 @@ class TimeCallbackService {
|
|
|
80
80
|
minimumSunrise.setDate(minimumSunrise.getDate() - 1);
|
|
81
81
|
}
|
|
82
82
|
if (minimumSunrise > sunrise && minimumSunrise.getDate() === sunrise.getDate()) {
|
|
83
|
-
log_service_1.ServerLogService.writeLog(
|
|
83
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `Minimum Sunset nach aktuellem Sunrise: Sunset ${sunrise.toLocaleString()}\t\t${minimumSunrise.toLocaleString()}`);
|
|
84
84
|
sunrise = minimumSunrise;
|
|
85
85
|
}
|
|
86
86
|
if (now < sunrise && now.getDate() == sunrise.getDate()) {
|
|
87
|
-
return TimeOfDay.BeforeSunrise;
|
|
87
|
+
return models_1.TimeOfDay.BeforeSunrise;
|
|
88
88
|
}
|
|
89
|
-
return TimeOfDay.Daylight;
|
|
89
|
+
return models_1.TimeOfDay.Daylight;
|
|
90
90
|
}
|
|
91
91
|
static darkOutsideOrNight(dayType) {
|
|
92
92
|
switch (dayType) {
|
|
93
|
-
case TimeOfDay.Night:
|
|
94
|
-
case TimeOfDay.BeforeSunrise:
|
|
95
|
-
case TimeOfDay.AfterSunset:
|
|
93
|
+
case models_1.TimeOfDay.Night:
|
|
94
|
+
case models_1.TimeOfDay.BeforeSunrise:
|
|
95
|
+
case models_1.TimeOfDay.AfterSunset:
|
|
96
96
|
return true;
|
|
97
97
|
default:
|
|
98
98
|
return false;
|
|
@@ -104,18 +104,12 @@ class TimeCallbackService {
|
|
|
104
104
|
this._iCheckTimeout = undefined;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
static get nextSunRise() {
|
|
108
|
-
return TimeCallbackService._nextSunRise;
|
|
109
|
-
}
|
|
110
|
-
static get nextSunSet() {
|
|
111
|
-
return TimeCallbackService._nextSunSet;
|
|
112
|
-
}
|
|
113
107
|
static init() {
|
|
114
|
-
const dailyRecalc = new
|
|
108
|
+
const dailyRecalc = new models_1.TimeCallback('Midnight Recalc', models_1.TimeCallbackType.TimeOfDay, () => {
|
|
115
109
|
TimeCallbackService.recalcSunTimes();
|
|
116
110
|
devices_1.Devices.midnightReset();
|
|
117
111
|
}, 0, 0, 0);
|
|
118
|
-
const daily3oClockRecalc = new
|
|
112
|
+
const daily3oClockRecalc = new models_1.TimeCallback('Daily3oClockRecalc', models_1.TimeCallbackType.TimeOfDay, () => {
|
|
119
113
|
devices_1.Devices.resetPraesenzCount();
|
|
120
114
|
}, 0, 3, 0);
|
|
121
115
|
TimeCallbackService.recalcSunTimes();
|
|
@@ -127,7 +121,7 @@ class TimeCallbackService {
|
|
|
127
121
|
TimeCallbackService._callbacks.push(pCallback);
|
|
128
122
|
}
|
|
129
123
|
static performCheck() {
|
|
130
|
-
log_service_1.ServerLogService.writeLog(
|
|
124
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `Perform TimeCallBackCheck`);
|
|
131
125
|
const now = new Date();
|
|
132
126
|
for (const tc of TimeCallbackService._callbacks) {
|
|
133
127
|
if (tc.nextToDo === undefined || tc.nextToDo < tc.lastDone) {
|
|
@@ -157,7 +151,7 @@ class TimeCallbackService {
|
|
|
157
151
|
TimeCallbackService._todaySunSet = (0, sunrise_sunset_js_1.getSunset)(51.529556852253826, 7.097266042276687, new Date());
|
|
158
152
|
TimeCallbackService.updateSunSet();
|
|
159
153
|
TimeCallbackService.updateSunRise();
|
|
160
|
-
log_service_1.ServerLogService.writeLog(
|
|
154
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Nächster Sonnenaufgang um ${TimeCallbackService.nextSunRise.toLocaleTimeString('de-DE')}
|
|
161
155
|
Nächster Sonnenuntergang um ${TimeCallbackService._nextSunSet.toLocaleTimeString('de-DE')}`);
|
|
162
156
|
}
|
|
163
157
|
static removeCallback(pCallback) {
|
|
@@ -170,11 +164,11 @@ Nächster Sonnenuntergang um ${TimeCallbackService._nextSunSet.toLocaleTimeStrin
|
|
|
170
164
|
return;
|
|
171
165
|
}
|
|
172
166
|
}
|
|
173
|
-
static updateSunRise(pDay = new Date()) {
|
|
174
|
-
TimeCallbackService._nextSunRise = (0, sunrise_sunset_js_1.getSunrise)(
|
|
167
|
+
static updateSunRise(pDay = new Date(), lat = 51.529556852253826, long = 7.097266042276687) {
|
|
168
|
+
TimeCallbackService._nextSunRise = (0, sunrise_sunset_js_1.getSunrise)(lat, long, pDay);
|
|
175
169
|
}
|
|
176
|
-
static updateSunSet(pDay = new Date()) {
|
|
177
|
-
TimeCallbackService._nextSunSet = (0, sunrise_sunset_js_1.getSunset)(
|
|
170
|
+
static updateSunSet(pDay = new Date(), lat = 51.529556852253826, long = 7.097266042276687) {
|
|
171
|
+
TimeCallbackService._nextSunSet = (0, sunrise_sunset_js_1.getSunset)(lat, long, pDay);
|
|
178
172
|
}
|
|
179
173
|
}
|
|
180
174
|
exports.TimeCallbackService = TimeCallbackService;
|