hoffmation-base 3.0.0-alpha.4 → 3.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +5 -1
- package/lib/index.js +20 -20
- package/lib/liquid-pid.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/humiditySensorChangeAction.d.ts +16 -0
- package/lib/models/action/humiditySensorChangeAction.js +15 -0
- package/lib/models/action/index.d.ts +7 -0
- package/lib/models/action/index.js +25 -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 +9 -2
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +13 -2
- 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 +9 -0
- package/lib/models/command/commandType.js +9 -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 +3 -0
- package/lib/models/deviceSettings/dachsSettings.js +3 -0
- package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
- package/lib/models/deviceSettings/deviceSettings.js +16 -0
- package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
- package/lib/models/deviceSettings/dimmerSettings.js +20 -0
- package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
- package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
- package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
- package/lib/models/deviceSettings/heaterSettings.js +21 -9
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +76 -18
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
- package/lib/models/deviceSettings/shutterSettings.js +11 -3
- package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
- package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
- package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
- package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
- package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
- package/lib/models/deviceSettings/wledSettings.js +37 -13
- package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
- package/lib/models/groupSettings/heatGroupSettings.js +12 -1
- package/lib/models/iIdHolder.d.ts +18 -0
- package/lib/models/index.d.ts +2 -1
- package/lib/models/index.js +4 -1
- package/lib/models/objectSettings.d.ts +5 -2
- package/lib/models/objectSettings.js +2 -2
- package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
- package/lib/models/persistence/EnergyCalculation.js +30 -4
- package/lib/models/persistence/index.d.ts +0 -2
- package/lib/models/persistence/index.js +0 -2
- package/lib/models/rooms/RoomBase.d.ts +12 -1
- package/lib/models/rooms/RoomBase.js +17 -8
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
- package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
- package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
- package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
- package/lib/models/rooms/iRoomBase.d.ts +39 -0
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +16 -6
- package/lib/server/config/heatingMode.d.ts +2 -1
- package/lib/server/config/heatingMode.js +2 -1
- package/lib/server/config/iAsusConfig.d.ts +15 -0
- package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
- package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
- package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
- package/lib/server/config/iConfig.d.ts +92 -5
- package/lib/server/config/iDachsSettings.d.ts +16 -0
- package/lib/server/config/iDaikinSettings.d.ts +17 -0
- package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
- package/lib/server/config/iEspresenseSettings.d.ts +10 -0
- package/lib/server/config/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +36 -1
- package/lib/server/config/iMp3Settings.d.ts +10 -0
- package/lib/server/config/iMuellSettings.d.ts +7 -0
- package/lib/server/config/iNewsSettings.d.ts +13 -0
- package/lib/server/config/iPersistenceSettings.d.ts +10 -0
- package/lib/server/config/iPollySettings.d.ts +22 -0
- package/lib/server/config/iRestSettings.d.ts +10 -0
- package/lib/server/config/iSonosSettings.d.ts +10 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.js +1 -0
- package/lib/server/devices/DeviceInfo.d.ts +9 -0
- package/lib/server/devices/DeviceInfo.js +6 -0
- package/lib/server/devices/Griffe.js +1 -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 +12 -1
- 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 +32 -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 +31 -9
- package/lib/server/devices/dachs/dachs.js +28 -18
- 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 +1 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +1 -1
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +1 -4
- package/lib/server/devices/devices.d.ts +43 -7
- package/lib/server/devices/devices.js +42 -6
- package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
- package/lib/server/devices/espresense/detectedBluetoothDevice.js +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 +16 -34
- package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
- package/lib/server/devices/groups/presenceGroup.js +52 -62
- 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 +27 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
- 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 +1 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -9
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +13 -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 +15 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +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 +3 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +5 -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 +80 -26
- package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
- package/lib/server/devices/shelly/shellyDevice.js +2 -1
- package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
- package/lib/server/devices/shelly/shellyTrv.js +46 -45
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -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 +30 -65
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
- package/lib/server/devices/zigbee/BaseDevices/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 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +22 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +46 -42
- 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 +49 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +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 +19 -1
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +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 +20 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +22 -5
- 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 +86 -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 +17 -0
- package/lib/server/services/ac/own-daikin-device.js +32 -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-service.d.ts +1 -5
- package/lib/server/services/govee/govee-service.js +3 -5
- package/lib/server/services/govee/own-govee-device.d.ts +17 -13
- package/lib/server/services/govee/own-govee-device.js +27 -27
- 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 +12 -0
- package/lib/server/services/log-service/log-debug-type.js +16 -0
- package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
- package/lib/server/services/log-service/log-filter-data.js +6 -15
- package/lib/server/services/log-service/log-service.d.ts +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 +6 -2
- package/lib/server/services/victron/victron-device.js +12 -9
- 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 -7
- 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
|
@@ -12,9 +12,20 @@ const espresenseCoordinator_1 = require("./espresenseCoordinator");
|
|
|
12
12
|
const trilaterationBasePoint_1 = require("./trilaterationBasePoint");
|
|
13
13
|
const trilateration_1 = require("./trilateration");
|
|
14
14
|
class EspresenseDevice {
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new instance of the EspresenseDevice class
|
|
17
|
+
* @param name - The desired name of the device
|
|
18
|
+
* @param roomName - The name of the room this device is in {@link iRoomBase.roomName}
|
|
19
|
+
* @param x - The x coordinate of the device in the house
|
|
20
|
+
* @param y - The y coordinate of the device in the house
|
|
21
|
+
* @param z - The z coordinate of the device in the house
|
|
22
|
+
*/
|
|
15
23
|
constructor(name, roomName, x, y, z) {
|
|
24
|
+
/** @inheritDoc */
|
|
16
25
|
this.settings = undefined;
|
|
26
|
+
/** @inheritDoc */
|
|
17
27
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.bluetoothDetector];
|
|
28
|
+
/** @inheritDoc */
|
|
18
29
|
this.deviceType = deviceType_1.DeviceType.Espresense;
|
|
19
30
|
this.deviceMap = new Map();
|
|
20
31
|
this.proximityCallbackMap = new Map();
|
|
@@ -31,22 +42,24 @@ class EspresenseDevice {
|
|
|
31
42
|
this.loadDeviceSettings();
|
|
32
43
|
trilateration_1.Trilateration.basePoints.push(this.position);
|
|
33
44
|
}
|
|
45
|
+
/** @inheritDoc */
|
|
34
46
|
get customName() {
|
|
35
47
|
return this.info.customName;
|
|
36
48
|
}
|
|
49
|
+
/** @inheritDoc */
|
|
37
50
|
get info() {
|
|
38
51
|
return this._info;
|
|
39
52
|
}
|
|
40
|
-
|
|
41
|
-
this._info = info;
|
|
42
|
-
}
|
|
53
|
+
/** @inheritDoc */
|
|
43
54
|
get id() {
|
|
44
55
|
var _a;
|
|
45
56
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `espresense-${this.info.room}-${this.info.customName}`;
|
|
46
57
|
}
|
|
58
|
+
/** @inheritDoc */
|
|
47
59
|
get room() {
|
|
48
60
|
return services_1.API.getRoom(this.info.room);
|
|
49
61
|
}
|
|
62
|
+
/** @inheritDoc */
|
|
50
63
|
distanceOfDevice(deviceName, maxAge = 60) {
|
|
51
64
|
var _a;
|
|
52
65
|
for (const dev of this.deviceMap.values()) {
|
|
@@ -57,10 +70,16 @@ class EspresenseDevice {
|
|
|
57
70
|
}
|
|
58
71
|
return undefined;
|
|
59
72
|
}
|
|
73
|
+
/** @inheritDoc */
|
|
60
74
|
isDevicePresent(deviceName, maxDistance, maxAge = 60) {
|
|
61
75
|
var _a;
|
|
62
76
|
return ((_a = this.distanceOfDevice(deviceName, maxAge)) !== null && _a !== void 0 ? _a : 99) < maxDistance;
|
|
63
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Updates the device with the given state
|
|
80
|
+
* @param devName - The name of the bluetooth device
|
|
81
|
+
* @param state - The state containing the json-formatted distance data
|
|
82
|
+
*/
|
|
64
83
|
update(devName, state) {
|
|
65
84
|
var _a, _b;
|
|
66
85
|
let data = null;
|
|
@@ -83,7 +102,7 @@ class EspresenseDevice {
|
|
|
83
102
|
}
|
|
84
103
|
const trackedDistance = dev.getDistance(this.id);
|
|
85
104
|
if (trackedDistance === undefined) {
|
|
86
|
-
this.log(models_1.LogLevel.Error,
|
|
105
|
+
this.log(models_1.LogLevel.Error, 'TrackedDistance Undefined directly after update');
|
|
87
106
|
return;
|
|
88
107
|
}
|
|
89
108
|
const distance = trackedDistance.distance;
|
|
@@ -103,6 +122,7 @@ class EspresenseDevice {
|
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
}
|
|
125
|
+
/** @inheritDoc */
|
|
106
126
|
log(level, message, debugType = services_1.LogDebugType.None) {
|
|
107
127
|
var _a, _b;
|
|
108
128
|
services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -112,18 +132,22 @@ class EspresenseDevice {
|
|
|
112
132
|
deviceName: this.name,
|
|
113
133
|
});
|
|
114
134
|
}
|
|
135
|
+
/** @inheritDoc */
|
|
115
136
|
toJSON() {
|
|
116
137
|
return services_1.Utils.jsonFilter(this);
|
|
117
138
|
}
|
|
139
|
+
/** @inheritDoc */
|
|
118
140
|
persistDeviceInfo() {
|
|
119
141
|
services_1.Utils.guardedTimeout(() => {
|
|
120
142
|
var _a;
|
|
121
143
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
|
|
122
144
|
}, 5000, this);
|
|
123
145
|
}
|
|
146
|
+
/** @inheritDoc */
|
|
124
147
|
loadDeviceSettings() {
|
|
125
148
|
// Nothing
|
|
126
149
|
}
|
|
150
|
+
/** @inheritDoc */
|
|
127
151
|
addProximityCallback(cb) {
|
|
128
152
|
let currentValue = this.proximityCallbackMap.get(cb.deviceName);
|
|
129
153
|
if (currentValue == undefined) {
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { iBluetoothDetector } from '../baseDeviceInterfaces/iBluetoothDetector';
|
|
2
2
|
export declare class TrackedDistanceData {
|
|
3
|
+
/**
|
|
4
|
+
* The name of the tracker who detected this device
|
|
5
|
+
*/
|
|
3
6
|
trackerName: string;
|
|
7
|
+
/**
|
|
8
|
+
* The distance to the tracker
|
|
9
|
+
*/
|
|
4
10
|
distance: number | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* The time of the last update
|
|
13
|
+
*/
|
|
5
14
|
lastUpdate: number;
|
|
15
|
+
/**
|
|
16
|
+
* The distance to the tracker before the last update (if available) can be used to calculate certain movements
|
|
17
|
+
*/
|
|
6
18
|
previousDistance: number | undefined;
|
|
7
19
|
constructor(tracker: iBluetoothDetector);
|
|
8
20
|
update(distance: number): void;
|
|
@@ -3,7 +3,14 @@ import { TrilaterationPoint } from './trilaterationPoint';
|
|
|
3
3
|
import { TrilaterationPointDistance } from './trilaterationPointDistance';
|
|
4
4
|
import { RoomBase } from '../../../models';
|
|
5
5
|
export declare class Trilateration {
|
|
6
|
+
/**
|
|
7
|
+
* A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
|
|
8
|
+
*/
|
|
6
9
|
static readonly basePoints: TrilaterationBasePoint[];
|
|
10
|
+
/**
|
|
11
|
+
* A list of all possible points for trilateration in this home, used for increased calculation speed
|
|
12
|
+
* This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
|
|
13
|
+
*/
|
|
7
14
|
static possiblePoints: TrilaterationPoint[];
|
|
8
15
|
static addRoom(room: RoomBase, startPoint: TrilaterationPoint, endPoint: TrilaterationPoint): void;
|
|
9
16
|
static initialize(): void;
|
|
@@ -104,5 +104,12 @@ class Trilateration {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
exports.Trilateration = Trilateration;
|
|
107
|
+
/**
|
|
108
|
+
* A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
|
|
109
|
+
*/
|
|
107
110
|
Trilateration.basePoints = [];
|
|
111
|
+
/**
|
|
112
|
+
* A list of all possible points for trilateration in this home, used for increased calculation speed
|
|
113
|
+
* This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
|
|
114
|
+
*/
|
|
108
115
|
Trilateration.possiblePoints = [];
|
|
@@ -6,7 +6,13 @@ export declare class TrilaterationBasePoint {
|
|
|
6
6
|
readonly z: number;
|
|
7
7
|
readonly roomName: string;
|
|
8
8
|
private readonly _maximumDistance;
|
|
9
|
+
/**
|
|
10
|
+
* The coordinates of this point in Space
|
|
11
|
+
*/
|
|
9
12
|
readonly ownPoint: TrilaterationPoint;
|
|
13
|
+
/**
|
|
14
|
+
* A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
|
|
15
|
+
*/
|
|
10
16
|
readonly precalculatedDistancesMap: Map<number, string[]>;
|
|
11
17
|
constructor(x: number, y: number, z: number, roomName: string, _maximumDistance?: number);
|
|
12
18
|
getRatedCoordinates(distance: number): TrilaterationRatedCoordinate[];
|
|
@@ -12,6 +12,9 @@ class TrilaterationBasePoint {
|
|
|
12
12
|
this.z = z;
|
|
13
13
|
this.roomName = roomName;
|
|
14
14
|
this._maximumDistance = _maximumDistance;
|
|
15
|
+
/**
|
|
16
|
+
* A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
|
|
17
|
+
*/
|
|
15
18
|
this.precalculatedDistancesMap = new Map();
|
|
16
19
|
this.ownPoint = new trilaterationPoint_1.TrilaterationPoint(x, y, z, roomName);
|
|
17
20
|
}
|
|
@@ -4,8 +4,8 @@ export declare class TrilaterationPoint {
|
|
|
4
4
|
z: number;
|
|
5
5
|
roomName: string;
|
|
6
6
|
static getPointsInRange(a: TrilaterationPoint, b: TrilaterationPoint, roomName?: string): TrilaterationPoint[];
|
|
7
|
-
readonly coordinateName: string;
|
|
8
7
|
constructor(x: number, y: number, z: number, roomName: string);
|
|
8
|
+
get coordinateName(): string;
|
|
9
9
|
getDistance(other: TrilaterationPoint): number;
|
|
10
10
|
getDot5Distance(other: TrilaterationPoint): number;
|
|
11
11
|
}
|
|
@@ -22,7 +22,9 @@ class TrilaterationPoint {
|
|
|
22
22
|
this.y = y;
|
|
23
23
|
this.z = z;
|
|
24
24
|
this.roomName = roomName;
|
|
25
|
-
|
|
25
|
+
}
|
|
26
|
+
get coordinateName() {
|
|
27
|
+
return `${this.x}-${this.y}-${this.z}`;
|
|
26
28
|
}
|
|
27
29
|
getDistance(other) {
|
|
28
30
|
return Math.sqrt((this.x - other.x) ** 2 + (this.y - other.y) ** 2 + (this.z - other.z) ** 2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HmIpGriff } from '../hmIPDevices';
|
|
2
2
|
import { WindowPosition } from '../models';
|
|
3
|
-
import { WindowRestoreDesiredPositionCommand, WindowSetDesiredPositionCommand } from '../../../models';
|
|
3
|
+
import { ShutterPositionChangedAction, WindowRestoreDesiredPositionCommand, WindowSetDesiredPositionCommand } from '../../../models';
|
|
4
4
|
import { iShutter, iVibrationSensor } from '../baseDeviceInterfaces';
|
|
5
5
|
import { BaseGroup } from './base-group';
|
|
6
6
|
import { ZigbeeMagnetContact } from '../zigbee';
|
|
@@ -9,10 +9,16 @@ export declare class Window extends BaseGroup {
|
|
|
9
9
|
readonly vibrationIds: string[];
|
|
10
10
|
readonly shutterIds: string[];
|
|
11
11
|
readonly magnetIds: string[];
|
|
12
|
-
|
|
12
|
+
private _desiredPosition;
|
|
13
|
+
/**
|
|
14
|
+
* The desired shutter level for the window
|
|
15
|
+
* @returns {number} The level (0 closed, 100 open)
|
|
16
|
+
*/
|
|
17
|
+
get desiredPosition(): number;
|
|
13
18
|
constructor(roomName: string, handleIds?: string[], vibrationIds?: string[], shutterIds?: string[], magnetIds?: string[]);
|
|
14
19
|
/**
|
|
15
20
|
* sets the desired Pos and moves rollo to this level
|
|
21
|
+
* @param c - The command to execute
|
|
16
22
|
*/
|
|
17
23
|
setDesiredPosition(c: WindowSetDesiredPositionCommand): void;
|
|
18
24
|
getHandle(): HmIpGriff[];
|
|
@@ -21,6 +27,6 @@ export declare class Window extends BaseGroup {
|
|
|
21
27
|
getVibration(): iVibrationSensor[];
|
|
22
28
|
griffeInPosition(pPosition: WindowPosition): number;
|
|
23
29
|
initialize(): void;
|
|
24
|
-
rolloPositionChange(
|
|
30
|
+
rolloPositionChange(action: ShutterPositionChangedAction): void;
|
|
25
31
|
restoreDesiredPosition(c: WindowRestoreDesiredPositionCommand): void;
|
|
26
32
|
}
|
|
@@ -9,13 +9,20 @@ const group_type_1 = require("./group-type");
|
|
|
9
9
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
10
10
|
const device_list_1 = require("../device-list");
|
|
11
11
|
class Window extends base_group_1.BaseGroup {
|
|
12
|
+
/**
|
|
13
|
+
* The desired shutter level for the window
|
|
14
|
+
* @returns {number} The level (0 closed, 100 open)
|
|
15
|
+
*/
|
|
16
|
+
get desiredPosition() {
|
|
17
|
+
return this._desiredPosition;
|
|
18
|
+
}
|
|
12
19
|
constructor(roomName, handleIds = [], vibrationIds = [], shutterIds = [], magnetIds = []) {
|
|
13
20
|
super(roomName, group_type_1.GroupType.Window);
|
|
14
21
|
this.handleIds = handleIds;
|
|
15
22
|
this.vibrationIds = vibrationIds;
|
|
16
23
|
this.shutterIds = shutterIds;
|
|
17
24
|
this.magnetIds = magnetIds;
|
|
18
|
-
this.
|
|
25
|
+
this._desiredPosition = 0;
|
|
19
26
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Handle, new device_list_1.DeviceList(handleIds));
|
|
20
27
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Vibration, new device_list_1.DeviceList(vibrationIds));
|
|
21
28
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Shutter, new device_list_1.DeviceList(shutterIds));
|
|
@@ -23,9 +30,10 @@ class Window extends base_group_1.BaseGroup {
|
|
|
23
30
|
}
|
|
24
31
|
/**
|
|
25
32
|
* sets the desired Pos and moves rollo to this level
|
|
33
|
+
* @param c - The command to execute
|
|
26
34
|
*/
|
|
27
35
|
setDesiredPosition(c) {
|
|
28
|
-
this.
|
|
36
|
+
this._desiredPosition = c.position;
|
|
29
37
|
this.restoreDesiredPosition(new models_2.WindowRestoreDesiredPositionCommand(c));
|
|
30
38
|
}
|
|
31
39
|
getHandle() {
|
|
@@ -56,7 +64,7 @@ class Window extends base_group_1.BaseGroup {
|
|
|
56
64
|
return;
|
|
57
65
|
}
|
|
58
66
|
this.getVibration().forEach((element) => {
|
|
59
|
-
element.
|
|
67
|
+
element.vibrationBlockedByHandle = true;
|
|
60
68
|
});
|
|
61
69
|
const timeOfDay = services_1.TimeCallbackService.dayType(this.getRoom().settings.rolloOffset);
|
|
62
70
|
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, services_1.TimeCallbackService.darkOutsideOrNight(timeOfDay) ? 50 : 100, 'Window ajar by handle'));
|
|
@@ -64,7 +72,7 @@ class Window extends base_group_1.BaseGroup {
|
|
|
64
72
|
griff.addOffenCallback((offen) => {
|
|
65
73
|
if (offen) {
|
|
66
74
|
this.getVibration().forEach((element) => {
|
|
67
|
-
element.
|
|
75
|
+
element.vibrationBlockedByHandle = true;
|
|
68
76
|
});
|
|
69
77
|
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, 100, 'Window opened by handle'));
|
|
70
78
|
return;
|
|
@@ -78,8 +86,8 @@ class Window extends base_group_1.BaseGroup {
|
|
|
78
86
|
this.getVibration().forEach((element) => {
|
|
79
87
|
this.log(models_2.LogLevel.Debug, `Starte Timeout für Vibrationsdeaktivierung für ${element.info.customName}`);
|
|
80
88
|
services_1.Utils.guardedTimeout(() => {
|
|
81
|
-
if (element.
|
|
82
|
-
element.
|
|
89
|
+
if (element.vibrationBlockedByHandleTimeStamp < now) {
|
|
90
|
+
element.vibrationBlockedByHandle = false;
|
|
83
91
|
}
|
|
84
92
|
}, 12000);
|
|
85
93
|
});
|
|
@@ -96,14 +104,14 @@ class Window extends base_group_1.BaseGroup {
|
|
|
96
104
|
});
|
|
97
105
|
}, 5, this);
|
|
98
106
|
}
|
|
99
|
-
rolloPositionChange(
|
|
100
|
-
this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName}
|
|
101
|
-
if (
|
|
102
|
-
this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(
|
|
107
|
+
rolloPositionChange(action) {
|
|
108
|
+
this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName}: ${action.reasonTrace}`, action.newPosition == this._desiredPosition ? services_1.LogDebugType.None : services_1.LogDebugType.ShutterPositionChange);
|
|
109
|
+
if (action.newPosition === 0 || action.newPosition === 100) {
|
|
110
|
+
this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(action, true));
|
|
103
111
|
}
|
|
104
112
|
}
|
|
105
113
|
restoreDesiredPosition(c) {
|
|
106
|
-
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this.
|
|
114
|
+
services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this._desiredPosition));
|
|
107
115
|
}
|
|
108
116
|
}
|
|
109
117
|
exports.Window = Window;
|
|
@@ -7,8 +7,12 @@ import { GroupSettings } from '../../../models/groupSettings/groupSettings';
|
|
|
7
7
|
export declare class BaseGroup implements iIdHolder {
|
|
8
8
|
roomName: string;
|
|
9
9
|
type: GroupType;
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the group
|
|
12
|
+
*/
|
|
10
13
|
settings: GroupSettings | undefined;
|
|
11
14
|
get customName(): string;
|
|
15
|
+
/** @inheritDoc */
|
|
12
16
|
id: string;
|
|
13
17
|
constructor(roomName: string, type: GroupType);
|
|
14
18
|
protected _deviceCluster: DeviceCluster;
|
|
@@ -11,6 +11,9 @@ class BaseGroup {
|
|
|
11
11
|
constructor(roomName, type) {
|
|
12
12
|
this.roomName = roomName;
|
|
13
13
|
this.type = type;
|
|
14
|
+
/**
|
|
15
|
+
* The settings of the group
|
|
16
|
+
*/
|
|
14
17
|
this.settings = undefined;
|
|
15
18
|
this._deviceCluster = new device_cluster_1.DeviceCluster();
|
|
16
19
|
this.id = `${this.roomName}-${group_type_1.GroupType[this.type]}`;
|
|
@@ -4,16 +4,17 @@ import { AcDevice } from '../../services';
|
|
|
4
4
|
import { HeatGroupSettings } from '../../../models/groupSettings/heatGroupSettings';
|
|
5
5
|
import { TemperatureSettings } from '../../../models';
|
|
6
6
|
export declare class HeatGroup extends BaseGroup {
|
|
7
|
+
/** @inheritDoc */
|
|
7
8
|
settings: HeatGroupSettings;
|
|
8
9
|
constructor(roomName: string, heaterIds: string[], tempSensorIds: string[], humiditySensorIds: string[], acIds: string[]);
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @returns
|
|
11
|
+
* Calculates the combined humidity Level in this room
|
|
12
|
+
* @returns The humidity in percent
|
|
12
13
|
*/
|
|
13
14
|
get humidity(): number;
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
-
* @returns
|
|
16
|
+
* Calculates the temperature based on all available sensors.
|
|
17
|
+
* @returns The temperature in °C
|
|
17
18
|
*/
|
|
18
19
|
get temperature(): number;
|
|
19
20
|
get desiredTemp(): number;
|
|
@@ -25,8 +26,9 @@ export declare class HeatGroup extends BaseGroup {
|
|
|
25
26
|
initialize(): void;
|
|
26
27
|
/**
|
|
27
28
|
* Sets all ACs to new desired Value
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
29
|
+
* TODO: Migrate to new Command System
|
|
30
|
+
* @param newDesiredState - The new desired (on/off) state
|
|
31
|
+
* @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
|
|
30
32
|
*/
|
|
31
33
|
setAc(newDesiredState: boolean, force?: boolean): void;
|
|
32
34
|
deleteAutomaticPoint(name: string): void;
|
|
@@ -12,6 +12,7 @@ const models_1 = require("../../../models");
|
|
|
12
12
|
class HeatGroup extends base_group_1.BaseGroup {
|
|
13
13
|
constructor(roomName, heaterIds, tempSensorIds, humiditySensorIds, acIds) {
|
|
14
14
|
super(roomName, group_type_1.GroupType.Heating);
|
|
15
|
+
/** @inheritDoc */
|
|
15
16
|
this.settings = new heatGroupSettings_1.HeatGroupSettings();
|
|
16
17
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Heater, new device_list_1.DeviceList(heaterIds));
|
|
17
18
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.TemperaturSensor, new device_list_1.DeviceList(tempSensorIds));
|
|
@@ -19,8 +20,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
19
20
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Ac, new device_list_1.DeviceList(acIds));
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
* @returns
|
|
23
|
+
* Calculates the combined humidity Level in this room
|
|
24
|
+
* @returns The humidity in percent
|
|
24
25
|
*/
|
|
25
26
|
get humidity() {
|
|
26
27
|
let humidity = baseDeviceInterfaces_1.UNDEFINED_HUMIDITY_VALUE;
|
|
@@ -40,8 +41,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
40
41
|
return humidity;
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @returns
|
|
44
|
+
* Calculates the temperature based on all available sensors.
|
|
45
|
+
* @returns The temperature in °C
|
|
45
46
|
*/
|
|
46
47
|
get temperature() {
|
|
47
48
|
let temp = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
@@ -93,8 +94,8 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
93
94
|
rooms.sort((a, b) => {
|
|
94
95
|
return a.roomName.localeCompare(b.roomName);
|
|
95
96
|
});
|
|
96
|
-
const response = [
|
|
97
|
-
response.push(
|
|
97
|
+
const response = ['Dies sind die aktuellen Informationen der Heizungen:'];
|
|
98
|
+
response.push('Name\t\tLuft Feuchtigkeit\t\tAktuelle Temperatur\t\tSoll Temperatur\t\tVentilstellung');
|
|
98
99
|
for (const r of rooms) {
|
|
99
100
|
response.push(`${r.roomName}:\t\t${(_a = r.HeatGroup) === null || _a === void 0 ? void 0 : _a.humidity}%\t\t${(_b = r.HeatGroup) === null || _b === void 0 ? void 0 : _b.temperature}°C\t\t${(_c = r.HeatGroup) === null || _c === void 0 ? void 0 : _c.desiredTemp}°C`);
|
|
100
101
|
}
|
|
@@ -127,8 +128,9 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
127
128
|
}
|
|
128
129
|
/**
|
|
129
130
|
* Sets all ACs to new desired Value
|
|
130
|
-
*
|
|
131
|
-
* @param
|
|
131
|
+
* TODO: Migrate to new Command System
|
|
132
|
+
* @param newDesiredState - The new desired (on/off) state
|
|
133
|
+
* @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
|
|
132
134
|
*/
|
|
133
135
|
setAc(newDesiredState, force = false) {
|
|
134
136
|
const devs = this.getOwnAcDevices();
|
|
@@ -139,9 +141,7 @@ class HeatGroup extends base_group_1.BaseGroup {
|
|
|
139
141
|
continue;
|
|
140
142
|
}
|
|
141
143
|
dev.turnOff();
|
|
142
|
-
|
|
143
|
-
dev.deactivateAutomaticChange(60 * 60 * 1000);
|
|
144
|
-
}
|
|
144
|
+
dev.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(force ? models_1.CommandSource.Force : models_1.CommandSource.Unknown, 60 * 60 * 1000));
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
deleteAutomaticPoint(name) {
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { BaseGroup } from './base-group';
|
|
2
2
|
import { iActuator, iLamp } from '../baseDeviceInterfaces';
|
|
3
|
-
import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback,
|
|
3
|
+
import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback, WledSetLightCommand } from '../../../models';
|
|
4
4
|
import { WledDevice } from '../wledDevice';
|
|
5
5
|
import { iLedRgbCct } from '../baseDeviceInterfaces/iLedRgbCct';
|
|
6
6
|
export declare class LightGroup extends BaseGroup {
|
|
7
|
+
/**
|
|
8
|
+
* Time-Callback for the sunrise light off
|
|
9
|
+
* @remark This is undefined if the light should not be turned off at sunrise or no calculation has been done yet
|
|
10
|
+
*/
|
|
7
11
|
sonnenAufgangLichtCallback: TimeCallback | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Time-Callback for the sunset light on
|
|
14
|
+
* @remark This is undefined if the light should not be turned on at sunset or no calculation has been done yet
|
|
15
|
+
*/
|
|
8
16
|
sonnenUntergangLichtCallback: TimeCallback | undefined;
|
|
9
17
|
private _ambientLightOn;
|
|
10
18
|
constructor(roomName: string, lampenIds?: string[], steckerIds?: string[], ledIds?: string[], wledIds?: string[]);
|
|
@@ -20,7 +28,7 @@ export declare class LightGroup extends BaseGroup {
|
|
|
20
28
|
setAllLampen(c: LampSetLightCommand): void;
|
|
21
29
|
setAllLampenTimeBased(c: LampSetTimeBasedCommand): void;
|
|
22
30
|
setAllOutlets(c: ActuatorSetStateCommand): void;
|
|
23
|
-
setAllActuatorsTimeBased(
|
|
31
|
+
setAllActuatorsTimeBased(c: LampSetTimeBasedCommand): void;
|
|
24
32
|
setAllLED(c: LedSetLightCommand): void;
|
|
25
33
|
setAllWled(c: WledSetLightCommand): void;
|
|
26
34
|
initialize(): void;
|
|
@@ -17,28 +17,9 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
17
17
|
this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.WLED, new device_list_1.DeviceList(wledIds));
|
|
18
18
|
}
|
|
19
19
|
anyLightsOn() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
for (i = 0; i < this.getLED().length; i++) {
|
|
27
|
-
if (this.getLED()[i].actuatorOn) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
for (i = 0; i < this.getOutlets().length; i++) {
|
|
32
|
-
if (this.getOutlets()[i].actuatorOn) {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
for (i = 0; i < this.getWled().length; i++) {
|
|
37
|
-
if (this.getWled()[i].on) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
20
|
+
return (this.getAllAsActuator().find((a) => {
|
|
21
|
+
return a.actuatorOn;
|
|
22
|
+
}) !== undefined);
|
|
42
23
|
}
|
|
43
24
|
getLights() {
|
|
44
25
|
return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Lamps);
|
|
@@ -70,7 +51,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
70
51
|
switchAll(c) {
|
|
71
52
|
this.getAllAsActuator().forEach((a) => {
|
|
72
53
|
if (a.settings.includeInAmbientLight && !c.isForceAction && !c.on && this._ambientLightOn) {
|
|
73
|
-
a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}`);
|
|
54
|
+
a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}; command: ${c.logMessage}`);
|
|
74
55
|
return;
|
|
75
56
|
}
|
|
76
57
|
a.setActuator(c);
|
|
@@ -106,16 +87,16 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
106
87
|
resultLampen = darkOutside;
|
|
107
88
|
}
|
|
108
89
|
if (resultLampen) {
|
|
109
|
-
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(
|
|
90
|
+
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
110
91
|
}
|
|
111
92
|
else {
|
|
112
|
-
this.setAllLampen(new models_1.LampSetLightCommand(
|
|
93
|
+
this.setAllLampen(new models_1.LampSetLightCommand(c, false));
|
|
113
94
|
}
|
|
114
95
|
if (resultSteckdosen) {
|
|
115
|
-
this.setAllActuatorsTimeBased(c.time);
|
|
96
|
+
this.setAllActuatorsTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
116
97
|
}
|
|
117
98
|
else {
|
|
118
|
-
this.setAllOutlets(new models_1.ActuatorSetStateCommand(
|
|
99
|
+
this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false));
|
|
119
100
|
}
|
|
120
101
|
}
|
|
121
102
|
setAllLampen(c) {
|
|
@@ -133,12 +114,13 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
133
114
|
s.setActuator(c);
|
|
134
115
|
});
|
|
135
116
|
}
|
|
136
|
-
setAllActuatorsTimeBased(
|
|
117
|
+
setAllActuatorsTimeBased(c) {
|
|
137
118
|
this.getOutlets().forEach((s) => {
|
|
138
|
-
if ((time === models_1.TimeOfDay.
|
|
139
|
-
(time === models_1.TimeOfDay.
|
|
140
|
-
(time === models_1.TimeOfDay.
|
|
141
|
-
|
|
119
|
+
if ((c.time === models_1.TimeOfDay.Daylight && s.settings.dayOn) ||
|
|
120
|
+
(c.time === models_1.TimeOfDay.Night && s.settings.nightOn) ||
|
|
121
|
+
(c.time === models_1.TimeOfDay.BeforeSunrise && s.settings.dawnOn) ||
|
|
122
|
+
(c.time === models_1.TimeOfDay.AfterSunset && s.settings.duskOn)) {
|
|
123
|
+
s.setActuator(new models_1.ActuatorSetStateCommand(c, true, 'LightGroup setAllActuatorsTimeBased', c.disableAutomaticCommand));
|
|
142
124
|
}
|
|
143
125
|
});
|
|
144
126
|
}
|
|
@@ -205,7 +187,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
205
187
|
}
|
|
206
188
|
ambientLightStartCallback() {
|
|
207
189
|
this._ambientLightOn = true;
|
|
208
|
-
this.log(models_1.LogLevel.Info,
|
|
190
|
+
this.log(models_1.LogLevel.Info, 'Draußen wird es dunkel --> Aktiviere Ambientenbeleuchtung');
|
|
209
191
|
this.getAllAsActuator().forEach((a) => {
|
|
210
192
|
if (a.settings.includeInAmbientLight) {
|
|
211
193
|
a.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, 'Ambient Light Start Callback'));
|
|
@@ -213,7 +195,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
213
195
|
});
|
|
214
196
|
services_1.Utils.guardedTimeout(() => {
|
|
215
197
|
var _a;
|
|
216
|
-
this.log(models_1.LogLevel.Info,
|
|
198
|
+
this.log(models_1.LogLevel.Info, 'Ambientenbeleuchtung um Mitternacht abschalten.');
|
|
217
199
|
this._ambientLightOn = false;
|
|
218
200
|
if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent()) !== true) {
|
|
219
201
|
this.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Ambient Light End Callback'));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PresenceGroupFirstEnterAction, PresenceGroupLastLeftAction } from '../../../models';
|
|
1
2
|
import { BaseGroup } from './base-group';
|
|
2
3
|
import { iMotionSensor } from '../baseDeviceInterfaces';
|
|
3
4
|
export declare class PresenceGroup extends BaseGroup {
|
|
@@ -9,15 +10,21 @@ export declare class PresenceGroup extends BaseGroup {
|
|
|
9
10
|
getMotionDetector(): Array<iMotionSensor>;
|
|
10
11
|
initCallbacks(): void;
|
|
11
12
|
presentAmount(): number;
|
|
13
|
+
addLastLeftCallback(cb: (action: PresenceGroupLastLeftAction) => void): void;
|
|
12
14
|
anyPresent(): boolean;
|
|
13
|
-
|
|
14
|
-
addFirstEnterCallback(cb: () => void): void;
|
|
15
|
+
private fireFistEnterCBs;
|
|
16
|
+
addFirstEnterCallback(cb: (action: PresenceGroupFirstEnterAction) => void): void;
|
|
17
|
+
private motionSensorOnAnyMovement;
|
|
15
18
|
private motionSensorOnLastLeft;
|
|
19
|
+
/**
|
|
20
|
+
* Calculates whether we are after (negative if before) the time the movement
|
|
21
|
+
* reset timer should have reset the movement.
|
|
22
|
+
* @returns The time in milliseconds after the reset time.
|
|
23
|
+
*/
|
|
24
|
+
private getTimeAfterReset;
|
|
16
25
|
/**
|
|
17
26
|
* In case of an existing delayed last left callback timeout, this removes it.
|
|
18
|
-
* @private
|
|
19
27
|
*/
|
|
20
28
|
private resetLastLeftTimeout;
|
|
21
|
-
private motionSensorOnFirstEnter;
|
|
22
29
|
private executeLastLeftCbs;
|
|
23
30
|
}
|