hoffmation-base 0.1.14 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +2 -0
- package/lib/index.js +14 -0
- package/lib/models/actuatorSettings.d.ts +5 -0
- package/lib/models/actuatorSettings.js +11 -0
- package/lib/models/connectionCallbacks.d.ts +10 -0
- package/lib/models/connectionCallbacks.js +6 -0
- package/lib/models/daytime.d.ts +5 -0
- package/lib/models/daytime.js +10 -0
- package/lib/models/deviceConfig.d.ts +11 -0
- package/lib/models/deviceConfig.js +2 -0
- package/lib/models/dimmerSettings.d.ts +5 -0
- package/lib/models/dimmerSettings.js +11 -0
- package/lib/models/iTemperaturDataPoint.d.ts +9 -0
- package/lib/models/iTemperaturDataPoint.js +2 -0
- package/lib/models/index.d.ts +12 -0
- package/lib/models/index.js +24 -0
- package/lib/models/ledSettings.d.ts +19 -0
- package/lib/models/ledSettings.js +25 -0
- package/lib/models/logLevel.d.ts +9 -0
- package/lib/models/logLevel.js +13 -0
- package/lib/models/persistence/BasicRoomInfo.d.ts +5 -0
- package/lib/models/persistence/BasicRoomInfo.js +10 -0
- package/lib/models/persistence/CurrentIlluminationDataPoint.d.ts +8 -0
- package/lib/models/persistence/CurrentIlluminationDataPoint.js +13 -0
- package/lib/models/persistence/DailyMovementCount.d.ts +7 -0
- package/lib/models/persistence/DailyMovementCount.js +12 -0
- package/lib/models/persistence/RoomDetailInfo.d.ts +6 -0
- package/lib/models/persistence/RoomDetailInfo.js +11 -0
- package/lib/models/persistence/index.d.ts +6 -0
- package/lib/models/persistence/index.js +18 -0
- package/lib/models/persistence/temperaturDataPoint.d.ts +10 -0
- package/lib/models/persistence/temperaturDataPoint.js +14 -0
- package/lib/models/persistence/todaysCount.d.ts +5 -0
- package/lib/models/persistence/todaysCount.js +10 -0
- package/lib/models/rooms/RoomBase.d.ts +81 -0
- package/lib/models/rooms/RoomBase.js +309 -0
- package/lib/models/rooms/RoomSettings/RoomSettings.d.ts +57 -0
- package/lib/models/rooms/RoomSettings/RoomSettings.js +120 -0
- package/lib/models/rooms/RoomSettings/hmIPRoomSettings.d.ts +17 -0
- package/lib/models/rooms/RoomSettings/hmIPRoomSettings.js +51 -0
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +16 -0
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.js +2 -0
- package/lib/models/rooms/RoomSettings/index.d.ts +4 -0
- package/lib/models/rooms/RoomSettings/index.js +16 -0
- package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.d.ts +17 -0
- package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.js +51 -0
- package/{models/rooms/iRoomImportEnforcer.ts → lib/models/rooms/iRoomImportEnforcer.d.ts} +1 -1
- package/lib/models/rooms/iRoomImportEnforcer.js +2 -0
- package/lib/models/rooms/index.d.ts +3 -0
- package/lib/models/rooms/index.js +15 -0
- package/lib/models/temperaturSettings.d.ts +9 -0
- package/lib/models/temperaturSettings.js +21 -0
- package/lib/models/timeCallback.d.ts +19 -0
- package/lib/models/timeCallback.js +73 -0
- package/lib/server/config/iConfig.d.ts +45 -0
- package/lib/server/config/iConfig.js +2 -0
- package/lib/server/config/index.d.ts +1 -0
- package/lib/server/config/index.js +13 -0
- package/lib/server/devices/DeviceInfo.d.ts +17 -0
- package/lib/server/devices/DeviceInfo.js +48 -0
- package/lib/server/devices/Griffe.d.ts +5 -0
- package/lib/server/devices/Griffe.js +31 -0
- package/lib/server/devices/Heizgruppen.d.ts +8 -0
- package/lib/server/devices/Heizgruppen.js +78 -0
- package/lib/server/devices/Rollos.d.ts +5 -0
- package/lib/server/devices/Rollos.js +43 -0
- package/lib/server/devices/deviceUpdater.d.ts +13 -0
- package/lib/server/devices/deviceUpdater.js +64 -0
- package/lib/server/devices/devices.d.ts +21 -0
- package/lib/server/devices/devices.js +172 -0
- package/lib/server/devices/groups/fensterGroup.d.ts +15 -0
- package/lib/server/devices/groups/fensterGroup.js +138 -0
- package/lib/server/devices/groups/heatGroup.d.ts +9 -0
- package/lib/server/devices/groups/heatGroup.js +33 -0
- package/lib/server/devices/groups/index.d.ts +8 -0
- package/lib/server/devices/groups/index.js +20 -0
- package/lib/server/devices/groups/lampenGroup.d.ts +18 -0
- package/lib/server/devices/groups/lampenGroup.js +95 -0
- package/lib/server/devices/groups/praesenzGroup.d.ts +18 -0
- package/lib/server/devices/groups/praesenzGroup.js +145 -0
- package/lib/server/devices/groups/smokeGroup.d.ts +8 -0
- package/lib/server/devices/groups/smokeGroup.js +18 -0
- package/lib/server/devices/groups/sonosGroup.d.ts +11 -0
- package/lib/server/devices/groups/sonosGroup.js +38 -0
- package/lib/server/devices/groups/tasterGroup.d.ts +8 -0
- package/lib/server/devices/groups/tasterGroup.js +43 -0
- package/lib/server/devices/groups/waterGroup.d.ts +8 -0
- package/lib/server/devices/groups/waterGroup.js +18 -0
- package/lib/server/devices/hmIPDevices/Fenster.d.ts +22 -0
- package/lib/server/devices/hmIPDevices/Fenster.js +100 -0
- package/lib/server/devices/hmIPDevices/FensterPosition.d.ts +5 -0
- package/lib/server/devices/hmIPDevices/FensterPosition.js +9 -0
- package/lib/server/devices/hmIPDevices/TuerPosition.d.ts +4 -0
- package/lib/server/devices/hmIPDevices/TuerPosition.js +8 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +25 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +106 -0
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +19 -0
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +72 -0
- package/lib/server/devices/hmIPDevices/hmIpDeviceType.d.ts +14 -0
- package/lib/server/devices/hmIPDevices/hmIpDeviceType.js +18 -0
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +22 -0
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +117 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +34 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +143 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +15 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +54 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +96 -0
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +22 -0
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +89 -0
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +22 -0
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +105 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +13 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +78 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +7 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +17 -0
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +16 -0
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +94 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +12 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +50 -0
- package/lib/server/devices/hmIPDevices/index.d.ts +16 -0
- package/lib/server/devices/hmIPDevices/index.js +28 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +5 -0
- package/lib/server/devices/iDeviceUpdater.js +2 -0
- package/{server/devices/iIlluminationSensor.ts → lib/server/devices/iIlluminationSensor.d.ts} +1 -1
- package/lib/server/devices/iIlluminationSensor.js +2 -0
- package/lib/server/devices/iIoBrokerDevice.d.ts +30 -0
- package/lib/server/devices/iIoBrokerDevice.js +37 -0
- package/lib/server/devices/iLamp.d.ts +8 -0
- package/lib/server/devices/iLamp.js +2 -0
- package/lib/server/devices/iTaster.d.ts +7 -0
- package/lib/server/devices/iTaster.js +2 -0
- package/lib/server/devices/index.d.ts +16 -0
- package/lib/server/devices/index.js +28 -0
- package/lib/server/devices/taste.d.ts +15 -0
- package/lib/server/devices/taste.js +64 -0
- package/lib/server/devices/wledDevice.d.ts +38 -0
- package/lib/server/devices/wledDevice.js +97 -0
- package/lib/server/devices/zigbee/ZigbeeActuator.d.ts +17 -0
- package/lib/server/devices/zigbee/ZigbeeActuator.js +83 -0
- package/lib/server/devices/zigbee/index.d.ts +13 -0
- package/lib/server/devices/zigbee/index.js +25 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +31 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +137 -0
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +23 -0
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +121 -0
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +18 -0
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +84 -0
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +64 -0
- package/lib/server/devices/zigbee/zigbeeDevice.d.ts +20 -0
- package/lib/server/devices/zigbee/zigbeeDevice.js +83 -0
- package/lib/server/devices/zigbee/zigbeeDeviceType.d.ts +14 -0
- package/lib/server/devices/zigbee/zigbeeDeviceType.js +18 -0
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +18 -0
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +89 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +10 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +26 -0
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +11 -0
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +28 -0
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +23 -0
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +128 -0
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +10 -0
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +31 -0
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +22 -0
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +122 -0
- package/lib/server/index.d.ts +4 -0
- package/lib/server/index.js +16 -0
- package/lib/server/ioBroker/connection.d.ts +160 -0
- package/lib/server/ioBroker/connection.js +1419 -0
- package/lib/server/ioBroker/index.d.ts +6 -0
- package/lib/server/ioBroker/index.js +18 -0
- package/lib/server/ioBroker/ioBroker.main.d.ts +15 -0
- package/lib/server/ioBroker/ioBroker.main.js +85 -0
- package/lib/server/ioBroker/socketIOAuthInfo.d.ts +5 -0
- package/lib/server/ioBroker/socketIOAuthInfo.js +6 -0
- package/lib/server/ioBroker/socketIOConnectOptions.d.ts +6 -0
- package/lib/server/ioBroker/socketIOConnectOptions.js +6 -0
- package/lib/server/ioBroker/socketIOLogging.d.ts +12 -0
- package/lib/server/ioBroker/socketIOLogging.js +32 -0
- package/lib/server/ioBroker/socketIOVisCommand.d.ts +6 -0
- package/lib/server/ioBroker/socketIOVisCommand.js +11 -0
- package/lib/server/services/HTTPSOptions.d.ts +12 -0
- package/lib/server/services/HTTPSOptions.js +16 -0
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +7 -0
- package/lib/server/services/Sonos/OwnSonosDevices.js +10 -0
- package/lib/server/services/Sonos/index.d.ts +4 -0
- package/lib/server/services/Sonos/index.js +16 -0
- package/lib/server/services/Sonos/mp3-server.d.ts +7 -0
- package/lib/server/services/Sonos/mp3-server.js +90 -0
- package/lib/server/services/Sonos/polly-service.d.ts +12 -0
- package/lib/server/services/Sonos/polly-service.js +117 -0
- package/lib/server/services/Sonos/sonos-service.d.ts +30 -0
- package/lib/server/services/Sonos/sonos-service.js +140 -0
- package/lib/server/services/Telegram/index.d.ts +3 -0
- package/lib/server/services/Telegram/index.js +15 -0
- package/lib/server/services/Telegram/telegram-Commands.d.ts +3 -0
- package/lib/server/services/Telegram/telegram-Commands.js +128 -0
- package/lib/server/services/Telegram/telegram-service.d.ts +19 -0
- package/lib/server/services/Telegram/telegram-service.js +150 -0
- package/lib/server/services/Telegram/telegramMessageCalback.d.ts +9 -0
- package/lib/server/services/Telegram/telegramMessageCalback.js +13 -0
- package/lib/server/services/calendar/index.d.ts +2 -0
- package/lib/server/services/calendar/index.js +14 -0
- package/lib/server/services/calendar/muell-tonne.d.ts +12 -0
- package/lib/server/services/calendar/muell-tonne.js +73 -0
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +24 -0
- package/lib/server/services/calendar/m/303/274ll-service.js +108 -0
- package/lib/server/services/dbo/index.d.ts +1 -0
- package/lib/server/services/dbo/index.js +13 -0
- package/lib/server/services/dbo/persist.d.ts +27 -0
- package/lib/server/services/dbo/persist.js +107 -0
- package/lib/server/services/https-service.d.ts +6 -0
- package/lib/server/services/https-service.js +87 -0
- package/lib/server/services/index.d.ts +12 -0
- package/lib/server/services/index.js +24 -0
- package/lib/server/services/log-service.d.ts +14 -0
- package/lib/server/services/log-service.js +41 -0
- package/lib/server/services/news-service.d.ts +10 -0
- package/lib/server/services/news-service.js +90 -0
- package/lib/server/services/settings-service.d.ts +6 -0
- package/lib/server/services/settings-service.js +19 -0
- package/lib/server/services/time-callback-service.d.ts +39 -0
- package/lib/server/services/time-callback-service.js +182 -0
- package/lib/server/services/utils/index.d.ts +2 -0
- package/lib/server/services/utils/index.js +14 -0
- package/lib/server/services/utils/ringstorage.d.ts +8 -0
- package/lib/server/services/utils/ringstorage.js +27 -0
- package/lib/server/services/utils/utils.d.ts +9 -0
- package/lib/server/services/utils/utils.js +44 -0
- package/lib/server/services/weather/index.d.ts +9 -0
- package/lib/server/services/weather/index.js +21 -0
- package/lib/server/services/weather/weather-alert.d.ts +7 -0
- package/lib/server/services/weather/weather-alert.js +2 -0
- package/lib/server/services/weather/weather-current.d.ts +25 -0
- package/lib/server/services/weather/weather-current.js +2 -0
- package/lib/server/services/weather/weather-daily.d.ts +21 -0
- package/lib/server/services/weather/weather-daily.js +2 -0
- package/lib/server/services/weather/weather-feelsLike.d.ts +6 -0
- package/lib/server/services/weather/weather-feelsLike.js +2 -0
- package/lib/server/services/weather/weather-hourly.d.ts +16 -0
- package/lib/server/services/weather/weather-hourly.js +2 -0
- package/lib/server/services/weather/weather-item.d.ts +6 -0
- package/lib/server/services/weather/weather-item.js +2 -0
- package/lib/server/services/weather/weather-minutes.d.ts +4 -0
- package/lib/server/services/weather/weather-minutes.js +2 -0
- package/lib/server/services/weather/weather-service.d.ts +37 -0
- package/lib/server/services/weather/weather-service.js +173 -0
- package/lib/server/services/weather/weather-temp.d.ts +8 -0
- package/lib/server/services/weather/weather-temp.js +2 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +21 -10
- package/.eslintrc.js +0 -27
- package/.github/workflows/npm-publish.yml +0 -33
- package/.prettierrc.js +0 -9
- package/index.js +0 -1
- package/models/actuatorSettings.ts +0 -5
- package/models/connectionCallbacks.ts +0 -13
- package/models/daytime.ts +0 -3
- package/models/deviceConfig.ts +0 -8
- package/models/dimmerSettings.ts +0 -5
- package/models/iTemperaturDataPoint.ts +0 -9
- package/models/ledSettings.ts +0 -19
- package/models/logLevel.ts +0 -9
- package/models/persistence/BasicRoomInfo.ts +0 -3
- package/models/persistence/CurrentIlluminationDataPoint.ts +0 -9
- package/models/persistence/DailyMovementCount.ts +0 -3
- package/models/persistence/RoomDetailInfo.ts +0 -4
- package/models/persistence/temperaturDataPoint.ts +0 -12
- package/models/persistence/todaysCount.ts +0 -3
- package/models/rooms/RoomBase.ts +0 -358
- package/models/rooms/RoomSettings/RoomSettings.ts +0 -159
- package/models/rooms/RoomSettings/hmIPRoomSettings.ts +0 -53
- package/models/rooms/RoomSettings/iRoomDefaultSettings.ts +0 -17
- package/models/rooms/RoomSettings/readme.md +0 -18
- package/models/rooms/RoomSettings/zigbeeRoomSettings.ts +0 -51
- package/models/rooms/readme.md +0 -11
- package/models/temperaturSettings.ts +0 -22
- package/models/timeCallback.ts +0 -90
- package/server/config/config-readme.md +0 -19
- package/server/config/iConfig.ts +0 -53
- package/server/config/private/mainConfig.json +0 -64
- package/server/devices/DeviceInfo.ts +0 -66
- package/server/devices/Griffe.ts +0 -31
- package/server/devices/Heizgruppen.ts +0 -91
- package/server/devices/Rollos.ts +0 -48
- package/server/devices/deviceUpdater.ts +0 -72
- package/server/devices/devices.ts +0 -193
- package/server/devices/groups/fensterGroup.ts +0 -175
- package/server/devices/groups/heatGroup.ts +0 -32
- package/server/devices/groups/lampenGroup.ts +0 -106
- package/server/devices/groups/praesenzGroup.ts +0 -187
- package/server/devices/groups/smokeGroup.ts +0 -16
- package/server/devices/groups/sonosGroup.ts +0 -33
- package/server/devices/groups/tasterGroup.ts +0 -48
- package/server/devices/groups/waterGroup.ts +0 -16
- package/server/devices/hmIPDevices/Fenster.ts +0 -114
- package/server/devices/hmIPDevices/FensterPosition.ts +0 -5
- package/server/devices/hmIPDevices/TuerPosition.ts +0 -4
- package/server/devices/hmIPDevices/hmIpBewegung.ts +0 -145
- package/server/devices/hmIPDevices/hmIpDevice.ts +0 -90
- package/server/devices/hmIPDevices/hmIpDeviceType.ts +0 -14
- package/server/devices/hmIPDevices/hmIpGriff.ts +0 -143
- package/server/devices/hmIPDevices/hmIpHeizgruppe.ts +0 -172
- package/server/devices/hmIPDevices/hmIpHeizung.ts +0 -69
- package/server/devices/hmIPDevices/hmIpLampe.ts +0 -120
- package/server/devices/hmIPDevices/hmIpPraezenz.ts +0 -117
- package/server/devices/hmIPDevices/hmIpRoll.ts +0 -133
- package/server/devices/hmIPDevices/hmIpTaster.ts +0 -82
- package/server/devices/hmIPDevices/hmIpTherm.ts +0 -19
- package/server/devices/hmIPDevices/hmIpTuer.ts +0 -115
- package/server/devices/hmIPDevices/hmIpWippe.ts +0 -55
- package/server/devices/iDeviceUpdater.ts +0 -4
- package/server/devices/iIoBrokerDevice.ts +0 -44
- package/server/devices/iLamp.ts +0 -10
- package/server/devices/iTaster.ts +0 -6
- package/server/devices/taste.ts +0 -84
- package/server/devices/wledDevice.ts +0 -124
- package/server/devices/zigbee/ZigbeeActuator.ts +0 -113
- package/server/devices/zigbee/zigbeeAquaraMotion.ts +0 -205
- package/server/devices/zigbee/zigbeeAquaraVibra.ts +0 -171
- package/server/devices/zigbee/zigbeeAquaraWater.ts +0 -94
- package/server/devices/zigbee/zigbeeBlitzShp.ts +0 -77
- package/server/devices/zigbee/zigbeeDevice.ts +0 -115
- package/server/devices/zigbee/zigbeeDeviceType.ts +0 -14
- package/server/devices/zigbee/zigbeeHeimanSmoke.ts +0 -99
- package/server/devices/zigbee/zigbeeIkeaSteckdose.ts +0 -31
- package/server/devices/zigbee/zigbeeIlluActuator.ts +0 -37
- package/server/devices/zigbee/zigbeeIlluDimmer.ts +0 -166
- package/server/devices/zigbee/zigbeeIlluLampe.ts +0 -33
- package/server/devices/zigbee/zigbeeIlluLedRGBCCT.ts +0 -137
- package/server/ioBroker/connection.ts +0 -1655
- package/server/ioBroker/ioBroker.main.ts +0 -99
- package/server/ioBroker/socketIOAuthInfo.ts +0 -5
- package/server/ioBroker/socketIOConnectOptions.ts +0 -6
- package/server/ioBroker/socketIOLogging.ts +0 -29
- package/server/ioBroker/socketIOVisCommand.ts +0 -11
- package/server/services/HTTPSOptions.ts +0 -14
- package/server/services/Sonos/OwnSonosDevices.ts +0 -9
- package/server/services/Sonos/mp3-server.ts +0 -75
- package/server/services/Sonos/polly-service.ts +0 -100
- package/server/services/Sonos/sonos-service.ts +0 -194
- package/server/services/Telegram/telegram-Commands.ts +0 -237
- package/server/services/Telegram/telegram-service.ts +0 -177
- package/server/services/Telegram/telegramMessageCalback.ts +0 -11
- package/server/services/calendar/muell-tonne.ts +0 -82
- package/server/services/calendar/m/303/274ll-service.ts +0 -147
- package/server/services/dbo/persist.ts +0 -142
- package/server/services/https-service.ts +0 -71
- package/server/services/log-service.ts +0 -69
- package/server/services/news-service.ts +0 -81
- package/server/services/settings-service.ts +0 -15
- package/server/services/time-callback-service.ts +0 -223
- package/server/services/utils/ringstorage.ts +0 -24
- package/server/services/utils/utils.ts +0 -52
- package/server/services/weather/weather-alert.ts +0 -7
- package/server/services/weather/weather-current.ts +0 -26
- package/server/services/weather/weather-daily.ts +0 -22
- package/server/services/weather/weather-feelsLike.ts +0 -6
- package/server/services/weather/weather-hourly.ts +0 -17
- package/server/services/weather/weather-item.ts +0 -6
- package/server/services/weather/weather-minutes.ts +0 -4
- package/server/services/weather/weather-service.ts +0 -277
- package/server/services/weather/weather-temp.ts +0 -8
- package/tsconfig.json +0 -58
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoomBase = void 0;
|
|
4
|
+
const hmIpDevice_1 = require("../../server/devices/hmIPDevices/hmIpDevice");
|
|
5
|
+
const tasterGroup_1 = require("../../server/devices/groups/tasterGroup");
|
|
6
|
+
const praesenzGroup_1 = require("../../server/devices/groups/praesenzGroup");
|
|
7
|
+
const ringstorage_1 = require("../../server/services/utils/ringstorage");
|
|
8
|
+
const telegram_service_1 = require("../../server/services/Telegram/telegram-service");
|
|
9
|
+
const heatGroup_1 = require("../../server/devices/groups/heatGroup");
|
|
10
|
+
const logLevel_1 = require("../logLevel");
|
|
11
|
+
const waterGroup_1 = require("../../server/devices/groups/waterGroup");
|
|
12
|
+
const log_service_1 = require("../../server/services/log-service");
|
|
13
|
+
const utils_1 = require("../../server/services/utils/utils");
|
|
14
|
+
const lampenGroup_1 = require("../../server/devices/groups/lampenGroup");
|
|
15
|
+
const smokeGroup_1 = require("../../server/devices/groups/smokeGroup");
|
|
16
|
+
const fensterGroup_1 = require("../../server/devices/groups/fensterGroup");
|
|
17
|
+
const zigbeeDevice_1 = require("../../server/devices/zigbee/zigbeeDevice");
|
|
18
|
+
const persist_1 = require("../../server/services/dbo/persist");
|
|
19
|
+
const time_callback_service_1 = require("../../server/services/time-callback-service");
|
|
20
|
+
const sonos_service_1 = require("../../server/services/Sonos/sonos-service");
|
|
21
|
+
const sonosGroup_1 = require("../../server/devices/groups/sonosGroup");
|
|
22
|
+
class RoomBase {
|
|
23
|
+
constructor(roomName, Einstellungen) {
|
|
24
|
+
this.roomName = roomName;
|
|
25
|
+
this.Einstellungen = Einstellungen;
|
|
26
|
+
this.FensterGroup = new fensterGroup_1.FensterGroup(this, []);
|
|
27
|
+
this.PraesenzGroup = new praesenzGroup_1.PraesenzGroup(this, [], []);
|
|
28
|
+
this.LampenGroup = new lampenGroup_1.LampenGroup(this, [], [], []);
|
|
29
|
+
this.TasterGroup = new tasterGroup_1.TasterGroup(this, []);
|
|
30
|
+
this.SonosGroup = new sonosGroup_1.SonosGroup(this, []);
|
|
31
|
+
this.SmokeGroup = new smokeGroup_1.SmokeGroup(this, []);
|
|
32
|
+
this.WaterGroup = new waterGroup_1.WaterGroup(this, []);
|
|
33
|
+
this.HeatGroup = new heatGroup_1.HeatGroup(this, []);
|
|
34
|
+
this.skipNextRolloUp = false;
|
|
35
|
+
if (Einstellungen.etage !== undefined) {
|
|
36
|
+
const level = Einstellungen.etage;
|
|
37
|
+
if (RoomBase.floors[level] === undefined) {
|
|
38
|
+
RoomBase.floors[level] = [];
|
|
39
|
+
}
|
|
40
|
+
RoomBase.floors[level].push(this);
|
|
41
|
+
}
|
|
42
|
+
Einstellungen.room = this;
|
|
43
|
+
this.Settings = Einstellungen;
|
|
44
|
+
RoomBase.allRooms.push(this);
|
|
45
|
+
}
|
|
46
|
+
static registerRoomForDevices(roomSettings) {
|
|
47
|
+
if (roomSettings.hmIpSettings !== undefined) {
|
|
48
|
+
hmIpDevice_1.HmIPDevice.addRoom(roomSettings.shortName, roomSettings.hmIpSettings);
|
|
49
|
+
}
|
|
50
|
+
if (roomSettings.zigbeeSettings !== undefined) {
|
|
51
|
+
zigbeeDevice_1.ZigbeeDevice.addRoom(roomSettings.shortName, roomSettings.zigbeeSettings);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static addToRoomList(room) {
|
|
55
|
+
RoomBase.Rooms[room.roomName] = room;
|
|
56
|
+
}
|
|
57
|
+
static getAllRoomsOfFloor(floor) {
|
|
58
|
+
return this.floors[floor];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Set ALl Roolos of a specific floor
|
|
62
|
+
* !!floor -1 sets all rollos in house instead!!
|
|
63
|
+
* @param floor the level on which all rollos shall be changed -1 equals all rooms
|
|
64
|
+
* @param position (0 equals down, 100 up)
|
|
65
|
+
*/
|
|
66
|
+
static setAllRolloOfFloor(floor = -1, position = 0) {
|
|
67
|
+
const rooms = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.allRooms;
|
|
68
|
+
for (const room of rooms) {
|
|
69
|
+
room.FensterGroup.allRolloToLevel(position, true);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Set ALl Lamps of a specific floor
|
|
74
|
+
* !!floor -1 sets all lamps in house instead!!
|
|
75
|
+
* @param floor the level on which all lamps shall be changed -1 equals all rooms
|
|
76
|
+
* @param status
|
|
77
|
+
*/
|
|
78
|
+
static setAllLampsOfFloor(floor, status = false) {
|
|
79
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Schalte alle Lampen in Etage ${floor} auf den Wert ${status}`);
|
|
80
|
+
const rooms = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.allRooms;
|
|
81
|
+
for (const room of rooms) {
|
|
82
|
+
room.LampenGroup.setAllLampen(status, -1, true);
|
|
83
|
+
room.LampenGroup.setAllLED(status);
|
|
84
|
+
room.LampenGroup.setAllStecker(status, -1, true);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
static clearAllAlarms() {
|
|
88
|
+
for (const r of RoomBase.allRooms) {
|
|
89
|
+
if (r.WaterGroup) {
|
|
90
|
+
r.WaterGroup.stopAlarm();
|
|
91
|
+
}
|
|
92
|
+
if (r.SmokeGroup) {
|
|
93
|
+
r.SmokeGroup.stopAlarm();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
this.stopIntrusionAlarm();
|
|
97
|
+
this.restoreRolloPosition();
|
|
98
|
+
this.restoreLight();
|
|
99
|
+
}
|
|
100
|
+
static startAwayMode() {
|
|
101
|
+
sonos_service_1.SonosService.speakOnAll(`Alarmanlage wird scharfgeschaltet.`, 40);
|
|
102
|
+
if (this._awayModeTimer) {
|
|
103
|
+
clearTimeout(this._awayModeTimer);
|
|
104
|
+
}
|
|
105
|
+
this._awayModeTimer = utils_1.Utils.guardedTimeout(() => {
|
|
106
|
+
this.awayModeActive = true;
|
|
107
|
+
this._awayModeTimer = undefined;
|
|
108
|
+
telegram_service_1.TelegramService.inform(`Alarm ist nun scharf. Gute Reise!`);
|
|
109
|
+
}, 60000, this);
|
|
110
|
+
}
|
|
111
|
+
static startNightAlarmMode() {
|
|
112
|
+
sonos_service_1.SonosService.speakOnAll(`Alarmanlage wird für die Nacht scharfgeschaltet. Gute Nacht!`, 30);
|
|
113
|
+
if (this._nightModeTimer) {
|
|
114
|
+
clearTimeout(this._nightModeTimer);
|
|
115
|
+
}
|
|
116
|
+
this._nightModeTimer = utils_1.Utils.guardedTimeout(() => {
|
|
117
|
+
this.nightAlarmActive = true;
|
|
118
|
+
this._nightModeTimer = undefined;
|
|
119
|
+
telegram_service_1.TelegramService.inform(`Alarm ist nun scharf. Süße Träume!`);
|
|
120
|
+
}, 60000, this);
|
|
121
|
+
}
|
|
122
|
+
static startIntrusionAlarm(room, device) {
|
|
123
|
+
const message = `!Potenzieller Eindringling! Bewegung in ${room.roomName} von ${device.info.fullName} festgestellt`;
|
|
124
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, message);
|
|
125
|
+
if (!this.awayModeActive && !this.nightAlarmActive) {
|
|
126
|
+
this.stopIntrusionAlarm();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
utils_1.Utils.guardedNewThread(() => {
|
|
130
|
+
telegram_service_1.TelegramService.inform(message);
|
|
131
|
+
}, this);
|
|
132
|
+
if (this._intrusionAlarmActive) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this._intrusionAlarmActive = true;
|
|
136
|
+
this.performNextIntrusionLevel();
|
|
137
|
+
}
|
|
138
|
+
static endAlarmModes() {
|
|
139
|
+
if (this.awayModeActive) {
|
|
140
|
+
telegram_service_1.TelegramService.sendMessage(telegram_service_1.TelegramService.subscribedIDs, `Alarmanalage entschärft`);
|
|
141
|
+
sonos_service_1.SonosService.speakOnAll(`Willkommen Zuhause!`, 35);
|
|
142
|
+
}
|
|
143
|
+
if (this.nightAlarmActive) {
|
|
144
|
+
telegram_service_1.TelegramService.sendMessage(telegram_service_1.TelegramService.subscribedIDs, `Nachtmodus der Alarmanlage entschärft`);
|
|
145
|
+
sonos_service_1.SonosService.speakOnAll(`Guten Morgen!`, 30);
|
|
146
|
+
}
|
|
147
|
+
if (this._nightModeTimer) {
|
|
148
|
+
clearTimeout(this._nightModeTimer);
|
|
149
|
+
}
|
|
150
|
+
if (this._awayModeTimer) {
|
|
151
|
+
clearTimeout(this._awayModeTimer);
|
|
152
|
+
}
|
|
153
|
+
this.awayModeActive = false;
|
|
154
|
+
this.nightAlarmActive = false;
|
|
155
|
+
this.stopIntrusionAlarm();
|
|
156
|
+
}
|
|
157
|
+
static getLastMovements() {
|
|
158
|
+
return this.movementHistory.readAmount(15).join('\n');
|
|
159
|
+
}
|
|
160
|
+
initializeBase() {
|
|
161
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `RoomBase Init für ${this.roomName}`);
|
|
162
|
+
this.recalcTimeCallbacks();
|
|
163
|
+
this.PraesenzGroup.initCallbacks();
|
|
164
|
+
this.FensterGroup.initCallbacks();
|
|
165
|
+
this.TasterGroup.initCallbacks();
|
|
166
|
+
}
|
|
167
|
+
persist() {
|
|
168
|
+
persist_1.Persist.addRoom(this);
|
|
169
|
+
}
|
|
170
|
+
recalcTimeCallbacks() {
|
|
171
|
+
const now = new Date();
|
|
172
|
+
if (this.sonnenAufgangCallback && this.Einstellungen.rolloOffset) {
|
|
173
|
+
this.sonnenAufgangCallback.minuteOffset = this.Einstellungen.rolloOffset.sunrise;
|
|
174
|
+
this.sonnenAufgangCallback.sunTimeOffset = this.Einstellungen.rolloOffset;
|
|
175
|
+
this.sonnenAufgangCallback.recalcNextToDo(now);
|
|
176
|
+
}
|
|
177
|
+
if (this.sonnenUntergangCallback && this.Einstellungen.rolloOffset) {
|
|
178
|
+
this.sonnenUntergangCallback.minuteOffset = this.Einstellungen.rolloOffset.sunset;
|
|
179
|
+
this.sonnenUntergangCallback.sunTimeOffset = this.Einstellungen.rolloOffset;
|
|
180
|
+
this.sonnenUntergangCallback.recalcNextToDo(now);
|
|
181
|
+
}
|
|
182
|
+
if (this.sonnenAufgangLichtCallback && this.Einstellungen.lampOffset) {
|
|
183
|
+
this.sonnenAufgangLichtCallback.minuteOffset = this.Einstellungen.lampOffset.sunrise;
|
|
184
|
+
this.sonnenAufgangLichtCallback.recalcNextToDo(now);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Sets the light based on the current time, rollo Position and room Settings
|
|
189
|
+
* @param movementDependant Only turn light on if there was a movement in the same room
|
|
190
|
+
*/
|
|
191
|
+
setLightTimeBased(movementDependant = false) {
|
|
192
|
+
if (movementDependant && !this.PraesenzGroup.anyPresent()) {
|
|
193
|
+
this.LampenGroup.switchAll(false);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (!this.Einstellungen.lampOffset) {
|
|
197
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Beim Aufruf von "setLightTimeBased" im Raum ${this.roomName} liegt kein Lampen Offset vor`);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
let timeOfDay = time_callback_service_1.TimeCallbackService.dayType(this.Einstellungen.lampOffset);
|
|
201
|
+
if (timeOfDay === time_callback_service_1.TimeOfDay.Daylight &&
|
|
202
|
+
((this.Einstellungen.lightIfNoWindows && this.FensterGroup.fenster.length === 0) ||
|
|
203
|
+
this.FensterGroup.fenster.some((f) => {
|
|
204
|
+
var _a, _b;
|
|
205
|
+
const rolloDown = ((_a = f.rollo) === null || _a === void 0 ? void 0 : _a.currentLevel) === 0;
|
|
206
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Rollo ${(_b = f.rollo) === null || _b === void 0 ? void 0 : _b.info.customName} for light in ${this.roomName} is ${rolloDown ? '' : 'not '}down`);
|
|
207
|
+
return rolloDown;
|
|
208
|
+
}))) {
|
|
209
|
+
timeOfDay = time_callback_service_1.TimeOfDay.AfterSunset;
|
|
210
|
+
}
|
|
211
|
+
this.LampenGroup.switchTimeConditional(timeOfDay);
|
|
212
|
+
}
|
|
213
|
+
isNowLightTime() {
|
|
214
|
+
if (!this.Einstellungen.lampOffset) {
|
|
215
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Beim Aufruf von "setLightTimeBased" im Raum ${this.roomName} liegt kein Lampen Offset vor`);
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
let timeOfDay = time_callback_service_1.TimeCallbackService.dayType(this.Einstellungen.lampOffset);
|
|
219
|
+
if (timeOfDay === time_callback_service_1.TimeOfDay.Daylight &&
|
|
220
|
+
this.FensterGroup.fenster.some((f) => {
|
|
221
|
+
var _a;
|
|
222
|
+
return ((_a = f.rollo) === null || _a === void 0 ? void 0 : _a.currentLevel) === 0;
|
|
223
|
+
})) {
|
|
224
|
+
timeOfDay = time_callback_service_1.TimeOfDay.AfterSunset;
|
|
225
|
+
}
|
|
226
|
+
return time_callback_service_1.TimeCallbackService.darkOutsideOrNight(timeOfDay);
|
|
227
|
+
}
|
|
228
|
+
static stopIntrusionAlarm() {
|
|
229
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Stoppe Intrusion Alarm`);
|
|
230
|
+
if (this._intrusionAlarmTimeout) {
|
|
231
|
+
clearTimeout(this._intrusionAlarmTimeout);
|
|
232
|
+
}
|
|
233
|
+
if (!this._intrusionAlarmActive) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
this._intrusionAlarmActive = false;
|
|
237
|
+
this._intrusionAlarmLevel = 0;
|
|
238
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Alarm wurde beendet --> Fahre Rollos in Ausgangsposition.`);
|
|
239
|
+
this.restoreRolloPosition();
|
|
240
|
+
this.restoreLight();
|
|
241
|
+
}
|
|
242
|
+
static performNextIntrusionLevel() {
|
|
243
|
+
this._intrusionAlarmTimeout = undefined;
|
|
244
|
+
if (!this.awayModeActive && !this._intrusionAlarmActive) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
this._intrusionAlarmLevel += 1;
|
|
248
|
+
let speakMessage;
|
|
249
|
+
let volume = 50;
|
|
250
|
+
let newTimeout = 20000;
|
|
251
|
+
const alarmAutomaticEnd = 15;
|
|
252
|
+
if (this._intrusionAlarmLevel === 1) {
|
|
253
|
+
speakMessage = `Hallo potenzieller Eindringling! Das Alarmprotokoll ist initiiert bitte verlassen Sie umgehend das Gebäude!`;
|
|
254
|
+
volume = 40;
|
|
255
|
+
}
|
|
256
|
+
else if (this._intrusionAlarmLevel === 2) {
|
|
257
|
+
speakMessage = `Alle Rollos fahren hoch, bitte begeben Sie sich zum nächsten Ausgang`;
|
|
258
|
+
utils_1.Utils.guardedNewThread(() => {
|
|
259
|
+
this.setAllRolloOfFloor(-1, 100);
|
|
260
|
+
this.setAllLampsOfFloor(-1, true);
|
|
261
|
+
}, this);
|
|
262
|
+
}
|
|
263
|
+
else if (this._intrusionAlarmLevel === 3) {
|
|
264
|
+
volume = 70;
|
|
265
|
+
speakMessage = `Verlassen Sie sofort das Gebäude! Die Behörden sind informiert`;
|
|
266
|
+
}
|
|
267
|
+
else if (this._intrusionAlarmLevel <= 5) {
|
|
268
|
+
volume = 80;
|
|
269
|
+
speakMessage = `Weitere Abwehrmaßnahmen werden eingeleitet`;
|
|
270
|
+
}
|
|
271
|
+
else if (this._intrusionAlarmLevel >= alarmAutomaticEnd) {
|
|
272
|
+
this.stopIntrusionAlarm();
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
volume = 90;
|
|
277
|
+
speakMessage = `Alarm. Einbrecher erkannt.`;
|
|
278
|
+
newTimeout = 10000;
|
|
279
|
+
}
|
|
280
|
+
this._intrusionAlarmTimeout = utils_1.Utils.guardedTimeout(() => {
|
|
281
|
+
this.performNextIntrusionLevel();
|
|
282
|
+
}, newTimeout, this);
|
|
283
|
+
utils_1.Utils.guardedNewThread(() => {
|
|
284
|
+
sonos_service_1.SonosService.speakOnAll(speakMessage, volume);
|
|
285
|
+
telegram_service_1.TelegramService.inform(`Eindringling erhielt folgende Nachricht: "${speakMessage}"\nAlarmlevel ist ${this._intrusionAlarmLevel}\t Automatisches Ende bei ${alarmAutomaticEnd}`);
|
|
286
|
+
}, this);
|
|
287
|
+
}
|
|
288
|
+
static restoreRolloPosition() {
|
|
289
|
+
const rooms = this.allRooms;
|
|
290
|
+
for (const room of rooms) {
|
|
291
|
+
room.FensterGroup.restoreRolloPosition();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
static restoreLight() {
|
|
295
|
+
const rooms = this.allRooms;
|
|
296
|
+
for (const room of rooms) {
|
|
297
|
+
room.setLightTimeBased(true);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
exports.RoomBase = RoomBase;
|
|
302
|
+
RoomBase.Rooms = {};
|
|
303
|
+
RoomBase.allRooms = [];
|
|
304
|
+
RoomBase.floors = {};
|
|
305
|
+
RoomBase.awayModeActive = false;
|
|
306
|
+
RoomBase.nightAlarmActive = false;
|
|
307
|
+
RoomBase.movementHistory = new ringstorage_1.ringStorage(15);
|
|
308
|
+
RoomBase._intrusionAlarmActive = false;
|
|
309
|
+
RoomBase._intrusionAlarmLevel = 0;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { HmIpRoomSettings } from './hmIPRoomSettings';
|
|
2
|
+
import { ZigbeeRoomSettings } from './zigbeeRoomSettings';
|
|
3
|
+
import { iRoomDefaultSettings } from './iRoomDefaultSettings';
|
|
4
|
+
import { SunTimeOffsets } from '../../../server/services/time-callback-service';
|
|
5
|
+
import { RoomBase } from '../RoomBase';
|
|
6
|
+
import { iTimePair } from '../../../server/config/iConfig';
|
|
7
|
+
export declare class RoomSettings implements iRoomDefaultSettings {
|
|
8
|
+
shortName: string;
|
|
9
|
+
defaultSettings: iRoomDefaultSettings;
|
|
10
|
+
private _lampenBeiBewegung;
|
|
11
|
+
private _lichtSonnenAufgangAus;
|
|
12
|
+
private _sonnenUntergangRollos;
|
|
13
|
+
private _sonnenAufgangRollos;
|
|
14
|
+
private _movementResetTimer;
|
|
15
|
+
private _sonnenUntergangRolloDelay;
|
|
16
|
+
private _sonnenUntergangRolloMaxTime;
|
|
17
|
+
private _sonnenUntergangLampenDelay;
|
|
18
|
+
private _sonnenAufgangRolloDelay;
|
|
19
|
+
private _sonnenAufgangRolloMinTime;
|
|
20
|
+
private _sonnenAufgangLampenDelay;
|
|
21
|
+
private _lightIfNoWindows;
|
|
22
|
+
hmIpSettings?: HmIpRoomSettings;
|
|
23
|
+
zigbeeSettings?: ZigbeeRoomSettings;
|
|
24
|
+
radioUrl: string;
|
|
25
|
+
etage: number;
|
|
26
|
+
rolloOffset: SunTimeOffsets;
|
|
27
|
+
lampOffset: SunTimeOffsets;
|
|
28
|
+
room?: RoomBase;
|
|
29
|
+
rolloHeatReduction: boolean;
|
|
30
|
+
constructor(shortName: string);
|
|
31
|
+
private recalcRolloOffset;
|
|
32
|
+
private recalcLampOffset;
|
|
33
|
+
get sonnenAufgangLampenDelay(): number;
|
|
34
|
+
set sonnenAufgangLampenDelay(value: number);
|
|
35
|
+
get sonnenAufgangRolloDelay(): number;
|
|
36
|
+
set sonnenAufgangRolloDelay(value: number);
|
|
37
|
+
get sonnenUntergangLampenDelay(): number;
|
|
38
|
+
set sonnenUntergangLampenDelay(value: number);
|
|
39
|
+
get sonnenUntergangRolloDelay(): number;
|
|
40
|
+
set sonnenUntergangRolloDelay(value: number);
|
|
41
|
+
get movementResetTimer(): number;
|
|
42
|
+
set movementResetTimer(value: number);
|
|
43
|
+
get lichtSonnenAufgangAus(): boolean;
|
|
44
|
+
get sonnenAufgangRollos(): boolean;
|
|
45
|
+
set sonnenAufgangRollos(value: boolean);
|
|
46
|
+
get sonnenUntergangRollos(): boolean;
|
|
47
|
+
set sonnenUntergangRollos(value: boolean);
|
|
48
|
+
set lichtSonnenAufgangAus(value: boolean);
|
|
49
|
+
get lampenBeiBewegung(): boolean;
|
|
50
|
+
set lampenBeiBewegung(value: boolean);
|
|
51
|
+
get sonnenUntergangRolloMaxTime(): iTimePair;
|
|
52
|
+
set sonnenUntergangRolloMaxTime(value: iTimePair);
|
|
53
|
+
get sonnenAufgangRolloMinTime(): iTimePair;
|
|
54
|
+
set sonnenAufgangRolloMinTime(value: iTimePair);
|
|
55
|
+
get lightIfNoWindows(): boolean;
|
|
56
|
+
set lightIfNoWindows(value: boolean);
|
|
57
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoomSettings = void 0;
|
|
4
|
+
const settings_service_1 = require("../../../server/services/settings-service");
|
|
5
|
+
const time_callback_service_1 = require("../../../server/services/time-callback-service");
|
|
6
|
+
class RoomSettings {
|
|
7
|
+
constructor(shortName) {
|
|
8
|
+
this.shortName = shortName;
|
|
9
|
+
this.defaultSettings = settings_service_1.SettingsService.settings.roomDefault;
|
|
10
|
+
this._lampenBeiBewegung = this.defaultSettings.lampenBeiBewegung;
|
|
11
|
+
this._lichtSonnenAufgangAus = this.defaultSettings.lichtSonnenAufgangAus;
|
|
12
|
+
this._sonnenUntergangRollos = this.defaultSettings.sonnenUntergangRollos;
|
|
13
|
+
this._sonnenAufgangRollos = this.defaultSettings.sonnenAufgangRollos;
|
|
14
|
+
this._movementResetTimer = this.defaultSettings.movementResetTimer;
|
|
15
|
+
this._sonnenUntergangRolloDelay = this.defaultSettings.sonnenUntergangRolloDelay;
|
|
16
|
+
this._sonnenUntergangRolloMaxTime = this.defaultSettings.sonnenUntergangRolloMaxTime;
|
|
17
|
+
this._sonnenUntergangLampenDelay = this.defaultSettings.sonnenUntergangLampenDelay;
|
|
18
|
+
this._sonnenAufgangRolloDelay = this.defaultSettings.sonnenAufgangRolloDelay;
|
|
19
|
+
this._sonnenAufgangRolloMinTime = this.defaultSettings.sonnenAufgangRolloMinTime;
|
|
20
|
+
this._sonnenAufgangLampenDelay = this.defaultSettings.sonnenAufgangLampenDelay;
|
|
21
|
+
this._lightIfNoWindows = this.defaultSettings.lightIfNoWindows;
|
|
22
|
+
this.radioUrl = 'https://hermes.bcs-systems.de/hitradio-rtl_top40_64k_aac'; // Radio RTL
|
|
23
|
+
this.etage = -1;
|
|
24
|
+
this.rolloHeatReduction = this.defaultSettings.rolloHeatReduction;
|
|
25
|
+
this.rolloOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangRolloDelay, this.sonnenUntergangRolloDelay, this.sonnenAufgangRolloMinTime.hours, this.sonnenAufgangRolloMinTime.minutes, this.sonnenUntergangRolloMaxTime.hours, this.sonnenUntergangRolloMaxTime.minutes);
|
|
26
|
+
this.lampOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangLampenDelay, this.sonnenUntergangLampenDelay);
|
|
27
|
+
}
|
|
28
|
+
recalcRolloOffset() {
|
|
29
|
+
this.rolloOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangRolloDelay, this.sonnenUntergangRolloDelay, this.sonnenAufgangRolloMinTime.hours, this.sonnenAufgangRolloMinTime.minutes, this.sonnenUntergangRolloMaxTime.hours, this.sonnenUntergangRolloMaxTime.minutes);
|
|
30
|
+
if (this.room) {
|
|
31
|
+
this.room.recalcTimeCallbacks();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
recalcLampOffset() {
|
|
35
|
+
this.lampOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangLampenDelay, this.sonnenAufgangRolloDelay);
|
|
36
|
+
if (this.room) {
|
|
37
|
+
this.room.recalcTimeCallbacks();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
get sonnenAufgangLampenDelay() {
|
|
41
|
+
return this._sonnenAufgangLampenDelay;
|
|
42
|
+
}
|
|
43
|
+
set sonnenAufgangLampenDelay(value) {
|
|
44
|
+
this._sonnenAufgangLampenDelay = value;
|
|
45
|
+
this.recalcLampOffset();
|
|
46
|
+
}
|
|
47
|
+
get sonnenAufgangRolloDelay() {
|
|
48
|
+
return this._sonnenAufgangRolloDelay;
|
|
49
|
+
}
|
|
50
|
+
set sonnenAufgangRolloDelay(value) {
|
|
51
|
+
this._sonnenAufgangRolloDelay = value;
|
|
52
|
+
this.recalcRolloOffset();
|
|
53
|
+
}
|
|
54
|
+
get sonnenUntergangLampenDelay() {
|
|
55
|
+
return this._sonnenUntergangLampenDelay;
|
|
56
|
+
}
|
|
57
|
+
set sonnenUntergangLampenDelay(value) {
|
|
58
|
+
this._sonnenUntergangLampenDelay = value;
|
|
59
|
+
this.recalcLampOffset();
|
|
60
|
+
}
|
|
61
|
+
get sonnenUntergangRolloDelay() {
|
|
62
|
+
return this._sonnenUntergangRolloDelay;
|
|
63
|
+
}
|
|
64
|
+
set sonnenUntergangRolloDelay(value) {
|
|
65
|
+
this._sonnenUntergangRolloDelay = value;
|
|
66
|
+
}
|
|
67
|
+
get movementResetTimer() {
|
|
68
|
+
return this._movementResetTimer;
|
|
69
|
+
}
|
|
70
|
+
set movementResetTimer(value) {
|
|
71
|
+
this._movementResetTimer = value;
|
|
72
|
+
}
|
|
73
|
+
get lichtSonnenAufgangAus() {
|
|
74
|
+
return this._lichtSonnenAufgangAus;
|
|
75
|
+
}
|
|
76
|
+
get sonnenAufgangRollos() {
|
|
77
|
+
return this._sonnenAufgangRollos;
|
|
78
|
+
}
|
|
79
|
+
set sonnenAufgangRollos(value) {
|
|
80
|
+
this._sonnenAufgangRollos = value;
|
|
81
|
+
this.recalcRolloOffset();
|
|
82
|
+
}
|
|
83
|
+
get sonnenUntergangRollos() {
|
|
84
|
+
return this._sonnenUntergangRollos;
|
|
85
|
+
}
|
|
86
|
+
set sonnenUntergangRollos(value) {
|
|
87
|
+
this._sonnenUntergangRollos = value;
|
|
88
|
+
this.recalcRolloOffset();
|
|
89
|
+
}
|
|
90
|
+
set lichtSonnenAufgangAus(value) {
|
|
91
|
+
this._lichtSonnenAufgangAus = value;
|
|
92
|
+
}
|
|
93
|
+
get lampenBeiBewegung() {
|
|
94
|
+
return this._lampenBeiBewegung;
|
|
95
|
+
}
|
|
96
|
+
set lampenBeiBewegung(value) {
|
|
97
|
+
this._lampenBeiBewegung = value;
|
|
98
|
+
}
|
|
99
|
+
get sonnenUntergangRolloMaxTime() {
|
|
100
|
+
return this._sonnenUntergangRolloMaxTime;
|
|
101
|
+
}
|
|
102
|
+
set sonnenUntergangRolloMaxTime(value) {
|
|
103
|
+
this._sonnenUntergangRolloMaxTime = value;
|
|
104
|
+
this.recalcRolloOffset();
|
|
105
|
+
}
|
|
106
|
+
get sonnenAufgangRolloMinTime() {
|
|
107
|
+
return this._sonnenAufgangRolloMinTime;
|
|
108
|
+
}
|
|
109
|
+
set sonnenAufgangRolloMinTime(value) {
|
|
110
|
+
this._sonnenAufgangRolloMinTime = value;
|
|
111
|
+
this.recalcRolloOffset();
|
|
112
|
+
}
|
|
113
|
+
get lightIfNoWindows() {
|
|
114
|
+
return this._lightIfNoWindows;
|
|
115
|
+
}
|
|
116
|
+
set lightIfNoWindows(value) {
|
|
117
|
+
this._lightIfNoWindows = value;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.RoomSettings = RoomSettings;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HmIpDeviceType } from '../../../server/devices/hmIPDevices/hmIpDeviceType';
|
|
2
|
+
export declare class HmIpAddDeviceItem {
|
|
3
|
+
setID: (value: string) => void;
|
|
4
|
+
index: number;
|
|
5
|
+
customName: string;
|
|
6
|
+
private _added;
|
|
7
|
+
get added(): boolean;
|
|
8
|
+
set added(value: boolean);
|
|
9
|
+
constructor(setID: (value: string) => void, index: number, customName: string);
|
|
10
|
+
}
|
|
11
|
+
export declare class HmIpRoomSettings {
|
|
12
|
+
RoomName: string;
|
|
13
|
+
devices: Array<Array<HmIpAddDeviceItem>>;
|
|
14
|
+
constructor(RoomName: string);
|
|
15
|
+
addDevice(deviceType: HmIpDeviceType, setID: (value: string) => void, index: number, customName?: string | undefined): void;
|
|
16
|
+
checkMissing(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HmIpRoomSettings = exports.HmIpAddDeviceItem = void 0;
|
|
4
|
+
const hmIpDeviceType_1 = require("../../../server/devices/hmIPDevices/hmIpDeviceType");
|
|
5
|
+
const log_service_1 = require("../../../server/services/log-service");
|
|
6
|
+
const logLevel_1 = require("../../logLevel");
|
|
7
|
+
class HmIpAddDeviceItem {
|
|
8
|
+
constructor(setID, index, customName) {
|
|
9
|
+
this.setID = setID;
|
|
10
|
+
this.index = index;
|
|
11
|
+
this.customName = customName;
|
|
12
|
+
this._added = false;
|
|
13
|
+
}
|
|
14
|
+
get added() {
|
|
15
|
+
return this._added;
|
|
16
|
+
}
|
|
17
|
+
set added(value) {
|
|
18
|
+
if (this._added) {
|
|
19
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${this.customName} Added twice`);
|
|
20
|
+
}
|
|
21
|
+
this._added = value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.HmIpAddDeviceItem = HmIpAddDeviceItem;
|
|
25
|
+
class HmIpRoomSettings {
|
|
26
|
+
constructor(RoomName) {
|
|
27
|
+
this.RoomName = RoomName;
|
|
28
|
+
this.devices = [];
|
|
29
|
+
}
|
|
30
|
+
addDevice(deviceType, setID, index, customName = undefined) {
|
|
31
|
+
if (this.devices[deviceType] === undefined) {
|
|
32
|
+
this.devices[deviceType] = [];
|
|
33
|
+
}
|
|
34
|
+
if (customName === undefined) {
|
|
35
|
+
customName = `${this.RoomName} ${hmIpDeviceType_1.HmIpDeviceType[deviceType]}`;
|
|
36
|
+
}
|
|
37
|
+
this.devices[deviceType][index] = new HmIpAddDeviceItem(setID, index, customName);
|
|
38
|
+
}
|
|
39
|
+
checkMissing() {
|
|
40
|
+
for (const type in this.devices) {
|
|
41
|
+
const devs = this.devices[type];
|
|
42
|
+
for (const index in devs) {
|
|
43
|
+
const dev = devs[index];
|
|
44
|
+
if (!dev.added) {
|
|
45
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.HmIpRoomSettings = HmIpRoomSettings;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { iTimePair } from '../../../server/config/iConfig';
|
|
2
|
+
export interface iRoomDefaultSettings {
|
|
3
|
+
rolloHeatReduction: boolean;
|
|
4
|
+
lampenBeiBewegung: boolean;
|
|
5
|
+
lichtSonnenAufgangAus: boolean;
|
|
6
|
+
sonnenUntergangRollos: boolean;
|
|
7
|
+
sonnenUntergangRolloDelay: number;
|
|
8
|
+
sonnenUntergangRolloMaxTime: iTimePair;
|
|
9
|
+
sonnenUntergangLampenDelay: number;
|
|
10
|
+
sonnenAufgangRollos: boolean;
|
|
11
|
+
sonnenAufgangRolloDelay: number;
|
|
12
|
+
sonnenAufgangRolloMinTime: iTimePair;
|
|
13
|
+
sonnenAufgangLampenDelay: number;
|
|
14
|
+
movementResetTimer: number;
|
|
15
|
+
lightIfNoWindows: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./RoomSettings"), exports);
|
|
14
|
+
__exportStar(require("./hmIPRoomSettings"), exports);
|
|
15
|
+
__exportStar(require("./zigbeeRoomSettings"), exports);
|
|
16
|
+
__exportStar(require("./iRoomDefaultSettings"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ZigbeeDeviceType } from '../../../server/devices/zigbee/zigbeeDeviceType';
|
|
2
|
+
export declare class ZigbeeAddDeviceItem {
|
|
3
|
+
setID: (value: string) => void;
|
|
4
|
+
index: number;
|
|
5
|
+
customName: string;
|
|
6
|
+
private _added;
|
|
7
|
+
get added(): boolean;
|
|
8
|
+
set added(value: boolean);
|
|
9
|
+
constructor(setID: (value: string) => void, index: number, customName: string);
|
|
10
|
+
}
|
|
11
|
+
export declare class ZigbeeRoomSettings {
|
|
12
|
+
RoomName: string;
|
|
13
|
+
devices: Array<Array<ZigbeeAddDeviceItem>>;
|
|
14
|
+
constructor(RoomName: string);
|
|
15
|
+
addDevice(deviceType: ZigbeeDeviceType, setID: (value: string) => void, index: number, customName?: string | undefined): void;
|
|
16
|
+
checkMissing(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZigbeeRoomSettings = exports.ZigbeeAddDeviceItem = void 0;
|
|
4
|
+
const zigbeeDeviceType_1 = require("../../../server/devices/zigbee/zigbeeDeviceType");
|
|
5
|
+
const log_service_1 = require("../../../server/services/log-service");
|
|
6
|
+
const logLevel_1 = require("../../logLevel");
|
|
7
|
+
class ZigbeeAddDeviceItem {
|
|
8
|
+
constructor(setID, index, customName) {
|
|
9
|
+
this.setID = setID;
|
|
10
|
+
this.index = index;
|
|
11
|
+
this.customName = customName;
|
|
12
|
+
this._added = false;
|
|
13
|
+
}
|
|
14
|
+
get added() {
|
|
15
|
+
return this._added;
|
|
16
|
+
}
|
|
17
|
+
set added(value) {
|
|
18
|
+
if (this._added) {
|
|
19
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${this.customName} Added twice`);
|
|
20
|
+
}
|
|
21
|
+
this._added = value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ZigbeeAddDeviceItem = ZigbeeAddDeviceItem;
|
|
25
|
+
class ZigbeeRoomSettings {
|
|
26
|
+
constructor(RoomName) {
|
|
27
|
+
this.RoomName = RoomName;
|
|
28
|
+
this.devices = [];
|
|
29
|
+
}
|
|
30
|
+
addDevice(deviceType, setID, index, customName = undefined) {
|
|
31
|
+
if (this.devices[deviceType] === undefined) {
|
|
32
|
+
this.devices[deviceType] = [];
|
|
33
|
+
}
|
|
34
|
+
if (customName === undefined) {
|
|
35
|
+
customName = `${this.RoomName} ${zigbeeDeviceType_1.ZigbeeDeviceType[deviceType]}`;
|
|
36
|
+
}
|
|
37
|
+
this.devices[deviceType][index] = new ZigbeeAddDeviceItem(setID, index, customName);
|
|
38
|
+
}
|
|
39
|
+
checkMissing() {
|
|
40
|
+
for (const type in this.devices) {
|
|
41
|
+
const devs = this.devices[type];
|
|
42
|
+
for (const index in devs) {
|
|
43
|
+
const dev = devs[index];
|
|
44
|
+
if (!dev.added) {
|
|
45
|
+
log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.ZigbeeRoomSettings = ZigbeeRoomSettings;
|