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
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
import { Window } from '../groups';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
3
|
import { ShutterSetLevelCommand, ShutterSettings } from '../../../models';
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a shutter device.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.shutter} capability.
|
|
8
|
+
*/
|
|
4
9
|
export interface iShutter extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The settings for the shutter
|
|
12
|
+
*/
|
|
5
13
|
settings: ShutterSettings;
|
|
6
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The current level of the shutter (0 = closed, 100 = open)
|
|
16
|
+
*/
|
|
17
|
+
readonly currentLevel: number;
|
|
18
|
+
/**
|
|
19
|
+
* The desired level of the shutter for this window (this might be different from the current level due to the desired level being set by the user)
|
|
20
|
+
*/
|
|
7
21
|
desiredWindowShutterLevel: number;
|
|
22
|
+
/**
|
|
23
|
+
* The window this shutter is located within
|
|
24
|
+
*/
|
|
8
25
|
window: Window | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Persists the current information of the shutter to the database
|
|
28
|
+
*/
|
|
9
29
|
persist(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the level of the shutter
|
|
32
|
+
* @param command - The command to execute
|
|
33
|
+
*/
|
|
10
34
|
setLevel(command: ShutterSetLevelCommand): void;
|
|
11
35
|
}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a smoke detector device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.smokeSensor} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iSmokeDetectorDevice extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Indicates if the smoke detector is currently detecting smoke
|
|
10
|
+
*/
|
|
3
11
|
readonly smoke: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Stops the alarm of the smoke detector
|
|
14
|
+
* @param quiet - If true, the alarm will be stopped without announcing alarm end.
|
|
15
|
+
*/
|
|
4
16
|
stopAlarm(quiet: boolean): void;
|
|
5
17
|
}
|
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a speaker device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.speaker} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iSpeaker extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Plays an mp3 file on the device
|
|
10
|
+
* @param mp3Name - The name of the mp3 file to play
|
|
11
|
+
* @param duration - The duration of the mp3 file in seconds
|
|
12
|
+
* @param [volume] - The volume to play the mp3 file with
|
|
13
|
+
* @param [onlyWhenPlaying] - If true, the mp3 file will only be played when the device is already playing something
|
|
14
|
+
* @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
|
|
15
|
+
*/
|
|
3
16
|
playOnDevice(mp3Name: string, duration: number, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
17
|
+
/**
|
|
18
|
+
* Plays a test message on the device
|
|
19
|
+
*/
|
|
4
20
|
playTestMessage(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Plays a file from an url on the device
|
|
23
|
+
* @param url - The url to play
|
|
24
|
+
*/
|
|
5
25
|
playUrl(url: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Stops the current playback on the device
|
|
28
|
+
*/
|
|
6
29
|
stop(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Speaks a message on the device using the text-to-speech engine
|
|
32
|
+
* @param pMessage - The message to speak
|
|
33
|
+
* @param [volume] - The volume to speak the message with
|
|
34
|
+
* @param [onlyWhenPlaying] - If true, the message will only be spoken when the device is already playing something
|
|
35
|
+
* @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
|
|
36
|
+
*/
|
|
7
37
|
speakOnDevice(pMessage: string, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
|
|
8
38
|
}
|
|
@@ -1,12 +1,42 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
import { TemperatureSensorChangeAction } from '../../../models/action/temperatureSensorChangeAction';
|
|
3
4
|
export declare const UNDEFINED_TEMP_VALUE = -99;
|
|
5
|
+
/**
|
|
6
|
+
* This interface represents a temperature sensor device.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.temperatureSensor} capability.
|
|
9
|
+
*/
|
|
4
10
|
export interface iTemperatureSensor extends iRoomDevice {
|
|
11
|
+
/**
|
|
12
|
+
* The interval to persist the temperature sensor information
|
|
13
|
+
* Mainly used to enforce implementation
|
|
14
|
+
*/
|
|
5
15
|
readonly persistTemperatureSensorInterval: NodeJS.Timeout;
|
|
16
|
+
/**
|
|
17
|
+
* The current room temperature as a number in Celsius
|
|
18
|
+
*/
|
|
6
19
|
roomTemperature: number;
|
|
7
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The devices measured Temperature as a number in Celsius
|
|
22
|
+
*/
|
|
23
|
+
readonly iTemperature: number;
|
|
24
|
+
/**
|
|
25
|
+
* Formatted Temperature as a string in Celsius
|
|
26
|
+
*/
|
|
8
27
|
sTemperature: string;
|
|
9
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Adds a callback to be called when the temperature changes
|
|
30
|
+
* @param pCallback - The callback to be called
|
|
31
|
+
*/
|
|
32
|
+
addTempChangeCallback(pCallback: (action: TemperatureSensorChangeAction) => void): void;
|
|
33
|
+
/**
|
|
34
|
+
* Inform the temperature sensor that the temperature in the room has changed
|
|
35
|
+
* @param newTemperatur - The new temperature in the room in Celsius
|
|
36
|
+
*/
|
|
10
37
|
onTemperaturChange(newTemperatur: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* Persists the current temperature sensor information to the database
|
|
40
|
+
*/
|
|
11
41
|
persistTemperaturSensor(): void;
|
|
12
42
|
}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { BlockAutomaticHandler } from '../../services/blockAutomaticHandler';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
3
|
import { RestoreTargetAutomaticValueCommand } from '../../../models';
|
|
4
|
+
/**
|
|
5
|
+
* This interface represents a device which automatic action can be temporarily disabled.
|
|
6
|
+
* E.g. Forcing a lamp to stay on, even if the automatic would turn it off.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.blockAutomatic} capability.
|
|
9
|
+
*/
|
|
4
10
|
export interface iTemporaryDisableAutomatic extends iBaseDevice {
|
|
11
|
+
/**
|
|
12
|
+
* The block automation handler containing the current block state/time, etc.
|
|
13
|
+
*/
|
|
5
14
|
readonly blockAutomationHandler: BlockAutomaticHandler;
|
|
15
|
+
/**
|
|
16
|
+
* Restores the automatic value/state of the device
|
|
17
|
+
* @param command - The command to restore the automatic value/state
|
|
18
|
+
*/
|
|
6
19
|
restoreTargetAutomaticValue(command: RestoreTargetAutomaticValueCommand): void;
|
|
7
20
|
}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a TV device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.tv} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iTvDevice extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Whether the TV is currently on
|
|
10
|
+
*/
|
|
3
11
|
readonly on: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Turns the TV on
|
|
14
|
+
*/
|
|
4
15
|
turnOn(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Turns the TV off
|
|
18
|
+
*/
|
|
5
19
|
turnOff(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Increases the volume of the TV
|
|
22
|
+
*/
|
|
6
23
|
volumeUp(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Decreases the volume of the TV
|
|
26
|
+
*/
|
|
7
27
|
volumeDown(): void;
|
|
8
28
|
}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a vibration sensor device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.vibrationSensor} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iVibrationSensor extends iRoomDevice {
|
|
3
|
-
|
|
4
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Whether the vibration sensor is currently blocked by a handle.
|
|
10
|
+
*/
|
|
11
|
+
vibrationBlockedByHandle: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The timestamp when the vibration sensor was blocked by a handle.
|
|
14
|
+
*/
|
|
15
|
+
readonly vibrationBlockedByHandleTimeStamp: number;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the vibration sensor is currently blocked by a motion event.
|
|
18
|
+
*/
|
|
5
19
|
vibrationBlockedByMotion: boolean;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The timestamp when the vibration sensor was last blocked by a motion event.
|
|
22
|
+
*/
|
|
23
|
+
readonly vibrationBlockedByMotionTimeStamp: number;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the vibration sensor is currently detecting a vibration.
|
|
26
|
+
*/
|
|
27
|
+
readonly vibration: boolean;
|
|
9
28
|
}
|
|
@@ -1,68 +1,84 @@
|
|
|
1
|
-
import { iCameraDevice, iRoomDevice } from '../baseDeviceInterfaces';
|
|
1
|
+
import { iBaseDevice, iCameraDevice, iRoomDevice } from '../baseDeviceInterfaces';
|
|
2
2
|
import { CameraSettings, LogLevel, RoomBase } from '../../../models';
|
|
3
3
|
import { LogDebugType } from '../../services';
|
|
4
4
|
import { DeviceInfo } from '../DeviceInfo';
|
|
5
5
|
import { DeviceCapability } from '../DeviceCapability';
|
|
6
6
|
import { DeviceType } from '../deviceType';
|
|
7
|
+
import { MotionSensorAction } from '../../../models/action/motionSensorAction';
|
|
7
8
|
export declare class CameraDevice implements iCameraDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The name of the camera in BlueIris
|
|
11
|
+
*/
|
|
8
12
|
readonly blueIrisName: string;
|
|
13
|
+
/** @inheritDoc */
|
|
14
|
+
settings: CameraSettings;
|
|
15
|
+
/** @inheritDoc */
|
|
16
|
+
readonly deviceCapabilities: DeviceCapability[];
|
|
17
|
+
/** @inheritDoc */
|
|
18
|
+
deviceType: DeviceType;
|
|
19
|
+
/**
|
|
20
|
+
* The human readable name of this device
|
|
21
|
+
*/
|
|
22
|
+
readonly name: string;
|
|
23
|
+
/** @inheritDoc */
|
|
24
|
+
readonly mpegStreamLink: string;
|
|
25
|
+
/** @inheritDoc */
|
|
26
|
+
readonly h264IosStreamLink: string;
|
|
27
|
+
/** @inheritDoc */
|
|
28
|
+
readonly rtspStreamLink: string;
|
|
29
|
+
/** @inheritDoc */
|
|
30
|
+
readonly currentImageLink: string;
|
|
31
|
+
/** @inheritDoc */
|
|
32
|
+
detectionsToday: number;
|
|
33
|
+
protected _lastMotion: number;
|
|
9
34
|
private _personDetectFallbackTimeout;
|
|
10
35
|
private _movementDetectFallbackTimeout;
|
|
11
36
|
private _dogDetectFallbackTimeout;
|
|
12
37
|
private _personDetectedStateId;
|
|
13
38
|
private _dogDetectedStateId;
|
|
14
39
|
private _movementDetectedStateId;
|
|
15
|
-
get lastImage(): string;
|
|
16
|
-
settings: CameraSettings;
|
|
17
|
-
readonly deviceCapabilities: DeviceCapability[];
|
|
18
|
-
deviceType: DeviceType;
|
|
19
|
-
readonly name: string;
|
|
20
|
-
protected _lastMotion: number;
|
|
21
40
|
private _initialized;
|
|
22
41
|
private _movementDetectedCallback;
|
|
23
42
|
private _lastImage;
|
|
24
43
|
private _personDetected;
|
|
25
44
|
private _dogDetected;
|
|
26
|
-
private
|
|
27
|
-
private
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
45
|
+
private _devicesBlockingAlarmMap;
|
|
46
|
+
private _movementDetected;
|
|
47
|
+
private _info;
|
|
48
|
+
constructor(mqttName: string, roomName: string, blueIrisName: string);
|
|
49
|
+
/** @inheritDoc */
|
|
50
|
+
get lastImage(): string;
|
|
51
|
+
/** @inheritDoc */
|
|
32
52
|
get dogDetected(): boolean;
|
|
53
|
+
/** @inheritDoc */
|
|
33
54
|
get personDetected(): boolean;
|
|
34
|
-
|
|
35
|
-
get
|
|
36
|
-
|
|
37
|
-
private _detectionsToday;
|
|
38
|
-
get detectionsToday(): number;
|
|
39
|
-
set detectionsToday(pVal: number);
|
|
40
|
-
private _movementDetected;
|
|
55
|
+
/** @inheritDoc */
|
|
56
|
+
get alarmBlockedByDevices(): boolean;
|
|
57
|
+
/** @inheritDoc */
|
|
41
58
|
get movementDetected(): boolean;
|
|
42
|
-
|
|
59
|
+
/** @inheritDoc */
|
|
43
60
|
get info(): DeviceInfo;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Time since Last Motion in seconds
|
|
47
|
-
* @returns {number}
|
|
48
|
-
*/
|
|
61
|
+
/** @inheritDoc */
|
|
49
62
|
get timeSinceLastMotion(): number;
|
|
63
|
+
/** @inheritDoc */
|
|
50
64
|
get customName(): string;
|
|
65
|
+
/** @inheritDoc */
|
|
51
66
|
get id(): string;
|
|
67
|
+
/** @inheritDoc */
|
|
52
68
|
get room(): RoomBase | undefined;
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
onGriffUpdate(open: boolean): void;
|
|
69
|
+
/** @inheritDoc */
|
|
70
|
+
addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
|
|
71
|
+
/** @inheritDoc */
|
|
72
|
+
blockForDevice(device: iBaseDevice, block: boolean): void;
|
|
73
|
+
/** @inheritDoc */
|
|
59
74
|
persistMotionSensor(): void;
|
|
75
|
+
/** @inheritDoc */
|
|
60
76
|
update(idSplit: string[], state: ioBroker.State): void;
|
|
61
|
-
updateMovement(newState: boolean): void;
|
|
62
77
|
log(level: LogLevel, message: string, debugType?: LogDebugType): void;
|
|
63
78
|
toJSON(): Partial<iRoomDevice>;
|
|
64
79
|
persistDeviceInfo(): void;
|
|
65
80
|
loadDeviceSettings(): void;
|
|
81
|
+
private updateMovement;
|
|
66
82
|
private resetPersonDetectFallbackTimer;
|
|
67
83
|
private resetDogDetectFallbackTimer;
|
|
68
84
|
private resetMovementFallbackTimer;
|
|
@@ -13,46 +13,39 @@ const DeviceInfo_1 = require("../DeviceInfo");
|
|
|
13
13
|
const DeviceCapability_1 = require("../DeviceCapability");
|
|
14
14
|
const deviceType_1 = require("../deviceType");
|
|
15
15
|
const ioBroker_1 = require("../../ioBroker");
|
|
16
|
+
const motionSensorAction_1 = require("../../../models/action/motionSensorAction");
|
|
16
17
|
class CameraDevice {
|
|
17
|
-
get lastImage() {
|
|
18
|
-
return this._lastImage;
|
|
19
|
-
}
|
|
20
|
-
get dogDetected() {
|
|
21
|
-
return this._dogDetected;
|
|
22
|
-
}
|
|
23
|
-
get personDetected() {
|
|
24
|
-
return this._personDetected;
|
|
25
|
-
}
|
|
26
|
-
get alarmBlockedByGriffTimeStamp() {
|
|
27
|
-
return this._alarmBlockedByGriffTimeStamp;
|
|
28
|
-
}
|
|
29
|
-
get alarmBlockedByGriff() {
|
|
30
|
-
return this._alarmGriffBlockCount > 0;
|
|
31
|
-
}
|
|
32
18
|
constructor(mqttName, roomName, blueIrisName) {
|
|
33
19
|
var _a;
|
|
20
|
+
/** @inheritDoc */
|
|
21
|
+
this.settings = new models_1.CameraSettings();
|
|
22
|
+
/** @inheritDoc */
|
|
23
|
+
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.camera, DeviceCapability_1.DeviceCapability.motionSensor];
|
|
24
|
+
/** @inheritDoc */
|
|
25
|
+
this.deviceType = deviceType_1.DeviceType.Camera;
|
|
26
|
+
/** @inheritDoc */
|
|
27
|
+
this.mpegStreamLink = '';
|
|
28
|
+
/** @inheritDoc */
|
|
29
|
+
this.h264IosStreamLink = '';
|
|
30
|
+
/** @inheritDoc */
|
|
31
|
+
this.rtspStreamLink = '';
|
|
32
|
+
/** @inheritDoc */
|
|
33
|
+
this.currentImageLink = '';
|
|
34
|
+
/** @inheritDoc */
|
|
35
|
+
this.detectionsToday = 0;
|
|
36
|
+
this._lastMotion = 0;
|
|
34
37
|
this._personDetectFallbackTimeout = null;
|
|
35
38
|
this._movementDetectFallbackTimeout = null;
|
|
36
39
|
this._dogDetectFallbackTimeout = null;
|
|
37
40
|
this._personDetectedStateId = undefined;
|
|
38
41
|
this._dogDetectedStateId = undefined;
|
|
39
42
|
this._movementDetectedStateId = undefined;
|
|
40
|
-
this.settings = new models_1.CameraSettings();
|
|
41
|
-
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.camera, DeviceCapability_1.DeviceCapability.motionSensor];
|
|
42
|
-
this.deviceType = deviceType_1.DeviceType.Camera;
|
|
43
|
-
this._lastMotion = 0;
|
|
44
43
|
this._initialized = false;
|
|
45
44
|
this._movementDetectedCallback = [];
|
|
46
45
|
this._lastImage = '';
|
|
47
46
|
this._personDetected = false;
|
|
48
47
|
this._dogDetected = false;
|
|
49
|
-
this.
|
|
50
|
-
this._alarmBlockedByGriffTimeStamp = 0;
|
|
51
|
-
this.mpegStreamLink = '';
|
|
52
|
-
this.h264IosStreamLink = '';
|
|
53
|
-
this.rtspStreamLink = '';
|
|
54
|
-
this.currentImageLink = '';
|
|
55
|
-
this._detectionsToday = 0;
|
|
48
|
+
this._devicesBlockingAlarmMap = new Map();
|
|
56
49
|
this._movementDetected = false;
|
|
57
50
|
this.blueIrisName = blueIrisName;
|
|
58
51
|
this.name = mqttName;
|
|
@@ -87,59 +80,67 @@ class CameraDevice {
|
|
|
87
80
|
});
|
|
88
81
|
}
|
|
89
82
|
}
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
/** @inheritDoc */
|
|
84
|
+
get lastImage() {
|
|
85
|
+
return this._lastImage;
|
|
86
|
+
}
|
|
87
|
+
/** @inheritDoc */
|
|
88
|
+
get dogDetected() {
|
|
89
|
+
return this._dogDetected;
|
|
90
|
+
}
|
|
91
|
+
/** @inheritDoc */
|
|
92
|
+
get personDetected() {
|
|
93
|
+
return this._personDetected;
|
|
92
94
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
/** @inheritDoc */
|
|
96
|
+
get alarmBlockedByDevices() {
|
|
97
|
+
return this._devicesBlockingAlarmMap.size > 0;
|
|
95
98
|
}
|
|
99
|
+
/** @inheritDoc */
|
|
96
100
|
get movementDetected() {
|
|
97
101
|
return this._movementDetected;
|
|
98
102
|
}
|
|
103
|
+
/** @inheritDoc */
|
|
99
104
|
get info() {
|
|
100
105
|
return this._info;
|
|
101
106
|
}
|
|
102
|
-
|
|
103
|
-
this._info = info;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Time since Last Motion in seconds
|
|
107
|
-
* @returns {number}
|
|
108
|
-
*/
|
|
107
|
+
/** @inheritDoc */
|
|
109
108
|
get timeSinceLastMotion() {
|
|
110
109
|
return Math.round((services_1.Utils.nowMS() - this._lastMotion) / 1000);
|
|
111
110
|
}
|
|
111
|
+
/** @inheritDoc */
|
|
112
112
|
get customName() {
|
|
113
113
|
return this.info.customName;
|
|
114
114
|
}
|
|
115
|
+
/** @inheritDoc */
|
|
115
116
|
get id() {
|
|
116
117
|
var _a;
|
|
117
118
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `camera-${this.info.room}-${this.info.customName}`;
|
|
118
119
|
}
|
|
120
|
+
/** @inheritDoc */
|
|
119
121
|
get room() {
|
|
120
122
|
return services_1.API.getRoom(this.info.room);
|
|
121
123
|
}
|
|
122
|
-
/**
|
|
123
|
-
* Adds a callback for when a motion state has changed.
|
|
124
|
-
* @param pCallback Function that accepts the new state as parameter
|
|
125
|
-
*/
|
|
124
|
+
/** @inheritDoc */
|
|
126
125
|
addMovementCallback(pCallback) {
|
|
127
126
|
this._movementDetectedCallback.push(pCallback);
|
|
128
127
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (
|
|
132
|
-
this.
|
|
128
|
+
/** @inheritDoc */
|
|
129
|
+
blockForDevice(device, block) {
|
|
130
|
+
if (block) {
|
|
131
|
+
this._devicesBlockingAlarmMap.set(device.id, device);
|
|
133
132
|
}
|
|
134
|
-
|
|
135
|
-
this.
|
|
133
|
+
else {
|
|
134
|
+
this._devicesBlockingAlarmMap.delete(device.id);
|
|
136
135
|
}
|
|
137
|
-
this.log(models_1.LogLevel.Debug, `Handle
|
|
136
|
+
this.log(models_1.LogLevel.Debug, `Handle device ${block ? 'block' : 'unblock'}, new blocking amount: ${this._devicesBlockingAlarmMap.size}`);
|
|
138
137
|
}
|
|
138
|
+
/** @inheritDoc */
|
|
139
139
|
persistMotionSensor() {
|
|
140
140
|
var _a;
|
|
141
141
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistMotionSensor(this);
|
|
142
142
|
}
|
|
143
|
+
/** @inheritDoc */
|
|
143
144
|
update(idSplit, state) {
|
|
144
145
|
const stateName = idSplit[4];
|
|
145
146
|
switch (stateName) {
|
|
@@ -160,7 +161,7 @@ class CameraDevice {
|
|
|
160
161
|
const newValue = state.val === 1;
|
|
161
162
|
this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
|
|
162
163
|
if (newValue) {
|
|
163
|
-
this.log(models_1.LogLevel.Info,
|
|
164
|
+
this.log(models_1.LogLevel.Info, 'Person Detected');
|
|
164
165
|
this.resetPersonDetectFallbackTimer();
|
|
165
166
|
}
|
|
166
167
|
this._personDetected = newValue;
|
|
@@ -173,7 +174,7 @@ class CameraDevice {
|
|
|
173
174
|
const newDogDetectionVal = state.val === 1;
|
|
174
175
|
this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
|
|
175
176
|
if (newDogDetectionVal) {
|
|
176
|
-
this.log(models_1.LogLevel.Info,
|
|
177
|
+
this.log(models_1.LogLevel.Info, 'Dog Detected');
|
|
177
178
|
this.resetDogDetectFallbackTimer();
|
|
178
179
|
}
|
|
179
180
|
this._dogDetected = newDogDetectionVal;
|
|
@@ -185,36 +186,12 @@ class CameraDevice {
|
|
|
185
186
|
this._lastImage = state.val;
|
|
186
187
|
services_1.Utils.guardedTimeout(() => {
|
|
187
188
|
// Give Person Detected Update some time, as otherwise personDetected might still be false
|
|
188
|
-
if (this.settings.alertPersonOnTelegram && this._personDetected && !this.
|
|
189
|
+
if (this.settings.alertPersonOnTelegram && this._personDetected && !this.alarmBlockedByDevices) {
|
|
189
190
|
services_1.TelegramService.sendImage(`${this.name} detected Person`, new models_1.Base64Image(this._lastImage, 'person_alert'));
|
|
190
191
|
}
|
|
191
192
|
}, 1000);
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
|
-
updateMovement(newState) {
|
|
195
|
-
if (!this._initialized && newState) {
|
|
196
|
-
this.log(models_1.LogLevel.Trace, `Movement recognized, but database initialization has not finished yet --> delay.`);
|
|
197
|
-
services_1.Utils.guardedTimeout(() => {
|
|
198
|
-
this.updateMovement(newState);
|
|
199
|
-
}, 1000, this);
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
if (newState === this.movementDetected) {
|
|
203
|
-
this.log(models_1.LogLevel.Debug, `Skip movement because state is already ${newState}`, services_1.LogDebugType.SkipUnchangedMovementState);
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
this._lastMotion = services_1.Utils.nowMS();
|
|
207
|
-
this._movementDetected = newState;
|
|
208
|
-
this.persistMotionSensor();
|
|
209
|
-
this.log(models_1.LogLevel.Debug, `New movement state: ${newState}`, services_1.LogDebugType.NewMovementState);
|
|
210
|
-
if (newState) {
|
|
211
|
-
this.detectionsToday++;
|
|
212
|
-
this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
|
|
213
|
-
}
|
|
214
|
-
for (const c of this._movementDetectedCallback) {
|
|
215
|
-
c(newState);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
195
|
log(level, message, debugType = services_1.LogDebugType.None) {
|
|
219
196
|
var _a, _b;
|
|
220
197
|
services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -240,6 +217,30 @@ class CameraDevice {
|
|
|
240
217
|
var _a;
|
|
241
218
|
(_a = this.settings) === null || _a === void 0 ? void 0 : _a.initializeFromDb(this);
|
|
242
219
|
}
|
|
220
|
+
updateMovement(newState) {
|
|
221
|
+
if (!this._initialized && newState) {
|
|
222
|
+
this.log(models_1.LogLevel.Trace, 'Movement recognized, but database initialization has not finished yet --> delay.');
|
|
223
|
+
services_1.Utils.guardedTimeout(() => {
|
|
224
|
+
this.updateMovement(newState);
|
|
225
|
+
}, 1000, this);
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
if (newState === this.movementDetected) {
|
|
229
|
+
this.log(models_1.LogLevel.Debug, `Skip movement because state is already ${newState}`, services_1.LogDebugType.SkipUnchangedMovementState);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this._lastMotion = services_1.Utils.nowMS();
|
|
233
|
+
this._movementDetected = newState;
|
|
234
|
+
this.persistMotionSensor();
|
|
235
|
+
this.log(models_1.LogLevel.Debug, `New movement state: ${newState}`, services_1.LogDebugType.NewMovementState);
|
|
236
|
+
if (newState) {
|
|
237
|
+
this.detectionsToday++;
|
|
238
|
+
this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
|
|
239
|
+
}
|
|
240
|
+
for (const c of this._movementDetectedCallback) {
|
|
241
|
+
c(new motionSensorAction_1.MotionSensorAction(this));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
243
244
|
resetPersonDetectFallbackTimer() {
|
|
244
245
|
if (this._personDetectFallbackTimeout !== null) {
|
|
245
246
|
clearTimeout(this._personDetectFallbackTimeout);
|
|
@@ -7,7 +7,6 @@ export declare class Button {
|
|
|
7
7
|
private _callbacksMap;
|
|
8
8
|
private _timeouts;
|
|
9
9
|
constructor(name: string, buttonCapabilities: ButtonCapabilities);
|
|
10
|
-
getState(type: ButtonPressType): boolean;
|
|
11
10
|
addCb(buttonType: ButtonPressType, pCallback: (pValue: boolean) => void, description?: string): void;
|
|
12
11
|
isPressActive(type: ButtonPressType): boolean | undefined;
|
|
13
12
|
getDescription(): string;
|
|
@@ -32,10 +32,6 @@ class Button {
|
|
|
32
32
|
this._statesMap.set(buttonPressType_1.ButtonPressType.triple, false);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
getState(type) {
|
|
36
|
-
var _a;
|
|
37
|
-
return (_a = this._statesMap.get(type)) !== null && _a !== void 0 ? _a : false;
|
|
38
|
-
}
|
|
39
35
|
addCb(buttonType, pCallback, description = 'Not described') {
|
|
40
36
|
const cbArr = this._callbacksMap.get(buttonType);
|
|
41
37
|
if (cbArr === undefined) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ButtonCallback = void 0;
|
|
4
|
+
class ButtonCallback {
|
|
5
|
+
constructor(cb, description) {
|
|
6
|
+
this.cb = cb;
|
|
7
|
+
this.description = description;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.ButtonCallback = ButtonCallback;
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
export declare class ButtonCapabilities {
|
|
2
|
+
/**
|
|
3
|
+
* Whether the button supports short press
|
|
4
|
+
*/
|
|
2
5
|
shortPress: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Whether the button supports double press
|
|
8
|
+
*/
|
|
3
9
|
doublePress: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the button supports triple press
|
|
12
|
+
*/
|
|
4
13
|
triplePress: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the button supports long press
|
|
16
|
+
*/
|
|
5
17
|
longPress: boolean;
|
|
6
18
|
}
|
|
@@ -3,9 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ButtonCapabilities = void 0;
|
|
4
4
|
class ButtonCapabilities {
|
|
5
5
|
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Whether the button supports short press
|
|
8
|
+
*/
|
|
6
9
|
this.shortPress = true;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the button supports double press
|
|
12
|
+
*/
|
|
7
13
|
this.doublePress = true;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the button supports triple press
|
|
16
|
+
*/
|
|
8
17
|
this.triplePress = true;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the button supports long press
|
|
20
|
+
*/
|
|
9
21
|
this.longPress = true;
|
|
10
22
|
}
|
|
11
23
|
}
|