hoffmation-base 3.0.0-alpha.23 → 3.0.0-alpha.25
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 +20 -20
- package/lib/liquid-pid.js +1 -0
- package/lib/models/blockAutomaticSettings.d.ts +23 -0
- package/lib/models/blockAutomaticSettings.js +19 -0
- package/lib/models/command/ShutterSetLevelCommand.d.ts +1 -0
- package/lib/models/command/ShutterSetLevelCommand.js +1 -0
- package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +1 -0
- package/lib/models/command/WindowRestoreDesiredPositionCommand.js +1 -0
- package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +1 -0
- package/lib/models/command/WindowSetDesiredPositionCommand.js +1 -0
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +1 -0
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +1 -0
- package/lib/models/command/actuatorSetStateCommand.d.ts +11 -3
- package/lib/models/command/actuatorSetStateCommand.js +8 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +1 -1
- package/lib/models/command/actuatorToggleCommand.js +1 -3
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +1 -0
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +1 -0
- package/lib/models/command/baseCommand.d.ts +8 -0
- package/lib/models/command/blockAutomaticCommand.d.ts +20 -5
- package/lib/models/command/blockAutomaticCommand.js +23 -5
- package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +7 -1
- package/lib/models/command/blockAutomaticLiftBlockCommand.js +7 -1
- package/lib/models/command/blockAutomaticUntilCommand.d.ts +12 -3
- package/lib/models/command/blockAutomaticUntilCommand.js +10 -3
- package/lib/models/command/dimmerSetLightCommand.d.ts +6 -2
- package/lib/models/command/dimmerSetLightCommand.js +12 -8
- package/lib/models/command/floorSetAllShuttersCommand.d.ts +1 -0
- package/lib/models/command/floorSetAllShuttersCommand.js +1 -0
- package/lib/models/command/lampSetLightCommand.d.ts +6 -2
- package/lib/models/command/lampSetLightCommand.js +8 -4
- package/lib/models/command/lampSetTimeBasedCommand.d.ts +11 -4
- package/lib/models/command/lampSetTimeBasedCommand.js +5 -7
- package/lib/models/command/lampToggleLightCommand.d.ts +1 -0
- package/lib/models/command/lampToggleLightCommand.js +1 -0
- package/lib/models/command/ledSetLightCommand.d.ts +6 -2
- package/lib/models/command/ledSetLightCommand.js +12 -8
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +1 -0
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +1 -0
- package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +1 -1
- package/lib/models/command/restoreTargetAutomaticValueCommand.js +1 -3
- package/lib/models/command/roomRestoreLightCommand.d.ts +1 -0
- package/lib/models/command/roomRestoreLightCommand.js +1 -0
- package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +1 -0
- package/lib/models/command/roomRestoreShutterPositionCommand.js +1 -0
- package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +1 -0
- package/lib/models/command/roomSetLightTimeBasedCommand.js +1 -0
- package/lib/models/command/shutterSunriseUpCommand.d.ts +1 -0
- package/lib/models/command/shutterSunriseUpCommand.js +1 -0
- package/lib/models/command/shutterSunsetDownCommand.d.ts +1 -0
- package/lib/models/command/shutterSunsetDownCommand.js +1 -0
- package/lib/models/command/wledSetLightCommand.d.ts +5 -2
- package/lib/models/command/wledSetLightCommand.js +11 -8
- package/lib/models/connectionCallbacks.js +1 -0
- package/lib/models/deviceSettings/acSettings.d.ts +14 -1
- package/lib/models/deviceSettings/acSettings.js +14 -1
- package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
- package/lib/models/deviceSettings/cameraSettings.js +12 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
- package/lib/models/deviceSettings/dachsSettings.js +3 -0
- 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/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -3
- package/lib/models/deviceSettings/heaterSettings.js +21 -3
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +66 -0
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -0
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -0
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -0
- package/lib/models/deviceSettings/shutterSettings.js +11 -0
- 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 +32 -0
- package/lib/models/groupSettings/heatGroupSettings.d.ts +9 -0
- package/lib/models/groupSettings/heatGroupSettings.js +9 -0
- package/lib/models/iIdHolder.d.ts +15 -3
- package/lib/models/index.d.ts +1 -1
- package/lib/models/index.js +3 -1
- package/lib/models/objectSettings.d.ts +3 -0
- 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 +10 -0
- package/lib/models/rooms/RoomBase.js +1 -0
- 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 +9 -0
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +1 -1
- 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 +24 -2
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +4 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +4 -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 +92 -5
- 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/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +36 -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 +10 -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 +1 -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 -1
- package/lib/server/devices/Heizgruppen.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +23 -2
- package/lib/server/devices/IoBrokerBaseDevice.js +16 -4
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +14 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +1 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
- package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +33 -4
- package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +38 -5
- package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +10 -2
- package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +19 -0
- package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +16 -2
- package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +15 -3
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +28 -2
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +13 -1
- package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +6 -1
- package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +16 -1
- 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 +14 -0
- package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
- package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +25 -2
- package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +18 -1
- package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +6 -1
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +15 -10
- package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +21 -3
- package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +7 -1
- package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +8 -0
- package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -4
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
- package/lib/server/devices/blueIris/cameraDevice.d.ts +47 -31
- package/lib/server/devices/blueIris/cameraDevice.js +75 -74
- 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 +31 -9
- package/lib/server/devices/dachs/dachs.js +27 -17
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +20 -1
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +20 -3
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- 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.js +2 -2
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +1 -1
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +1 -4
- package/lib/server/devices/devices.d.ts +43 -7
- package/lib/server/devices/devices.js +42 -6
- package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
- package/lib/server/devices/espresense/detectedBluetoothDevice.js +13 -0
- 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 +6 -1
- package/lib/server/devices/groups/Window.js +15 -8
- 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 +1 -0
- package/lib/server/devices/groups/heatGroup.js +3 -2
- package/lib/server/devices/groups/lightGroup.d.ts +8 -0
- package/lib/server/devices/groups/lightGroup.js +4 -4
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +11 -1
- package/lib/server/devices/groups/windowGroup.js +2 -2
- 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 +7 -4
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +9 -10
- 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 +27 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +22 -1
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +23 -4
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +6 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +6 -1
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +3 -1
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +2 -0
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +5 -3
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
- 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 +3 -0
- package/lib/server/devices/index.d.ts +1 -0
- package/lib/server/devices/index.js +3 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +2 -0
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +4 -2
- package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
- package/lib/server/devices/nameAmountValuePair.js +10 -0
- package/lib/server/devices/scene/room-scene.d.ts +23 -6
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.js +11 -7
- 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 +28 -16
- package/lib/server/devices/shelly/shellyTrv.js +46 -45
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -2
- package/lib/server/devices/wledDevice.js +21 -5
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +11 -0
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +13 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +7 -5
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +16 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +10 -10
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +19 -11
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +44 -40
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +10 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +13 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +8 -0
- 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 +49 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +14 -5
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +20 -13
- package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +8 -1
- package/lib/server/devices/zigbee/zigbeeEuroHeater.js +14 -7
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +1 -3
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +5 -0
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +6 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +1 -0
- 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 +17 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +18 -1
- 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 +7 -1
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +7 -3
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +5 -0
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +6 -1
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +1 -0
- package/lib/server/ioBroker/connection.d.ts +1 -0
- package/lib/server/ioBroker/connection.js +8 -7
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
- package/lib/server/ioBroker/ioBroker.main.js +4 -3
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
- package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
- package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
- package/lib/server/services/ShutterService.js +3 -3
- 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 +9 -6
- package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
- package/lib/server/services/Sonos/sonos-service.js +6 -10
- 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/ac/ac-device.d.ts +38 -1
- package/lib/server/services/ac/ac-device.js +45 -12
- package/lib/server/services/ac/daikin-service.js +2 -2
- 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 +17 -0
- package/lib/server/services/ac/own-daikin-device.js +20 -3
- package/lib/server/services/api/api-service.d.ts +8 -8
- package/lib/server/services/api/api-service.js +26 -26
- package/lib/server/services/blockAutomaticHandler.d.ts +5 -0
- package/lib/server/services/blockAutomaticHandler.js +20 -8
- 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 +10 -4
- 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 +37 -30
- 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-service.d.ts +1 -5
- package/lib/server/services/govee/govee-service.js +3 -5
- package/lib/server/services/govee/own-govee-device.d.ts +17 -12
- package/lib/server/services/govee/own-govee-device.js +17 -18
- 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.js +1 -1
- 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 +12 -0
- package/lib/server/services/log-service/log-debug-type.js +16 -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 +15 -2
- package/lib/server/services/log-service/log-service.js +28 -15
- package/lib/server/services/news-service.d.ts +4 -1
- package/lib/server/services/news-service.js +9 -9
- package/lib/server/services/room-service/room-service.d.ts +17 -2
- package/lib/server/services/room-service/room-service.js +23 -8
- package/lib/server/services/settings-service.d.ts +3 -0
- 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 +3 -0
- package/lib/server/services/utils/index.d.ts +4 -1
- package/lib/server/services/utils/index.js +8 -1
- package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
- package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
- package/lib/server/services/utils/utils.d.ts +9 -13
- package/lib/server/services/victron/victron-device.d.ts +4 -0
- package/lib/server/services/victron/victron-device.js +10 -7
- 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-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 +11 -17
- package/lib/server/services/weather/weather-service.js +28 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -3
- 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
|
@@ -15,15 +15,19 @@ const settings_service_1 = require("../settings-service");
|
|
|
15
15
|
const config_1 = require("../../config");
|
|
16
16
|
const blockAutomaticHandler_1 = require("../blockAutomaticHandler");
|
|
17
17
|
class AcDevice {
|
|
18
|
+
/** @inheritDoc */
|
|
18
19
|
get temperature() {
|
|
19
20
|
return this._roomTemperature;
|
|
20
21
|
}
|
|
22
|
+
/** @inheritDoc */
|
|
21
23
|
get customName() {
|
|
22
24
|
return this.info.customName;
|
|
23
25
|
}
|
|
26
|
+
/** @inheritDoc */
|
|
24
27
|
get room() {
|
|
25
28
|
return this._room;
|
|
26
29
|
}
|
|
30
|
+
/** @inheritDoc */
|
|
27
31
|
set room(room) {
|
|
28
32
|
var _a, _b;
|
|
29
33
|
this._room = room;
|
|
@@ -33,14 +37,18 @@ class AcDevice {
|
|
|
33
37
|
(_b = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.addLastLeftCallback(this.onRoomLastLeave.bind(this));
|
|
34
38
|
}
|
|
35
39
|
}
|
|
40
|
+
/** @inheritDoc */
|
|
36
41
|
get mode() {
|
|
37
42
|
return this._mode;
|
|
38
43
|
}
|
|
39
44
|
constructor(name, roomName, ip, acDeviceType) {
|
|
40
45
|
this.ip = ip;
|
|
41
46
|
this.acDeviceType = acDeviceType;
|
|
47
|
+
/** @inheritDoc */
|
|
42
48
|
this.currentConsumption = -1;
|
|
49
|
+
/** @inheritDoc */
|
|
43
50
|
this.settings = new models_1.AcSettings();
|
|
51
|
+
/** @inheritDoc */
|
|
44
52
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.ac, DeviceCapability_1.DeviceCapability.blockAutomatic];
|
|
45
53
|
this._activatedByExcessEnergy = false;
|
|
46
54
|
this._desiredTemperatur = devices_1.UNDEFINED_TEMP_VALUE;
|
|
@@ -58,32 +66,39 @@ class AcDevice {
|
|
|
58
66
|
this.loadDeviceSettings();
|
|
59
67
|
this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
|
|
60
68
|
}
|
|
69
|
+
/** @inheritDoc */
|
|
61
70
|
get energySettings() {
|
|
62
71
|
return this.settings.energySettings;
|
|
63
72
|
}
|
|
73
|
+
/** @inheritDoc */
|
|
64
74
|
get roomTemperature() {
|
|
65
75
|
return this._roomTemperature;
|
|
66
76
|
}
|
|
77
|
+
/** @inheritDoc */
|
|
67
78
|
get info() {
|
|
68
79
|
return this._info;
|
|
69
80
|
}
|
|
70
81
|
set roomTemperatur(val) {
|
|
71
82
|
this._roomTemperature = val;
|
|
72
83
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
84
|
+
/**
|
|
85
|
+
* The name of this device
|
|
86
|
+
* @returns The human readable name of this device
|
|
87
|
+
*/
|
|
76
88
|
get name() {
|
|
77
89
|
return this.info.customName;
|
|
78
90
|
}
|
|
91
|
+
/** @inheritDoc */
|
|
79
92
|
get id() {
|
|
80
93
|
var _a;
|
|
81
94
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `ac-${this.info.room}-${this.info.customName}`;
|
|
82
95
|
}
|
|
96
|
+
/** @inheritDoc */
|
|
83
97
|
restoreTargetAutomaticValue() {
|
|
84
|
-
this.log(models_1.LogLevel.Debug,
|
|
98
|
+
this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
|
|
85
99
|
this.automaticCheck();
|
|
86
100
|
}
|
|
101
|
+
/** @inheritDoc */
|
|
87
102
|
isAvailableForExcessEnergy() {
|
|
88
103
|
var _a, _b;
|
|
89
104
|
if (this.settings.useAutomatic || (((_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup) === null || _b === void 0 ? void 0 : _b.settings.automaticMode) && this.settings.heatingAllowed)) {
|
|
@@ -97,22 +112,23 @@ class AcDevice {
|
|
|
97
112
|
}
|
|
98
113
|
return this.calculateDesiredMode() !== ac_mode_1.AcMode.Off;
|
|
99
114
|
}
|
|
115
|
+
/** @inheritDoc */
|
|
100
116
|
calculateDesiredMode() {
|
|
101
117
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
102
118
|
const acOn = this.on;
|
|
103
119
|
const heatGroup = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup;
|
|
104
120
|
if (!heatGroup) {
|
|
105
|
-
this.log(models_1.LogLevel.Warn,
|
|
121
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
106
122
|
return ac_mode_1.AcMode.Off;
|
|
107
123
|
}
|
|
108
124
|
this._desiredTemperatur = heatGroup.desiredTemp;
|
|
109
125
|
if (this.settings.manualDisabled) {
|
|
110
|
-
acOn && this.log(models_1.LogLevel.Info,
|
|
126
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as manual disable force is set.');
|
|
111
127
|
return ac_mode_1.AcMode.Off;
|
|
112
128
|
}
|
|
113
129
|
// Check Turn Off Time
|
|
114
130
|
if (!utils_1.Utils.timeWithinBorders(this.settings.minimumHours, this.settings.minimumMinutes, this.settings.maximumHours, this.settings.maximumMinutes)) {
|
|
115
|
-
acOn && this.log(models_1.LogLevel.Info,
|
|
131
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, to respect night settings.');
|
|
116
132
|
return ac_mode_1.AcMode.Off;
|
|
117
133
|
}
|
|
118
134
|
if (this.settings.useOwnTemperature) {
|
|
@@ -130,11 +146,11 @@ class AcDevice {
|
|
|
130
146
|
}
|
|
131
147
|
const temp = this.roomTemperature;
|
|
132
148
|
if (temp === undefined || temp === devices_1.UNDEFINED_TEMP_VALUE) {
|
|
133
|
-
this.log(models_1.LogLevel.Warn,
|
|
149
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no room temperature");
|
|
134
150
|
return ac_mode_1.AcMode.Off;
|
|
135
151
|
}
|
|
136
152
|
if (!heatGroup) {
|
|
137
|
-
this.log(models_1.LogLevel.Warn,
|
|
153
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
138
154
|
return ac_mode_1.AcMode.Off;
|
|
139
155
|
}
|
|
140
156
|
let threshold = acOn ? 0.5 : 1.5;
|
|
@@ -163,9 +179,13 @@ class AcDevice {
|
|
|
163
179
|
}
|
|
164
180
|
return desiredMode;
|
|
165
181
|
}
|
|
182
|
+
/** @inheritDoc */
|
|
166
183
|
onTemperaturChange(newTemperatur) {
|
|
167
184
|
this.roomTemperatur = newTemperatur;
|
|
168
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Persists the current AC-Information to the database
|
|
188
|
+
*/
|
|
169
189
|
persist() {
|
|
170
190
|
var _a;
|
|
171
191
|
if (!utils_1.Utils.anyDboActive || this.on === undefined) {
|
|
@@ -173,6 +193,7 @@ class AcDevice {
|
|
|
173
193
|
}
|
|
174
194
|
(_a = utils_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistAC(this);
|
|
175
195
|
}
|
|
196
|
+
/** @inheritDoc */
|
|
176
197
|
turnOnForExcessEnergy() {
|
|
177
198
|
if (this.blockAutomationHandler.automaticBlockActive) {
|
|
178
199
|
return;
|
|
@@ -181,10 +202,17 @@ class AcDevice {
|
|
|
181
202
|
this.setDesiredMode(this.calculateDesiredMode(), false);
|
|
182
203
|
this.turnOn();
|
|
183
204
|
}
|
|
205
|
+
/** @inheritDoc */
|
|
184
206
|
turnOffDueToMissingEnergy() {
|
|
185
207
|
this.turnOff();
|
|
186
208
|
}
|
|
187
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Sets the state of the AC
|
|
211
|
+
* TODO: Migrate to new command system
|
|
212
|
+
* @param mode - The desired mode
|
|
213
|
+
* @param desiredTemp - The desired temperature (if unset it will be calculated)
|
|
214
|
+
* @param forceTime - The time in ms to force the AC to stay in this state (default 1h)
|
|
215
|
+
*/
|
|
188
216
|
setState(mode, desiredTemp, forceTime = 60 * 60 * 1000) {
|
|
189
217
|
this.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, forceTime));
|
|
190
218
|
this._mode = mode;
|
|
@@ -195,6 +223,7 @@ class AcDevice {
|
|
|
195
223
|
this.setDesiredMode(mode, false, desiredTemp);
|
|
196
224
|
this.turnOn();
|
|
197
225
|
}
|
|
226
|
+
/** @inheritDoc */
|
|
198
227
|
log(level, message, debugType = log_service_1.LogDebugType.None) {
|
|
199
228
|
var _a, _b;
|
|
200
229
|
log_service_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -204,12 +233,15 @@ class AcDevice {
|
|
|
204
233
|
deviceName: this.name,
|
|
205
234
|
});
|
|
206
235
|
}
|
|
236
|
+
/** @inheritDoc */
|
|
207
237
|
wasActivatedByExcessEnergy() {
|
|
208
238
|
return this._activatedByExcessEnergy;
|
|
209
239
|
}
|
|
240
|
+
/** @inheritDoc */
|
|
210
241
|
loadDeviceSettings() {
|
|
211
242
|
this.settings.initializeFromDb(this);
|
|
212
243
|
}
|
|
244
|
+
/** @inheritDoc */
|
|
213
245
|
persistDeviceInfo() {
|
|
214
246
|
utils_1.Utils.guardedTimeout(() => {
|
|
215
247
|
var _a;
|
|
@@ -237,16 +269,17 @@ class AcDevice {
|
|
|
237
269
|
if (!this.settings.noCoolingOnMovement || !this.on || this.mode === ac_mode_1.AcMode.Heating) {
|
|
238
270
|
return;
|
|
239
271
|
}
|
|
240
|
-
this.log(models_1.LogLevel.Info,
|
|
272
|
+
this.log(models_1.LogLevel.Info, 'Someone entered the room. Turning off AC');
|
|
241
273
|
this.turnOff();
|
|
242
274
|
}
|
|
243
275
|
onRoomLastLeave() {
|
|
244
276
|
if (!this.settings.noCoolingOnMovement) {
|
|
245
277
|
return;
|
|
246
278
|
}
|
|
247
|
-
this.log(models_1.LogLevel.Info,
|
|
279
|
+
this.log(models_1.LogLevel.Info, 'Last person left the room. Checking if we should turn on AC');
|
|
248
280
|
this.restoreTargetAutomaticValue();
|
|
249
281
|
}
|
|
282
|
+
/** @inheritDoc */
|
|
250
283
|
toJSON() {
|
|
251
284
|
// eslint-disable-next-line
|
|
252
285
|
const result = lodash_1.default.omit(this, ['room', '_room']);
|
|
@@ -41,14 +41,14 @@ class DaikinService {
|
|
|
41
41
|
DaikinService.setAll(true);
|
|
42
42
|
Telegram_1.TelegramService.sendMessage([m.chat.id], 'Command executed');
|
|
43
43
|
return true;
|
|
44
|
-
},
|
|
44
|
+
}, "Turns all Ac's on without changing any settings"));
|
|
45
45
|
Telegram_1.TelegramService.addMessageCallback(new Telegram_1.TelegramMessageCallback('AcOff', /\/ac_off/, async (m) => {
|
|
46
46
|
if (m.from === undefined)
|
|
47
47
|
return false;
|
|
48
48
|
DaikinService.setAll(false, true);
|
|
49
49
|
Telegram_1.TelegramService.sendMessage([m.chat.id], 'Command executed');
|
|
50
50
|
return true;
|
|
51
|
-
},
|
|
51
|
+
}, "Turns all Ac's off without changing any settings"));
|
|
52
52
|
return new Promise((res, _rej) => {
|
|
53
53
|
var _a, _b;
|
|
54
54
|
this._daikinManager = new daikin_controller_1.DaikinManager({
|
|
@@ -5,22 +5,39 @@ import { DeviceType } from '../../devices';
|
|
|
5
5
|
export declare class OwnDaikinDevice extends AcDevice {
|
|
6
6
|
private _device;
|
|
7
7
|
private _mac;
|
|
8
|
+
/**
|
|
9
|
+
* The desired state of the device
|
|
10
|
+
*/
|
|
8
11
|
desiredState: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The desired humidity-state of the device
|
|
14
|
+
* @default 'AUTO'
|
|
15
|
+
*/
|
|
9
16
|
desiredHum: number | 'AUTO';
|
|
17
|
+
/**
|
|
18
|
+
* The desired mode of the device
|
|
19
|
+
* @default Mode.COLD
|
|
20
|
+
*/
|
|
10
21
|
desiredMode: number;
|
|
22
|
+
/** @inheritDoc */
|
|
11
23
|
deviceType: DeviceType;
|
|
12
24
|
private _on;
|
|
13
25
|
constructor(name: string, roomName: string, ip: string, _device: DaikinAC | undefined, _mac?: string | undefined);
|
|
14
26
|
get device(): DaikinAC | undefined;
|
|
27
|
+
/** @inheritDoc */
|
|
15
28
|
get on(): boolean;
|
|
16
29
|
set device(device: DaikinAC | undefined);
|
|
30
|
+
/** @inheritDoc */
|
|
17
31
|
setDesiredMode(mode: AcMode, writeToDevice?: boolean, desiredTemp?: number): void;
|
|
32
|
+
/** @inheritDoc */
|
|
18
33
|
turnOn(): void;
|
|
34
|
+
/** @inheritDoc */
|
|
19
35
|
turnOff(): void;
|
|
20
36
|
protected automaticCheck(): void;
|
|
21
37
|
private setDesiredInfo;
|
|
22
38
|
private updateInfo;
|
|
23
39
|
private handleDeviceUnreach;
|
|
24
40
|
private handleParamNg;
|
|
41
|
+
/** @inheritDoc */
|
|
25
42
|
toJSON(): Partial<OwnDaikinDevice>;
|
|
26
43
|
}
|
|
@@ -20,15 +20,28 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
20
20
|
super(name, roomName, ip, acDeviceType_1.AcDeviceType.Daikin);
|
|
21
21
|
this._device = _device;
|
|
22
22
|
this._mac = _mac;
|
|
23
|
+
/**
|
|
24
|
+
* The desired state of the device
|
|
25
|
+
*/
|
|
23
26
|
this.desiredState = daikin_controller_1.Power.OFF;
|
|
27
|
+
/**
|
|
28
|
+
* The desired humidity-state of the device
|
|
29
|
+
* @default 'AUTO'
|
|
30
|
+
*/
|
|
24
31
|
this.desiredHum = 'AUTO';
|
|
32
|
+
/**
|
|
33
|
+
* The desired mode of the device
|
|
34
|
+
* @default Mode.COLD
|
|
35
|
+
*/
|
|
25
36
|
this.desiredMode = daikin_controller_1.Mode.COLD;
|
|
37
|
+
/** @inheritDoc */
|
|
26
38
|
this.deviceType = devices_1.DeviceType.Daikin;
|
|
27
39
|
this._on = false;
|
|
28
40
|
}
|
|
29
41
|
get device() {
|
|
30
42
|
return this._device;
|
|
31
43
|
}
|
|
44
|
+
/** @inheritDoc */
|
|
32
45
|
get on() {
|
|
33
46
|
return this._on;
|
|
34
47
|
}
|
|
@@ -45,6 +58,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
45
58
|
}
|
|
46
59
|
void this.updateInfo();
|
|
47
60
|
}
|
|
61
|
+
/** @inheritDoc */
|
|
48
62
|
setDesiredMode(mode, writeToDevice = true, desiredTemp) {
|
|
49
63
|
let newMode = -1;
|
|
50
64
|
switch (mode) {
|
|
@@ -67,13 +81,15 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
67
81
|
this.setDesiredInfo(false, desiredTemp);
|
|
68
82
|
}
|
|
69
83
|
}
|
|
84
|
+
/** @inheritDoc */
|
|
70
85
|
turnOn() {
|
|
71
|
-
this.log(models_1.LogLevel.Info,
|
|
86
|
+
this.log(models_1.LogLevel.Info, 'Turning on');
|
|
72
87
|
this.desiredState = daikin_controller_1.Power.ON;
|
|
73
88
|
this.setDesiredInfo();
|
|
74
89
|
}
|
|
90
|
+
/** @inheritDoc */
|
|
75
91
|
turnOff() {
|
|
76
|
-
this.log(models_1.LogLevel.Info,
|
|
92
|
+
this.log(models_1.LogLevel.Info, 'Turning off');
|
|
77
93
|
this._activatedByExcessEnergy = false;
|
|
78
94
|
this.desiredState = daikin_controller_1.Power.OFF;
|
|
79
95
|
this._mode = ac_mode_1.AcMode.Off;
|
|
@@ -128,7 +144,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
128
144
|
this.persist();
|
|
129
145
|
}
|
|
130
146
|
else {
|
|
131
|
-
this.log(models_1.LogLevel.Warn,
|
|
147
|
+
this.log(models_1.LogLevel.Warn, 'No Error, but also no response...');
|
|
132
148
|
}
|
|
133
149
|
});
|
|
134
150
|
}
|
|
@@ -169,6 +185,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
169
185
|
}
|
|
170
186
|
});
|
|
171
187
|
}
|
|
188
|
+
/** @inheritDoc */
|
|
172
189
|
toJSON() {
|
|
173
190
|
// eslint-disable-next-line
|
|
174
191
|
const result = lodash_1.default.omit(this, ['room', '_room', 'device', '_device']);
|
|
@@ -45,7 +45,7 @@ export declare class API {
|
|
|
45
45
|
* @param state - The desired new state
|
|
46
46
|
* @param timeout - Desired time after which this should be reverted to normal state
|
|
47
47
|
* @returns In case it failed the Error containing the reason
|
|
48
|
-
* @deprecated Use
|
|
48
|
+
* @deprecated Use {@link API.lampSetLight} instead
|
|
49
49
|
* TODO: Remove deprecated API method
|
|
50
50
|
*/
|
|
51
51
|
static setLamp(deviceId: string, state: boolean, timeout?: number): Error | null;
|
|
@@ -62,7 +62,7 @@ export declare class API {
|
|
|
62
62
|
* @param state - The desired new state
|
|
63
63
|
* @param timeout - Desired time after which this should be reverted to automatic state
|
|
64
64
|
* @returns In case it failed the Error containing the reason
|
|
65
|
-
* @deprecated Use
|
|
65
|
+
* @deprecated Use {@link API.actuatorSetState} instead
|
|
66
66
|
* TODO: Remove deprecated API method
|
|
67
67
|
*/
|
|
68
68
|
static setActuator(deviceId: string, state: boolean, timeout?: number): Error | null;
|
|
@@ -81,7 +81,7 @@ export declare class API {
|
|
|
81
81
|
* @param brightness - The desired brightness
|
|
82
82
|
* @param transitionTime - The transition time during turnOn/turnOff
|
|
83
83
|
* @returns In case it failed the Error containing the reason
|
|
84
|
-
* @deprecated Use
|
|
84
|
+
* @deprecated Use {@link API.dimmerSetLight} instead
|
|
85
85
|
* TODO: Remove deprecated API method
|
|
86
86
|
*/
|
|
87
87
|
static setDimmer(deviceId: string, state: boolean, timeout?: number, brightness?: number, transitionTime?: number): Error | null;
|
|
@@ -102,7 +102,7 @@ export declare class API {
|
|
|
102
102
|
* @param color - The desired color in 6 digit hex Code
|
|
103
103
|
* @param colorTemp - The desired color Temperature (0 = more White)
|
|
104
104
|
* @returns In case it failed the Error containing the reason
|
|
105
|
-
* @deprecated Use
|
|
105
|
+
* @deprecated Use {@link API.ledSetLight} instead
|
|
106
106
|
* TODO: Remove deprecated API method
|
|
107
107
|
*/
|
|
108
108
|
static setLedLamp(deviceId: string, state: boolean, timeout?: number, brightness?: number, transitionTime?: number, color?: string, colorTemp?: number): Error | null;
|
|
@@ -119,7 +119,7 @@ export declare class API {
|
|
|
119
119
|
* @param deviceId - The device Id of the shutter
|
|
120
120
|
* @param level - The desired new level (0 being open, 100 being closed)
|
|
121
121
|
* @returns Error if there is no shutter with the given id
|
|
122
|
-
* @deprecated Use
|
|
122
|
+
* @deprecated Use {@link API.shutterSetLevel} instead
|
|
123
123
|
* TODO: Remove deprecated API method
|
|
124
124
|
*/
|
|
125
125
|
static setShutter(deviceId: string, level: number): Error | null;
|
|
@@ -162,8 +162,8 @@ export declare class API {
|
|
|
162
162
|
* Lifts a previously started Block of automatic
|
|
163
163
|
* @param deviceId - The target device
|
|
164
164
|
* @returns In case it failed the Error containing the reason
|
|
165
|
-
* @deprecated Use
|
|
166
|
-
* TODO: Remove deprecated API method
|
|
165
|
+
* @deprecated Use {@link API.blockAutomaticLiftAutomaticBlock} instead
|
|
166
|
+
* TODO: V4 Remove deprecated API method
|
|
167
167
|
*/
|
|
168
168
|
static liftAutomaticBlock(deviceId: string): Error | null;
|
|
169
169
|
/**
|
|
@@ -179,7 +179,7 @@ export declare class API {
|
|
|
179
179
|
* @param duration - The duration in ms for which the device should remain in current state
|
|
180
180
|
* @param onCollision - The desired Collision Solving strategy, in case the automatic being blocked already
|
|
181
181
|
* @returns In case it failed the Error containing the reason
|
|
182
|
-
* @deprecated Use
|
|
182
|
+
* @deprecated Use {@link API.blockAutomaticSetBlock} instead
|
|
183
183
|
* TODO: Remove deprecated API method
|
|
184
184
|
*/
|
|
185
185
|
static blockAutomatic(deviceId: string, duration: number, onCollision?: CollisionSolving): Error | null;
|
|
@@ -23,7 +23,7 @@ class API {
|
|
|
23
23
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.scene)) {
|
|
24
24
|
return new Error(`Device with ID ${deviceId} is no scene`);
|
|
25
25
|
}
|
|
26
|
-
d.log(models_1.LogLevel.Info,
|
|
26
|
+
d.log(models_1.LogLevel.Info, 'API Call to end this.');
|
|
27
27
|
d.endScene();
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
@@ -50,7 +50,7 @@ class API {
|
|
|
50
50
|
if (d === undefined) {
|
|
51
51
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Api.getDevice() --> "${id}" not found`);
|
|
52
52
|
}
|
|
53
|
-
return
|
|
53
|
+
return d;
|
|
54
54
|
}
|
|
55
55
|
// TODO: Missing Comment
|
|
56
56
|
static getGroup(id) {
|
|
@@ -118,11 +118,11 @@ class API {
|
|
|
118
118
|
* @param state - The desired new state
|
|
119
119
|
* @param timeout - Desired time after which this should be reverted to normal state
|
|
120
120
|
* @returns In case it failed the Error containing the reason
|
|
121
|
-
* @deprecated Use
|
|
121
|
+
* @deprecated Use {@link API.lampSetLight} instead
|
|
122
122
|
* TODO: Remove deprecated API method
|
|
123
123
|
*/
|
|
124
124
|
static setLamp(deviceId, state, timeout = 60 * 60 * 1000) {
|
|
125
|
-
return this.lampSetLight(deviceId, new models_1.LampSetLightCommand(models_1.CommandSource.API, state, '', timeout));
|
|
125
|
+
return this.lampSetLight(deviceId, new models_1.LampSetLightCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout)));
|
|
126
126
|
}
|
|
127
127
|
/**
|
|
128
128
|
* Changes the status of a given Lamp
|
|
@@ -138,7 +138,7 @@ class API {
|
|
|
138
138
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.lamp)) {
|
|
139
139
|
return new Error(`Device with ID ${deviceId} is no Lamp`);
|
|
140
140
|
}
|
|
141
|
-
d.log(models_1.LogLevel.Info,
|
|
141
|
+
d.log(models_1.LogLevel.Info, 'Received LampSetLightCommand API call.');
|
|
142
142
|
d.setLight(c);
|
|
143
143
|
return null;
|
|
144
144
|
}
|
|
@@ -148,11 +148,11 @@ class API {
|
|
|
148
148
|
* @param state - The desired new state
|
|
149
149
|
* @param timeout - Desired time after which this should be reverted to automatic state
|
|
150
150
|
* @returns In case it failed the Error containing the reason
|
|
151
|
-
* @deprecated Use
|
|
151
|
+
* @deprecated Use {@link API.actuatorSetState} instead
|
|
152
152
|
* TODO: Remove deprecated API method
|
|
153
153
|
*/
|
|
154
154
|
static setActuator(deviceId, state, timeout = 60 * 60 * 1000) {
|
|
155
|
-
return this.actuatorSetState(deviceId, new models_1.ActuatorSetStateCommand(models_1.CommandSource.API, state, '', timeout));
|
|
155
|
+
return this.actuatorSetState(deviceId, new models_1.ActuatorSetStateCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout)));
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
158
|
* Changes the status of a given actuator
|
|
@@ -168,7 +168,7 @@ class API {
|
|
|
168
168
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.actuator)) {
|
|
169
169
|
return new Error(`Device with ID ${deviceId} is no actuator`);
|
|
170
170
|
}
|
|
171
|
-
d.log(models_1.LogLevel.Info,
|
|
171
|
+
d.log(models_1.LogLevel.Info, 'Received ActuatorSetStateCommand API call.');
|
|
172
172
|
d.setActuator(c);
|
|
173
173
|
return null;
|
|
174
174
|
}
|
|
@@ -180,11 +180,11 @@ class API {
|
|
|
180
180
|
* @param brightness - The desired brightness
|
|
181
181
|
* @param transitionTime - The transition time during turnOn/turnOff
|
|
182
182
|
* @returns In case it failed the Error containing the reason
|
|
183
|
-
* @deprecated Use
|
|
183
|
+
* @deprecated Use {@link API.dimmerSetLight} instead
|
|
184
184
|
* TODO: Remove deprecated API method
|
|
185
185
|
*/
|
|
186
186
|
static setDimmer(deviceId, state, timeout, brightness, transitionTime) {
|
|
187
|
-
return this.dimmerSetLight(deviceId, new models_1.DimmerSetLightCommand(models_1.CommandSource.API, state, '', timeout, brightness, transitionTime));
|
|
187
|
+
return this.dimmerSetLight(deviceId, new models_1.DimmerSetLightCommand(models_1.CommandSource.API, state, '', new models_1.BlockAutomaticCommand(models_1.CommandSource.API, timeout), brightness, transitionTime));
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
190
190
|
* Changes the status of the given dimmer
|
|
@@ -200,7 +200,7 @@ class API {
|
|
|
200
200
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.dimmablelamp)) {
|
|
201
201
|
return new Error(`Device with ID ${deviceId} is no dimmablelamp`);
|
|
202
202
|
}
|
|
203
|
-
d.log(models_1.LogLevel.Info,
|
|
203
|
+
d.log(models_1.LogLevel.Info, 'Received dimmerSetLight API call.');
|
|
204
204
|
d.setLight(command);
|
|
205
205
|
return null;
|
|
206
206
|
}
|
|
@@ -214,11 +214,11 @@ class API {
|
|
|
214
214
|
* @param color - The desired color in 6 digit hex Code
|
|
215
215
|
* @param colorTemp - The desired color Temperature (0 = more White)
|
|
216
216
|
* @returns In case it failed the Error containing the reason
|
|
217
|
-
* @deprecated Use
|
|
217
|
+
* @deprecated Use {@link API.ledSetLight} instead
|
|
218
218
|
* TODO: Remove deprecated API method
|
|
219
219
|
*/
|
|
220
220
|
static setLedLamp(deviceId, state, timeout, brightness, transitionTime, color, colorTemp) {
|
|
221
|
-
return this.ledSetLight(deviceId, new models_1.LedSetLightCommand(models_1.CommandSource.API, state, '', timeout, brightness, transitionTime, color, colorTemp));
|
|
221
|
+
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));
|
|
222
222
|
}
|
|
223
223
|
/**
|
|
224
224
|
* Changes the status of a given led-device
|
|
@@ -234,7 +234,7 @@ class API {
|
|
|
234
234
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.ledLamp)) {
|
|
235
235
|
return new Error(`Device with ID ${deviceId} is no LED`);
|
|
236
236
|
}
|
|
237
|
-
d.log(models_1.LogLevel.Info,
|
|
237
|
+
d.log(models_1.LogLevel.Info, 'Received ledSetLight API call.');
|
|
238
238
|
d.setLight(command);
|
|
239
239
|
return null;
|
|
240
240
|
}
|
|
@@ -244,7 +244,7 @@ class API {
|
|
|
244
244
|
* @param deviceId - The device Id of the shutter
|
|
245
245
|
* @param level - The desired new level (0 being open, 100 being closed)
|
|
246
246
|
* @returns Error if there is no shutter with the given id
|
|
247
|
-
* @deprecated Use
|
|
247
|
+
* @deprecated Use {@link API.shutterSetLevel} instead
|
|
248
248
|
* TODO: Remove deprecated API method
|
|
249
249
|
*/
|
|
250
250
|
static setShutter(deviceId, level) {
|
|
@@ -272,7 +272,7 @@ class API {
|
|
|
272
272
|
else {
|
|
273
273
|
d.setLevel(command);
|
|
274
274
|
}
|
|
275
|
-
d.log(models_1.LogLevel.Info,
|
|
275
|
+
d.log(models_1.LogLevel.Info, 'Received shutterSetLevel API call.');
|
|
276
276
|
return null;
|
|
277
277
|
}
|
|
278
278
|
// TODO: Missing Comment
|
|
@@ -302,7 +302,7 @@ class API {
|
|
|
302
302
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.scene)) {
|
|
303
303
|
return new Error(`Device with ID ${deviceId} is no scene`);
|
|
304
304
|
}
|
|
305
|
-
d.log(models_1.LogLevel.Info,
|
|
305
|
+
d.log(models_1.LogLevel.Info, 'API Call to start this.');
|
|
306
306
|
d.startScene(turnOffTimeout);
|
|
307
307
|
return null;
|
|
308
308
|
}
|
|
@@ -315,11 +315,11 @@ class API {
|
|
|
315
315
|
return new Error(`Device with ID ${deviceId} is no Garage Door Opener`);
|
|
316
316
|
}
|
|
317
317
|
if (open) {
|
|
318
|
-
d.log(models_1.LogLevel.Info,
|
|
318
|
+
d.log(models_1.LogLevel.Info, 'API Call to open Garage Door');
|
|
319
319
|
d.open();
|
|
320
320
|
}
|
|
321
321
|
else {
|
|
322
|
-
d.log(models_1.LogLevel.Info,
|
|
322
|
+
d.log(models_1.LogLevel.Info, 'API Call to close Garage Door');
|
|
323
323
|
d.close();
|
|
324
324
|
}
|
|
325
325
|
return null;
|
|
@@ -387,14 +387,14 @@ class API {
|
|
|
387
387
|
// TODO: Missing Comment
|
|
388
388
|
static persistAllDeviceSettings() {
|
|
389
389
|
var _a;
|
|
390
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
390
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'API Call to persist all device settings');
|
|
391
391
|
for (const device of Object.values(devices_1.Devices.alLDevices)) {
|
|
392
392
|
(_a = device.settings) === null || _a === void 0 ? void 0 : _a.persist(device);
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
395
|
// TODO: Missing Comment
|
|
396
396
|
static loadAllDeviceSettingsFromDb() {
|
|
397
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
397
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'API Call to load all device settings');
|
|
398
398
|
for (const device of Object.values(devices_1.Devices.alLDevices)) {
|
|
399
399
|
device.loadDeviceSettings();
|
|
400
400
|
}
|
|
@@ -403,8 +403,8 @@ class API {
|
|
|
403
403
|
* Lifts a previously started Block of automatic
|
|
404
404
|
* @param deviceId - The target device
|
|
405
405
|
* @returns In case it failed the Error containing the reason
|
|
406
|
-
* @deprecated Use
|
|
407
|
-
* TODO: Remove deprecated API method
|
|
406
|
+
* @deprecated Use {@link API.blockAutomaticLiftAutomaticBlock} instead
|
|
407
|
+
* TODO: V4 Remove deprecated API method
|
|
408
408
|
*/
|
|
409
409
|
static liftAutomaticBlock(deviceId) {
|
|
410
410
|
return this.blockAutomaticLiftAutomaticBlock(deviceId, new models_1.BlockAutomaticLiftBlockCommand(models_1.CommandSource.API));
|
|
@@ -423,7 +423,7 @@ class API {
|
|
|
423
423
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.blockAutomatic)) {
|
|
424
424
|
return new Error(`Device with ID ${deviceId} is not capable of blocking automatic`);
|
|
425
425
|
}
|
|
426
|
-
d.log(models_1.LogLevel.Info,
|
|
426
|
+
d.log(models_1.LogLevel.Info, 'Received API Call to lift automatic block.');
|
|
427
427
|
d.blockAutomationHandler.liftAutomaticBlock(command);
|
|
428
428
|
return null;
|
|
429
429
|
}
|
|
@@ -433,7 +433,7 @@ class API {
|
|
|
433
433
|
* @param duration - The duration in ms for which the device should remain in current state
|
|
434
434
|
* @param onCollision - The desired Collision Solving strategy, in case the automatic being blocked already
|
|
435
435
|
* @returns In case it failed the Error containing the reason
|
|
436
|
-
* @deprecated Use
|
|
436
|
+
* @deprecated Use {@link API.blockAutomaticSetBlock} instead
|
|
437
437
|
* TODO: Remove deprecated API method
|
|
438
438
|
*/
|
|
439
439
|
static blockAutomatic(deviceId, duration, onCollision) {
|
|
@@ -454,7 +454,7 @@ class API {
|
|
|
454
454
|
if (!d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.blockAutomatic)) {
|
|
455
455
|
return new Error(`Device with ID ${deviceId} is not capable of blocking automatic`);
|
|
456
456
|
}
|
|
457
|
-
d.log(models_1.LogLevel.Info,
|
|
457
|
+
d.log(models_1.LogLevel.Info, 'Received API Call to block automatic.');
|
|
458
458
|
d.blockAutomationHandler.disableAutomatic(command);
|
|
459
459
|
return null;
|
|
460
460
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { BlockAutomaticCommand, BlockAutomaticLiftBlockCommand, BlockAutomaticUntilCommand, RestoreTargetAutomaticValueCommand } from '../../models';
|
|
2
|
+
/**
|
|
3
|
+
* This class is responsible for blocking automatic actions for a specific duration.
|
|
4
|
+
* It also provides the possibility to lift the block before the duration is over {@link BlockAutomaticLiftBlockCommand}.
|
|
5
|
+
*/
|
|
2
6
|
export declare class BlockAutomaticHandler {
|
|
3
7
|
private readonly _restoreAutomatic;
|
|
4
8
|
private _automaticBlockedUntil;
|
|
@@ -10,6 +14,7 @@ export declare class BlockAutomaticHandler {
|
|
|
10
14
|
disableAutomatic(c: BlockAutomaticCommand): void;
|
|
11
15
|
disableAutomaticUntil(c: BlockAutomaticUntilCommand): void;
|
|
12
16
|
liftAutomaticBlock(c: BlockAutomaticLiftBlockCommand): void;
|
|
17
|
+
private removeRestoreTimeout;
|
|
13
18
|
private updateRestoreTimeout;
|
|
14
19
|
toJSON(): Partial<BlockAutomaticHandler>;
|
|
15
20
|
}
|