hoffmation-base 3.0.0-alpha.3 → 3.0.0-alpha.31
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 +1 -0
- package/lib/models/action/index.js +5 -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 +10 -2
- 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 +14 -3
- package/lib/models/command/baseCommand.d.ts +23 -2
- package/lib/models/command/baseCommand.js +43 -9
- 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 +26 -0
- package/lib/models/command/blockAutomaticUntilCommand.js +29 -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 +8 -7
- 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 +5 -3
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +9 -0
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +1 -1
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
- package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
- package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
- package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
- package/lib/models/rooms/iRoomBase.d.ts +39 -0
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +6 -3
- 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 +9 -0
- 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 -2
- 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 -33
- package/lib/server/devices/blueIris/cameraDevice.js +76 -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 +27 -17
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -2
- 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 -2
- 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 +14 -13
- package/lib/server/devices/groups/presenceGroup.d.ts +5 -3
- package/lib/server/devices/groups/presenceGroup.js +36 -40
- 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 -5
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +11 -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 +26 -4
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +29 -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 +6 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +7 -3
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -8
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +14 -11
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +2 -0
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +9 -6
- 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 +1 -0
- package/lib/server/devices/index.js +3 -0
- 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 +73 -24
- 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 +16 -2
- package/lib/server/devices/wledDevice.js +42 -12
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +15 -3
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +23 -9
- 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 +8 -23
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +28 -61
- 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 +20 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +47 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +15 -13
- 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 -13
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +47 -42
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +11 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +18 -7
- 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 +1 -0
- 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/zigbeeIlluLampe.d.ts +4 -10
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +4 -32
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +21 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +24 -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 +9 -9
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +15 -24
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +1 -0
- package/lib/server/ioBroker/connection.d.ts +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 +85 -35
- 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 +11 -8
- package/lib/server/services/blockAutomaticHandler.js +29 -13
- 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 -12
- package/lib/server/services/govee/own-govee-device.js +27 -24
- 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,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;
|
|
@@ -34,7 +34,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
for (i = 0; i < this.getWled().length; i++) {
|
|
37
|
-
if (this.getWled()[i].
|
|
37
|
+
if (this.getWled()[i].actuatorOn) {
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -70,7 +70,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
70
70
|
switchAll(c) {
|
|
71
71
|
this.getAllAsActuator().forEach((a) => {
|
|
72
72
|
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}`);
|
|
73
|
+
a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}; command: ${c.logMessage}`);
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
a.setActuator(c);
|
|
@@ -106,16 +106,16 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
106
106
|
resultLampen = darkOutside;
|
|
107
107
|
}
|
|
108
108
|
if (resultLampen) {
|
|
109
|
-
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(
|
|
109
|
+
this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
110
110
|
}
|
|
111
111
|
else {
|
|
112
|
-
this.setAllLampen(new models_1.LampSetLightCommand(
|
|
112
|
+
this.setAllLampen(new models_1.LampSetLightCommand(c, false));
|
|
113
113
|
}
|
|
114
114
|
if (resultSteckdosen) {
|
|
115
|
-
this.setAllActuatorsTimeBased(c.time);
|
|
115
|
+
this.setAllActuatorsTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
118
|
-
this.setAllOutlets(new models_1.ActuatorSetStateCommand(
|
|
118
|
+
this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false));
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
setAllLampen(c) {
|
|
@@ -133,12 +133,13 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
133
133
|
s.setActuator(c);
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
-
setAllActuatorsTimeBased(
|
|
136
|
+
setAllActuatorsTimeBased(c) {
|
|
137
137
|
this.getOutlets().forEach((s) => {
|
|
138
|
-
if ((time === models_1.TimeOfDay.
|
|
139
|
-
(time === models_1.TimeOfDay.
|
|
140
|
-
(time === models_1.TimeOfDay.
|
|
141
|
-
|
|
138
|
+
if ((c.time === models_1.TimeOfDay.Daylight && s.settings.dayOn) ||
|
|
139
|
+
(c.time === models_1.TimeOfDay.Night && s.settings.nightOn) ||
|
|
140
|
+
(c.time === models_1.TimeOfDay.BeforeSunrise && s.settings.dawnOn) ||
|
|
141
|
+
(c.time === models_1.TimeOfDay.AfterSunset && s.settings.duskOn)) {
|
|
142
|
+
s.setActuator(new models_1.ActuatorSetStateCommand(c, true, 'LightGroup setAllActuatorsTimeBased', c.disableAutomaticCommand));
|
|
142
143
|
}
|
|
143
144
|
});
|
|
144
145
|
}
|
|
@@ -205,7 +206,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
205
206
|
}
|
|
206
207
|
ambientLightStartCallback() {
|
|
207
208
|
this._ambientLightOn = true;
|
|
208
|
-
this.log(models_1.LogLevel.Info,
|
|
209
|
+
this.log(models_1.LogLevel.Info, 'Draußen wird es dunkel --> Aktiviere Ambientenbeleuchtung');
|
|
209
210
|
this.getAllAsActuator().forEach((a) => {
|
|
210
211
|
if (a.settings.includeInAmbientLight) {
|
|
211
212
|
a.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, 'Ambient Light Start Callback'));
|
|
@@ -213,7 +214,7 @@ class LightGroup extends base_group_1.BaseGroup {
|
|
|
213
214
|
});
|
|
214
215
|
services_1.Utils.guardedTimeout(() => {
|
|
215
216
|
var _a;
|
|
216
|
-
this.log(models_1.LogLevel.Info,
|
|
217
|
+
this.log(models_1.LogLevel.Info, 'Ambientenbeleuchtung um Mitternacht abschalten.');
|
|
217
218
|
this._ambientLightOn = false;
|
|
218
219
|
if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent()) !== true) {
|
|
219
220
|
this.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Ambient Light End Callback'));
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BaseGroup } from './base-group';
|
|
2
2
|
import { iMotionSensor } from '../baseDeviceInterfaces';
|
|
3
|
+
import { PresenceGroupFirstEnterAction } from '../../../models/action/presenceGroupFirstEnterAction';
|
|
4
|
+
import { PresenceGroupLastLeftAction } from '../../../models/action/presenceGroupLastLeftAction';
|
|
3
5
|
export declare class PresenceGroup extends BaseGroup {
|
|
4
6
|
private _lastMovement;
|
|
5
7
|
private _lastLeftTimeout;
|
|
@@ -8,14 +10,14 @@ export declare class PresenceGroup extends BaseGroup {
|
|
|
8
10
|
constructor(roomName: string, motionSensorIds: string[]);
|
|
9
11
|
getMotionDetector(): Array<iMotionSensor>;
|
|
10
12
|
initCallbacks(): void;
|
|
13
|
+
addLastLeftCallback(cb: (action: PresenceGroupLastLeftAction) => void): void;
|
|
11
14
|
presentAmount(): number;
|
|
12
15
|
anyPresent(): boolean;
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
addFirstEnterCallback(cb: (action: PresenceGroupFirstEnterAction) => void): void;
|
|
17
|
+
private motionSensorAnyMovement;
|
|
15
18
|
private motionSensorOnLastLeft;
|
|
16
19
|
/**
|
|
17
20
|
* In case of an existing delayed last left callback timeout, this removes it.
|
|
18
|
-
* @private
|
|
19
21
|
*/
|
|
20
22
|
private resetLastLeftTimeout;
|
|
21
23
|
private motionSensorOnFirstEnter;
|
|
@@ -7,6 +7,8 @@ const base_group_1 = require("./base-group");
|
|
|
7
7
|
const device_cluster_type_1 = require("../device-cluster-type");
|
|
8
8
|
const group_type_1 = require("./group-type");
|
|
9
9
|
const device_list_1 = require("../device-list");
|
|
10
|
+
const presenceGroupFirstEnterAction_1 = require("../../../models/action/presenceGroupFirstEnterAction");
|
|
11
|
+
const presenceGroupLastLeftAction_1 = require("../../../models/action/presenceGroupLastLeftAction");
|
|
10
12
|
class PresenceGroup extends base_group_1.BaseGroup {
|
|
11
13
|
constructor(roomName, motionSensorIds) {
|
|
12
14
|
super(roomName, group_type_1.GroupType.Presence);
|
|
@@ -21,43 +23,28 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
21
23
|
}
|
|
22
24
|
initCallbacks() {
|
|
23
25
|
this.getMotionDetector().forEach((b) => {
|
|
24
|
-
b.addMovementCallback((
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
if (services_1.RoomService.awayModeActive || (services_1.RoomService.nightAlarmActive && !b.settings.excludeFromNightAlarm)) {
|
|
30
|
-
services_1.RoomService.startIntrusionAlarm(this.getRoom(), b);
|
|
31
|
-
}
|
|
32
|
-
if (!b.settings.seesWindow) {
|
|
33
|
-
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(true);
|
|
34
|
-
}
|
|
35
|
-
services_1.RoomService.movementHistory.add(`${services_1.Utils.nowString()}: Raum "${this.roomName}" Gerät "${b.info.fullName}"`);
|
|
26
|
+
b.addMovementCallback((action) => {
|
|
27
|
+
this.motionSensorOnFirstEnter(action);
|
|
28
|
+
this.motionSensorOnLastLeft(action);
|
|
29
|
+
this.motionSensorAnyMovement(action);
|
|
36
30
|
});
|
|
37
31
|
});
|
|
38
|
-
this.addLastLeftCallback(() => {
|
|
32
|
+
this.addLastLeftCallback((action) => {
|
|
39
33
|
var _a, _b;
|
|
40
34
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(false);
|
|
41
|
-
(_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(
|
|
35
|
+
(_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(action, false, 'Presence Group LastLeftCallback'));
|
|
42
36
|
});
|
|
43
|
-
this.addFirstEnterCallback(() => {
|
|
37
|
+
this.addFirstEnterCallback((action) => {
|
|
44
38
|
if (!this.getRoom().settings.lampenBeiBewegung) {
|
|
45
39
|
return;
|
|
46
40
|
}
|
|
47
41
|
this.log(models_1.LogLevel.DeepTrace, `Bewegung im Raum ${this.roomName} festgestellt --> Licht einschalten`);
|
|
48
|
-
this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(
|
|
49
|
-
});
|
|
50
|
-
this.getMotionDetector().forEach((b) => {
|
|
51
|
-
b.addMovementCallback((val) => {
|
|
52
|
-
this.motionSensorOnFirstEnter(val);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
this.getMotionDetector().forEach((b) => {
|
|
56
|
-
b.addMovementCallback((val) => {
|
|
57
|
-
this.motionSensorOnLastLeft(val);
|
|
58
|
-
});
|
|
42
|
+
this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(action, true));
|
|
59
43
|
});
|
|
60
44
|
}
|
|
45
|
+
addLastLeftCallback(cb) {
|
|
46
|
+
this._lastLeftCbs.push(cb);
|
|
47
|
+
}
|
|
61
48
|
presentAmount() {
|
|
62
49
|
let count = 0;
|
|
63
50
|
for (let i = 0; i < this.getMotionDetector().length; i++) {
|
|
@@ -75,21 +62,31 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
75
62
|
}
|
|
76
63
|
return false;
|
|
77
64
|
}
|
|
78
|
-
addLastLeftCallback(cb) {
|
|
79
|
-
this._lastLeftCbs.push(cb);
|
|
80
|
-
}
|
|
81
65
|
addFirstEnterCallback(cb) {
|
|
82
66
|
this._firstEnterCbs.push(cb);
|
|
83
67
|
}
|
|
84
|
-
|
|
85
|
-
|
|
68
|
+
motionSensorAnyMovement(action) {
|
|
69
|
+
var _a;
|
|
70
|
+
if (!action.motionDetected) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (services_1.RoomService.awayModeActive || (services_1.RoomService.nightAlarmActive && !action.sensor.settings.excludeFromNightAlarm)) {
|
|
74
|
+
services_1.RoomService.startIntrusionAlarm(this.getRoom(), action.sensor);
|
|
75
|
+
}
|
|
76
|
+
if (!action.sensor.settings.seesWindow) {
|
|
77
|
+
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(true);
|
|
78
|
+
}
|
|
79
|
+
services_1.RoomService.movementHistory.add(`${services_1.Utils.nowString()}: Raum "${this.roomName}" Gerät "${action.sensor.info.fullName}"`);
|
|
80
|
+
}
|
|
81
|
+
motionSensorOnLastLeft(action) {
|
|
82
|
+
if (action.motionDetected || this.anyPresent()) {
|
|
86
83
|
this.resetLastLeftTimeout();
|
|
87
84
|
return;
|
|
88
85
|
}
|
|
89
86
|
let timeAfterReset = services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
|
|
90
87
|
if (timeAfterReset > 0) {
|
|
91
88
|
this.log(models_1.LogLevel.Debug, `Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
|
|
92
|
-
this.executeLastLeftCbs();
|
|
89
|
+
this.executeLastLeftCbs(new presenceGroupLastLeftAction_1.PresenceGroupLastLeftAction(action));
|
|
93
90
|
return;
|
|
94
91
|
}
|
|
95
92
|
this.log(models_1.LogLevel.Debug, `Movement reset in ${this.roomName} delayed.`);
|
|
@@ -98,23 +95,22 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
98
95
|
timeAfterReset =
|
|
99
96
|
services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
|
|
100
97
|
const presentAmount = this.presentAmount();
|
|
101
|
-
this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
|
|
98
|
+
this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}, action: ${action.reasonTrace}`);
|
|
102
99
|
if (presentAmount <= 0 && timeAfterReset > 0) {
|
|
103
|
-
this.executeLastLeftCbs();
|
|
100
|
+
this.executeLastLeftCbs(new presenceGroupLastLeftAction_1.PresenceGroupLastLeftAction(action));
|
|
104
101
|
}
|
|
105
102
|
}, Math.abs(timeAfterReset) + 500, this);
|
|
106
103
|
}
|
|
107
104
|
/**
|
|
108
105
|
* In case of an existing delayed last left callback timeout, this removes it.
|
|
109
|
-
* @private
|
|
110
106
|
*/
|
|
111
107
|
resetLastLeftTimeout() {
|
|
112
108
|
if (this._lastLeftTimeout !== null) {
|
|
113
109
|
clearTimeout(this._lastLeftTimeout);
|
|
114
110
|
}
|
|
115
111
|
}
|
|
116
|
-
motionSensorOnFirstEnter(
|
|
117
|
-
if (!
|
|
112
|
+
motionSensorOnFirstEnter(action) {
|
|
113
|
+
if (!action.motionDetected) {
|
|
118
114
|
return;
|
|
119
115
|
}
|
|
120
116
|
this._lastMovement = new Date();
|
|
@@ -122,12 +118,12 @@ class PresenceGroup extends base_group_1.BaseGroup {
|
|
|
122
118
|
return;
|
|
123
119
|
}
|
|
124
120
|
for (const cb of this._firstEnterCbs) {
|
|
125
|
-
cb();
|
|
121
|
+
cb(new presenceGroupFirstEnterAction_1.PresenceGroupFirstEnterAction(action));
|
|
126
122
|
}
|
|
127
123
|
}
|
|
128
|
-
executeLastLeftCbs() {
|
|
124
|
+
executeLastLeftCbs(action) {
|
|
129
125
|
for (const cb of this._lastLeftCbs) {
|
|
130
|
-
cb();
|
|
126
|
+
cb(action);
|
|
131
127
|
}
|
|
132
128
|
}
|
|
133
129
|
}
|
|
@@ -25,42 +25,42 @@ class TasterGroup extends base_group_1.BaseGroup {
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 0, 'Button Top Left pressed long'));
|
|
28
|
-
},
|
|
28
|
+
}, 'Close all Rollos in this room');
|
|
29
29
|
(_b = t.buttonTopLeft) === null || _b === void 0 ? void 0 : _b.addCb(button_1.ButtonPressType.short, (pValue) => {
|
|
30
30
|
var _a;
|
|
31
31
|
if (!pValue) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 25, 'Button Top Left pressed short'));
|
|
35
|
-
},
|
|
35
|
+
}, 'Nearly closes all Rollos in this room');
|
|
36
36
|
(_c = t.buttonTopRight) === null || _c === void 0 ? void 0 : _c.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
37
37
|
var _a;
|
|
38
38
|
if (!pValue) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 100, 'Button Top Right pressed long'));
|
|
42
|
-
},
|
|
42
|
+
}, 'Open all Rollos in this room');
|
|
43
43
|
(_d = t.buttonTopRight) === null || _d === void 0 ? void 0 : _d.addCb(button_1.ButtonPressType.short, (pValue) => {
|
|
44
44
|
var _a;
|
|
45
45
|
if (!pValue) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
(_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 50, 'Button Top Right pressed short'));
|
|
49
|
-
},
|
|
49
|
+
}, 'All Rollos in this room to middle');
|
|
50
50
|
(_e = t.buttonMidLeft) === null || _e === void 0 ? void 0 : _e.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
51
51
|
var _a;
|
|
52
52
|
if (!pValue) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
(_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, true, 'Button press to turn all lights on'));
|
|
56
|
-
},
|
|
56
|
+
}, 'Turn all Lights in this room on');
|
|
57
57
|
(_f = t.buttonMidRight) === null || _f === void 0 ? void 0 : _f.addCb(button_1.ButtonPressType.long, (pValue) => {
|
|
58
58
|
var _a;
|
|
59
59
|
if (!pValue) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
(_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, false, 'Button press to turn all lights off'));
|
|
63
|
-
},
|
|
63
|
+
}, 'Turn all Lights in this room off');
|
|
64
64
|
if (((_g = services_1.SettingsService.settings.sonos) === null || _g === void 0 ? void 0 : _g.buttonBotRightForRadio) === true) {
|
|
65
65
|
const sonosGroup = this.getRoom().SonosGroup;
|
|
66
66
|
if (sonosGroup !== undefined && sonosGroup.getOwnSonosDevices().length > 0) {
|
|
@@ -3,7 +3,17 @@ import { Window } from './Window';
|
|
|
3
3
|
import { BaseGroup } from './base-group';
|
|
4
4
|
export declare class WindowGroup extends BaseGroup {
|
|
5
5
|
windows: Window[];
|
|
6
|
+
/**
|
|
7
|
+
* Timecallback for sunrise-shutter actions
|
|
8
|
+
* @remarks This callback is only set if needed and already calculated.
|
|
9
|
+
* @warning Manual setting of this callback is not recommended. Prefer {@link recalcTimeCallbacks} after changing settings.
|
|
10
|
+
*/
|
|
6
11
|
sunriseShutterCallback: TimeCallback | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Timecallback for sunset-shutter actions
|
|
14
|
+
* @remarks This callback is only set if needed and already calculated.
|
|
15
|
+
* @warning Manual setting of this callback is not recommended. Prefer {@link recalcTimeCallbacks} after changing settings.
|
|
16
|
+
*/
|
|
7
17
|
sunsetShutterCallback: TimeCallback | undefined;
|
|
8
18
|
constructor(roomName: string, windows: Window[]);
|
|
9
19
|
setDesiredPosition(c: WindowSetDesiredPositionCommand): void;
|
|
@@ -11,7 +21,7 @@ export declare class WindowGroup extends BaseGroup {
|
|
|
11
21
|
recalcTimeCallbacks(): void;
|
|
12
22
|
setRolloByWeatherStatus(c: WindowSetRolloByWeatherStatusCommand): void;
|
|
13
23
|
sunriseUp(c: ShutterSunriseUpCommand): void;
|
|
14
|
-
|
|
24
|
+
restoreShutterPosition(c: RoomRestoreShutterPositionCommand): void;
|
|
15
25
|
changeVibrationMotionBlock(block: boolean): void;
|
|
16
26
|
private sunsetDown;
|
|
17
27
|
private reconfigureSunsetShutterCallback;
|
|
@@ -62,7 +62,7 @@ class WindowGroup extends base_group_1.BaseGroup {
|
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
if (darkOutside) {
|
|
65
|
-
f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c,
|
|
65
|
+
f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c, "It's dark outside."));
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
let desiredPos = f.desiredPosition;
|
|
@@ -79,14 +79,14 @@ class WindowGroup extends base_group_1.BaseGroup {
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
sunriseUp(c) {
|
|
82
|
-
this.windows.forEach((
|
|
83
|
-
if (!this.getRoom().settings.sonnenAufgangRollos ||
|
|
82
|
+
this.windows.forEach((w) => {
|
|
83
|
+
if (!this.getRoom().settings.sonnenAufgangRollos || w.getShutter().length === 0) {
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
|
|
86
|
+
w.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(c, 100));
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
restoreShutterPosition(c) {
|
|
90
90
|
if (!c.recalc) {
|
|
91
91
|
this.windows.forEach((f) => {
|
|
92
92
|
f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c));
|
|
@@ -164,7 +164,7 @@ class WindowGroup extends base_group_1.BaseGroup {
|
|
|
164
164
|
}
|
|
165
165
|
if (this.sunriseShutterCallback === undefined) {
|
|
166
166
|
this.log(models_1.LogLevel.Debug, `Add Sunrise shutter TimeCallback for ${this.roomName}`);
|
|
167
|
-
this.sunriseShutterCallback = new models_1.TimeCallback(`${this.roomName}
|
|
167
|
+
this.sunriseShutterCallback = new models_1.TimeCallback(`${this.roomName} Sunrise Shutter`, models_1.TimeCallbackType.Sunrise, () => {
|
|
168
168
|
if (room.skipNextRolloUp) {
|
|
169
169
|
this.log(models_1.LogLevel.Info, `${this.roomName} skipped sunrise up due to room.skipNextRolloUp`);
|
|
170
170
|
room.skipNextRolloUp = false;
|
|
@@ -4,6 +4,7 @@ export declare class HmIpAccessPoint extends HmIPDevice {
|
|
|
4
4
|
constructor(pInfo: IoBrokerDeviceInfo);
|
|
5
5
|
private _ip;
|
|
6
6
|
get ip(): string;
|
|
7
|
+
/** @inheritDoc */
|
|
7
8
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
8
9
|
private updateBaseInformation;
|
|
9
10
|
}
|
|
@@ -12,6 +12,7 @@ class HmIpAccessPoint extends hmIpDevice_1.HmIPDevice {
|
|
|
12
12
|
get ip() {
|
|
13
13
|
return this._ip;
|
|
14
14
|
}
|
|
15
|
+
/** @inheritDoc */
|
|
15
16
|
update(idSplit, state, initial = false) {
|
|
16
17
|
this.log(models_1.LogLevel.DeepTrace, `AP Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
17
18
|
super.update(idSplit, state, initial, true);
|
|
@@ -2,25 +2,29 @@ import { HmIPDevice } from './hmIpDevice';
|
|
|
2
2
|
import { MotionSensorSettings } from '../../../models';
|
|
3
3
|
import { iIlluminationSensor, iMotionSensor } from '../baseDeviceInterfaces';
|
|
4
4
|
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
5
|
+
import { MotionSensorAction } from '../../../models/action/motionSensorAction';
|
|
5
6
|
export declare class HmIpBewegung extends HmIPDevice implements iIlluminationSensor, iMotionSensor {
|
|
6
7
|
private static MOVEMENT_DETECTION;
|
|
7
8
|
private static CURRENT_ILLUMINATION;
|
|
9
|
+
/** @inheritDoc */
|
|
8
10
|
settings: MotionSensorSettings;
|
|
11
|
+
/** @inheritDoc */
|
|
9
12
|
movementDetected: boolean;
|
|
13
|
+
/** @inheritDoc */
|
|
14
|
+
detectionsToday: number;
|
|
10
15
|
private _movementDetectedCallback;
|
|
11
16
|
private initialized;
|
|
12
17
|
private _fallBackTimeout;
|
|
13
18
|
private _lastMotionTime;
|
|
19
|
+
private _currentIllumination;
|
|
14
20
|
constructor(pInfo: IoBrokerDeviceInfo);
|
|
21
|
+
/** @inheritDoc */
|
|
15
22
|
get timeSinceLastMotion(): number;
|
|
16
|
-
private _detectionsToday;
|
|
17
|
-
get detectionsToday(): number;
|
|
18
|
-
set detectionsToday(pVal: number);
|
|
19
|
-
private _currentIllumination;
|
|
20
23
|
get currentIllumination(): number;
|
|
21
24
|
private set currentIllumination(value);
|
|
22
|
-
addMovementCallback(pCallback: (
|
|
25
|
+
addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
|
|
23
26
|
persistMotionSensor(): void;
|
|
27
|
+
/** @inheritDoc */
|
|
24
28
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
25
29
|
updateMovement(pVal: boolean): void;
|
|
26
30
|
private resetFallbackTimeout;
|
|
@@ -6,16 +6,20 @@ const deviceType_1 = require("../deviceType");
|
|
|
6
6
|
const models_1 = require("../../../models");
|
|
7
7
|
const services_1 = require("../../services");
|
|
8
8
|
const DeviceCapability_1 = require("../DeviceCapability");
|
|
9
|
+
const motionSensorAction_1 = require("../../../models/action/motionSensorAction");
|
|
9
10
|
class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
10
11
|
constructor(pInfo) {
|
|
11
12
|
var _a;
|
|
12
13
|
super(pInfo, deviceType_1.DeviceType.HmIpBewegung);
|
|
14
|
+
/** @inheritDoc */
|
|
13
15
|
this.settings = new models_1.MotionSensorSettings();
|
|
16
|
+
/** @inheritDoc */
|
|
14
17
|
this.movementDetected = false;
|
|
18
|
+
/** @inheritDoc */
|
|
19
|
+
this.detectionsToday = 0;
|
|
15
20
|
this._movementDetectedCallback = [];
|
|
16
21
|
this.initialized = false;
|
|
17
22
|
this._lastMotionTime = 0;
|
|
18
|
-
this._detectionsToday = 0;
|
|
19
23
|
this._currentIllumination = -1;
|
|
20
24
|
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.motionSensor);
|
|
21
25
|
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.illuminationSensor);
|
|
@@ -33,15 +37,10 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
33
37
|
});
|
|
34
38
|
}
|
|
35
39
|
}
|
|
40
|
+
/** @inheritDoc */
|
|
36
41
|
get timeSinceLastMotion() {
|
|
37
42
|
return Math.floor((services_1.Utils.nowMS() - this._lastMotionTime) / 1000);
|
|
38
43
|
}
|
|
39
|
-
get detectionsToday() {
|
|
40
|
-
return this._detectionsToday;
|
|
41
|
-
}
|
|
42
|
-
set detectionsToday(pVal) {
|
|
43
|
-
this._detectionsToday = pVal;
|
|
44
|
-
}
|
|
45
44
|
get currentIllumination() {
|
|
46
45
|
return this._currentIllumination;
|
|
47
46
|
}
|
|
@@ -57,6 +56,7 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
57
56
|
var _a;
|
|
58
57
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistMotionSensor(this);
|
|
59
58
|
}
|
|
59
|
+
/** @inheritDoc */
|
|
60
60
|
update(idSplit, state, initial = false) {
|
|
61
61
|
this.log(models_1.LogLevel.DeepTrace, `Bewegungs Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
|
|
62
62
|
super.update(idSplit, state, initial, true);
|
|
@@ -75,7 +75,7 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
75
75
|
}
|
|
76
76
|
updateMovement(pVal) {
|
|
77
77
|
if (!this.initialized && pVal) {
|
|
78
|
-
this.log(models_1.LogLevel.Trace,
|
|
78
|
+
this.log(models_1.LogLevel.Trace, 'Bewegung erkannt aber die Initialisierung aus der DB ist noch nicht erfolgt --> verzögern');
|
|
79
79
|
services_1.Utils.guardedTimeout(() => {
|
|
80
80
|
this.updateMovement(pVal);
|
|
81
81
|
}, 1000, this);
|
|
@@ -100,18 +100,18 @@ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
|
|
|
100
100
|
this.log(models_1.LogLevel.Trace, `Dies ist die ${this.detectionsToday} Bewegung `);
|
|
101
101
|
}
|
|
102
102
|
for (const c of this._movementDetectedCallback) {
|
|
103
|
-
c(
|
|
103
|
+
c(new motionSensorAction_1.MotionSensorAction(this));
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
resetFallbackTimeout() {
|
|
107
107
|
if (this._fallBackTimeout) {
|
|
108
|
-
this.log(models_1.LogLevel.Trace,
|
|
108
|
+
this.log(models_1.LogLevel.Trace, 'Fallback Timeout zurücksetzen');
|
|
109
109
|
clearTimeout(this._fallBackTimeout);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
startFallbackTimeout() {
|
|
113
113
|
this._fallBackTimeout = services_1.Utils.guardedTimeout(() => {
|
|
114
|
-
this.log(models_1.LogLevel.Debug,
|
|
114
|
+
this.log(models_1.LogLevel.Debug, 'Benötige Fallback Bewegungs Reset ');
|
|
115
115
|
this._fallBackTimeout = undefined;
|
|
116
116
|
this.updateMovement(false);
|
|
117
117
|
}, 270000, this);
|
|
@@ -2,8 +2,7 @@ import { IoBrokerBaseDevice } from '../IoBrokerBaseDevice';
|
|
|
2
2
|
import { DeviceType } from '../deviceType';
|
|
3
3
|
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
4
4
|
export declare class HmIPDevice extends IoBrokerBaseDevice {
|
|
5
|
-
lowBattery: boolean;
|
|
6
|
-
stateMap: Map<string, ioBroker.State>;
|
|
7
5
|
constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
|
|
6
|
+
/** @inheritDoc */
|
|
8
7
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
|
|
9
8
|
}
|
|
@@ -6,9 +6,8 @@ const IoBrokerBaseDevice_1 = require("../IoBrokerBaseDevice");
|
|
|
6
6
|
class HmIPDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
7
7
|
constructor(pInfo, pType) {
|
|
8
8
|
super(pInfo, pType);
|
|
9
|
-
this.lowBattery = false;
|
|
10
|
-
this.stateMap = new Map();
|
|
11
9
|
}
|
|
10
|
+
/** @inheritDoc */
|
|
12
11
|
update(idSplit, state, initial = false, pOverride = false) {
|
|
13
12
|
if (!pOverride) {
|
|
14
13
|
this.log(models_1.LogLevel.Trace, `Keine Update Überschreibung :\n\tID: ${idSplit.join('.')}`);
|
|
@@ -20,7 +19,7 @@ class HmIPDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
20
19
|
case '0.LOW_BAT':
|
|
21
20
|
const newBatLowVal = state.val;
|
|
22
21
|
if (newBatLowVal) {
|
|
23
|
-
this.log(models_1.LogLevel.Warn,
|
|
22
|
+
this.log(models_1.LogLevel.Warn, '!!BATTERIE FAST LEER!!');
|
|
24
23
|
}
|
|
25
24
|
break;
|
|
26
25
|
}
|