hoffmation-base 3.0.0-alpha.7 → 3.0.0-alpha.71
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 +5 -1
- package/lib/index.js +28 -25
- package/lib/liquid-pid.d.ts +2 -5
- package/lib/liquid-pid.js +3 -5
- package/lib/models/action/baseAction.d.ts +4 -0
- package/lib/models/action/baseAction.js +10 -0
- package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
- package/lib/models/action/batteryLevelChangeAction.js +14 -0
- package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
- package/lib/models/action/humiditySensorChangeAction.js +15 -0
- package/lib/models/action/index.d.ts +9 -0
- package/lib/models/action/index.js +29 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -0
- package/lib/models/action/presenceGroupAnyMovementAction.d.ts +7 -0
- package/lib/models/action/presenceGroupAnyMovementAction.js +13 -0
- package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
- package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
- package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
- package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
- package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
- package/lib/models/action/shutterPositionChangedAction.js +15 -0
- package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
- package/lib/models/action/temperatureSensorChangeAction.js +15 -0
- package/lib/models/blockAutomaticSettings.d.ts +23 -0
- package/lib/models/blockAutomaticSettings.js +19 -0
- package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
- package/lib/models/command/ShutterSetLevelCommand.js +9 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +11 -2
- package/lib/models/command/WindowSetDesiredPositionCommand.js +11 -2
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
- package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
- package/lib/models/command/actuatorSetStateCommand.js +15 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
- package/lib/models/command/actuatorToggleCommand.js +7 -4
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
- package/lib/models/command/baseCommand.d.ts +23 -2
- package/lib/models/command/baseCommand.js +41 -1
- package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
- package/lib/models/command/blockAutomaticCommand.js +40 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
- package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
- package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
- package/lib/models/command/commandSource.d.ts +19 -0
- package/lib/models/command/commandSource.js +20 -0
- package/lib/models/command/commandType.d.ts +11 -0
- package/lib/models/command/commandType.js +11 -0
- package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
- package/lib/models/command/dimmerSetLightCommand.js +20 -14
- package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
- package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
- package/lib/models/command/index.d.ts +3 -0
- package/lib/models/command/index.js +7 -1
- package/lib/models/command/lampSetLightCommand.d.ts +13 -2
- package/lib/models/command/lampSetLightCommand.js +15 -4
- package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
- package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
- package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
- package/lib/models/command/lampToggleLightCommand.js +7 -6
- package/lib/models/command/ledSetLightCommand.d.ts +21 -11
- package/lib/models/command/ledSetLightCommand.js +27 -17
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
- package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
- package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
- package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
- package/lib/models/command/roomRestoreLightCommand.js +7 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
- package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
- package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
- package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
- package/lib/models/command/shutterSunriseUpCommand.js +7 -1
- package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
- package/lib/models/command/shutterSunsetDownCommand.js +7 -1
- package/lib/models/command/wledSetLightCommand.d.ts +16 -2
- package/lib/models/command/wledSetLightCommand.js +23 -7
- package/lib/models/connectionCallbacks.d.ts +4 -4
- package/lib/models/connectionCallbacks.js +1 -0
- package/lib/models/deviceConfig.d.ts +3 -3
- package/lib/models/deviceSettings/acSettings.d.ts +23 -5
- package/lib/models/deviceSettings/acSettings.js +28 -8
- package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
- package/lib/models/deviceSettings/actuatorSettings.js +19 -9
- package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
- package/lib/models/deviceSettings/cameraSettings.js +12 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +23 -0
- package/lib/models/deviceSettings/dachsSettings.js +29 -1
- package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
- package/lib/models/deviceSettings/deviceSettings.js +16 -0
- package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
- package/lib/models/deviceSettings/dimmerSettings.js +20 -0
- package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
- package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
- package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
- package/lib/models/deviceSettings/heaterSettings.js +21 -9
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +76 -18
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
- package/lib/models/deviceSettings/shutterSettings.js +11 -3
- package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
- package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
- package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
- package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
- package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
- package/lib/models/deviceSettings/wledSettings.js +37 -13
- package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
- package/lib/models/groupSettings/heatGroupSettings.js +12 -1
- package/lib/models/iIdHolder.d.ts +18 -0
- package/lib/models/index.d.ts +2 -1
- package/lib/models/index.js +4 -1
- package/lib/models/objectSettings.d.ts +5 -2
- package/lib/models/objectSettings.js +2 -2
- package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
- package/lib/models/persistence/EnergyCalculation.js +30 -4
- package/lib/models/persistence/index.d.ts +0 -2
- package/lib/models/persistence/index.js +0 -2
- package/lib/models/rooms/RoomBase.d.ts +12 -1
- package/lib/models/rooms/RoomBase.js +16 -7
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
- package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
- package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
- package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
- package/lib/models/rooms/iRoomBase.d.ts +39 -0
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +16 -6
- package/lib/server/config/heatingMode.d.ts +2 -1
- package/lib/server/config/heatingMode.js +2 -1
- package/lib/server/config/iAsusConfig.d.ts +15 -0
- package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
- package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
- package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
- package/lib/server/config/iConfig.d.ts +94 -6
- package/lib/server/config/iDachsSettings.d.ts +16 -0
- package/lib/server/config/iDaikinSettings.d.ts +17 -0
- package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
- package/lib/server/config/iEspresenseSettings.d.ts +10 -0
- package/lib/server/config/iGoveeSettings.d.ts +9 -0
- package/lib/server/config/iGoveeSettings.js +2 -0
- package/lib/server/config/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +40 -1
- package/lib/server/config/iMp3Settings.d.ts +10 -0
- package/lib/server/config/iMuellSettings.d.ts +7 -0
- package/lib/server/config/iNewsSettings.d.ts +13 -0
- package/lib/server/config/iPersistenceSettings.d.ts +10 -0
- package/lib/server/config/iPollySettings.d.ts +22 -0
- package/lib/server/config/iRestSettings.d.ts +10 -0
- package/lib/server/config/iSonosSettings.d.ts +14 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +2 -0
- package/lib/server/devices/DeviceCapability.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.js +1 -0
- package/lib/server/devices/DeviceInfo.d.ts +9 -0
- package/lib/server/devices/DeviceInfo.js +6 -0
- package/lib/server/devices/Griffe.js +1 -2
- package/lib/server/devices/Heizgruppen.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
- package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
- package/lib/server/devices/IoBrokerDeviceInfo.d.ts +8 -6
- package/lib/server/devices/IoBrokerDeviceInfo.js +50 -46
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
- package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
- package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
- package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
- package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
- package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
- package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
- package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
- package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
- package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
- package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
- package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
- package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
- package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
- package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
- package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
- package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
- package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
- package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
- package/lib/server/devices/blueIris/cameraDevice.js +75 -75
- package/lib/server/devices/button/button.d.ts +0 -1
- package/lib/server/devices/button/button.js +0 -4
- package/lib/server/devices/button/buttonCallback.d.ts +5 -0
- package/lib/server/devices/button/buttonCallback.js +10 -0
- package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
- package/lib/server/devices/button/buttonCapabilities.js +12 -0
- package/lib/server/devices/button/index.d.ts +1 -0
- package/lib/server/devices/button/index.js +3 -0
- package/lib/server/devices/dachs/dachs.d.ts +46 -11
- package/lib/server/devices/dachs/dachs.js +113 -23
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +5 -4
- package/lib/server/devices/deviceType.d.ts +4 -0
- package/lib/server/devices/deviceType.js +4 -0
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +18 -4
- package/lib/server/devices/devices.d.ts +48 -7
- package/lib/server/devices/devices.js +62 -12
- package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
- package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
- package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
- package/lib/server/devices/espresense/espresenseDevice.js +28 -4
- package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
- package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
- package/lib/server/devices/espresense/trilateration.d.ts +7 -0
- package/lib/server/devices/espresense/trilateration.js +7 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
- package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
- package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
- package/lib/server/devices/groups/Window.d.ts +14 -3
- package/lib/server/devices/groups/Window.js +28 -11
- package/lib/server/devices/groups/base-group.d.ts +4 -0
- package/lib/server/devices/groups/base-group.js +3 -0
- package/lib/server/devices/groups/heatGroup.d.ts +8 -6
- package/lib/server/devices/groups/heatGroup.js +11 -11
- package/lib/server/devices/groups/lightGroup.d.ts +10 -2
- package/lib/server/devices/groups/lightGroup.js +18 -37
- package/lib/server/devices/groups/presenceGroup.d.ts +14 -4
- package/lib/server/devices/groups/presenceGroup.js +66 -63
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +16 -1
- package/lib/server/devices/groups/windowGroup.js +22 -7
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
- package/lib/server/devices/index.d.ts +7 -2
- package/lib/server/devices/index.js +10 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
- package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
- package/lib/server/devices/nameAmountValuePair.js +10 -0
- package/lib/server/devices/scene/room-scene.d.ts +23 -6
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
- package/lib/server/devices/shelly/index.d.ts +1 -0
- package/lib/server/devices/shelly/index.js +3 -1
- package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
- package/lib/server/devices/shelly/shellyActuator.js +84 -0
- package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
- package/lib/server/devices/shelly/shellyDevice.js +2 -1
- package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
- package/lib/server/devices/shelly/shellyTrv.js +66 -45
- package/lib/server/devices/smartGarden/index.d.ts +6 -0
- package/lib/server/devices/smartGarden/index.js +22 -0
- package/lib/server/devices/smartGarden/smartGardenDevice.d.ts +33 -0
- package/lib/server/devices/smartGarden/smartGardenDevice.js +98 -0
- package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.d.ts +9 -0
- package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.js +13 -0
- package/lib/server/devices/smartGarden/smartGardenMower.d.ts +35 -0
- package/lib/server/devices/smartGarden/smartGardenMower.js +107 -0
- package/lib/server/devices/smartGarden/smartGardenSensor.d.ts +43 -0
- package/lib/server/devices/smartGarden/smartGardenSensor.js +119 -0
- package/lib/server/devices/smartGarden/smartGardenService.d.ts +7 -0
- package/lib/server/devices/smartGarden/smartGardenService.js +52 -0
- package/lib/server/devices/smartGarden/smartGardenValve.d.ts +36 -0
- package/lib/server/devices/smartGarden/smartGardenValve.js +105 -0
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -3
- package/lib/server/devices/wledDevice.js +42 -16
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +8 -17
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
- package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
- package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
- package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
- package/lib/server/ioBroker/connection.d.ts +21 -20
- package/lib/server/ioBroker/connection.js +37 -28
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
- package/lib/server/ioBroker/ioBroker.main.js +12 -5
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
- package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
- package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
- package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
- package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
- package/lib/server/services/ShutterService.js +6 -6
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
- package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
- package/lib/server/services/Sonos/mp3-server.js +3 -1
- package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
- package/lib/server/services/Sonos/own-sonos-device.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +7 -1
- package/lib/server/services/Sonos/polly-service.js +10 -8
- package/lib/server/services/Sonos/sonos-service.d.ts +1 -5
- package/lib/server/services/Sonos/sonos-service.js +18 -17
- package/lib/server/services/Telegram/telegram-Commands.js +5 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
- package/lib/server/services/Telegram/telegram-service.js +8 -3
- package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
- package/lib/server/services/Translation/IRessourceObject.js +2 -0
- package/lib/server/services/Translation/iRessources.d.ts +1 -4
- package/lib/server/services/Translation/index.d.ts +1 -0
- package/lib/server/services/Translation/res.d.ts +34 -19
- package/lib/server/services/Translation/res.js +34 -19
- package/lib/server/services/ac/ac-device.d.ts +49 -7
- package/lib/server/services/ac/ac-device.js +99 -37
- package/lib/server/services/ac/daikin-service.js +4 -3
- package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
- package/lib/server/services/ac/own-ac-devices.js +3 -0
- package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
- package/lib/server/services/ac/own-daikin-device.js +40 -7
- package/lib/server/services/api/api-service.d.ts +118 -53
- package/lib/server/services/api/api-service.js +170 -80
- package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
- package/lib/server/services/blockAutomaticHandler.js +34 -15
- package/lib/server/services/calendar/index.d.ts +1 -0
- package/lib/server/services/calendar/index.js +3 -0
- package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
- package/lib/server/services/calendar/muell-tonne.js +10 -0
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
- package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
- package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
- package/lib/server/services/calendar/name-date-pair.js +10 -0
- package/lib/server/services/dbo/iPersist.d.ts +103 -0
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
- package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
- package/lib/server/services/file-info.d.ts +5 -0
- package/lib/server/services/file-info.js +10 -0
- package/lib/server/services/govee/govee-device-data.d.ts +25 -0
- package/lib/server/services/govee/govee-device-data.js +2 -0
- package/lib/server/services/govee/govee-service.d.ts +7 -9
- package/lib/server/services/govee/govee-service.js +73 -48
- package/lib/server/services/govee/own-govee-device.d.ts +19 -17
- package/lib/server/services/govee/own-govee-device.js +56 -53
- package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
- package/lib/server/services/govee/own-govee-devices.js +3 -0
- package/lib/server/services/https-service.d.ts +3 -2
- package/lib/server/services/https-service.js +4 -3
- package/lib/server/services/index.d.ts +1 -0
- package/lib/server/services/index.js +3 -0
- package/lib/server/services/log-service/index.d.ts +1 -0
- package/lib/server/services/log-service/index.js +3 -0
- package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
- package/lib/server/services/log-service/log-debug-type.js +17 -0
- package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
- package/lib/server/services/log-service/log-filter-data.js +6 -15
- package/lib/server/services/log-service/log-service.d.ts +17 -4
- package/lib/server/services/log-service/log-service.js +30 -17
- package/lib/server/services/news-service.d.ts +9 -7
- package/lib/server/services/news-service.js +14 -15
- package/lib/server/services/room-service/room-service.d.ts +20 -4
- package/lib/server/services/room-service/room-service.js +26 -10
- package/lib/server/services/settings-service.d.ts +6 -2
- package/lib/server/services/settings-service.js +3 -2
- package/lib/server/services/time-callback-service.js +1 -1
- package/lib/server/services/utils/RGB.d.ts +6 -0
- package/lib/server/services/utils/RGB.js +11 -0
- package/lib/server/services/utils/catchEmResult.d.ts +5 -0
- package/lib/server/services/utils/catchEmResult.js +10 -0
- package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
- package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
- package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
- package/lib/server/services/utils/energy-manager-utils.js +2 -2
- package/lib/server/services/utils/iDisposeable.d.ts +6 -0
- package/lib/server/services/utils/index.d.ts +4 -1
- package/lib/server/services/utils/index.js +8 -1
- package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
- package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
- package/lib/server/services/utils/utils.d.ts +9 -13
- package/lib/server/services/victron/victron-device.d.ts +27 -10
- package/lib/server/services/victron/victron-device.js +94 -25
- package/lib/server/services/weather/index.d.ts +2 -0
- package/lib/server/services/weather/index.js +3 -0
- package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
- package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
- package/lib/server/services/weather/weather-current.d.ts +0 -2
- package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
- package/lib/server/services/weather/weather-response.d.ts +16 -0
- package/lib/server/services/weather/weather-response.js +2 -0
- package/lib/server/services/weather/weather-service.d.ts +16 -18
- package/lib/server/services/weather/weather-service.js +37 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -8
- package/lib/models/iTemperaturDataPoint.d.ts +0 -9
- package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
- package/lib/models/persistence/RoomDetailInfo.js +0 -11
- package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
- package/lib/models/persistence/temperaturDataPoint.js +0 -14
- /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
|
@@ -9,13 +9,29 @@ const group_type_1 = require("./group-type");
|
|
|
9
9
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
10
10
|
const device_list_1 = require("../device-list");
|
|
11
11
|
class Window extends base_group_1.BaseGroup {
|
|
12
|
+
/**
|
|
13
|
+
* The desired shutter level for the window
|
|
14
|
+
* @returns {number} The level (0 closed, 100 open)
|
|
15
|
+
*/
|
|
16
|
+
get desiredPosition() {
|
|
17
|
+
return this._desiredPosition;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Checks if any shutter is down (0%)
|
|
21
|
+
* @returns {boolean} true if any shutter is down
|
|
22
|
+
*/
|
|
23
|
+
get anyShutterDown() {
|
|
24
|
+
return this.getShutter().some((s) => {
|
|
25
|
+
return s.currentLevel === 0;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
12
28
|
constructor(roomName, handleIds = [], vibrationIds = [], shutterIds = [], magnetIds = []) {
|
|
13
29
|
super(roomName, group_type_1.GroupType.Window);
|
|
14
30
|
this.handleIds = handleIds;
|
|
15
31
|
this.vibrationIds = vibrationIds;
|
|
16
32
|
this.shutterIds = shutterIds;
|
|
17
33
|
this.magnetIds = magnetIds;
|
|
18
|
-
this.
|
|
34
|
+
this._desiredPosition = 0;
|
|
19
35
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Handle, new device_list_1.DeviceList(handleIds));
|
|
20
36
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Vibration, new device_list_1.DeviceList(vibrationIds));
|
|
21
37
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Shutter, new device_list_1.DeviceList(shutterIds));
|
|
@@ -23,9 +39,10 @@ class Window extends base_group_1.BaseGroup {
|
|
|
23
39
|
}
|
|
24
40
|
/**
|
|
25
41
|
* sets the desired Pos and moves rollo to this level
|
|
42
|
+
* @param c - The command to execute
|
|
26
43
|
*/
|
|
27
44
|
setDesiredPosition(c) {
|
|
28
|
-
this.
|
|
45
|
+
this._desiredPosition = c.position;
|
|
29
46
|
this.restoreDesiredPosition(new models_2.WindowRestoreDesiredPositionCommand(c));
|
|
30
47
|
}
|
|
31
48
|
getHandle() {
|
|
@@ -56,7 +73,7 @@ class Window extends base_group_1.BaseGroup {
|
|
|
56
73
|
return;
|
|
57
74
|
}
|
|
58
75
|
this.getVibration().forEach((element) => {
|
|
59
|
-
element.
|
|
76
|
+
element.vibrationBlockedByHandle = true;
|
|
60
77
|
});
|
|
61
78
|
const timeOfDay = services_1.TimeCallbackService.dayType(this.getRoom().settings.rolloOffset);
|
|
62
79
|
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, services_1.TimeCallbackService.darkOutsideOrNight(timeOfDay) ? 50 : 100, 'Window ajar by handle'));
|
|
@@ -64,7 +81,7 @@ class Window extends base_group_1.BaseGroup {
|
|
|
64
81
|
griff.addOffenCallback((offen) => {
|
|
65
82
|
if (offen) {
|
|
66
83
|
this.getVibration().forEach((element) => {
|
|
67
|
-
element.
|
|
84
|
+
element.vibrationBlockedByHandle = true;
|
|
68
85
|
});
|
|
69
86
|
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, 100, 'Window opened by handle'));
|
|
70
87
|
return;
|
|
@@ -78,8 +95,8 @@ class Window extends base_group_1.BaseGroup {
|
|
|
78
95
|
this.getVibration().forEach((element) => {
|
|
79
96
|
this.log(models_2.LogLevel.Debug, `Starte Timeout für Vibrationsdeaktivierung für ${element.info.customName}`);
|
|
80
97
|
services_1.Utils.guardedTimeout(() => {
|
|
81
|
-
if (element.
|
|
82
|
-
element.
|
|
98
|
+
if (element.vibrationBlockedByHandleTimeStamp < now) {
|
|
99
|
+
element.vibrationBlockedByHandle = false;
|
|
83
100
|
}
|
|
84
101
|
}, 12000);
|
|
85
102
|
});
|
|
@@ -96,14 +113,14 @@ class Window extends base_group_1.BaseGroup {
|
|
|
96
113
|
});
|
|
97
114
|
}, 5, this);
|
|
98
115
|
}
|
|
99
|
-
rolloPositionChange(
|
|
100
|
-
this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName}
|
|
101
|
-
if (
|
|
102
|
-
this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(
|
|
116
|
+
rolloPositionChange(action) {
|
|
117
|
+
this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName}: ${action.reasonTrace}`, action.newPosition == this._desiredPosition ? services_1.LogDebugType.None : services_1.LogDebugType.ShutterPositionChange);
|
|
118
|
+
if (action.newPosition === 0 || action.newPosition === 100) {
|
|
119
|
+
this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(action, true));
|
|
103
120
|
}
|
|
104
121
|
}
|
|
105
122
|
restoreDesiredPosition(c) {
|
|
106
|
-
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this.
|
|
123
|
+
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this._desiredPosition));
|
|
107
124
|
}
|
|
108
125
|
}
|
|
109
126
|
exports.Window = Window;
|
|
@@ -7,8 +7,12 @@ import { GroupSettings } from '../../../models/groupSettings/groupSettings';
|
|
|
7
7
|
export declare class BaseGroup implements iIdHolder {
|
|
8
8
|
roomName: string;
|
|
9
9
|
type: GroupType;
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the group
|
|
12
|
+
*/
|
|
10
13
|
settings: GroupSettings | undefined;
|
|
11
14
|
get customName(): string;
|
|
15
|
+
/** @inheritDoc */
|
|
12
16
|
id: string;
|
|
13
17
|
constructor(roomName: string, type: GroupType);
|
|
14
18
|
protected _deviceCluster: DeviceCluster;
|
|
@@ -11,6 +11,9 @@ class BaseGroup {
|
|
|
11
11
|
constructor(roomName, type) {
|
|
12
12
|
this.roomName = roomName;
|
|
13
13
|
this.type = type;
|
|
14
|
+
/**
|
|
15
|
+
* The settings of the group
|
|
16
|
+
*/
|
|
14
17
|
this.settings = undefined;
|
|
15
18
|
this._deviceCluster = new device_cluster_1.DeviceCluster();
|
|
16
19
|
this.id = `${this.roomName}-${group_type_1.GroupType[this.type]}`;
|
|
@@ -4,16 +4,17 @@ import { AcDevice } from '../../services';
|
|
|
4
4
|
import { HeatGroupSettings } from '../../../models/groupSettings/heatGroupSettings';
|
|
5
5
|
import { TemperatureSettings } from '../../../models';
|
|
6
6
|
export declare class HeatGroup extends BaseGroup {
|
|
7
|
+
/** @inheritDoc */
|
|
7
8
|
settings: HeatGroupSettings;
|
|
8
9
|
constructor(roomName: string, heaterIds: string[], tempSensorIds: string[], humiditySensorIds: string[], acIds: string[]);
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @returns
|
|
11
|
+
* Calculates the combined humidity Level in this room
|
|
12
|
+
* @returns The humidity in percent
|
|
12
13
|
*/
|
|
13
14
|
get humidity(): number;
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
-
* @returns
|
|
16
|
+
* Calculates the temperature based on all available sensors.
|
|
17
|
+
* @returns The temperature in °C
|
|
17
18
|
*/
|
|
18
19
|
get temperature(): number;
|
|
19
20
|
get desiredTemp(): number;
|
|
@@ -25,8 +26,9 @@ export declare class HeatGroup extends BaseGroup {
|
|
|
25
26
|
initialize(): void;
|
|
26
27
|
/**
|
|
27
28
|
* Sets all ACs to new desired Value
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
29
|
+
* TODO: Migrate to new Command System
|
|
30
|
+
* @param newDesiredState - The new desired (on/off) state
|
|
31
|
+
* @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
|
|
30
32
|
*/
|
|
31
33
|
setAc(newDesiredState: boolean, force?: boolean): void;
|
|
32
34
|
deleteAutomaticPoint(name: string): void;
|
|
@@ -12,6 +12,7 @@ const models_1 = require("../../../models");
|
|
|
12
12
|
class HeatGroup extends base_group_1.BaseGroup {
|
|
13
13
|
constructor(roomName, heaterIds, tempSensorIds, humiditySensorIds, acIds) {
|
|
14
14
|
super(roomName, group_type_1.GroupType.Heating);
|
|
15
|
+
/** @inheritDoc */
|
|
15
16
|
this.settings = new heatGroupSettings_1.HeatGroupSettings();
|
|
16
17
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Heater, new device_list_1.DeviceList(heaterIds));
|
|
17
18
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.TemperaturSensor, new device_list_1.DeviceList(tempSensorIds));
|
|
@@ -19,8 +20,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
19
20
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Ac, new device_list_1.DeviceList(acIds));
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
* @returns
|
|
23
|
+
* Calculates the combined humidity Level in this room
|
|
24
|
+
* @returns The humidity in percent
|
|
24
25
|
*/
|
|
25
26
|
get humidity() {
|
|
26
27
|
let humidity = baseDeviceInterfaces_1.UNDEFINED_HUMIDITY_VALUE;
|
|
@@ -40,8 +41,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
40
41
|
return humidity;
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @returns
|
|
44
|
+
* Calculates the temperature based on all available sensors.
|
|
45
|
+
* @returns The temperature in °C
|
|
45
46
|
*/
|
|
46
47
|
get temperature() {
|
|
47
48
|
let temp = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
@@ -93,8 +94,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
93
94
|
rooms.sort((a, b) => {
|
|
94
95
|
return a.roomName.localeCompare(b.roomName);
|
|
95
96
|
});
|
|
96
|
-
const response = [
|
|
97
|
-
response.push(
|
|
97
|
+
const response = ['Dies sind die aktuellen Informationen der Heizungen:'];
|
|
98
|
+
response.push('Name\t\tLuft Feuchtigkeit\t\tAktuelle Temperatur\t\tSoll Temperatur\t\tVentilstellung');
|
|
98
99
|
for (const r of rooms) {
|
|
99
100
|
response.push(`${r.roomName}:\t\t${(_a = r.HeatGroup) === null || _a === void 0 ? void 0 : _a.humidity}%\t\t${(_b = r.HeatGroup) === null || _b === void 0 ? void 0 : _b.temperature}°C\t\t${(_c = r.HeatGroup) === null || _c === void 0 ? void 0 : _c.desiredTemp}°C`);
|
|
100
101
|
}
|
|
@@ -127,8 +128,9 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
127
128
|
}
|
|
128
129
|
/**
|
|
129
130
|
* Sets all ACs to new desired Value
|
|
130
|
-
*
|
|
131
|
-
* @param
|
|
131
|
+
* TODO: Migrate to new Command System
|
|
132
|
+
* @param newDesiredState - The new desired (on/off) state
|
|
133
|
+
* @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
|
|
132
134
|
*/
|
|
133
135
|
setAc(newDesiredState, force = false) {
|
|
134
136
|
const devs = this.getOwnAcDevices();
|
|
@@ -139,9 +141,7 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
139
141
|
continue;
|
|
140
142
|
}
|
|
141
143
|
dev.turnOff();
|
|
142
|
-
|
|
143
|
-
dev.deactivateAutomaticChange(60 * 60 * 1000);
|
|
144
|
-
}
|
|
144
|
+
dev.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(force ? models_1.CommandSource.Force : models_1.CommandSource.Unknown, 60 * 60 * 1000));
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
deleteAutomaticPoint(name) {
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { BaseGroup } from './base-group';
|
|
2
2
|
import { iActuator, iLamp } from '../baseDeviceInterfaces';
|
|
3
|
-
import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback,
|
|
3
|
+
import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback, WledSetLightCommand } from '../../../models';
|
|
4
4
|
import { WledDevice } from '../wledDevice';
|
|
5
5
|
import { iLedRgbCct } from '../baseDeviceInterfaces/iLedRgbCct';
|
|
6
6
|
export declare class LightGroup extends BaseGroup {
|
|
7
|
+
/**
|
|
8
|
+
* Time-Callback for the sunrise light off
|
|
9
|
+
* @remark This is undefined if the light should not be turned off at sunrise or no calculation has been done yet
|
|
10
|
+
*/
|
|
7
11
|
sonnenAufgangLichtCallback: TimeCallback | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Time-Callback for the sunset light on
|
|
14
|
+
* @remark This is undefined if the light should not be turned on at sunset or no calculation has been done yet
|
|
15
|
+
*/
|
|
8
16
|
sonnenUntergangLichtCallback: TimeCallback | undefined;
|
|
9
17
|
private _ambientLightOn;
|
|
10
18
|
constructor(roomName: string, lampenIds?: string[], steckerIds?: string[], ledIds?: string[], wledIds?: string[]);
|
|
@@ -20,7 +28,7 @@ export declare class LightGroup extends BaseGroup {
|
|
|
20
28
|
setAllLampen(c: LampSetLightCommand): void;
|
|
21
29
|
setAllLampenTimeBased(c: LampSetTimeBasedCommand): void;
|
|
22
30
|
setAllOutlets(c: ActuatorSetStateCommand): void;
|
|
23
|
-
setAllActuatorsTimeBased(
|
|
31
|
+
setAllActuatorsTimeBased(c: LampSetTimeBasedCommand): void;
|
|
24
32
|
setAllLED(c: LedSetLightCommand): void;
|
|
25
33
|
setAllWled(c: WledSetLightCommand): void;
|
|
26
34
|
initialize(): void;
|
|
@@ -17,28 +17,9 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
17
17
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.WLED, new device_list_1.DeviceList(wledIds));
|
|
18
18
|
}
|
|
19
19
|
anyLightsOn() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
for (i = 0; i < this.getLED().length; i++) {
|
|
27
|
-
if (this.getLED()[i].actuatorOn) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
for (i = 0; i < this.getOutlets().length; i++) {
|
|
32
|
-
if (this.getOutlets()[i].actuatorOn) {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
for (i = 0; i < this.getWled().length; i++) {
|
|
37
|
-
if (this.getWled()[i].on) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
20
|
+
return (this.getAllAsActuator().find((a) => {
|
|
21
|
+
return a.actuatorOn;
|
|
22
|
+
}) !== undefined);
|
|
42
23
|
}
|
|
43
24
|
getLights() {
|
|
44
25
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Lamps);
|
|
@@ -70,14 +51,13 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
70
51
|
switchAll(c) {
|
|
71
52
|
this.getAllAsActuator().forEach((a) => {
|
|
72
53
|
if (a.settings.includeInAmbientLight && !c.isForceAction && !c.on && this._ambientLightOn) {
|
|
73
|
-
a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}`);
|
|
54
|
+
a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}; command: ${c.logMessage}`);
|
|
74
55
|
return;
|
|
75
56
|
}
|
|
76
57
|
a.setActuator(c);
|
|
77
58
|
});
|
|
78
59
|
}
|
|
79
60
|
switchTimeConditional(c) {
|
|
80
|
-
const darkOutside = services_1.TimeCallbackService.darkOutsideOrNight(c.time);
|
|
81
61
|
let resultLampen = false;
|
|
82
62
|
let resultSteckdosen = false;
|
|
83
63
|
let activatedGroups = 0;
|
|
@@ -99,23 +79,23 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
99
79
|
if (this.getOutlets().length > 0) {
|
|
100
80
|
activatedGroups++;
|
|
101
81
|
this.log(models_1.LogLevel.Trace, `Set outlets time based for time "${models_1.TimeOfDay[c.time]}"`);
|
|
102
|
-
resultSteckdosen =
|
|
82
|
+
resultSteckdosen = true;
|
|
103
83
|
}
|
|
104
84
|
if (activatedGroups === 0 || this.getRoom().settings.includeLampsInNormalMovementLightning) {
|
|
105
85
|
this.log(models_1.LogLevel.Trace, `Set Lamps time based for time "${models_1.TimeOfDay[c.time]}"`);
|
|
106
|
-
resultLampen =
|
|
86
|
+
resultLampen = true;
|
|
107
87
|
}
|
|
108
88
|
if (resultLampen) {
|
|
109
|
-
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time
|
|
89
|
+
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
110
90
|
}
|
|
111
91
|
else {
|
|
112
|
-
this.setAllLampen(new models_1.LampSetLightCommand(c, false
|
|
92
|
+
this.setAllLampen(new models_1.LampSetLightCommand(c, false));
|
|
113
93
|
}
|
|
114
94
|
if (resultSteckdosen) {
|
|
115
|
-
this.setAllActuatorsTimeBased(c.time);
|
|
95
|
+
this.setAllActuatorsTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
116
96
|
}
|
|
117
97
|
else {
|
|
118
|
-
this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false
|
|
98
|
+
this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false));
|
|
119
99
|
}
|
|
120
100
|
}
|
|
121
101
|
setAllLampen(c) {
|
|
@@ -133,12 +113,13 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
133
113
|
s.setActuator(c);
|
|
134
114
|
});
|
|
135
115
|
}
|
|
136
|
-
setAllActuatorsTimeBased(
|
|
116
|
+
setAllActuatorsTimeBased(c) {
|
|
137
117
|
this.getOutlets().forEach((s) => {
|
|
138
|
-
if ((time === models_1.TimeOfDay.
|
|
139
|
-
(time === models_1.TimeOfDay.
|
|
140
|
-
(time === models_1.TimeOfDay.
|
|
141
|
-
|
|
118
|
+
if ((c.time === models_1.TimeOfDay.Daylight && s.settings.dayOn) ||
|
|
119
|
+
(c.time === models_1.TimeOfDay.Night && s.settings.nightOn) ||
|
|
120
|
+
(c.time === models_1.TimeOfDay.BeforeSunrise && s.settings.dawnOn) ||
|
|
121
|
+
(c.time === models_1.TimeOfDay.AfterSunset && s.settings.duskOn)) {
|
|
122
|
+
s.setActuator(new models_1.ActuatorSetStateCommand(c, true, 'LightGroup setAllActuatorsTimeBased', c.disableAutomaticCommand));
|
|
142
123
|
}
|
|
143
124
|
});
|
|
144
125
|
}
|
|
@@ -205,7 +186,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
205
186
|
}
|
|
206
187
|
ambientLightStartCallback() {
|
|
207
188
|
this._ambientLightOn = true;
|
|
208
|
-
this.log(models_1.LogLevel.Info,
|
|
189
|
+
this.log(models_1.LogLevel.Info, 'Draußen wird es dunkel --> Aktiviere Ambientenbeleuchtung');
|
|
209
190
|
this.getAllAsActuator().forEach((a) => {
|
|
210
191
|
if (a.settings.includeInAmbientLight) {
|
|
211
192
|
a.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, 'Ambient Light Start Callback'));
|
|
@@ -213,7 +194,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
213
194
|
});
|
|
214
195
|
services_1.Utils.guardedTimeout(() => {
|
|
215
196
|
var _a;
|
|
216
|
-
this.log(models_1.LogLevel.Info,
|
|
197
|
+
this.log(models_1.LogLevel.Info, 'Ambientenbeleuchtung um Mitternacht abschalten.');
|
|
217
198
|
this._ambientLightOn = false;
|
|
218
199
|
if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent()) !== true) {
|
|
219
200
|
this.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Ambient Light End Callback'));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PresenceGroupAnyMovementAction, PresenceGroupFirstEnterAction, PresenceGroupLastLeftAction } from '../../../models';
|
|
1
2
|
import { BaseGroup } from './base-group';
|
|
2
3
|
import { iMotionSensor } from '../baseDeviceInterfaces';
|
|
3
4
|
export declare class PresenceGroup extends BaseGroup {
|
|
@@ -5,19 +6,28 @@ export declare class PresenceGroup extends BaseGroup {
|
|
|
5
6
|
private _lastLeftTimeout;
|
|
6
7
|
private _lastLeftCbs;
|
|
7
8
|
private _firstEnterCbs;
|
|
9
|
+
private _anyMovementCbs;
|
|
8
10
|
constructor(roomName: string, motionSensorIds: string[]);
|
|
9
11
|
getMotionDetector(): Array<iMotionSensor>;
|
|
10
12
|
initCallbacks(): void;
|
|
11
13
|
presentAmount(): number;
|
|
14
|
+
addLastLeftCallback(cb: (action: PresenceGroupLastLeftAction) => void): void;
|
|
15
|
+
addAnyMovementCallback(cb: (action: PresenceGroupAnyMovementAction) => void): void;
|
|
12
16
|
anyPresent(): boolean;
|
|
13
|
-
|
|
14
|
-
addFirstEnterCallback(cb: () => void): void;
|
|
17
|
+
private fireFistEnterCBs;
|
|
18
|
+
addFirstEnterCallback(cb: (action: PresenceGroupFirstEnterAction) => void): void;
|
|
19
|
+
private motionSensorOnAnyMovement;
|
|
15
20
|
private motionSensorOnLastLeft;
|
|
21
|
+
/**
|
|
22
|
+
* Calculates whether we are after (negative if before) the time the movement
|
|
23
|
+
* reset timer should have reset the movement.
|
|
24
|
+
* @returns The time in milliseconds after the reset time.
|
|
25
|
+
*/
|
|
26
|
+
private getTimeAfterReset;
|
|
16
27
|
/**
|
|
17
28
|
* In case of an existing delayed last left callback timeout, this removes it.
|
|
18
|
-
* @private
|
|
19
29
|
*/
|
|
20
30
|
private resetLastLeftTimeout;
|
|
21
|
-
private
|
|
31
|
+
private executeAnyMovementCbs;
|
|
22
32
|
private executeLastLeftCbs;
|
|
23
33
|
}
|
|
@@ -14,6 +14,7 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
14
14
|
this._lastLeftTimeout = null;
|
|
15
15
|
this._lastLeftCbs = [];
|
|
16
16
|
this._firstEnterCbs = [];
|
|
17
|
+
this._anyMovementCbs = [];
|
|
17
18
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.MotionDetection, new device_list_1.DeviceList(motionSensorIds));
|
|
18
19
|
}
|
|
19
20
|
getMotionDetector() {
|
|
@@ -21,113 +22,115 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
21
22
|
}
|
|
22
23
|
initCallbacks() {
|
|
23
24
|
this.getMotionDetector().forEach((b) => {
|
|
24
|
-
b.addMovementCallback((
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
b.addMovementCallback((action) => {
|
|
26
|
+
if (!action.motionDetected && !this.anyPresent()) {
|
|
27
|
+
this.motionSensorOnLastLeft(action);
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
|
-
if (
|
|
30
|
-
|
|
30
|
+
if (!action.motionDetected && this.anyPresent()) {
|
|
31
|
+
this.resetLastLeftTimeout();
|
|
32
|
+
return;
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
// At this Point we can be certain about motion being detected.
|
|
35
|
+
this.log(models_1.LogLevel.Debug, `New Motion detected, present Amount: ${this.presentAmount()}`, services_1.LogDebugType.NewMovementState);
|
|
36
|
+
this.motionSensorOnAnyMovement(action);
|
|
37
|
+
if (this.presentAmount() === 1 && this._lastLeftTimeout === null) {
|
|
38
|
+
this.fireFistEnterCBs(action);
|
|
34
39
|
}
|
|
35
|
-
|
|
40
|
+
this.resetLastLeftTimeout();
|
|
36
41
|
});
|
|
37
42
|
});
|
|
38
|
-
this.addLastLeftCallback(() => {
|
|
43
|
+
this.addLastLeftCallback((action) => {
|
|
39
44
|
var _a, _b;
|
|
40
45
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(false);
|
|
41
|
-
(_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(
|
|
46
|
+
(_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(action, false, 'Presence Group LastLeftCallback'));
|
|
42
47
|
});
|
|
43
|
-
this.
|
|
48
|
+
this.addAnyMovementCallback((action) => {
|
|
44
49
|
if (!this.getRoom().settings.lampenBeiBewegung) {
|
|
45
50
|
return;
|
|
46
51
|
}
|
|
47
52
|
this.log(models_1.LogLevel.DeepTrace, `Bewegung im Raum ${this.roomName} festgestellt --> Licht einschalten`);
|
|
48
|
-
this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(
|
|
49
|
-
});
|
|
50
|
-
this.getMotionDetector().forEach((b) => {
|
|
51
|
-
b.addMovementCallback((val) => {
|
|
52
|
-
this.motionSensorOnFirstEnter(val);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
this.getMotionDetector().forEach((b) => {
|
|
56
|
-
b.addMovementCallback((val) => {
|
|
57
|
-
this.motionSensorOnLastLeft(val);
|
|
58
|
-
});
|
|
53
|
+
this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(action, true));
|
|
59
54
|
});
|
|
60
55
|
}
|
|
61
56
|
presentAmount() {
|
|
62
|
-
|
|
63
|
-
for (let i = 0; i < this.getMotionDetector().length; i++) {
|
|
64
|
-
if (this.getMotionDetector()[i].movementDetected) {
|
|
65
|
-
count++;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return count;
|
|
69
|
-
}
|
|
70
|
-
anyPresent() {
|
|
71
|
-
for (let i = 0; i < this.getMotionDetector().length; i++) {
|
|
72
|
-
if (this.getMotionDetector()[i].movementDetected) {
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return false;
|
|
57
|
+
return this.getMotionDetector().filter((b) => b.movementDetected).length;
|
|
77
58
|
}
|
|
78
59
|
addLastLeftCallback(cb) {
|
|
79
60
|
this._lastLeftCbs.push(cb);
|
|
80
61
|
}
|
|
62
|
+
addAnyMovementCallback(cb) {
|
|
63
|
+
this._anyMovementCbs.push(cb);
|
|
64
|
+
}
|
|
65
|
+
anyPresent() {
|
|
66
|
+
return this.getMotionDetector().find((b) => b.movementDetected) !== undefined;
|
|
67
|
+
}
|
|
68
|
+
fireFistEnterCBs(action) {
|
|
69
|
+
for (const cb of this._firstEnterCbs) {
|
|
70
|
+
cb(new models_1.PresenceGroupFirstEnterAction(action));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
81
73
|
addFirstEnterCallback(cb) {
|
|
82
74
|
this._firstEnterCbs.push(cb);
|
|
83
75
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
76
|
+
motionSensorOnAnyMovement(action) {
|
|
77
|
+
var _a;
|
|
78
|
+
this._lastMovement = new Date();
|
|
79
|
+
if (services_1.RoomService.awayModeActive || (services_1.RoomService.nightAlarmActive && !action.sensor.settings.excludeFromNightAlarm)) {
|
|
80
|
+
services_1.RoomService.startIntrusionAlarm(this.getRoom(), action.sensor);
|
|
81
|
+
}
|
|
82
|
+
if (!action.sensor.settings.seesWindow) {
|
|
83
|
+
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(true);
|
|
88
84
|
}
|
|
89
|
-
|
|
85
|
+
services_1.RoomService.movementHistory.add(`${services_1.Utils.nowString()}: Raum "${this.roomName}" Gerät "${action.sensor.info.fullName}"`);
|
|
86
|
+
this.executeAnyMovementCbs(new models_1.PresenceGroupAnyMovementAction(action));
|
|
87
|
+
}
|
|
88
|
+
motionSensorOnLastLeft(action) {
|
|
89
|
+
let timeAfterReset = this.getTimeAfterReset();
|
|
90
90
|
if (timeAfterReset > 0) {
|
|
91
91
|
this.log(models_1.LogLevel.Debug, `Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
|
|
92
|
-
this.executeLastLeftCbs();
|
|
92
|
+
this.executeLastLeftCbs(new models_1.PresenceGroupLastLeftAction(action));
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
const newResetTime = new Date(services_1.Utils.nowMS() + Math.abs(timeAfterReset));
|
|
96
|
+
this.log(models_1.LogLevel.Debug, `Movement reset in ${this.roomName} delayed to ${newResetTime.toLocaleTimeString('de-DE')}.`);
|
|
96
97
|
this.resetLastLeftTimeout();
|
|
97
98
|
this._lastLeftTimeout = services_1.Utils.guardedTimeout(() => {
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
this._lastLeftTimeout = null;
|
|
100
|
+
timeAfterReset = this.getTimeAfterReset();
|
|
100
101
|
const presentAmount = this.presentAmount();
|
|
101
|
-
this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${
|
|
102
|
+
this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${presentAmount}\tTime after Last Movement including Reset: ${timeAfterReset}, action: ${action.reasonTrace}`);
|
|
102
103
|
if (presentAmount <= 0 && timeAfterReset > 0) {
|
|
103
|
-
this.executeLastLeftCbs();
|
|
104
|
+
this.executeLastLeftCbs(new models_1.PresenceGroupLastLeftAction(action));
|
|
104
105
|
}
|
|
105
106
|
}, Math.abs(timeAfterReset) + 500, this);
|
|
106
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Calculates whether we are after (negative if before) the time the movement
|
|
110
|
+
* reset timer should have reset the movement.
|
|
111
|
+
* @returns The time in milliseconds after the reset time.
|
|
112
|
+
*/
|
|
113
|
+
getTimeAfterReset() {
|
|
114
|
+
return services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
|
|
115
|
+
}
|
|
107
116
|
/**
|
|
108
117
|
* In case of an existing delayed last left callback timeout, this removes it.
|
|
109
|
-
* @private
|
|
110
118
|
*/
|
|
111
119
|
resetLastLeftTimeout() {
|
|
112
|
-
if (this._lastLeftTimeout
|
|
113
|
-
clearTimeout(this._lastLeftTimeout);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
motionSensorOnFirstEnter(val) {
|
|
117
|
-
if (!val) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
this._lastMovement = new Date();
|
|
121
|
-
if (this.presentAmount() > 1) {
|
|
120
|
+
if (this._lastLeftTimeout === null) {
|
|
122
121
|
return;
|
|
123
122
|
}
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
clearTimeout(this._lastLeftTimeout);
|
|
124
|
+
this._lastLeftTimeout = null;
|
|
125
|
+
}
|
|
126
|
+
executeAnyMovementCbs(action) {
|
|
127
|
+
for (const cb of this._anyMovementCbs) {
|
|
128
|
+
cb(action);
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
|
-
executeLastLeftCbs() {
|
|
131
|
+
executeLastLeftCbs(action) {
|
|
129
132
|
for (const cb of this._lastLeftCbs) {
|
|
130
|
-
cb();
|
|
133
|
+
cb(action);
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
136
|
}
|
|
@@ -25,42 +25,42 @@ class TasterGroup extends base_group_1.BaseGroup {
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 0, 'Button Top Left pressed long'));
|
|
28
|
-
},
|
|
28
|
+
}, 'Close all Rollos in this room');
|
|
29
29
|
(_b = t.buttonTopLeft) === null || _b === void 0 ? void 0 : _b.addCb(button_1.ButtonPressType.short, (pValue) => {
|
|
30
30
|
var _a;
|
|
31
31
|
if (!pValue) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 25, 'Button Top Left pressed short'));
|
|
35
|
-
},
|
|
35
|
+
}, 'Nearly closes all Rollos in this room');
|
|
36
36
|
(_c = t.buttonTopRight) === null || _c === void 0 ? void 0 : _c.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
37
37
|
var _a;
|
|
38
38
|
if (!pValue) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 100, 'Button Top Right pressed long'));
|
|
42
|
-
},
|
|
42
|
+
}, 'Open all Rollos in this room');
|
|
43
43
|
(_d = t.buttonTopRight) === null || _d === void 0 ? void 0 : _d.addCb(button_1.ButtonPressType.short, (pValue) => {
|
|
44
44
|
var _a;
|
|
45
45
|
if (!pValue) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 50, 'Button Top Right pressed short'));
|
|
49
|
-
},
|
|
49
|
+
}, 'All Rollos in this room to middle');
|
|
50
50
|
(_e = t.buttonMidLeft) === null || _e === void 0 ? void 0 : _e.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
51
51
|
var _a;
|
|
52
52
|
if (!pValue) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
(_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, true, 'Button press to turn all lights on'));
|
|
56
|
-
},
|
|
56
|
+
}, 'Turn all Lights in this room on');
|
|
57
57
|
(_f = t.buttonMidRight) === null || _f === void 0 ? void 0 : _f.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
58
58
|
var _a;
|
|
59
59
|
if (!pValue) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
(_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, false, 'Button press to turn all lights off'));
|
|
63
|
-
},
|
|
63
|
+
}, 'Turn all Lights in this room off');
|
|
64
64
|
if (((_g = services_1.SettingsService.settings.sonos) === null || _g === void 0 ? void 0 : _g.buttonBotRightForRadio) === true) {
|
|
65
65
|
const sonosGroup = this.getRoom().SonosGroup;
|
|
66
66
|
if (sonosGroup !== undefined && sonosGroup.getOwnSonosDevices().length > 0) {
|