hoffmation-base 3.0.0-alpha.9 → 3.0.0-alpha.90
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/base64Image.d.ts +0 -1
- 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 +37 -1
- package/lib/models/deviceSettings/dachsSettings.js +47 -3
- 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 +51 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +65 -9
- 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/iJsonOmitKeys.d.ts +9 -0
- package/lib/models/index.d.ts +3 -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 +17 -8
- 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/iBlockAutomaticHandlerDefaults.js +2 -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 +38 -20
- package/lib/server/devices/IoBrokerBaseDevice.js +40 -22
- 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 +15 -7
- 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 +34 -0
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -5
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +19 -4
- 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 -2
- 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 +30 -5
- 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 +51 -11
- package/lib/server/devices/dachs/dachs.js +136 -23
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +23 -10
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +28 -32
- 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 +4 -1
- package/lib/server/devices/device-cluster.js +9 -4
- package/lib/server/devices/deviceType.d.ts +6 -0
- package/lib/server/devices/deviceType.js +6 -0
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +26 -4
- package/lib/server/devices/devices.d.ts +53 -7
- package/lib/server/devices/devices.js +83 -19
- 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 +29 -5
- 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 +16 -6
- package/lib/server/devices/groups/Window.js +31 -14
- 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 +20 -39
- package/lib/server/devices/groups/presenceGroup.d.ts +17 -6
- package/lib/server/devices/groups/presenceGroup.js +73 -63
- package/lib/server/devices/groups/tasterGroup.js +18 -9
- package/lib/server/devices/groups/windowGroup.d.ts +16 -1
- package/lib/server/devices/groups/windowGroup.js +24 -9
- 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 +23 -18
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +39 -140
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +29 -18
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +51 -74
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +6 -6
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +8 -20
- 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 +11 -10
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +12 -22
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +27 -25
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +19 -5
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +16 -19
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +5 -5
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +8 -20
- 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 +8 -2
- package/lib/server/devices/index.js +11 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
- package/lib/server/devices/models/WindowPosition.d.ts +3 -3
- package/lib/server/devices/models/WindowPosition.js +3 -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 -7
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/battery.d.ts +31 -0
- package/lib/server/devices/sharedFunctions/battery.js +65 -0
- package/lib/server/devices/sharedFunctions/handleSensor.d.ts +45 -0
- package/lib/server/devices/sharedFunctions/handleSensor.js +150 -0
- package/lib/server/devices/sharedFunctions/humiditySensor.d.ts +18 -0
- package/lib/server/devices/sharedFunctions/humiditySensor.js +46 -0
- package/lib/server/devices/sharedFunctions/index.d.ts +4 -0
- package/lib/server/devices/sharedFunctions/index.js +4 -0
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
- package/lib/server/devices/sharedFunctions/temperatureSensor.d.ts +31 -0
- package/lib/server/devices/sharedFunctions/temperatureSensor.js +57 -0
- 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 +27 -19
- package/lib/server/devices/shelly/shellyTrv.js +39 -52
- 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 +21 -0
- package/lib/server/devices/smartGarden/smartGardenDevice.js +63 -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 +32 -0
- package/lib/server/devices/smartGarden/smartGardenSensor.js +76 -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/velux/index.d.ts +4 -0
- package/lib/server/devices/velux/index.js +11 -0
- package/lib/server/devices/velux/veluxDevice.d.ts +13 -0
- package/lib/server/devices/velux/veluxDevice.js +43 -0
- package/lib/server/devices/velux/veluxDeviceRegistrationInfo.d.ts +9 -0
- package/lib/server/devices/velux/veluxDeviceRegistrationInfo.js +13 -0
- package/lib/server/devices/velux/veluxService.d.ts +7 -0
- package/lib/server/devices/velux/veluxService.js +44 -0
- package/lib/server/devices/velux/veluxShutter.d.ts +27 -0
- package/lib/server/devices/velux/veluxShutter.js +124 -0
- 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 +2 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +5 -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 +25 -60
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +23 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +34 -41
- 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 +7 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +16 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +25 -28
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +20 -16
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +35 -45
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +30 -21
- 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/BaseDevices/zigbeeWindowHandle.d.ts +36 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeWindowHandle.js +82 -0
- package/lib/server/devices/zigbee/index.d.ts +1 -0
- package/lib/server/devices/zigbee/index.js +1 -0
- 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 +47 -12
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +87 -33
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +16 -9
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +27 -37
- 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 +24 -10
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +33 -29
- 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/zigbeeSodaHandle.d.ts +34 -0
- package/lib/server/devices/zigbee/zigbeeSodaHandle.js +96 -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 +24 -19
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +38 -74
- 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 -22
- package/lib/server/ioBroker/connection.js +50 -33
- 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 +7 -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 +19 -18
- 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 +50 -9
- package/lib/server/services/ac/ac-device.js +121 -41
- 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 +29 -6
- 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 +20 -17
- package/lib/server/services/govee/own-govee-device.js +72 -58
- 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 -14
- package/lib/server/services/utils/utils.js +5 -1
- package/lib/server/services/victron/victron-device.d.ts +21 -10
- package/lib/server/services/victron/victron-device.js +69 -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 +39 -24
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +31 -31
- 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 → iJsonOmitKeys.js} +0 -0
|
@@ -7,13 +7,11 @@ const room_service_1 = require("../room-service");
|
|
|
7
7
|
const log_service_1 = require("../log-service");
|
|
8
8
|
const ac_1 = require("../ac");
|
|
9
9
|
const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
10
|
-
const settings_service_1 = require("../settings-service");
|
|
11
|
-
const config_1 = require("../../config");
|
|
12
10
|
class API {
|
|
13
11
|
/**
|
|
14
12
|
* Endpoint to end a scene manually (or early if it has automatic turn off)
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
13
|
+
* @param deviceId - The id of the scene to end
|
|
14
|
+
* @returns In case it failed the Error containing the reason
|
|
17
15
|
*/
|
|
18
16
|
static endScene(deviceId) {
|
|
19
17
|
const d = this.getDevice(deviceId);
|
|
@@ -23,14 +21,14 @@ class API {
|
|
|
23
21
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.scene)) {
|
|
24
22
|
return new Error(`Device with ID ${deviceId} is no scene`);
|
|
25
23
|
}
|
|
26
|
-
d.log(models_1.LogLevel.Info,
|
|
24
|
+
d.log(models_1.LogLevel.Info, 'API Call to end this.');
|
|
27
25
|
d.endScene();
|
|
28
26
|
return null;
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
29
|
* Gets the instance of an Ac Device identified by id
|
|
32
|
-
* @param
|
|
33
|
-
* @returns
|
|
30
|
+
* @param id - The device id of the AC
|
|
31
|
+
* @returns The instance of the AC Device or undefined if not found
|
|
34
32
|
*/
|
|
35
33
|
static getAc(id) {
|
|
36
34
|
const result = this.getDevice(id);
|
|
@@ -39,17 +37,20 @@ class API {
|
|
|
39
37
|
}
|
|
40
38
|
return result;
|
|
41
39
|
}
|
|
40
|
+
// TODO: Missing Comment
|
|
42
41
|
static getDevices() {
|
|
43
42
|
// console.log(Util.inspect(Devices.alLDevices, false, 5));
|
|
44
43
|
return devices_1.Devices.alLDevices;
|
|
45
44
|
}
|
|
46
|
-
|
|
45
|
+
// TODO: Missing Comment
|
|
46
|
+
static getDevice(id, warnIfNotFound = true) {
|
|
47
47
|
const d = devices_1.Devices.alLDevices[id];
|
|
48
|
-
if (d === undefined) {
|
|
48
|
+
if (d === undefined && warnIfNotFound) {
|
|
49
49
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Api.getDevice() --> "${id}" not found`);
|
|
50
50
|
}
|
|
51
|
-
return
|
|
51
|
+
return d;
|
|
52
52
|
}
|
|
53
|
+
// TODO: Missing Comment
|
|
53
54
|
static getGroup(id) {
|
|
54
55
|
const g = room_service_1.RoomService.Groups.get(id);
|
|
55
56
|
if (g === undefined) {
|
|
@@ -57,23 +58,27 @@ class API {
|
|
|
57
58
|
}
|
|
58
59
|
return g;
|
|
59
60
|
}
|
|
61
|
+
// TODO: Missing Comment
|
|
60
62
|
static getRooms() {
|
|
61
63
|
// console.log(inspect(Object.fromEntries(RoomService.Rooms)));
|
|
62
64
|
return room_service_1.RoomService.Rooms;
|
|
63
65
|
}
|
|
66
|
+
// TODO: Missing Comment
|
|
64
67
|
static getRoom(id) {
|
|
65
68
|
return room_service_1.RoomService.Rooms.get(id);
|
|
66
69
|
}
|
|
70
|
+
// TODO: Missing Comment
|
|
67
71
|
static getLog() {
|
|
68
72
|
return log_service_1.ServerLogService.getLog();
|
|
69
73
|
}
|
|
70
74
|
/**
|
|
71
75
|
* Turns on/off one AC identified by it's id
|
|
72
|
-
* @param id The id of the device, if wrong false will be returned
|
|
73
|
-
* @param
|
|
74
|
-
* @param
|
|
75
|
-
* @param desiredTemperature
|
|
76
|
-
* @param forceTime The time in ms this should not change before automatic change is allowed again
|
|
76
|
+
* @param id - The id of the device, if wrong false will be returned
|
|
77
|
+
* @param desiredState - The desired state for the AC
|
|
78
|
+
* @param desiredMode - The desired mode for the AC
|
|
79
|
+
* @param desiredTemperature - The desired temperature for the AC in Celsius
|
|
80
|
+
* @param forceTime - The time in ms this should not change before automatic change is allowed again
|
|
81
|
+
* @returns True if the AC was found and the state was changed
|
|
77
82
|
*/
|
|
78
83
|
static setAc(id, desiredState, desiredMode, desiredTemperature, forceTime = 60 * 60 * 1000) {
|
|
79
84
|
const d = this.getAc(id);
|
|
@@ -90,7 +95,7 @@ class API {
|
|
|
90
95
|
desiredMode = ac_1.AcMode.Off;
|
|
91
96
|
}
|
|
92
97
|
else {
|
|
93
|
-
desiredMode =
|
|
98
|
+
desiredMode = d.heatingAllowed ? ac_1.AcMode.Heating : ac_1.AcMode.Cooling;
|
|
94
99
|
}
|
|
95
100
|
}
|
|
96
101
|
d.log(models_1.LogLevel.Info, `API Call to set AC to ${desiredState} with mode ${desiredMode} for ${forceTime}ms`);
|
|
@@ -99,7 +104,7 @@ class API {
|
|
|
99
104
|
}
|
|
100
105
|
/**
|
|
101
106
|
* Turns on/off all AC´s in the home
|
|
102
|
-
* @param
|
|
107
|
+
* @param desiredState - The desired state for all AC´s
|
|
103
108
|
*/
|
|
104
109
|
static setAllAc(desiredState) {
|
|
105
110
|
ac_1.DaikinService.setAll(desiredState, true);
|
|
@@ -107,12 +112,23 @@ class API {
|
|
|
107
112
|
}
|
|
108
113
|
/**
|
|
109
114
|
* Changes the status of a given Lamp
|
|
110
|
-
* @param
|
|
111
|
-
* @param
|
|
112
|
-
* @param timeout Desired time after which this should be reverted to normal state
|
|
113
|
-
* @returns
|
|
115
|
+
* @param deviceId - The device Id of the lamp
|
|
116
|
+
* @param state - The desired new state
|
|
117
|
+
* @param timeout - Desired time after which this should be reverted to normal state
|
|
118
|
+
* @returns In case it failed the Error containing the reason
|
|
119
|
+
* @deprecated Use {@link API.lampSetLight} instead
|
|
120
|
+
* TODO: Remove deprecated API method
|
|
114
121
|
*/
|
|
115
122
|
static setLamp(deviceId, state, timeout = 60 * 60 * 1000) {
|
|
123
|
+
return this.lampSetLight(deviceId, new models_1.LampSetLightCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout)));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Changes the status of a given Lamp
|
|
127
|
+
* @param deviceId - The device Id of the lamp
|
|
128
|
+
* @param c - The command(stack) to perform on the lamp
|
|
129
|
+
* @returns In case it failed the Error containing the reason.
|
|
130
|
+
*/
|
|
131
|
+
static lampSetLight(deviceId, c) {
|
|
116
132
|
const d = this.getDevice(deviceId);
|
|
117
133
|
if (d === undefined) {
|
|
118
134
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -120,18 +136,29 @@ class API {
|
|
|
120
136
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.lamp)) {
|
|
121
137
|
return new Error(`Device with ID ${deviceId} is no Lamp`);
|
|
122
138
|
}
|
|
123
|
-
d.log(models_1.LogLevel.Info,
|
|
124
|
-
d.setLight(
|
|
139
|
+
d.log(models_1.LogLevel.Info, 'Received LampSetLightCommand API call.');
|
|
140
|
+
d.setLight(c);
|
|
125
141
|
return null;
|
|
126
142
|
}
|
|
127
143
|
/**
|
|
128
144
|
* Changes the status of a given actuator
|
|
129
|
-
* @param
|
|
130
|
-
* @param
|
|
131
|
-
* @param timeout Desired time after which this should be reverted to automatic state
|
|
132
|
-
* @returns
|
|
145
|
+
* @param deviceId - The device Id of the actuator
|
|
146
|
+
* @param state - The desired new state
|
|
147
|
+
* @param timeout - Desired time after which this should be reverted to automatic state
|
|
148
|
+
* @returns In case it failed the Error containing the reason
|
|
149
|
+
* @deprecated Use {@link API.actuatorSetState} instead
|
|
150
|
+
* TODO: Remove deprecated API method
|
|
133
151
|
*/
|
|
134
152
|
static setActuator(deviceId, state, timeout = 60 * 60 * 1000) {
|
|
153
|
+
return this.actuatorSetState(deviceId, new models_1.ActuatorSetStateCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout)));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Changes the status of a given actuator
|
|
157
|
+
* @param deviceId - The device Id of the actuator
|
|
158
|
+
* @param c - The command(stack) to perform on the actuator
|
|
159
|
+
* @returns In case it failed the Error containing the reason
|
|
160
|
+
*/
|
|
161
|
+
static actuatorSetState(deviceId, c) {
|
|
135
162
|
const d = this.getDevice(deviceId);
|
|
136
163
|
if (d === undefined) {
|
|
137
164
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -139,20 +166,31 @@ class API {
|
|
|
139
166
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.actuator)) {
|
|
140
167
|
return new Error(`Device with ID ${deviceId} is no actuator`);
|
|
141
168
|
}
|
|
142
|
-
d.log(models_1.LogLevel.Info,
|
|
143
|
-
d.setActuator(
|
|
169
|
+
d.log(models_1.LogLevel.Info, 'Received ActuatorSetStateCommand API call.');
|
|
170
|
+
d.setActuator(c);
|
|
144
171
|
return null;
|
|
145
172
|
}
|
|
146
173
|
/**
|
|
147
|
-
* Changes the status of
|
|
148
|
-
* @param
|
|
149
|
-
* @param
|
|
150
|
-
* @param timeout A chosen Timeout after which the light should be reset
|
|
151
|
-
* @param brightness The desired brightness
|
|
152
|
-
* @param transitionTime The transition time during turnOn/turnOff
|
|
153
|
-
* @returns
|
|
174
|
+
* Changes the status of the given dimmer
|
|
175
|
+
* @param deviceId - The device Id of the actuator
|
|
176
|
+
* @param state - The desired new state
|
|
177
|
+
* @param timeout - A chosen Timeout after which the light should be reset
|
|
178
|
+
* @param brightness - The desired brightness
|
|
179
|
+
* @param transitionTime - The transition time during turnOn/turnOff
|
|
180
|
+
* @returns In case it failed the Error containing the reason
|
|
181
|
+
* @deprecated Use {@link API.dimmerSetLight} instead
|
|
182
|
+
* TODO: Remove deprecated API method
|
|
154
183
|
*/
|
|
155
184
|
static setDimmer(deviceId, state, timeout, brightness, transitionTime) {
|
|
185
|
+
return this.dimmerSetLight(deviceId, new models_1.DimmerSetLightCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout), brightness, transitionTime));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Changes the status of the given dimmer
|
|
189
|
+
* @param deviceId - The device Id of the dimmable device.
|
|
190
|
+
* @param command - The command(stack) to perform on the dimmer
|
|
191
|
+
* @returns In case it failed the Error containing the reason.
|
|
192
|
+
*/
|
|
193
|
+
static dimmerSetLight(deviceId, command) {
|
|
156
194
|
const d = this.getDevice(deviceId);
|
|
157
195
|
if (d === undefined) {
|
|
158
196
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -160,41 +198,64 @@ class API {
|
|
|
160
198
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.dimmablelamp)) {
|
|
161
199
|
return new Error(`Device with ID ${deviceId} is no dimmablelamp`);
|
|
162
200
|
}
|
|
163
|
-
d.log(models_1.LogLevel.Info,
|
|
164
|
-
d.setLight(
|
|
201
|
+
d.log(models_1.LogLevel.Info, 'Received dimmerSetLight API call.');
|
|
202
|
+
d.setLight(command);
|
|
165
203
|
return null;
|
|
166
204
|
}
|
|
167
205
|
/**
|
|
168
|
-
* Changes the status of a given
|
|
169
|
-
* @param
|
|
170
|
-
* @param
|
|
171
|
-
* @param timeout A chosen Timeout after which the light should be reset
|
|
172
|
-
* @param brightness The desired brightness
|
|
173
|
-
* @param transitionTime The transition time during turnOn/turnOff
|
|
174
|
-
* @param
|
|
175
|
-
* @param
|
|
176
|
-
* @returns
|
|
206
|
+
* Changes the status of a given led-device
|
|
207
|
+
* @param deviceId - The device Id of the actuator
|
|
208
|
+
* @param state - The desired new state
|
|
209
|
+
* @param timeout - A chosen Timeout after which the light should be reset
|
|
210
|
+
* @param brightness - The desired brightness
|
|
211
|
+
* @param transitionTime - The transition time during turnOn/turnOff
|
|
212
|
+
* @param color - The desired color in 6 digit hex Code
|
|
213
|
+
* @param colorTemp - The desired color Temperature (0 = more White)
|
|
214
|
+
* @returns In case it failed the Error containing the reason
|
|
215
|
+
* @deprecated Use {@link API.ledSetLight} instead
|
|
216
|
+
* TODO: Remove deprecated API method
|
|
177
217
|
*/
|
|
178
218
|
static setLedLamp(deviceId, state, timeout, brightness, transitionTime, color, colorTemp) {
|
|
219
|
+
return this.ledSetLight(deviceId, new models_1.LedSetLightCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout), brightness, transitionTime, color, colorTemp));
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Changes the status of a given led-device
|
|
223
|
+
* @param deviceId - The device Id of the LED-Device
|
|
224
|
+
* @param command - The command(stack) to perform on the led-device
|
|
225
|
+
* @returns In case it failed the Error containing the reason
|
|
226
|
+
*/
|
|
227
|
+
static ledSetLight(deviceId, command) {
|
|
179
228
|
const d = this.getDevice(deviceId);
|
|
180
229
|
if (d === undefined) {
|
|
181
230
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
182
231
|
}
|
|
183
232
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.ledLamp)) {
|
|
184
|
-
return new Error(`Device with ID ${deviceId} is no
|
|
233
|
+
return new Error(`Device with ID ${deviceId} is no LED`);
|
|
185
234
|
}
|
|
186
|
-
d.log(models_1.LogLevel.Info,
|
|
187
|
-
d.setLight(
|
|
235
|
+
d.log(models_1.LogLevel.Info, 'Received ledSetLight API call.');
|
|
236
|
+
d.setLight(command);
|
|
188
237
|
return null;
|
|
189
238
|
}
|
|
190
239
|
/**
|
|
191
240
|
* Changes the position of a given shutter
|
|
192
241
|
* if needed this updates the window position as well
|
|
193
|
-
* @param
|
|
194
|
-
* @param
|
|
195
|
-
* @returns
|
|
242
|
+
* @param deviceId - The device Id of the shutter
|
|
243
|
+
* @param level - The desired new level (0 being open, 100 being closed)
|
|
244
|
+
* @returns Error if there is no shutter with the given id
|
|
245
|
+
* @deprecated Use {@link API.shutterSetLevel} instead
|
|
246
|
+
* TODO: Remove deprecated API method
|
|
196
247
|
*/
|
|
197
248
|
static setShutter(deviceId, level) {
|
|
249
|
+
return this.shutterSetLevel(deviceId, new models_1.ShutterSetLevelCommand(models_1.CommandSource.API, level));
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Changes the position of a given shutter
|
|
253
|
+
* if needed this updates the window position as well
|
|
254
|
+
* @param deviceId - The device Id of the shutter
|
|
255
|
+
* @param command - The command(stack) to perform on the shutter
|
|
256
|
+
* @returns Error if there is no shutter with the given id
|
|
257
|
+
*/
|
|
258
|
+
static shutterSetLevel(deviceId, command) {
|
|
198
259
|
const d = this.getDevice(deviceId);
|
|
199
260
|
if (d === undefined) {
|
|
200
261
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -204,14 +265,15 @@ class API {
|
|
|
204
265
|
}
|
|
205
266
|
if (d.window) {
|
|
206
267
|
// otherwise it will be overridden shortly after
|
|
207
|
-
d.window.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(
|
|
268
|
+
d.window.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(command, command.level));
|
|
208
269
|
}
|
|
209
270
|
else {
|
|
210
|
-
d.setLevel(
|
|
271
|
+
d.setLevel(command);
|
|
211
272
|
}
|
|
212
|
-
d.log(models_1.LogLevel.Info,
|
|
273
|
+
d.log(models_1.LogLevel.Info, 'Received shutterSetLevel API call.');
|
|
213
274
|
return null;
|
|
214
275
|
}
|
|
276
|
+
// TODO: Missing Comment
|
|
215
277
|
static speakOnDevice(deviceId, message, volume = 30) {
|
|
216
278
|
const d = this.getDevice(deviceId);
|
|
217
279
|
if (d === undefined) {
|
|
@@ -226,9 +288,9 @@ class API {
|
|
|
226
288
|
}
|
|
227
289
|
/**
|
|
228
290
|
* Starts a specified scene
|
|
229
|
-
* @param
|
|
230
|
-
* @param
|
|
231
|
-
* @returns
|
|
291
|
+
* @param deviceId - The targeted scene
|
|
292
|
+
* @param turnOffTimeout - If provided the time in ms after which the scene should end automatically
|
|
293
|
+
* @returns In case it failed the Error containing the reason
|
|
232
294
|
*/
|
|
233
295
|
static startScene(deviceId, turnOffTimeout) {
|
|
234
296
|
const d = this.getDevice(deviceId);
|
|
@@ -238,7 +300,7 @@ class API {
|
|
|
238
300
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.scene)) {
|
|
239
301
|
return new Error(`Device with ID ${deviceId} is no scene`);
|
|
240
302
|
}
|
|
241
|
-
d.log(models_1.LogLevel.Info,
|
|
303
|
+
d.log(models_1.LogLevel.Info, 'API Call to start this.');
|
|
242
304
|
d.startScene(turnOffTimeout);
|
|
243
305
|
return null;
|
|
244
306
|
}
|
|
@@ -251,20 +313,20 @@ class API {
|
|
|
251
313
|
return new Error(`Device with ID ${deviceId} is no Garage Door Opener`);
|
|
252
314
|
}
|
|
253
315
|
if (open) {
|
|
254
|
-
d.log(models_1.LogLevel.Info,
|
|
316
|
+
d.log(models_1.LogLevel.Info, 'API Call to open Garage Door');
|
|
255
317
|
d.open();
|
|
256
318
|
}
|
|
257
319
|
else {
|
|
258
|
-
d.log(models_1.LogLevel.Info,
|
|
320
|
+
d.log(models_1.LogLevel.Info, 'API Call to close Garage Door');
|
|
259
321
|
d.close();
|
|
260
322
|
}
|
|
261
323
|
return null;
|
|
262
324
|
}
|
|
263
325
|
/**
|
|
264
326
|
* Changes the settings of a given device
|
|
265
|
-
* @param
|
|
266
|
-
* @param settings A partial settings object containing the wanted settings properties
|
|
267
|
-
* @returns
|
|
327
|
+
* @param deviceId - The id of the device to change the settings
|
|
328
|
+
* @param settings - A partial settings object containing the wanted settings properties
|
|
329
|
+
* @returns In case it failed the Error containing the reason
|
|
268
330
|
*/
|
|
269
331
|
static setDeviceSettings(deviceId, settings) {
|
|
270
332
|
const d = this.getDevice(deviceId);
|
|
@@ -279,6 +341,7 @@ class API {
|
|
|
279
341
|
d.settings.persist(d);
|
|
280
342
|
return null;
|
|
281
343
|
}
|
|
344
|
+
// TODO: Missing Comment
|
|
282
345
|
static setGroupSettings(groupId, settings) {
|
|
283
346
|
const g = this.getGroup(groupId);
|
|
284
347
|
if (g === undefined) {
|
|
@@ -294,9 +357,9 @@ class API {
|
|
|
294
357
|
}
|
|
295
358
|
/**
|
|
296
359
|
* Changes the settings of a given room
|
|
297
|
-
* @param
|
|
298
|
-
* @param settings A partial settings object containing the wanted settings properties
|
|
299
|
-
* @returns
|
|
360
|
+
* @param roomName - The id of the Room to change the settings
|
|
361
|
+
* @param settings - A partial settings object containing the wanted settings properties
|
|
362
|
+
* @returns In case it failed the Error containing the reason
|
|
300
363
|
*/
|
|
301
364
|
static setRoomSettings(roomName, settings) {
|
|
302
365
|
const r = this.getRoom(roomName);
|
|
@@ -308,6 +371,7 @@ class API {
|
|
|
308
371
|
r.settings.settingsContainer.persist(r);
|
|
309
372
|
return null;
|
|
310
373
|
}
|
|
374
|
+
// TODO: Missing Comment
|
|
311
375
|
static getLastCameraImage(deviceId) {
|
|
312
376
|
const d = this.getDevice(deviceId);
|
|
313
377
|
if (d === undefined) {
|
|
@@ -318,25 +382,38 @@ class API {
|
|
|
318
382
|
}
|
|
319
383
|
return d.lastImage;
|
|
320
384
|
}
|
|
385
|
+
// TODO: Missing Comment
|
|
321
386
|
static persistAllDeviceSettings() {
|
|
322
387
|
var _a;
|
|
323
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
388
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'API Call to persist all device settings');
|
|
324
389
|
for (const device of Object.values(devices_1.Devices.alLDevices)) {
|
|
325
390
|
(_a = device.settings) === null || _a === void 0 ? void 0 : _a.persist(device);
|
|
326
391
|
}
|
|
327
392
|
}
|
|
393
|
+
// TODO: Missing Comment
|
|
328
394
|
static loadAllDeviceSettingsFromDb() {
|
|
329
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
395
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'API Call to load all device settings');
|
|
330
396
|
for (const device of Object.values(devices_1.Devices.alLDevices)) {
|
|
331
397
|
device.loadDeviceSettings();
|
|
332
398
|
}
|
|
333
399
|
}
|
|
334
400
|
/**
|
|
335
401
|
* Lifts a previously started Block of automatic
|
|
336
|
-
* @param
|
|
337
|
-
* @returns
|
|
402
|
+
* @param deviceId - The target device
|
|
403
|
+
* @returns In case it failed the Error containing the reason
|
|
404
|
+
* @deprecated Use {@link API.blockAutomaticLiftAutomaticBlock} instead
|
|
405
|
+
* TODO: V4 Remove deprecated API method
|
|
338
406
|
*/
|
|
339
407
|
static liftAutomaticBlock(deviceId) {
|
|
408
|
+
return this.blockAutomaticLiftAutomaticBlock(deviceId, new models_1.BlockAutomaticLiftBlockCommand(models_1.CommandSource.API));
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Lifts a previously started Block of automatic
|
|
412
|
+
* @param deviceId - The target device
|
|
413
|
+
* @param command - The command to lift the automatic block
|
|
414
|
+
* @returns In case it failed the Error containing the reason
|
|
415
|
+
*/
|
|
416
|
+
static blockAutomaticLiftAutomaticBlock(deviceId, command) {
|
|
340
417
|
const d = this.getDevice(deviceId);
|
|
341
418
|
if (d === undefined) {
|
|
342
419
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -344,18 +421,30 @@ class API {
|
|
|
344
421
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.blockAutomatic)) {
|
|
345
422
|
return new Error(`Device with ID ${deviceId} is not capable of blocking automatic`);
|
|
346
423
|
}
|
|
347
|
-
d.log(models_1.LogLevel.Info,
|
|
348
|
-
d.blockAutomationHandler.liftAutomaticBlock();
|
|
424
|
+
d.log(models_1.LogLevel.Info, 'Received API Call to lift automatic block.');
|
|
425
|
+
d.blockAutomationHandler.liftAutomaticBlock(command);
|
|
349
426
|
return null;
|
|
350
427
|
}
|
|
351
428
|
/**
|
|
352
429
|
* Blocks the automatic of the given device for provided Duration
|
|
353
|
-
* @param
|
|
354
|
-
* @param
|
|
355
|
-
* @param
|
|
356
|
-
* @returns
|
|
430
|
+
* @param deviceId - The target device
|
|
431
|
+
* @param duration - The duration in ms for which the device should remain in current state
|
|
432
|
+
* @param onCollision - The desired Collision Solving strategy, in case the automatic being blocked already
|
|
433
|
+
* @returns In case it failed the Error containing the reason
|
|
434
|
+
* @deprecated Use {@link API.blockAutomaticSetBlock} instead
|
|
435
|
+
* TODO: Remove deprecated API method
|
|
357
436
|
*/
|
|
358
437
|
static blockAutomatic(deviceId, duration, onCollision) {
|
|
438
|
+
this.blockAutomaticSetBlock(deviceId, new models_1.BlockAutomaticCommand(models_1.CommandSource.API, duration, '', onCollision));
|
|
439
|
+
return null;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Blocks the automatic of the given device for provided Duration
|
|
443
|
+
* @param deviceId - The target device
|
|
444
|
+
* @param command - The command to block the automatic
|
|
445
|
+
* @returns In case it failed the Error containing the reason
|
|
446
|
+
*/
|
|
447
|
+
static blockAutomaticSetBlock(deviceId, command) {
|
|
359
448
|
const d = this.getDevice(deviceId);
|
|
360
449
|
if (d === undefined) {
|
|
361
450
|
return new Error(`Device with ID ${deviceId} not found`);
|
|
@@ -363,10 +452,11 @@ class API {
|
|
|
363
452
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.blockAutomatic)) {
|
|
364
453
|
return new Error(`Device with ID ${deviceId} is not capable of blocking automatic`);
|
|
365
454
|
}
|
|
366
|
-
d.log(models_1.LogLevel.Info,
|
|
367
|
-
d.blockAutomationHandler.disableAutomatic(
|
|
455
|
+
d.log(models_1.LogLevel.Info, 'Received API Call to block automatic.');
|
|
456
|
+
d.blockAutomationHandler.disableAutomatic(command);
|
|
368
457
|
return null;
|
|
369
458
|
}
|
|
459
|
+
// TODO: Missing Comment
|
|
370
460
|
static pressButtonSwitch(deviceId, position, pressType) {
|
|
371
461
|
const d = this.getDevice(deviceId);
|
|
372
462
|
if (d === undefined) {
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
import { BlockAutomaticCommand, BlockAutomaticLiftBlockCommand, BlockAutomaticUntilCommand, LogLevel, RestoreTargetAutomaticValueCommand } from '../../models';
|
|
2
|
+
import { LogDebugType } from './log-service';
|
|
3
|
+
/**
|
|
4
|
+
* This class is responsible for blocking automatic actions for a specific duration.
|
|
5
|
+
* It also provides the possibility to lift the block before the duration is over {@link BlockAutomaticLiftBlockCommand}.
|
|
6
|
+
*/
|
|
3
7
|
export declare class BlockAutomaticHandler {
|
|
8
|
+
private readonly _logger;
|
|
4
9
|
private readonly _restoreAutomatic;
|
|
5
|
-
constructor(restoreAutomaticCb: (c: RestoreTargetAutomaticValueCommand) => void);
|
|
6
10
|
private _automaticBlockedUntil;
|
|
11
|
+
private _restoreAutomaticStateTimeout;
|
|
12
|
+
constructor(restoreAutomaticCb: (c: RestoreTargetAutomaticValueCommand) => void, _logger: (level: LogLevel, message: string, logDebugType?: LogDebugType) => void);
|
|
7
13
|
get automaticBlockedUntil(): Date;
|
|
8
14
|
private set automaticBlockedUntil(value);
|
|
9
|
-
private _restoreAutomaticStateTimeout;
|
|
10
|
-
get restoreAutomaticStateTimeout(): NodeJS.Timeout | null;
|
|
11
15
|
get automaticBlockActive(): boolean;
|
|
12
|
-
disableAutomatic(
|
|
13
|
-
disableAutomaticUntil(
|
|
14
|
-
liftAutomaticBlock(): void;
|
|
16
|
+
disableAutomatic(c: BlockAutomaticCommand): void;
|
|
17
|
+
disableAutomaticUntil(c: BlockAutomaticUntilCommand): void;
|
|
18
|
+
liftAutomaticBlock(c: BlockAutomaticLiftBlockCommand): void;
|
|
19
|
+
private removeRestoreTimeout;
|
|
15
20
|
private updateRestoreTimeout;
|
|
16
21
|
toJSON(): Partial<BlockAutomaticHandler>;
|
|
17
22
|
}
|
|
@@ -7,8 +7,13 @@ exports.BlockAutomaticHandler = void 0;
|
|
|
7
7
|
const models_1 = require("../../models");
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
/**
|
|
11
|
+
* This class is responsible for blocking automatic actions for a specific duration.
|
|
12
|
+
* It also provides the possibility to lift the block before the duration is over {@link BlockAutomaticLiftBlockCommand}.
|
|
13
|
+
*/
|
|
10
14
|
class BlockAutomaticHandler {
|
|
11
|
-
constructor(restoreAutomaticCb) {
|
|
15
|
+
constructor(restoreAutomaticCb, _logger) {
|
|
16
|
+
this._logger = _logger;
|
|
12
17
|
this._automaticBlockedUntil = new Date(0);
|
|
13
18
|
this._restoreAutomaticStateTimeout = null;
|
|
14
19
|
this._restoreAutomatic = restoreAutomaticCb;
|
|
@@ -18,39 +23,53 @@ class BlockAutomaticHandler {
|
|
|
18
23
|
}
|
|
19
24
|
set automaticBlockedUntil(target) {
|
|
20
25
|
this._automaticBlockedUntil = target;
|
|
21
|
-
this.updateRestoreTimeout();
|
|
22
|
-
}
|
|
23
|
-
get restoreAutomaticStateTimeout() {
|
|
24
|
-
return this._restoreAutomaticStateTimeout;
|
|
25
26
|
}
|
|
26
27
|
get automaticBlockActive() {
|
|
27
28
|
return this._automaticBlockedUntil > new Date();
|
|
28
29
|
}
|
|
29
|
-
disableAutomatic(
|
|
30
|
-
this.disableAutomaticUntil(new Date(utils_1.Utils.nowMS() + durationMS), onCollideAction);
|
|
30
|
+
disableAutomatic(c) {
|
|
31
|
+
this.disableAutomaticUntil(new models_1.BlockAutomaticUntilCommand(c, new Date(utils_1.Utils.nowMS() + c.durationMS), '', c.onCollideAction, c.revertToAutomaticAtBlockLift));
|
|
31
32
|
}
|
|
32
|
-
disableAutomaticUntil(
|
|
33
|
+
disableAutomaticUntil(c) {
|
|
33
34
|
const now = new Date();
|
|
34
35
|
if (this._automaticBlockedUntil > now &&
|
|
35
|
-
onCollideAction != models_1.CollisionSolving.override &&
|
|
36
|
-
(onCollideAction != models_1.CollisionSolving.overrideIfGreater || targetDate < this._automaticBlockedUntil)) {
|
|
36
|
+
c.onCollideAction != models_1.CollisionSolving.override &&
|
|
37
|
+
(c.onCollideAction != models_1.CollisionSolving.overrideIfGreater || c.targetDate < this._automaticBlockedUntil)) {
|
|
38
|
+
this._logger(models_1.LogLevel.Info, `Block already active until "${this.automaticBlockedUntil.toLocaleTimeString('de-DE')}" --> ignoring: ${c.logMessage}`);
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
39
|
-
this.
|
|
41
|
+
this._logger(models_1.LogLevel.Info, c.logMessage);
|
|
42
|
+
this.automaticBlockedUntil = c.targetDate;
|
|
43
|
+
if (c.revertToAutomaticAtBlockLift) {
|
|
44
|
+
const revertCommand = new models_1.RestoreTargetAutomaticValueCommand(c, 'Restore to automatic state after block.');
|
|
45
|
+
revertCommand.overrideCommandSource = models_1.CommandSource.Automatic;
|
|
46
|
+
this.updateRestoreTimeout(revertCommand);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.removeRestoreTimeout();
|
|
50
|
+
}
|
|
40
51
|
}
|
|
41
|
-
liftAutomaticBlock() {
|
|
52
|
+
liftAutomaticBlock(c) {
|
|
53
|
+
this.removeRestoreTimeout();
|
|
42
54
|
this.automaticBlockedUntil = new Date(0);
|
|
55
|
+
if (c.revertToAutomatic) {
|
|
56
|
+
this._restoreAutomatic(new models_1.RestoreTargetAutomaticValueCommand(c));
|
|
57
|
+
}
|
|
43
58
|
}
|
|
44
|
-
|
|
59
|
+
removeRestoreTimeout() {
|
|
45
60
|
if (this._restoreAutomaticStateTimeout !== null) {
|
|
46
61
|
clearTimeout(this._restoreAutomaticStateTimeout);
|
|
62
|
+
this._restoreAutomaticStateTimeout = null;
|
|
47
63
|
}
|
|
64
|
+
}
|
|
65
|
+
updateRestoreTimeout(c) {
|
|
66
|
+
this.removeRestoreTimeout();
|
|
48
67
|
this._restoreAutomaticStateTimeout = utils_1.Utils.guardedTimeout(() => {
|
|
49
|
-
this._restoreAutomatic(
|
|
68
|
+
this._restoreAutomatic(c);
|
|
50
69
|
}, this._automaticBlockedUntil.getTime() - utils_1.Utils.nowMS() + 500, this);
|
|
51
70
|
}
|
|
52
71
|
toJSON() {
|
|
53
|
-
return utils_1.Utils.jsonFilter(lodash_1.default.omit(this, ['_restoreAutomatic']));
|
|
72
|
+
return utils_1.Utils.jsonFilter(lodash_1.default.omit(this, ['_restoreAutomatic', '_logger']));
|
|
54
73
|
}
|
|
55
74
|
}
|
|
56
75
|
exports.BlockAutomaticHandler = BlockAutomaticHandler;
|
|
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NameDatePair = void 0;
|
|
17
18
|
__exportStar(require("./muell-tonne"), exports);
|
|
18
19
|
__exportStar(require("./m\u00FCll-service"), exports);
|
|
20
|
+
var name_date_pair_1 = require("./name-date-pair");
|
|
21
|
+
Object.defineProperty(exports, "NameDatePair", { enumerable: true, get: function () { return name_date_pair_1.NameDatePair; } });
|
|
@@ -2,8 +2,18 @@ import { iSpeaker } from '../../devices';
|
|
|
2
2
|
export declare class MuellTonne {
|
|
3
3
|
name: string;
|
|
4
4
|
ownSpeaker?: iSpeaker | undefined;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The duration of a signle day in milliseconds (used for date calculations)
|
|
7
|
+
*/
|
|
8
|
+
private static readonly oneDay;
|
|
9
|
+
/**
|
|
10
|
+
* The next date this bin will be emptied
|
|
11
|
+
*/
|
|
6
12
|
nextDate: Date | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* All dates this bin will be emptied
|
|
15
|
+
* After a date has passed it will be removed
|
|
16
|
+
*/
|
|
7
17
|
dates: Date[];
|
|
8
18
|
constructor(name: string, ownSpeaker?: iSpeaker | undefined);
|
|
9
19
|
sortDates(): void;
|
|
@@ -8,7 +8,14 @@ class MuellTonne {
|
|
|
8
8
|
constructor(name, ownSpeaker) {
|
|
9
9
|
this.name = name;
|
|
10
10
|
this.ownSpeaker = ownSpeaker;
|
|
11
|
+
/**
|
|
12
|
+
* The next date this bin will be emptied
|
|
13
|
+
*/
|
|
11
14
|
this.nextDate = undefined;
|
|
15
|
+
/**
|
|
16
|
+
* All dates this bin will be emptied
|
|
17
|
+
* After a date has passed it will be removed
|
|
18
|
+
*/
|
|
12
19
|
this.dates = [];
|
|
13
20
|
}
|
|
14
21
|
sortDates() {
|
|
@@ -65,4 +72,7 @@ class MuellTonne {
|
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
exports.MuellTonne = MuellTonne;
|
|
75
|
+
/**
|
|
76
|
+
* The duration of a signle day in milliseconds (used for date calculations)
|
|
77
|
+
*/
|
|
68
78
|
MuellTonne.oneDay = 1000 * 60 * 60 * 24;
|