hoffmation-base 3.0.0-alpha.5 → 3.0.0-alpha.51
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 +8 -0
- package/lib/models/action/index.js +27 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -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 +10 -0
- package/lib/models/command/commandType.js +10 -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 +19 -5
- package/lib/models/deviceSettings/acSettings.js +23 -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 +11 -0
- package/lib/models/deviceSettings/dachsSettings.js +13 -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 +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 +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 +37 -11
- package/lib/server/devices/dachs/dachs.js +49 -22
- 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 +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 +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 +11 -4
- package/lib/server/devices/groups/presenceGroup.js +57 -64
- 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/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 +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/Translation/res.d.ts +34 -19
- package/lib/server/services/Translation/res.js +34 -19
- package/lib/server/services/ac/ac-device.d.ts +48 -6
- package/lib/server/services/ac/ac-device.js +91 -36
- 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 +57 -56
- 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 +15 -18
- package/lib/server/services/weather/weather-service.js +32 -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
|
@@ -15,32 +15,62 @@ 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
|
+
/**
|
|
19
|
+
* Whether the AC is allowed to cool (depends on the season
|
|
20
|
+
* @returns {boolean} True if the AC is allowed to cool
|
|
21
|
+
*/
|
|
22
|
+
get coolingAllowed() {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
if (settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (this.settings.noCoolingOnMovement && ((_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.anyPresent())) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether the AC is allowed to heat (depends on the season and the settings)
|
|
34
|
+
* @returns {boolean} True if the AC is allowed to heat
|
|
35
|
+
*/
|
|
36
|
+
get heatingAllowed() {
|
|
37
|
+
return settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer && this.settings.heatingAllowed;
|
|
38
|
+
}
|
|
39
|
+
/** @inheritDoc */
|
|
18
40
|
get temperature() {
|
|
19
41
|
return this._roomTemperature;
|
|
20
42
|
}
|
|
43
|
+
/** @inheritDoc */
|
|
21
44
|
get customName() {
|
|
22
45
|
return this.info.customName;
|
|
23
46
|
}
|
|
47
|
+
/** @inheritDoc */
|
|
24
48
|
get room() {
|
|
25
49
|
return this._room;
|
|
26
50
|
}
|
|
51
|
+
/** @inheritDoc */
|
|
27
52
|
set room(room) {
|
|
28
53
|
var _a, _b;
|
|
29
54
|
this._room = room;
|
|
30
55
|
if (room !== undefined && !this._movementCallbackAdded) {
|
|
31
56
|
this._movementCallbackAdded = true;
|
|
57
|
+
// TODO: Maybe change to any Movement
|
|
32
58
|
(_a = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _a === void 0 ? void 0 : _a.addFirstEnterCallback(this.onRoomFirstEnter.bind(this));
|
|
33
59
|
(_b = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.addLastLeftCallback(this.onRoomLastLeave.bind(this));
|
|
34
60
|
}
|
|
35
61
|
}
|
|
62
|
+
/** @inheritDoc */
|
|
36
63
|
get mode() {
|
|
37
64
|
return this._mode;
|
|
38
65
|
}
|
|
39
66
|
constructor(name, roomName, ip, acDeviceType) {
|
|
40
67
|
this.ip = ip;
|
|
41
68
|
this.acDeviceType = acDeviceType;
|
|
69
|
+
/** @inheritDoc */
|
|
42
70
|
this.currentConsumption = -1;
|
|
71
|
+
/** @inheritDoc */
|
|
43
72
|
this.settings = new models_1.AcSettings();
|
|
73
|
+
/** @inheritDoc */
|
|
44
74
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.ac, DeviceCapability_1.DeviceCapability.blockAutomatic];
|
|
45
75
|
this._activatedByExcessEnergy = false;
|
|
46
76
|
this._desiredTemperatur = devices_1.UNDEFINED_TEMP_VALUE;
|
|
@@ -52,40 +82,48 @@ class AcDevice {
|
|
|
52
82
|
this._info.customName = `${roomName} ${name}`;
|
|
53
83
|
this._info.room = roomName;
|
|
54
84
|
this._info.allDevicesKey = `ac-${roomName}-${name}`;
|
|
55
|
-
utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this,
|
|
85
|
+
utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this, false);
|
|
56
86
|
utils_1.Utils.guardedInterval(this.persist, 15 * 60 * 1000, this, true);
|
|
57
87
|
this.persistDeviceInfo();
|
|
58
88
|
this.loadDeviceSettings();
|
|
59
|
-
this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
|
|
89
|
+
this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
|
|
60
90
|
}
|
|
91
|
+
/** @inheritDoc */
|
|
61
92
|
get energySettings() {
|
|
62
93
|
return this.settings.energySettings;
|
|
63
94
|
}
|
|
95
|
+
/** @inheritDoc */
|
|
64
96
|
get roomTemperature() {
|
|
65
97
|
return this._roomTemperature;
|
|
66
98
|
}
|
|
99
|
+
/** @inheritDoc */
|
|
67
100
|
get info() {
|
|
68
101
|
return this._info;
|
|
69
102
|
}
|
|
70
103
|
set roomTemperatur(val) {
|
|
71
104
|
this._roomTemperature = val;
|
|
72
105
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
106
|
+
/**
|
|
107
|
+
* The name of this device
|
|
108
|
+
* @returns The human readable name of this device
|
|
109
|
+
*/
|
|
76
110
|
get name() {
|
|
77
111
|
return this.info.customName;
|
|
78
112
|
}
|
|
113
|
+
/** @inheritDoc */
|
|
79
114
|
get id() {
|
|
80
115
|
var _a;
|
|
81
116
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `ac-${this.info.room}-${this.info.customName}`;
|
|
82
117
|
}
|
|
118
|
+
/** @inheritDoc */
|
|
83
119
|
restoreTargetAutomaticValue() {
|
|
84
|
-
this.log(models_1.LogLevel.Debug,
|
|
120
|
+
this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
|
|
85
121
|
this.automaticCheck();
|
|
86
122
|
}
|
|
123
|
+
/** @inheritDoc */
|
|
87
124
|
isAvailableForExcessEnergy() {
|
|
88
|
-
|
|
125
|
+
var _a, _b;
|
|
126
|
+
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
127
|
return false;
|
|
90
128
|
}
|
|
91
129
|
if (this.blockAutomationHandler.automaticBlockActive) {
|
|
@@ -96,46 +134,55 @@ class AcDevice {
|
|
|
96
134
|
}
|
|
97
135
|
return this.calculateDesiredMode() !== ac_mode_1.AcMode.Off;
|
|
98
136
|
}
|
|
137
|
+
/** @inheritDoc */
|
|
99
138
|
calculateDesiredMode() {
|
|
100
|
-
var _a, _b, _c, _d
|
|
139
|
+
var _a, _b, _c, _d;
|
|
101
140
|
const acOn = this.on;
|
|
102
|
-
|
|
141
|
+
const heatGroup = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup;
|
|
142
|
+
if (!heatGroup) {
|
|
143
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
144
|
+
return ac_mode_1.AcMode.Off;
|
|
145
|
+
}
|
|
146
|
+
this._desiredTemperatur = heatGroup.desiredTemp;
|
|
103
147
|
if (this.settings.manualDisabled) {
|
|
104
|
-
acOn && this.log(models_1.LogLevel.Info,
|
|
148
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as manual disable force is set.');
|
|
149
|
+
return ac_mode_1.AcMode.Off;
|
|
150
|
+
}
|
|
151
|
+
if ((_b = devices_1.Devices.energymanager) === null || _b === void 0 ? void 0 : _b.acBlocked) {
|
|
152
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as energy-manager demands off.');
|
|
105
153
|
return ac_mode_1.AcMode.Off;
|
|
106
154
|
}
|
|
107
155
|
// Check Turn Off Time
|
|
108
156
|
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,
|
|
157
|
+
acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, to respect night settings.');
|
|
110
158
|
return ac_mode_1.AcMode.Off;
|
|
111
159
|
}
|
|
112
|
-
|
|
113
|
-
if (this.settings.useOwnTemperatureAndAutomatic) {
|
|
160
|
+
if (this.settings.useOwnTemperature) {
|
|
114
161
|
// Device is in automatic mode so ignore energy and room temperature
|
|
115
|
-
if (
|
|
162
|
+
if (this.settings.useAutomatic) {
|
|
116
163
|
return ac_mode_1.AcMode.Auto;
|
|
117
164
|
}
|
|
118
|
-
if (
|
|
165
|
+
if (this.heatingAllowed) {
|
|
119
166
|
return ac_mode_1.AcMode.Heating;
|
|
120
167
|
}
|
|
121
|
-
if (
|
|
168
|
+
else if (this.coolingAllowed) {
|
|
122
169
|
return ac_mode_1.AcMode.Cooling;
|
|
123
170
|
}
|
|
124
171
|
return ac_mode_1.AcMode.Off;
|
|
125
172
|
}
|
|
126
173
|
const temp = this.roomTemperature;
|
|
127
174
|
if (temp === undefined || temp === devices_1.UNDEFINED_TEMP_VALUE) {
|
|
128
|
-
this.log(models_1.LogLevel.Warn,
|
|
175
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no room temperature");
|
|
129
176
|
return ac_mode_1.AcMode.Off;
|
|
130
177
|
}
|
|
131
178
|
if (!heatGroup) {
|
|
132
|
-
this.log(models_1.LogLevel.Warn,
|
|
179
|
+
this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
|
|
133
180
|
return ac_mode_1.AcMode.Off;
|
|
134
181
|
}
|
|
135
182
|
let threshold = acOn ? 0.5 : 1.5;
|
|
136
183
|
let thresholdHeating = acOn ? 0.5 : 1.5;
|
|
137
184
|
let desiredMode = ac_mode_1.AcMode.Off;
|
|
138
|
-
const excessEnergy = (
|
|
185
|
+
const excessEnergy = (_d = (_c = devices_1.Devices.energymanager) === null || _c === void 0 ? void 0 : _c.excessEnergy) !== null && _d !== void 0 ? _d : -1;
|
|
139
186
|
if ((acOn ? 200 : 1000) < excessEnergy) {
|
|
140
187
|
// As there is plenty of energy to spare we plan to overshoot the target by 1 degree
|
|
141
188
|
threshold = -0.5;
|
|
@@ -144,13 +191,10 @@ class AcDevice {
|
|
|
144
191
|
const targetTemp = heatGroup.desiredTemp;
|
|
145
192
|
const coolUntil = targetTemp + threshold;
|
|
146
193
|
const heatUntil = targetTemp - thresholdHeating;
|
|
147
|
-
if (temp > coolUntil &&
|
|
194
|
+
if (temp > coolUntil && this.coolingAllowed) {
|
|
148
195
|
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
196
|
}
|
|
153
|
-
else if (temp < heatUntil && this.
|
|
197
|
+
else if (temp < heatUntil && this.heatingAllowed) {
|
|
154
198
|
desiredMode = ac_mode_1.AcMode.Heating;
|
|
155
199
|
}
|
|
156
200
|
if (acOn ? desiredMode === ac_mode_1.AcMode.Off : desiredMode !== ac_mode_1.AcMode.Off) {
|
|
@@ -158,16 +202,13 @@ class AcDevice {
|
|
|
158
202
|
}
|
|
159
203
|
return desiredMode;
|
|
160
204
|
}
|
|
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
|
-
}
|
|
205
|
+
/** @inheritDoc */
|
|
168
206
|
onTemperaturChange(newTemperatur) {
|
|
169
207
|
this.roomTemperatur = newTemperatur;
|
|
170
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Persists the current AC-Information to the database
|
|
211
|
+
*/
|
|
171
212
|
persist() {
|
|
172
213
|
var _a;
|
|
173
214
|
if (!utils_1.Utils.anyDboActive || this.on === undefined) {
|
|
@@ -175,6 +216,7 @@ class AcDevice {
|
|
|
175
216
|
}
|
|
176
217
|
(_a = utils_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistAC(this);
|
|
177
218
|
}
|
|
219
|
+
/** @inheritDoc */
|
|
178
220
|
turnOnForExcessEnergy() {
|
|
179
221
|
if (this.blockAutomationHandler.automaticBlockActive) {
|
|
180
222
|
return;
|
|
@@ -183,11 +225,19 @@ class AcDevice {
|
|
|
183
225
|
this.setDesiredMode(this.calculateDesiredMode(), false);
|
|
184
226
|
this.turnOn();
|
|
185
227
|
}
|
|
228
|
+
/** @inheritDoc */
|
|
186
229
|
turnOffDueToMissingEnergy() {
|
|
187
230
|
this.turnOff();
|
|
188
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Sets the state of the AC
|
|
234
|
+
* TODO: Migrate to new command system
|
|
235
|
+
* @param mode - The desired mode
|
|
236
|
+
* @param desiredTemp - The desired temperature (if unset it will be calculated)
|
|
237
|
+
* @param forceTime - The time in ms to force the AC to stay in this state (default 1h)
|
|
238
|
+
*/
|
|
189
239
|
setState(mode, desiredTemp, forceTime = 60 * 60 * 1000) {
|
|
190
|
-
this.blockAutomationHandler.disableAutomatic(forceTime);
|
|
240
|
+
this.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, forceTime));
|
|
191
241
|
this._mode = mode;
|
|
192
242
|
if (mode == ac_mode_1.AcMode.Off) {
|
|
193
243
|
this.turnOff();
|
|
@@ -196,6 +246,7 @@ class AcDevice {
|
|
|
196
246
|
this.setDesiredMode(mode, false, desiredTemp);
|
|
197
247
|
this.turnOn();
|
|
198
248
|
}
|
|
249
|
+
/** @inheritDoc */
|
|
199
250
|
log(level, message, debugType = log_service_1.LogDebugType.None) {
|
|
200
251
|
var _a, _b;
|
|
201
252
|
log_service_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -205,12 +256,15 @@ class AcDevice {
|
|
|
205
256
|
deviceName: this.name,
|
|
206
257
|
});
|
|
207
258
|
}
|
|
259
|
+
/** @inheritDoc */
|
|
208
260
|
wasActivatedByExcessEnergy() {
|
|
209
261
|
return this._activatedByExcessEnergy;
|
|
210
262
|
}
|
|
263
|
+
/** @inheritDoc */
|
|
211
264
|
loadDeviceSettings() {
|
|
212
265
|
this.settings.initializeFromDb(this);
|
|
213
266
|
}
|
|
267
|
+
/** @inheritDoc */
|
|
214
268
|
persistDeviceInfo() {
|
|
215
269
|
utils_1.Utils.guardedTimeout(() => {
|
|
216
270
|
var _a;
|
|
@@ -234,20 +288,21 @@ class AcDevice {
|
|
|
234
288
|
}
|
|
235
289
|
this.turnOn();
|
|
236
290
|
}
|
|
237
|
-
onRoomFirstEnter() {
|
|
291
|
+
onRoomFirstEnter(_action) {
|
|
238
292
|
if (!this.settings.noCoolingOnMovement || !this.on || this.mode === ac_mode_1.AcMode.Heating) {
|
|
239
293
|
return;
|
|
240
294
|
}
|
|
241
|
-
this.log(models_1.LogLevel.Info,
|
|
295
|
+
this.log(models_1.LogLevel.Info, 'Someone entered the room. Turning off AC');
|
|
242
296
|
this.turnOff();
|
|
243
297
|
}
|
|
244
|
-
onRoomLastLeave() {
|
|
298
|
+
onRoomLastLeave(action) {
|
|
245
299
|
if (!this.settings.noCoolingOnMovement) {
|
|
246
300
|
return;
|
|
247
301
|
}
|
|
248
|
-
this.log(models_1.LogLevel.Info, `Last person left the room. Checking if we should turn on AC`);
|
|
302
|
+
this.log(models_1.LogLevel.Info, `Last person left the room (${action.reasonTrace}). Checking if we should turn on AC`);
|
|
249
303
|
this.restoreTargetAutomaticValue();
|
|
250
304
|
}
|
|
305
|
+
/** @inheritDoc */
|
|
251
306
|
toJSON() {
|
|
252
307
|
// eslint-disable-next-line
|
|
253
308
|
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']);
|