hoffmation-base 3.0.0-alpha.6 → 3.0.0-alpha.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +5 -1
- package/lib/index.js +28 -25
- package/lib/liquid-pid.d.ts +2 -5
- package/lib/liquid-pid.js +3 -5
- package/lib/models/action/baseAction.d.ts +4 -0
- package/lib/models/action/baseAction.js +10 -0
- package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
- package/lib/models/action/batteryLevelChangeAction.js +14 -0
- package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
- package/lib/models/action/humiditySensorChangeAction.js +15 -0
- package/lib/models/action/index.d.ts +9 -0
- package/lib/models/action/index.js +29 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -0
- package/lib/models/action/presenceGroupAnyMovementAction.d.ts +7 -0
- package/lib/models/action/presenceGroupAnyMovementAction.js +13 -0
- package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
- package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
- package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
- package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
- package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
- package/lib/models/action/shutterPositionChangedAction.js +15 -0
- package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
- package/lib/models/action/temperatureSensorChangeAction.js +15 -0
- package/lib/models/blockAutomaticSettings.d.ts +23 -0
- package/lib/models/blockAutomaticSettings.js +19 -0
- package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
- package/lib/models/command/ShutterSetLevelCommand.js +9 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
- package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
- package/lib/models/command/actuatorSetStateCommand.js +15 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
- package/lib/models/command/actuatorToggleCommand.js +7 -4
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
- package/lib/models/command/baseCommand.d.ts +23 -2
- package/lib/models/command/baseCommand.js +41 -1
- package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
- package/lib/models/command/blockAutomaticCommand.js +40 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
- package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
- package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
- package/lib/models/command/commandSource.d.ts +19 -0
- package/lib/models/command/commandSource.js +20 -0
- package/lib/models/command/commandType.d.ts +11 -0
- package/lib/models/command/commandType.js +11 -0
- package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
- package/lib/models/command/dimmerSetLightCommand.js +20 -14
- package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
- package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
- package/lib/models/command/index.d.ts +3 -0
- package/lib/models/command/index.js +7 -1
- package/lib/models/command/lampSetLightCommand.d.ts +13 -2
- package/lib/models/command/lampSetLightCommand.js +15 -4
- package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
- package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
- package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
- package/lib/models/command/lampToggleLightCommand.js +7 -6
- package/lib/models/command/ledSetLightCommand.d.ts +21 -11
- package/lib/models/command/ledSetLightCommand.js +27 -17
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
- package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
- package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
- package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
- package/lib/models/command/roomRestoreLightCommand.js +7 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
- package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
- package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
- package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
- package/lib/models/command/shutterSunriseUpCommand.js +7 -1
- package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
- package/lib/models/command/shutterSunsetDownCommand.js +7 -1
- package/lib/models/command/wledSetLightCommand.d.ts +16 -2
- package/lib/models/command/wledSetLightCommand.js +23 -7
- package/lib/models/connectionCallbacks.d.ts +4 -4
- package/lib/models/connectionCallbacks.js +1 -0
- package/lib/models/deviceConfig.d.ts +3 -3
- package/lib/models/deviceSettings/acSettings.d.ts +23 -5
- package/lib/models/deviceSettings/acSettings.js +28 -8
- package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
- package/lib/models/deviceSettings/actuatorSettings.js +19 -9
- package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
- package/lib/models/deviceSettings/cameraSettings.js +12 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +23 -0
- package/lib/models/deviceSettings/dachsSettings.js +29 -1
- package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
- package/lib/models/deviceSettings/deviceSettings.js +16 -0
- package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
- package/lib/models/deviceSettings/dimmerSettings.js +20 -0
- package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
- package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
- package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
- package/lib/models/deviceSettings/heaterSettings.js +21 -9
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +76 -18
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
- package/lib/models/deviceSettings/shutterSettings.js +11 -3
- package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
- package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
- package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
- package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
- package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
- package/lib/models/deviceSettings/wledSettings.js +37 -13
- package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
- package/lib/models/groupSettings/heatGroupSettings.js +12 -1
- package/lib/models/iIdHolder.d.ts +18 -0
- package/lib/models/index.d.ts +2 -1
- package/lib/models/index.js +4 -1
- package/lib/models/objectSettings.d.ts +5 -2
- package/lib/models/objectSettings.js +2 -2
- package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
- package/lib/models/persistence/EnergyCalculation.js +30 -4
- package/lib/models/persistence/index.d.ts +0 -2
- package/lib/models/persistence/index.js +0 -2
- package/lib/models/rooms/RoomBase.d.ts +12 -1
- package/lib/models/rooms/RoomBase.js +16 -7
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
- package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
- package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
- package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
- package/lib/models/rooms/iRoomBase.d.ts +39 -0
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +16 -6
- package/lib/server/config/heatingMode.d.ts +2 -1
- package/lib/server/config/heatingMode.js +2 -1
- package/lib/server/config/iAsusConfig.d.ts +15 -0
- package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
- package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
- package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
- package/lib/server/config/iConfig.d.ts +94 -6
- package/lib/server/config/iDachsSettings.d.ts +16 -0
- package/lib/server/config/iDaikinSettings.d.ts +17 -0
- package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
- package/lib/server/config/iEspresenseSettings.d.ts +10 -0
- package/lib/server/config/iGoveeSettings.d.ts +9 -0
- package/lib/server/config/iGoveeSettings.js +2 -0
- package/lib/server/config/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +40 -1
- package/lib/server/config/iMp3Settings.d.ts +10 -0
- package/lib/server/config/iMuellSettings.d.ts +7 -0
- package/lib/server/config/iNewsSettings.d.ts +13 -0
- package/lib/server/config/iPersistenceSettings.d.ts +10 -0
- package/lib/server/config/iPollySettings.d.ts +22 -0
- package/lib/server/config/iRestSettings.d.ts +10 -0
- package/lib/server/config/iSonosSettings.d.ts +14 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +2 -0
- package/lib/server/devices/DeviceCapability.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.js +1 -0
- package/lib/server/devices/DeviceInfo.d.ts +9 -0
- package/lib/server/devices/DeviceInfo.js +6 -0
- package/lib/server/devices/Griffe.js +1 -2
- package/lib/server/devices/Heizgruppen.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
- package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
- package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
- package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
- package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
- package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
- package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
- package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
- package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
- package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
- package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
- package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
- package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
- package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
- package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
- package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
- package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
- package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
- package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
- package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
- package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
- package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
- package/lib/server/devices/blueIris/cameraDevice.js +75 -75
- package/lib/server/devices/button/button.d.ts +0 -1
- package/lib/server/devices/button/button.js +0 -4
- package/lib/server/devices/button/buttonCallback.d.ts +5 -0
- package/lib/server/devices/button/buttonCallback.js +10 -0
- package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
- package/lib/server/devices/button/buttonCapabilities.js +12 -0
- package/lib/server/devices/button/index.d.ts +1 -0
- package/lib/server/devices/button/index.js +3 -0
- package/lib/server/devices/dachs/dachs.d.ts +46 -11
- package/lib/server/devices/dachs/dachs.js +113 -23
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +4 -4
- package/lib/server/devices/deviceType.d.ts +1 -0
- package/lib/server/devices/deviceType.js +1 -0
- 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 +46 -6
- 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 +9 -3
- package/lib/server/devices/groups/Window.js +19 -11
- package/lib/server/devices/groups/base-group.d.ts +4 -0
- package/lib/server/devices/groups/base-group.js +3 -0
- package/lib/server/devices/groups/heatGroup.d.ts +8 -6
- package/lib/server/devices/groups/heatGroup.js +11 -11
- package/lib/server/devices/groups/lightGroup.d.ts +10 -2
- package/lib/server/devices/groups/lightGroup.js +18 -37
- package/lib/server/devices/groups/presenceGroup.d.ts +14 -4
- package/lib/server/devices/groups/presenceGroup.js +66 -63
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +11 -1
- package/lib/server/devices/groups/windowGroup.js +6 -6
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
- package/lib/server/devices/index.d.ts +5 -2
- package/lib/server/devices/index.js +8 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
- package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
- package/lib/server/devices/nameAmountValuePair.js +10 -0
- package/lib/server/devices/scene/room-scene.d.ts +23 -6
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
- package/lib/server/devices/shelly/index.d.ts +1 -0
- package/lib/server/devices/shelly/index.js +3 -1
- package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
- package/lib/server/devices/shelly/shellyActuator.js +84 -0
- package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
- package/lib/server/devices/shelly/shellyDevice.js +2 -1
- package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
- package/lib/server/devices/shelly/shellyTrv.js +66 -45
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -3
- package/lib/server/devices/wledDevice.js +42 -16
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
- package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
- package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
- package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
- package/lib/server/ioBroker/connection.d.ts +21 -20
- package/lib/server/ioBroker/connection.js +37 -28
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
- package/lib/server/ioBroker/ioBroker.main.js +4 -3
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
- package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
- package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
- package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
- package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
- package/lib/server/services/ShutterService.js +6 -6
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
- package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
- package/lib/server/services/Sonos/mp3-server.js +3 -1
- package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
- package/lib/server/services/Sonos/own-sonos-device.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +7 -1
- package/lib/server/services/Sonos/polly-service.js +10 -8
- package/lib/server/services/Sonos/sonos-service.d.ts +1 -5
- package/lib/server/services/Sonos/sonos-service.js +18 -17
- package/lib/server/services/Telegram/telegram-Commands.js +5 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
- package/lib/server/services/Telegram/telegram-service.js +8 -3
- package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
- package/lib/server/services/Translation/IRessourceObject.js +2 -0
- package/lib/server/services/Translation/iRessources.d.ts +1 -4
- package/lib/server/services/Translation/index.d.ts +1 -0
- package/lib/server/services/Translation/res.d.ts +34 -19
- package/lib/server/services/Translation/res.js +34 -19
- package/lib/server/services/ac/ac-device.d.ts +49 -7
- package/lib/server/services/ac/ac-device.js +99 -37
- package/lib/server/services/ac/daikin-service.js +4 -3
- package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
- package/lib/server/services/ac/own-ac-devices.js +3 -0
- package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
- package/lib/server/services/ac/own-daikin-device.js +40 -7
- package/lib/server/services/api/api-service.d.ts +118 -53
- package/lib/server/services/api/api-service.js +170 -80
- package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
- package/lib/server/services/blockAutomaticHandler.js +34 -15
- package/lib/server/services/calendar/index.d.ts +1 -0
- package/lib/server/services/calendar/index.js +3 -0
- package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
- package/lib/server/services/calendar/muell-tonne.js +10 -0
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
- package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
- package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
- package/lib/server/services/calendar/name-date-pair.js +10 -0
- package/lib/server/services/dbo/iPersist.d.ts +103 -0
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
- package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
- package/lib/server/services/file-info.d.ts +5 -0
- package/lib/server/services/file-info.js +10 -0
- package/lib/server/services/govee/govee-device-data.d.ts +25 -0
- package/lib/server/services/govee/govee-device-data.js +2 -0
- package/lib/server/services/govee/govee-service.d.ts +7 -9
- package/lib/server/services/govee/govee-service.js +73 -48
- package/lib/server/services/govee/own-govee-device.d.ts +19 -17
- package/lib/server/services/govee/own-govee-device.js +56 -53
- package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
- package/lib/server/services/govee/own-govee-devices.js +3 -0
- package/lib/server/services/https-service.d.ts +3 -2
- package/lib/server/services/https-service.js +4 -3
- package/lib/server/services/index.d.ts +1 -0
- package/lib/server/services/index.js +3 -0
- package/lib/server/services/log-service/index.d.ts +1 -0
- package/lib/server/services/log-service/index.js +3 -0
- package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
- package/lib/server/services/log-service/log-debug-type.js +17 -0
- package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
- package/lib/server/services/log-service/log-filter-data.js +6 -15
- package/lib/server/services/log-service/log-service.d.ts +17 -4
- package/lib/server/services/log-service/log-service.js +30 -17
- package/lib/server/services/news-service.d.ts +9 -7
- package/lib/server/services/news-service.js +14 -15
- package/lib/server/services/room-service/room-service.d.ts +20 -4
- package/lib/server/services/room-service/room-service.js +26 -10
- package/lib/server/services/settings-service.d.ts +6 -2
- package/lib/server/services/settings-service.js +3 -2
- package/lib/server/services/time-callback-service.js +1 -1
- package/lib/server/services/utils/RGB.d.ts +6 -0
- package/lib/server/services/utils/RGB.js +11 -0
- package/lib/server/services/utils/catchEmResult.d.ts +5 -0
- package/lib/server/services/utils/catchEmResult.js +10 -0
- package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
- package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
- package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
- package/lib/server/services/utils/energy-manager-utils.js +2 -2
- package/lib/server/services/utils/iDisposeable.d.ts +6 -0
- package/lib/server/services/utils/index.d.ts +4 -1
- package/lib/server/services/utils/index.js +8 -1
- package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
- package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
- package/lib/server/services/utils/utils.d.ts +9 -13
- package/lib/server/services/victron/victron-device.d.ts +27 -10
- package/lib/server/services/victron/victron-device.js +94 -25
- package/lib/server/services/weather/index.d.ts +2 -0
- package/lib/server/services/weather/index.js +3 -0
- package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
- package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
- package/lib/server/services/weather/weather-current.d.ts +0 -2
- package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
- package/lib/server/services/weather/weather-response.d.ts +16 -0
- package/lib/server/services/weather/weather-response.js +2 -0
- package/lib/server/services/weather/weather-service.d.ts +16 -18
- package/lib/server/services/weather/weather-service.js +37 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -8
- package/lib/models/iTemperaturDataPoint.d.ts +0 -9
- package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
- package/lib/models/persistence/RoomDetailInfo.js +0 -11
- package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
- package/lib/models/persistence/temperaturDataPoint.js +0 -14
- /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
|
@@ -14,33 +14,70 @@ const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
|
14
14
|
const settings_service_1 = require("../settings-service");
|
|
15
15
|
const config_1 = require("../../config");
|
|
16
16
|
const blockAutomaticHandler_1 = require("../blockAutomaticHandler");
|
|
17
|
+
const weather_1 = require("../weather");
|
|
17
18
|
class AcDevice {
|
|
19
|
+
/**
|
|
20
|
+
* Whether the AC is allowed to cool (depends on the season
|
|
21
|
+
* @returns {boolean} True if the AC is allowed to cool
|
|
22
|
+
*/
|
|
23
|
+
get coolingAllowed() {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
if (settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (this.settings.noCoolingOnMovement && ((_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.anyPresent())) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (weather_1.WeatherService.active &&
|
|
32
|
+
weather_1.WeatherService.todayMaxTemp < this.settings.minOutdoorTempForCooling &&
|
|
33
|
+
weather_1.WeatherService.todayMaxTemp !== devices_1.UNDEFINED_TEMP_VALUE) {
|
|
34
|
+
// As it is quite cold outside there is no need to cool
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether the AC is allowed to heat (depends on the season and the settings)
|
|
41
|
+
* @returns {boolean} True if the AC is allowed to heat
|
|
42
|
+
*/
|
|
43
|
+
get heatingAllowed() {
|
|
44
|
+
return settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer && this.settings.heatingAllowed;
|
|
45
|
+
}
|
|
46
|
+
/** @inheritDoc */
|
|
18
47
|
get temperature() {
|
|
19
48
|
return this._roomTemperature;
|
|
20
49
|
}
|
|
50
|
+
/** @inheritDoc */
|
|
21
51
|
get customName() {
|
|
22
52
|
return this.info.customName;
|
|
23
53
|
}
|
|
54
|
+
/** @inheritDoc */
|
|
24
55
|
get room() {
|
|
25
56
|
return this._room;
|
|
26
57
|
}
|
|
58
|
+
/** @inheritDoc */
|
|
27
59
|
set room(room) {
|
|
28
60
|
var _a, _b;
|
|
29
61
|
this._room = room;
|
|
30
62
|
if (room !== undefined && !this._movementCallbackAdded) {
|
|
31
63
|
this._movementCallbackAdded = true;
|
|
32
|
-
|
|
64
|
+
// TODO: Maybe change to any Movement
|
|
65
|
+
(_a = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _a === void 0 ? void 0 : _a.addAnyMovementCallback(this.onRoomAnyMovement.bind(this));
|
|
33
66
|
(_b = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.addLastLeftCallback(this.onRoomLastLeave.bind(this));
|
|
34
67
|
}
|
|
35
68
|
}
|
|
69
|
+
/** @inheritDoc */
|
|
36
70
|
get mode() {
|
|
37
71
|
return this._mode;
|
|
38
72
|
}
|
|
39
73
|
constructor(name, roomName, ip, acDeviceType) {
|
|
40
74
|
this.ip = ip;
|
|
41
75
|
this.acDeviceType = acDeviceType;
|
|
76
|
+
/** @inheritDoc */
|
|
42
77
|
this.currentConsumption = -1;
|
|
78
|
+
/** @inheritDoc */
|
|
43
79
|
this.settings = new models_1.AcSettings();
|
|
80
|
+
/** @inheritDoc */
|
|
44
81
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.ac, DeviceCapability_1.DeviceCapability.blockAutomatic];
|
|
45
82
|
this._activatedByExcessEnergy = false;
|
|
46
83
|
this._desiredTemperatur = devices_1.UNDEFINED_TEMP_VALUE;
|
|
@@ -52,40 +89,48 @@ class AcDevice {
|
|
|
52
89
|
this._info.customName = `${roomName} ${name}`;
|
|
53
90
|
this._info.room = roomName;
|
|
54
91
|
this._info.allDevicesKey = `ac-${roomName}-${name}`;
|
|
55
|
-
utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this,
|
|
92
|
+
utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this, false);
|
|
56
93
|
utils_1.Utils.guardedInterval(this.persist, 15 * 60 * 1000, this, true);
|
|
57
94
|
this.persistDeviceInfo();
|
|
58
95
|
this.loadDeviceSettings();
|
|
59
|
-
this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
|
|
96
|
+
this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
|
|
60
97
|
}
|
|
98
|
+
/** @inheritDoc */
|
|
61
99
|
get energySettings() {
|
|
62
100
|
return this.settings.energySettings;
|
|
63
101
|
}
|
|
102
|
+
/** @inheritDoc */
|
|
64
103
|
get roomTemperature() {
|
|
65
104
|
return this._roomTemperature;
|
|
66
105
|
}
|
|
106
|
+
/** @inheritDoc */
|
|
67
107
|
get info() {
|
|
68
108
|
return this._info;
|
|
69
109
|
}
|
|
70
110
|
set roomTemperatur(val) {
|
|
71
111
|
this._roomTemperature = val;
|
|
72
112
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
113
|
+
/**
|
|
114
|
+
* The name of this device
|
|
115
|
+
* @returns The human readable name of this device
|
|
116
|
+
*/
|
|
76
117
|
get name() {
|
|
77
118
|
return this.info.customName;
|
|
78
119
|
}
|
|
120
|
+
/** @inheritDoc */
|
|
79
121
|
get id() {
|
|
80
122
|
var _a;
|
|
81
123
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `ac-${this.info.room}-${this.info.customName}`;
|
|
82
124
|
}
|
|
125
|
+
/** @inheritDoc */
|
|
83
126
|
restoreTargetAutomaticValue() {
|
|
84
|
-
this.log(models_1.LogLevel.Debug,
|
|
127
|
+
this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
|
|
85
128
|
this.automaticCheck();
|
|
86
129
|
}
|
|
130
|
+
/** @inheritDoc */
|
|
87
131
|
isAvailableForExcessEnergy() {
|
|
88
|
-
|
|
132
|
+
var _a, _b;
|
|
133
|
+
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)) {
|
|
89
134
|
return false;
|
|
90
135
|
}
|
|
91
136
|
if (this.blockAutomationHandler.automaticBlockActive) {
|
|
@@ -96,46 +141,55 @@ class AcDevice {
|
|
|
96
141
|
}
|
|
97
142
|
return this.calculateDesiredMode() !== ac_mode_1.AcMode.Off;
|
|
98
143
|
}
|
|
144
|
+
/** @inheritDoc */
|
|
99
145
|
calculateDesiredMode() {
|
|
100
|
-
var _a, _b, _c, _d
|
|
146
|
+
var _a, _b, _c, _d;
|
|
101
147
|
const acOn = this.on;
|
|
102
|
-
|
|
148
|
+
const heatGroup = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup;
|
|
149
|
+
if (!heatGroup) {
|
|
150
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
151
|
+
return ac_mode_1.AcMode.Off;
|
|
152
|
+
}
|
|
153
|
+
this._desiredTemperatur = heatGroup.desiredTemp;
|
|
103
154
|
if (this.settings.manualDisabled) {
|
|
104
|
-
acOn && this.log(models_1.LogLevel.Info,
|
|
155
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as manual disable force is set.');
|
|
156
|
+
return ac_mode_1.AcMode.Off;
|
|
157
|
+
}
|
|
158
|
+
if ((_b = devices_1.Devices.energymanager) === null || _b === void 0 ? void 0 : _b.acBlocked) {
|
|
159
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as energy-manager demands off.');
|
|
105
160
|
return ac_mode_1.AcMode.Off;
|
|
106
161
|
}
|
|
107
162
|
// Check Turn Off Time
|
|
108
163
|
if (!utils_1.Utils.timeWithinBorders(this.settings.minimumHours, this.settings.minimumMinutes, this.settings.maximumHours, this.settings.maximumMinutes)) {
|
|
109
|
-
acOn && this.log(models_1.LogLevel.Info,
|
|
164
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, to respect night settings.');
|
|
110
165
|
return ac_mode_1.AcMode.Off;
|
|
111
166
|
}
|
|
112
|
-
|
|
113
|
-
if (this.settings.useOwnTemperatureAndAutomatic) {
|
|
167
|
+
if (this.settings.useOwnTemperature) {
|
|
114
168
|
// Device is in automatic mode so ignore energy and room temperature
|
|
115
|
-
if (
|
|
169
|
+
if (this.settings.useAutomatic) {
|
|
116
170
|
return ac_mode_1.AcMode.Auto;
|
|
117
171
|
}
|
|
118
|
-
if (
|
|
172
|
+
if (this.heatingAllowed) {
|
|
119
173
|
return ac_mode_1.AcMode.Heating;
|
|
120
174
|
}
|
|
121
|
-
if (
|
|
175
|
+
else if (this.coolingAllowed) {
|
|
122
176
|
return ac_mode_1.AcMode.Cooling;
|
|
123
177
|
}
|
|
124
178
|
return ac_mode_1.AcMode.Off;
|
|
125
179
|
}
|
|
126
180
|
const temp = this.roomTemperature;
|
|
127
181
|
if (temp === undefined || temp === devices_1.UNDEFINED_TEMP_VALUE) {
|
|
128
|
-
this.log(models_1.LogLevel.Warn,
|
|
182
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no room temperature");
|
|
129
183
|
return ac_mode_1.AcMode.Off;
|
|
130
184
|
}
|
|
131
185
|
if (!heatGroup) {
|
|
132
|
-
this.log(models_1.LogLevel.Warn,
|
|
186
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
133
187
|
return ac_mode_1.AcMode.Off;
|
|
134
188
|
}
|
|
135
189
|
let threshold = acOn ? 0.5 : 1.5;
|
|
136
190
|
let thresholdHeating = acOn ? 0.5 : 1.5;
|
|
137
191
|
let desiredMode = ac_mode_1.AcMode.Off;
|
|
138
|
-
const excessEnergy = (
|
|
192
|
+
const excessEnergy = (_d = (_c = devices_1.Devices.energymanager) === null || _c === void 0 ? void 0 : _c.excessEnergy) !== null && _d !== void 0 ? _d : -1;
|
|
139
193
|
if ((acOn ? 200 : 1000) < excessEnergy) {
|
|
140
194
|
// As there is plenty of energy to spare we plan to overshoot the target by 1 degree
|
|
141
195
|
threshold = -0.5;
|
|
@@ -144,13 +198,10 @@ class AcDevice {
|
|
|
144
198
|
const targetTemp = heatGroup.desiredTemp;
|
|
145
199
|
const coolUntil = targetTemp + threshold;
|
|
146
200
|
const heatUntil = targetTemp - thresholdHeating;
|
|
147
|
-
if (temp > coolUntil &&
|
|
201
|
+
if (temp > coolUntil && this.coolingAllowed) {
|
|
148
202
|
desiredMode = ac_mode_1.AcMode.Cooling;
|
|
149
|
-
if (this.settings.noCoolingOnMovement && ((_k = (_j = this.room) === null || _j === void 0 ? void 0 : _j.PraesenzGroup) === null || _k === void 0 ? void 0 : _k.anyPresent()) === true) {
|
|
150
|
-
return ac_mode_1.AcMode.Off;
|
|
151
|
-
}
|
|
152
203
|
}
|
|
153
|
-
else if (temp < heatUntil && this.
|
|
204
|
+
else if (temp < heatUntil && this.heatingAllowed) {
|
|
154
205
|
desiredMode = ac_mode_1.AcMode.Heating;
|
|
155
206
|
}
|
|
156
207
|
if (acOn ? desiredMode === ac_mode_1.AcMode.Off : desiredMode !== ac_mode_1.AcMode.Off) {
|
|
@@ -158,16 +209,13 @@ class AcDevice {
|
|
|
158
209
|
}
|
|
159
210
|
return desiredMode;
|
|
160
211
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Disable automatic Turn-On and Turn-Off for given amount of ms.
|
|
163
|
-
* @param {number} timeout
|
|
164
|
-
*/
|
|
165
|
-
deactivateAutomaticChange(timeout = 60 * 60 * 1000) {
|
|
166
|
-
this.blockAutomationHandler.disableAutomatic(timeout);
|
|
167
|
-
}
|
|
212
|
+
/** @inheritDoc */
|
|
168
213
|
onTemperaturChange(newTemperatur) {
|
|
169
214
|
this.roomTemperatur = newTemperatur;
|
|
170
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Persists the current AC-Information to the database
|
|
218
|
+
*/
|
|
171
219
|
persist() {
|
|
172
220
|
var _a;
|
|
173
221
|
if (!utils_1.Utils.anyDboActive || this.on === undefined) {
|
|
@@ -175,6 +223,7 @@ class AcDevice {
|
|
|
175
223
|
}
|
|
176
224
|
(_a = utils_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistAC(this);
|
|
177
225
|
}
|
|
226
|
+
/** @inheritDoc */
|
|
178
227
|
turnOnForExcessEnergy() {
|
|
179
228
|
if (this.blockAutomationHandler.automaticBlockActive) {
|
|
180
229
|
return;
|
|
@@ -183,11 +232,19 @@ class AcDevice {
|
|
|
183
232
|
this.setDesiredMode(this.calculateDesiredMode(), false);
|
|
184
233
|
this.turnOn();
|
|
185
234
|
}
|
|
235
|
+
/** @inheritDoc */
|
|
186
236
|
turnOffDueToMissingEnergy() {
|
|
187
237
|
this.turnOff();
|
|
188
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Sets the state of the AC
|
|
241
|
+
* TODO: Migrate to new command system
|
|
242
|
+
* @param mode - The desired mode
|
|
243
|
+
* @param desiredTemp - The desired temperature (if unset it will be calculated)
|
|
244
|
+
* @param forceTime - The time in ms to force the AC to stay in this state (default 1h)
|
|
245
|
+
*/
|
|
189
246
|
setState(mode, desiredTemp, forceTime = 60 * 60 * 1000) {
|
|
190
|
-
this.blockAutomationHandler.disableAutomatic(forceTime);
|
|
247
|
+
this.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, forceTime));
|
|
191
248
|
this._mode = mode;
|
|
192
249
|
if (mode == ac_mode_1.AcMode.Off) {
|
|
193
250
|
this.turnOff();
|
|
@@ -196,6 +253,7 @@ class AcDevice {
|
|
|
196
253
|
this.setDesiredMode(mode, false, desiredTemp);
|
|
197
254
|
this.turnOn();
|
|
198
255
|
}
|
|
256
|
+
/** @inheritDoc */
|
|
199
257
|
log(level, message, debugType = log_service_1.LogDebugType.None) {
|
|
200
258
|
var _a, _b;
|
|
201
259
|
log_service_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -205,12 +263,15 @@ class AcDevice {
|
|
|
205
263
|
deviceName: this.name,
|
|
206
264
|
});
|
|
207
265
|
}
|
|
266
|
+
/** @inheritDoc */
|
|
208
267
|
wasActivatedByExcessEnergy() {
|
|
209
268
|
return this._activatedByExcessEnergy;
|
|
210
269
|
}
|
|
270
|
+
/** @inheritDoc */
|
|
211
271
|
loadDeviceSettings() {
|
|
212
272
|
this.settings.initializeFromDb(this);
|
|
213
273
|
}
|
|
274
|
+
/** @inheritDoc */
|
|
214
275
|
persistDeviceInfo() {
|
|
215
276
|
utils_1.Utils.guardedTimeout(() => {
|
|
216
277
|
var _a;
|
|
@@ -234,20 +295,21 @@ class AcDevice {
|
|
|
234
295
|
}
|
|
235
296
|
this.turnOn();
|
|
236
297
|
}
|
|
237
|
-
|
|
298
|
+
onRoomAnyMovement(_action) {
|
|
238
299
|
if (!this.settings.noCoolingOnMovement || !this.on || this.mode === ac_mode_1.AcMode.Heating) {
|
|
239
300
|
return;
|
|
240
301
|
}
|
|
241
|
-
this.log(models_1.LogLevel.Info,
|
|
302
|
+
this.log(models_1.LogLevel.Info, 'Something moved in the room. Turning off AC');
|
|
242
303
|
this.turnOff();
|
|
243
304
|
}
|
|
244
|
-
onRoomLastLeave() {
|
|
305
|
+
onRoomLastLeave(action) {
|
|
245
306
|
if (!this.settings.noCoolingOnMovement) {
|
|
246
307
|
return;
|
|
247
308
|
}
|
|
248
|
-
this.log(models_1.LogLevel.Info, `Last person left the room. Checking if we should turn on AC`);
|
|
309
|
+
this.log(models_1.LogLevel.Info, `Last person left the room (${action.reasonTrace}). Checking if we should turn on AC`);
|
|
249
310
|
this.restoreTargetAutomaticValue();
|
|
250
311
|
}
|
|
312
|
+
/** @inheritDoc */
|
|
251
313
|
toJSON() {
|
|
252
314
|
// eslint-disable-next-line
|
|
253
315
|
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({
|
|
@@ -68,6 +68,7 @@ class DaikinService {
|
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
+
// TODO: Migrate to new command system
|
|
71
72
|
static setAll(on, force = false) {
|
|
72
73
|
if (!this.isInitialized) {
|
|
73
74
|
return;
|
|
@@ -81,7 +82,7 @@ class DaikinService {
|
|
|
81
82
|
dev.turnOff();
|
|
82
83
|
}
|
|
83
84
|
if (force) {
|
|
84
|
-
dev.
|
|
85
|
+
dev.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, 180 * 60 * 1000));
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
}
|
|
@@ -5,22 +5,47 @@ 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;
|
|
39
|
+
/**
|
|
40
|
+
* Handles the situation when the device is unreachable, attempts to reconnect and log the outcome.
|
|
41
|
+
*
|
|
42
|
+
* This function logs a warning message indicating that the device is unreachable,
|
|
43
|
+
* then attempts to reconnect using the `DaikinService.reconnect` method.
|
|
44
|
+
* If the reconnection is successful, it sets the desired information and schedules a timeout of 5000ms.
|
|
45
|
+
* If the reconnection fails, it logs an error message with the reason for the failure.
|
|
46
|
+
*/
|
|
23
47
|
private handleDeviceUnreach;
|
|
24
48
|
private handleParamNg;
|
|
49
|
+
/** @inheritDoc */
|
|
25
50
|
toJSON(): Partial<OwnDaikinDevice>;
|
|
26
51
|
}
|
|
@@ -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;
|
|
@@ -86,13 +102,21 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
86
102
|
});
|
|
87
103
|
}
|
|
88
104
|
setDesiredInfo(retry = false, forceTemp) {
|
|
89
|
-
var _a;
|
|
105
|
+
var _a, _b;
|
|
106
|
+
if (this._desiredTemperatur === devices_1.UNDEFINED_TEMP_VALUE) {
|
|
107
|
+
if (((_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup) === undefined) {
|
|
108
|
+
this.log(models_1.LogLevel.Error, `Neither desired temperature nor HeatGroup is set for ${this.name}(${this.ip})`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this._desiredTemperatur = this.room.HeatGroup.desiredTemp;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
90
114
|
let targetTemp = this._desiredTemperatur;
|
|
91
115
|
if (this.desiredMode == daikin_controller_1.Mode.HOT) {
|
|
92
|
-
targetTemp = this.settings.
|
|
116
|
+
targetTemp = this.settings.useOwnTemperature ? targetTemp : 29;
|
|
93
117
|
}
|
|
94
118
|
else if (this.desiredMode == daikin_controller_1.Mode.COLD) {
|
|
95
|
-
targetTemp = this.settings.
|
|
119
|
+
targetTemp = this.settings.useOwnTemperature ? targetTemp : 16;
|
|
96
120
|
}
|
|
97
121
|
const changeObject = {
|
|
98
122
|
power: this.desiredState,
|
|
@@ -100,7 +124,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
100
124
|
targetHumidity: this.desiredHum,
|
|
101
125
|
targetTemperature: forceTemp !== null && forceTemp !== void 0 ? forceTemp : targetTemp,
|
|
102
126
|
};
|
|
103
|
-
(
|
|
127
|
+
(_b = this.device) === null || _b === void 0 ? void 0 : _b.setACControlInfo(changeObject, (err, res) => {
|
|
104
128
|
var _a;
|
|
105
129
|
if (err !== null) {
|
|
106
130
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Setting Ac Info for ${this.name} failed: ${err} `);
|
|
@@ -120,7 +144,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
120
144
|
this.persist();
|
|
121
145
|
}
|
|
122
146
|
else {
|
|
123
|
-
this.log(models_1.LogLevel.Warn,
|
|
147
|
+
this.log(models_1.LogLevel.Warn, 'No Error, but also no response...');
|
|
124
148
|
}
|
|
125
149
|
});
|
|
126
150
|
}
|
|
@@ -137,6 +161,14 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
137
161
|
});
|
|
138
162
|
});
|
|
139
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Handles the situation when the device is unreachable, attempts to reconnect and log the outcome.
|
|
166
|
+
*
|
|
167
|
+
* This function logs a warning message indicating that the device is unreachable,
|
|
168
|
+
* then attempts to reconnect using the `DaikinService.reconnect` method.
|
|
169
|
+
* If the reconnection is successful, it sets the desired information and schedules a timeout of 5000ms.
|
|
170
|
+
* If the reconnection fails, it logs an error message with the reason for the failure.
|
|
171
|
+
*/
|
|
140
172
|
handleDeviceUnreach() {
|
|
141
173
|
this.log(models_1.LogLevel.Warn, `Detected EHOSTUNREACH for ${this.name}(${this.ip}), will try reconecting`);
|
|
142
174
|
daikin_service_1.DaikinService.reconnect(this.name, this.ip, this._mac)
|
|
@@ -161,6 +193,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
|
|
|
161
193
|
}
|
|
162
194
|
});
|
|
163
195
|
}
|
|
196
|
+
/** @inheritDoc */
|
|
164
197
|
toJSON() {
|
|
165
198
|
// eslint-disable-next-line
|
|
166
199
|
const result = lodash_1.default.omit(this, ['room', '_room', 'device', '_device']);
|