hoffmation-base 3.0.0-alpha.8 → 3.0.0-alpha.81
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 +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 +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/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 -5
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -2
- 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 +32 -3
- 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 -4
- 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 +4 -1
- package/lib/server/devices/device-cluster.js +9 -4
- package/lib/server/devices/deviceType.d.ts +5 -0
- package/lib/server/devices/deviceType.js +5 -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 +78 -17
- 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 +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 +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 -6
- 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 +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/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/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 -18
- 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 +42 -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/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 +122 -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 +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 +25 -60
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -14
- 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 +7 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
- 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 -15
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
- 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 -9
- 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 -8
- 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 -9
- 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 -22
- 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 +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 +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 +50 -9
- package/lib/server/services/ac/ac-device.js +115 -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 +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 +58 -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/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 +27 -29
- 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
|
@@ -1,12 +1,46 @@
|
|
|
1
1
|
import { iExcessEnergyConsumer } from './iExcessEnergyConsumer';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
|
-
|
|
3
|
+
import { iDisposable } from '../../services';
|
|
4
|
+
/**
|
|
5
|
+
* Interface for devices that can manage energy consumption and production.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.energyManager} capability.
|
|
8
|
+
*/
|
|
9
|
+
export interface iEnergyManager extends iBaseDevice, iDisposable {
|
|
10
|
+
/**
|
|
11
|
+
* The total energy being excessive at the moment of last calculation.
|
|
12
|
+
*
|
|
13
|
+
* For devices with {@link DeviceCapability.energyManager} capability.
|
|
14
|
+
*/
|
|
4
15
|
excessEnergy: number;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the Energy Manager actively blocks AC
|
|
18
|
+
*/
|
|
19
|
+
readonly acBlocked: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The total wattaage being injected into the grid at the moment of last calculation.
|
|
22
|
+
*/
|
|
5
23
|
readonly injectingWattage: number;
|
|
24
|
+
/**
|
|
25
|
+
* The total wattage being drawn from the grid at the moment of last calculation.
|
|
26
|
+
*/
|
|
6
27
|
readonly drawingWattage: number;
|
|
28
|
+
/**
|
|
29
|
+
* The total wattage being consumed within the house at the moment of last calculation.
|
|
30
|
+
*/
|
|
7
31
|
readonly selfConsumingWattage: number;
|
|
32
|
+
/**
|
|
33
|
+
* Add a device that can consume excess energy
|
|
34
|
+
* @param device - The device that can consume excess energy
|
|
35
|
+
*/
|
|
8
36
|
addExcessConsumer(device: iExcessEnergyConsumer): void;
|
|
37
|
+
/**
|
|
38
|
+
* Recalculates power-sharing between devices.
|
|
39
|
+
*/
|
|
9
40
|
recalculatePowerSharing(): void;
|
|
10
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Generates a report stating used energy and devices that consumed it
|
|
43
|
+
* @returns The report
|
|
44
|
+
*/
|
|
11
45
|
getReport(): string;
|
|
12
46
|
}
|
|
@@ -1,12 +1,40 @@
|
|
|
1
|
-
import { ExcessEnergyConsumerSettings
|
|
1
|
+
import { ExcessEnergyConsumerSettings } from '../../../models';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a device that can consume excess energy.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.excessEnergyConsumer} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iExcessEnergyConsumer extends iBaseDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The energy consuming settings for this device
|
|
11
|
+
*/
|
|
4
12
|
readonly energySettings: ExcessEnergyConsumerSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Consumption in Watts, needed to manage the Excess consumer
|
|
15
|
+
*/
|
|
5
16
|
currentConsumption: number;
|
|
17
|
+
/**
|
|
18
|
+
* Whether this consumer is currently on or off
|
|
19
|
+
*/
|
|
6
20
|
on: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if this device is available to consume excess energy
|
|
23
|
+
* --> Device might be unavailable due to a force action from the user or other circumstances
|
|
24
|
+
* @returns Whether this device is available to be turned on to consume excess energy
|
|
25
|
+
*/
|
|
7
26
|
isAvailableForExcessEnergy(): boolean;
|
|
8
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Turn on this device to consume excess energy
|
|
29
|
+
*/
|
|
9
30
|
turnOnForExcessEnergy(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Turn off this device as we don't have enough excess energy to power it
|
|
33
|
+
*/
|
|
10
34
|
turnOffDueToMissingEnergy(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Check if this device was activated by excess energy
|
|
37
|
+
* @returns Whether this device was activated by excess energy
|
|
38
|
+
*/
|
|
11
39
|
wasActivatedByExcessEnergy(): boolean;
|
|
12
40
|
}
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import { GarageDoorOpenerSettings } from '../../../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a garage door opener device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.garageDoorOpener} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iGarageDoorOpener extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The settings of the garage door opener
|
|
11
|
+
*/
|
|
4
12
|
settings: GarageDoorOpenerSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the garage door is currently closed
|
|
15
|
+
*/
|
|
5
16
|
readonly isClosed: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Open the garage door
|
|
19
|
+
*/
|
|
6
20
|
open(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Close the garage door
|
|
23
|
+
*/
|
|
7
24
|
close(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Trigger the garage door.
|
|
27
|
+
* This mostly results in driving the door to the opposite state, but if fired rapidly, it might stop the door in the middle.
|
|
28
|
+
*/
|
|
8
29
|
trigger(): void;
|
|
9
30
|
}
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
import { WindowPosition } from '../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Handle Sensors.
|
|
5
|
+
* A handle sensor can be any device that is capable of detecting the position of a window handle e.g. a sensor, a window handle, etc.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.handleSensor} capability.
|
|
8
|
+
*/
|
|
3
9
|
export interface iHandleSensor extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The current position of the handle
|
|
12
|
+
*/
|
|
4
13
|
position: WindowPosition;
|
|
14
|
+
/**
|
|
15
|
+
* The time the handle was open in minutes
|
|
16
|
+
*/
|
|
5
17
|
minutesOpen: number;
|
|
18
|
+
/**
|
|
19
|
+
* Add a callback that is called when the handle is change to open
|
|
20
|
+
* @param pCallback - The callback to fire
|
|
21
|
+
*/
|
|
6
22
|
addOffenCallback(pCallback: (pValue: boolean) => void): void;
|
|
23
|
+
/**
|
|
24
|
+
* Add a callback that is called when the handle is changed to ajar
|
|
25
|
+
* @param pCallback - The callback to fire
|
|
26
|
+
*/
|
|
7
27
|
addKippCallback(pCallback: (pValue: boolean) => void): void;
|
|
28
|
+
/**
|
|
29
|
+
* Add a callback that is called when the handle is changed to closed
|
|
30
|
+
* @param pCallback - The callback to fire
|
|
31
|
+
*/
|
|
8
32
|
addClosedCallback(pCallback: (pValue: boolean) => void): void;
|
|
9
33
|
}
|
|
@@ -1,17 +1,52 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { HeaterSettings } from '../../../models';
|
|
3
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
4
|
-
|
|
3
|
+
import { iDisposable } from '../../services';
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a heater device.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.heater} capability.
|
|
8
|
+
*/
|
|
9
|
+
export interface iHeater extends iRoomDevice, iDisposable {
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the heater
|
|
12
|
+
*/
|
|
5
13
|
settings: HeaterSettings;
|
|
14
|
+
/**
|
|
15
|
+
* The desired temperature in degree Celsius for this room.
|
|
16
|
+
*/
|
|
6
17
|
desiredTemperature: number;
|
|
7
|
-
|
|
18
|
+
/**
|
|
19
|
+
* The current valve position of the heater (between 0 and 1.0)
|
|
20
|
+
*/
|
|
8
21
|
readonly iLevel: number;
|
|
22
|
+
/**
|
|
23
|
+
* The current temperature in degree Celsius of the heater
|
|
24
|
+
*/
|
|
9
25
|
readonly iTemperature: number;
|
|
10
|
-
|
|
26
|
+
/**
|
|
27
|
+
* The current room temperature in degree Celsius
|
|
28
|
+
*/
|
|
29
|
+
readonly roomTemperature: number;
|
|
30
|
+
/**
|
|
31
|
+
* The interval to persist the heater information
|
|
32
|
+
* This mainly enforces the interval to be implemented.
|
|
33
|
+
*/
|
|
11
34
|
readonly persistHeaterInterval: NodeJS.Timeout;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the heater is currently in a season turnoff state (no heating in summer)
|
|
37
|
+
*/
|
|
12
38
|
seasonTurnOff: boolean;
|
|
13
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Perform a check to calculate the new desired heater state
|
|
41
|
+
*/
|
|
14
42
|
checkAutomaticChange(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Informs the heater that the temperature of the room has changed
|
|
45
|
+
* @param newTemperatur - The new temperature in degree Celsius.
|
|
46
|
+
*/
|
|
15
47
|
onTemperaturChange(newTemperatur: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Persists the current heater information to the database
|
|
50
|
+
*/
|
|
16
51
|
persistHeater(): void;
|
|
17
52
|
}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
import { HumiditySensorChangeAction } from '../../../models';
|
|
3
3
|
export declare const UNDEFINED_HUMIDITY_VALUE = -1;
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a humidity sensor device.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.humiditySensor} capability.
|
|
8
|
+
*/
|
|
4
9
|
export interface iHumiditySensor extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The interval to persist the humidity sensor information
|
|
12
|
+
* This mainly enforces the interval to be implemented.
|
|
13
|
+
*/
|
|
5
14
|
readonly persistHumiditySensorInterval: NodeJS.Timeout;
|
|
15
|
+
/**
|
|
16
|
+
* The current humidity in percent
|
|
17
|
+
*/
|
|
6
18
|
readonly humidity: number;
|
|
7
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Add a callback that is called when the humidity changes
|
|
21
|
+
* @param pCallback - The callback to fire
|
|
22
|
+
*/
|
|
23
|
+
addHumidityCallback(pCallback: (action: HumiditySensorChangeAction) => void): void;
|
|
24
|
+
/**
|
|
25
|
+
* Persists the current humidity information to the database
|
|
26
|
+
*/
|
|
8
27
|
persistHumiditySensor(): void;
|
|
9
28
|
}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a illumination sensor device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.illuminationSensor} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iIlluminationSensor extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* The current illumination level detected by the sensor
|
|
10
|
+
*
|
|
11
|
+
* For {@link DeviceType.ZigbeeAquaraMotion} devices, this is the current illuminance in lux.
|
|
12
|
+
* TODO: Add unit and make it comparable
|
|
13
|
+
*/
|
|
3
14
|
currentIllumination: number;
|
|
4
15
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { LampSetLightCommand, LampSetTimeBasedCommand, LampToggleLightCommand } from '../../../models';
|
|
2
2
|
import { iActuator } from './iActuator';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a lamp device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.lamp} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iLamp extends iActuator {
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
10
|
+
* Changes the state of the lamp based on the time
|
|
11
|
+
* @param command - The command to execute
|
|
6
12
|
*/
|
|
7
|
-
readonly lightOn: boolean;
|
|
8
13
|
setTimeBased(command: LampSetTimeBasedCommand): void;
|
|
9
14
|
/**
|
|
10
15
|
* Toggles the state of the lamp
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { LedSetLightCommand, LedSettings } from '../../../models';
|
|
2
2
|
import { iDimmableLamp } from './iDimmableLamp';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for RGB-CCT LED-Devices.
|
|
5
|
+
* A RGB-CCT LED-Device is a LED-Device that is capable of emitting light in different colors and color temperatures.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.ledLamp} capability.
|
|
8
|
+
*/
|
|
3
9
|
export interface iLedRgbCct extends iDimmableLamp {
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the LED-Device (e.g. brightness, color, colortemp) for different times of the day
|
|
12
|
+
*/
|
|
4
13
|
settings: LedSettings;
|
|
14
|
+
/**
|
|
15
|
+
* The currently active color in HEX representation
|
|
16
|
+
*/
|
|
5
17
|
readonly color: string;
|
|
18
|
+
/**
|
|
19
|
+
* The currently active color temperature
|
|
20
|
+
*/
|
|
6
21
|
readonly colortemp: number;
|
|
22
|
+
/**
|
|
23
|
+
* This function sets the light to a specific value
|
|
24
|
+
* Accessible in API
|
|
25
|
+
* @param c - The command to execute
|
|
26
|
+
*/
|
|
7
27
|
setLight(c: LedSetLightCommand): void;
|
|
8
28
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
import { MagnetPosition } from '../models';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a magnet sensor device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.magnetSensor} capability.
|
|
7
|
+
*/
|
|
8
|
+
export interface iMagnetSensor extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The current state of the Magnet Contact
|
|
11
|
+
*/
|
|
12
|
+
position: MagnetPosition;
|
|
13
|
+
/**
|
|
14
|
+
* Whether a telegram message should be sent when the magnet contact is opened
|
|
15
|
+
*/
|
|
16
|
+
telegramOnOpen: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Whether to announce when the magnet contact is opened using {@link iSpeaker}
|
|
19
|
+
*/
|
|
20
|
+
speakOnOpen: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Add a callback that is called when the magnet contact is opened
|
|
23
|
+
* @param pCallback - The callback to fire
|
|
24
|
+
*/
|
|
25
|
+
addOpenCallback(pCallback: (pValue: boolean) => void): void;
|
|
26
|
+
/**
|
|
27
|
+
* Add a callback that is called when the magnet contact is closed
|
|
28
|
+
* @param pCallback - The callback to fire
|
|
29
|
+
*/
|
|
30
|
+
addClosedCallback(pCallback: (pValue: boolean) => void): void;
|
|
31
|
+
}
|
|
@@ -1,14 +1,34 @@
|
|
|
1
|
-
import { MotionSensorSettings } from '../../../models';
|
|
1
|
+
import { MotionSensorAction, MotionSensorSettings } from '../../../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a motion sensor device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.motionSensor} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iMotionSensor extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The settings of the MotionSensor
|
|
11
|
+
*/
|
|
4
12
|
settings: MotionSensorSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Whether motion is currently detected
|
|
15
|
+
*/
|
|
5
16
|
readonly movementDetected: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Time since the last motion was detected in seconds
|
|
19
|
+
*/
|
|
6
20
|
readonly timeSinceLastMotion: number;
|
|
21
|
+
/**
|
|
22
|
+
* The number of detections today so far
|
|
23
|
+
*/
|
|
7
24
|
detectionsToday: number;
|
|
8
25
|
/**
|
|
9
26
|
* Adds a callback for when a motion state has changed.
|
|
10
|
-
* @param pCallback Function that accepts the new state as parameter
|
|
27
|
+
* @param pCallback - Function that accepts the new state as parameter
|
|
28
|
+
*/
|
|
29
|
+
addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
|
|
30
|
+
/**
|
|
31
|
+
* Persists the current motion information to the database
|
|
11
32
|
*/
|
|
12
|
-
addMovementCallback(pCallback: (newState: boolean) => void): void;
|
|
13
33
|
persistMotionSensor(): void;
|
|
14
34
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { RoomBase } from '../../../models';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a device that is located in a single room.
|
|
5
|
+
*/
|
|
3
6
|
export interface iRoomDevice extends iBaseDevice {
|
|
7
|
+
/**
|
|
8
|
+
* The room the device is in (this might be undefined if the device is not yet properly initialized)
|
|
9
|
+
*/
|
|
4
10
|
room: RoomBase | undefined;
|
|
5
11
|
}
|
|
@@ -1,13 +1,42 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { iRoomDevice } from './index';
|
|
3
2
|
import { SceneSettings } from '../../../models';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a scene which for simplification is considered as a device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.scene} capability.
|
|
7
|
+
*/
|
|
4
8
|
export interface iScene extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The settings for the scene
|
|
11
|
+
*/
|
|
12
|
+
settings: SceneSettings;
|
|
13
|
+
/**
|
|
14
|
+
* A description of the scene providing the user with information about what the scene does
|
|
15
|
+
*/
|
|
5
16
|
description: string;
|
|
17
|
+
/**
|
|
18
|
+
* Callback to be executed when the scene should be started
|
|
19
|
+
*/
|
|
6
20
|
readonly onSceneStart: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Callback to be executed when the scene should be ended
|
|
23
|
+
*/
|
|
7
24
|
readonly onSceneEnd: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the scene is currently active
|
|
27
|
+
*/
|
|
8
28
|
readonly on: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The timeout for the automatic end of the scene
|
|
31
|
+
*/
|
|
9
32
|
readonly automaticEndTimeout: NodeJS.Timeout | null;
|
|
10
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Starts the scene for the given duration
|
|
35
|
+
* @param timeout - If set, the scene will end after the given time in ms
|
|
36
|
+
*/
|
|
11
37
|
startScene(timeout?: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* Ends the scene --> This also stops the automatic end timeout.
|
|
40
|
+
*/
|
|
12
41
|
endScene(): void;
|
|
13
42
|
}
|
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
import { Window } from '../groups';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
3
|
import { ShutterSetLevelCommand, ShutterSettings } from '../../../models';
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a shutter device.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.shutter} capability.
|
|
8
|
+
*/
|
|
4
9
|
export interface iShutter extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The settings for the shutter
|
|
12
|
+
*/
|
|
5
13
|
settings: ShutterSettings;
|
|
6
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The current level of the shutter (0 = closed, 100 = open)
|
|
16
|
+
*/
|
|
17
|
+
readonly currentLevel: number;
|
|
18
|
+
/**
|
|
19
|
+
* The desired level of the shutter for this window (this might be different from the current level due to the desired level being set by the user)
|
|
20
|
+
*/
|
|
7
21
|
desiredWindowShutterLevel: number;
|
|
22
|
+
/**
|
|
23
|
+
* The window this shutter is located within
|
|
24
|
+
*/
|
|
8
25
|
window: Window | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Persists the current information of the shutter to the database
|
|
28
|
+
*/
|
|
9
29
|
persist(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the level of the shutter
|
|
32
|
+
* @param command - The command to execute
|
|
33
|
+
*/
|
|
10
34
|
setLevel(command: ShutterSetLevelCommand): void;
|
|
11
35
|
}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a smoke detector device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.smokeSensor} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iSmokeDetectorDevice extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Indicates if the smoke detector is currently detecting smoke
|
|
10
|
+
*/
|
|
3
11
|
readonly smoke: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Stops the alarm of the smoke detector
|
|
14
|
+
* @param quiet - If true, the alarm will be stopped without announcing alarm end.
|
|
15
|
+
*/
|
|
4
16
|
stopAlarm(quiet: boolean): void;
|
|
5
17
|
}
|
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a speaker device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.speaker} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iSpeaker extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Plays an mp3 file on the device
|
|
10
|
+
* @param mp3Name - The name of the mp3 file to play
|
|
11
|
+
* @param duration - The duration of the mp3 file in seconds
|
|
12
|
+
* @param [volume] - The volume to play the mp3 file with
|
|
13
|
+
* @param [onlyWhenPlaying] - If true, the mp3 file will only be played when the device is already playing something
|
|
14
|
+
* @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
|
|
15
|
+
*/
|
|
3
16
|
playOnDevice(mp3Name: string, duration: number, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
17
|
+
/**
|
|
18
|
+
* Plays a test message on the device
|
|
19
|
+
*/
|
|
4
20
|
playTestMessage(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Plays a file from an url on the device
|
|
23
|
+
* @param url - The url to play
|
|
24
|
+
*/
|
|
5
25
|
playUrl(url: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Stops the current playback on the device
|
|
28
|
+
*/
|
|
6
29
|
stop(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Speaks a message on the device using the text-to-speech engine
|
|
32
|
+
* @param pMessage - The message to speak
|
|
33
|
+
* @param [volume] - The volume to speak the message with
|
|
34
|
+
* @param [onlyWhenPlaying] - If true, the message will only be spoken when the device is already playing something
|
|
35
|
+
* @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
|
|
36
|
+
*/
|
|
7
37
|
speakOnDevice(pMessage: string, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
8
38
|
}
|
|
@@ -1,12 +1,41 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
import { TemperatureSensorChangeAction } from '../../../models';
|
|
3
3
|
export declare const UNDEFINED_TEMP_VALUE = -99;
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a temperature sensor device.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.temperatureSensor} capability.
|
|
8
|
+
*/
|
|
4
9
|
export interface iTemperatureSensor extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The interval to persist the temperature sensor information
|
|
12
|
+
* Mainly used to enforce implementation
|
|
13
|
+
*/
|
|
5
14
|
readonly persistTemperatureSensorInterval: NodeJS.Timeout;
|
|
15
|
+
/**
|
|
16
|
+
* The current room temperature as a number in Celsius
|
|
17
|
+
*/
|
|
6
18
|
roomTemperature: number;
|
|
7
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The devices measured Temperature as a number in Celsius
|
|
21
|
+
*/
|
|
22
|
+
readonly iTemperature: number;
|
|
23
|
+
/**
|
|
24
|
+
* Formatted Temperature as a string in Celsius
|
|
25
|
+
*/
|
|
8
26
|
sTemperature: string;
|
|
9
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Adds a callback to be called when the temperature changes
|
|
29
|
+
* @param pCallback - The callback to be called
|
|
30
|
+
*/
|
|
31
|
+
addTempChangeCallback(pCallback: (action: TemperatureSensorChangeAction) => void): void;
|
|
32
|
+
/**
|
|
33
|
+
* Inform the temperature sensor that the temperature in the room has changed
|
|
34
|
+
* @param newTemperatur - The new temperature in the room in Celsius
|
|
35
|
+
*/
|
|
10
36
|
onTemperaturChange(newTemperatur: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Persists the current temperature sensor information to the database
|
|
39
|
+
*/
|
|
11
40
|
persistTemperaturSensor(): void;
|
|
12
41
|
}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { BlockAutomaticHandler } from '../../services/blockAutomaticHandler';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
3
|
import { RestoreTargetAutomaticValueCommand } from '../../../models';
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a device which automatic action can be temporarily disabled.
|
|
6
|
+
* E.g. Forcing a lamp to stay on, even if the automatic would turn it off.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.blockAutomatic} capability.
|
|
9
|
+
*/
|
|
4
10
|
export interface iTemporaryDisableAutomatic extends iBaseDevice {
|
|
11
|
+
/**
|
|
12
|
+
* The block automation handler containing the current block state/time, etc.
|
|
13
|
+
*/
|
|
5
14
|
readonly blockAutomationHandler: BlockAutomaticHandler;
|
|
15
|
+
/**
|
|
16
|
+
* Restores the automatic value/state of the device
|
|
17
|
+
* @param command - The command to restore the automatic value/state
|
|
18
|
+
*/
|
|
6
19
|
restoreTargetAutomaticValue(command: RestoreTargetAutomaticValueCommand): void;
|
|
7
20
|
}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a TV device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.tv} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iTvDevice extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Whether the TV is currently on
|
|
10
|
+
*/
|
|
3
11
|
readonly on: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Turns the TV on
|
|
14
|
+
*/
|
|
4
15
|
turnOn(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Turns the TV off
|
|
18
|
+
*/
|
|
5
19
|
turnOff(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Increases the volume of the TV
|
|
22
|
+
*/
|
|
6
23
|
volumeUp(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Decreases the volume of the TV
|
|
26
|
+
*/
|
|
7
27
|
volumeDown(): void;
|
|
8
28
|
}
|