hoffmation-base 3.0.0-alpha.4 → 3.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +5 -1
- package/lib/index.js +20 -20
- package/lib/liquid-pid.d.ts +2 -5
- package/lib/liquid-pid.js +3 -5
- package/lib/models/action/baseAction.d.ts +4 -0
- package/lib/models/action/baseAction.js +10 -0
- package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
- package/lib/models/action/humiditySensorChangeAction.js +15 -0
- package/lib/models/action/index.d.ts +7 -0
- package/lib/models/action/index.js +25 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -0
- package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
- package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
- package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
- package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
- package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
- package/lib/models/action/shutterPositionChangedAction.js +15 -0
- package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
- package/lib/models/action/temperatureSensorChangeAction.js +15 -0
- package/lib/models/blockAutomaticSettings.d.ts +23 -0
- package/lib/models/blockAutomaticSettings.js +19 -0
- package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
- package/lib/models/command/ShutterSetLevelCommand.js +9 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
- package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
- package/lib/models/command/actuatorSetStateCommand.js +15 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
- package/lib/models/command/actuatorToggleCommand.js +7 -4
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +9 -2
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +13 -2
- package/lib/models/command/baseCommand.d.ts +23 -2
- package/lib/models/command/baseCommand.js +41 -1
- package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
- package/lib/models/command/blockAutomaticCommand.js +40 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
- package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
- package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
- package/lib/models/command/commandSource.d.ts +19 -0
- package/lib/models/command/commandSource.js +20 -0
- package/lib/models/command/commandType.d.ts +9 -0
- package/lib/models/command/commandType.js +9 -0
- package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
- package/lib/models/command/dimmerSetLightCommand.js +20 -14
- package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
- package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
- package/lib/models/command/index.d.ts +3 -0
- package/lib/models/command/index.js +7 -1
- package/lib/models/command/lampSetLightCommand.d.ts +13 -2
- package/lib/models/command/lampSetLightCommand.js +15 -4
- package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
- package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
- package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
- package/lib/models/command/lampToggleLightCommand.js +7 -6
- package/lib/models/command/ledSetLightCommand.d.ts +21 -11
- package/lib/models/command/ledSetLightCommand.js +27 -17
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
- package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
- package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
- package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
- package/lib/models/command/roomRestoreLightCommand.js +7 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
- package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
- package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
- package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
- package/lib/models/command/shutterSunriseUpCommand.js +7 -1
- package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
- package/lib/models/command/shutterSunsetDownCommand.js +7 -1
- package/lib/models/command/wledSetLightCommand.d.ts +16 -2
- package/lib/models/command/wledSetLightCommand.js +23 -7
- package/lib/models/connectionCallbacks.d.ts +4 -4
- package/lib/models/connectionCallbacks.js +1 -0
- package/lib/models/deviceConfig.d.ts +3 -3
- package/lib/models/deviceSettings/acSettings.d.ts +19 -5
- package/lib/models/deviceSettings/acSettings.js +23 -8
- package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
- package/lib/models/deviceSettings/actuatorSettings.js +19 -9
- package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
- package/lib/models/deviceSettings/cameraSettings.js +12 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
- package/lib/models/deviceSettings/dachsSettings.js +3 -0
- package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
- package/lib/models/deviceSettings/deviceSettings.js +16 -0
- package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
- package/lib/models/deviceSettings/dimmerSettings.js +20 -0
- package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
- package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
- package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
- package/lib/models/deviceSettings/heaterSettings.js +21 -9
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +76 -18
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
- package/lib/models/deviceSettings/shutterSettings.js +11 -3
- package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
- package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
- package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
- package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
- package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
- package/lib/models/deviceSettings/wledSettings.js +37 -13
- package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
- package/lib/models/groupSettings/heatGroupSettings.js +12 -1
- package/lib/models/iIdHolder.d.ts +18 -0
- package/lib/models/index.d.ts +2 -1
- package/lib/models/index.js +4 -1
- package/lib/models/objectSettings.d.ts +5 -2
- package/lib/models/objectSettings.js +2 -2
- package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
- package/lib/models/persistence/EnergyCalculation.js +30 -4
- package/lib/models/persistence/index.d.ts +0 -2
- package/lib/models/persistence/index.js +0 -2
- package/lib/models/rooms/RoomBase.d.ts +12 -1
- package/lib/models/rooms/RoomBase.js +17 -8
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
- package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
- package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
- package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
- package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
- package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
- package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
- package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
- package/lib/models/rooms/iRoomBase.d.ts +39 -0
- package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
- package/lib/models/timeCallback.d.ts +7 -0
- package/lib/models/timeCallback.js +16 -6
- package/lib/server/config/heatingMode.d.ts +2 -1
- package/lib/server/config/heatingMode.js +2 -1
- package/lib/server/config/iAsusConfig.d.ts +15 -0
- package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
- package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
- package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
- package/lib/server/config/iConfig.d.ts +92 -5
- package/lib/server/config/iDachsSettings.d.ts +16 -0
- package/lib/server/config/iDaikinSettings.d.ts +17 -0
- package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
- package/lib/server/config/iEspresenseSettings.d.ts +10 -0
- package/lib/server/config/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +36 -1
- package/lib/server/config/iMp3Settings.d.ts +10 -0
- package/lib/server/config/iMuellSettings.d.ts +7 -0
- package/lib/server/config/iNewsSettings.d.ts +13 -0
- package/lib/server/config/iPersistenceSettings.d.ts +10 -0
- package/lib/server/config/iPollySettings.d.ts +22 -0
- package/lib/server/config/iRestSettings.d.ts +10 -0
- package/lib/server/config/iSonosSettings.d.ts +10 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.js +1 -0
- package/lib/server/devices/DeviceInfo.d.ts +9 -0
- package/lib/server/devices/DeviceInfo.js +6 -0
- package/lib/server/devices/Griffe.js +1 -2
- package/lib/server/devices/Heizgruppen.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
- package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
- package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
- package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +12 -1
- package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
- package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
- package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
- package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
- package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +32 -2
- package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
- package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
- package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
- package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
- package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
- package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
- package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
- package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
- package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
- package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
- package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
- package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
- package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
- package/lib/server/devices/blueIris/cameraDevice.js +75 -75
- package/lib/server/devices/button/button.d.ts +0 -1
- package/lib/server/devices/button/button.js +0 -4
- package/lib/server/devices/button/buttonCallback.d.ts +5 -0
- package/lib/server/devices/button/buttonCallback.js +10 -0
- package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
- package/lib/server/devices/button/buttonCapabilities.js +12 -0
- package/lib/server/devices/button/index.d.ts +1 -0
- package/lib/server/devices/button/index.js +3 -0
- package/lib/server/devices/dachs/dachs.d.ts +31 -9
- package/lib/server/devices/dachs/dachs.js +28 -18
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +1 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +1 -1
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +1 -4
- package/lib/server/devices/devices.d.ts +43 -7
- package/lib/server/devices/devices.js +42 -6
- package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
- package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
- package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
- package/lib/server/devices/espresense/espresenseDevice.js +28 -4
- package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
- package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
- package/lib/server/devices/espresense/trilateration.d.ts +7 -0
- package/lib/server/devices/espresense/trilateration.js +7 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
- package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
- package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
- package/lib/server/devices/groups/Window.d.ts +9 -3
- package/lib/server/devices/groups/Window.js +19 -11
- package/lib/server/devices/groups/base-group.d.ts +4 -0
- package/lib/server/devices/groups/base-group.js +3 -0
- package/lib/server/devices/groups/heatGroup.d.ts +8 -6
- package/lib/server/devices/groups/heatGroup.js +11 -11
- package/lib/server/devices/groups/lightGroup.d.ts +10 -2
- package/lib/server/devices/groups/lightGroup.js +16 -34
- package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
- package/lib/server/devices/groups/presenceGroup.js +52 -62
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +11 -1
- package/lib/server/devices/groups/windowGroup.js +6 -6
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +27 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -9
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +13 -11
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
- package/lib/server/devices/index.d.ts +5 -2
- package/lib/server/devices/index.js +8 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +3 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +5 -3
- package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
- package/lib/server/devices/nameAmountValuePair.js +10 -0
- package/lib/server/devices/scene/room-scene.d.ts +23 -6
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +80 -26
- package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
- package/lib/server/devices/shelly/shellyDevice.js +2 -1
- package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
- package/lib/server/devices/shelly/shellyTrv.js +46 -45
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -3
- package/lib/server/devices/wledDevice.js +42 -16
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +30 -65
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +22 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +46 -42
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +49 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
- package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
- package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
- package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +20 -2
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +22 -5
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
- package/lib/server/ioBroker/connection.d.ts +21 -20
- package/lib/server/ioBroker/connection.js +37 -28
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
- package/lib/server/ioBroker/ioBroker.main.js +4 -3
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
- package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
- package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
- package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
- package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
- package/lib/server/services/ShutterService.js +6 -6
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
- package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
- package/lib/server/services/Sonos/mp3-server.js +3 -1
- package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
- package/lib/server/services/Sonos/own-sonos-device.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +7 -1
- package/lib/server/services/Sonos/polly-service.js +10 -8
- package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
- package/lib/server/services/Sonos/sonos-service.js +6 -10
- package/lib/server/services/Telegram/telegram-Commands.js +5 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
- package/lib/server/services/Telegram/telegram-service.js +8 -3
- package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
- package/lib/server/services/Translation/IRessourceObject.js +2 -0
- package/lib/server/services/Translation/iRessources.d.ts +1 -4
- package/lib/server/services/Translation/index.d.ts +1 -0
- package/lib/server/services/Translation/res.d.ts +34 -19
- package/lib/server/services/Translation/res.js +34 -19
- package/lib/server/services/ac/ac-device.d.ts +48 -6
- package/lib/server/services/ac/ac-device.js +86 -36
- package/lib/server/services/ac/daikin-service.js +4 -3
- package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
- package/lib/server/services/ac/own-ac-devices.js +3 -0
- package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
- package/lib/server/services/ac/own-daikin-device.js +32 -7
- package/lib/server/services/api/api-service.d.ts +118 -53
- package/lib/server/services/api/api-service.js +170 -80
- package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
- package/lib/server/services/blockAutomaticHandler.js +34 -15
- package/lib/server/services/calendar/index.d.ts +1 -0
- package/lib/server/services/calendar/index.js +3 -0
- package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
- package/lib/server/services/calendar/muell-tonne.js +10 -0
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
- package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
- package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
- package/lib/server/services/calendar/name-date-pair.js +10 -0
- package/lib/server/services/dbo/iPersist.d.ts +103 -0
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
- package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
- package/lib/server/services/file-info.d.ts +5 -0
- package/lib/server/services/file-info.js +10 -0
- package/lib/server/services/govee/govee-service.d.ts +1 -5
- package/lib/server/services/govee/govee-service.js +3 -5
- package/lib/server/services/govee/own-govee-device.d.ts +17 -13
- package/lib/server/services/govee/own-govee-device.js +27 -27
- package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
- package/lib/server/services/govee/own-govee-devices.js +3 -0
- package/lib/server/services/https-service.d.ts +3 -2
- package/lib/server/services/https-service.js +4 -3
- package/lib/server/services/index.d.ts +1 -0
- package/lib/server/services/index.js +3 -0
- package/lib/server/services/log-service/index.d.ts +1 -0
- package/lib/server/services/log-service/index.js +3 -0
- package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
- package/lib/server/services/log-service/log-debug-type.js +16 -0
- package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
- package/lib/server/services/log-service/log-filter-data.js +6 -15
- package/lib/server/services/log-service/log-service.d.ts +17 -4
- package/lib/server/services/log-service/log-service.js +30 -17
- package/lib/server/services/news-service.d.ts +9 -7
- package/lib/server/services/news-service.js +14 -15
- package/lib/server/services/room-service/room-service.d.ts +20 -4
- package/lib/server/services/room-service/room-service.js +26 -10
- package/lib/server/services/settings-service.d.ts +6 -2
- package/lib/server/services/settings-service.js +3 -2
- package/lib/server/services/time-callback-service.js +1 -1
- package/lib/server/services/utils/RGB.d.ts +6 -0
- package/lib/server/services/utils/RGB.js +11 -0
- package/lib/server/services/utils/catchEmResult.d.ts +5 -0
- package/lib/server/services/utils/catchEmResult.js +10 -0
- package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
- package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
- package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
- package/lib/server/services/utils/energy-manager-utils.js +2 -2
- package/lib/server/services/utils/iDisposeable.d.ts +6 -0
- package/lib/server/services/utils/index.d.ts +4 -1
- package/lib/server/services/utils/index.js +8 -1
- package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
- package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
- package/lib/server/services/utils/utils.d.ts +9 -13
- package/lib/server/services/victron/victron-device.d.ts +6 -2
- package/lib/server/services/victron/victron-device.js +12 -9
- package/lib/server/services/weather/index.d.ts +2 -0
- package/lib/server/services/weather/index.js +3 -0
- package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
- package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
- package/lib/server/services/weather/weather-current.d.ts +0 -2
- package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
- package/lib/server/services/weather/weather-response.d.ts +16 -0
- package/lib/server/services/weather/weather-response.js +2 -0
- package/lib/server/services/weather/weather-service.d.ts +15 -18
- package/lib/server/services/weather/weather-service.js +32 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -7
- package/lib/models/iTemperaturDataPoint.d.ts +0 -9
- package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
- package/lib/models/persistence/RoomDetailInfo.js +0 -11
- package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
- package/lib/models/persistence/temperaturDataPoint.js +0 -14
- /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
|
@@ -1,18 +1,56 @@
|
|
|
1
1
|
import { AcSettings } from '../../../models';
|
|
2
2
|
import { AcMode } from '../../services';
|
|
3
3
|
import { iBaseDevice } from './iBaseDevice';
|
|
4
|
+
/**
|
|
5
|
+
* Interface for normal air-conditioning devices
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.ac} capability.
|
|
8
|
+
* TODO: Migrate to new Command-Based System
|
|
9
|
+
* TODO: Extend from iActuator
|
|
10
|
+
*/
|
|
4
11
|
export interface iAcDevice extends iBaseDevice {
|
|
12
|
+
/**
|
|
13
|
+
* The settings of the air-conditioning device
|
|
14
|
+
*/
|
|
5
15
|
settings: AcSettings;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the air-conditioning device is currently on
|
|
18
|
+
*/
|
|
6
19
|
readonly on: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The temperature of the room where this device is located
|
|
22
|
+
*/
|
|
23
|
+
readonly roomTemperature: number;
|
|
24
|
+
/**
|
|
25
|
+
* The current temperature of the air-conditioning device in degrees Celsius
|
|
26
|
+
*/
|
|
7
27
|
readonly temperature: number;
|
|
28
|
+
/**
|
|
29
|
+
* The current state of the air-conditioning device
|
|
30
|
+
*/
|
|
8
31
|
readonly mode: AcMode;
|
|
9
32
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @param
|
|
33
|
+
* This function should be called to inform the air-conditioning device about a change of the room temperature
|
|
34
|
+
* @param newTemperatur - The new temperature of the room in degrees Celsius
|
|
12
35
|
*/
|
|
13
|
-
deactivateAutomaticChange(timeout: number): void;
|
|
14
36
|
onTemperaturChange(newTemperatur: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Updates the desired mode of the air-conditioning device and writes it to the device if desired
|
|
39
|
+
* @param mode - The new desired mode
|
|
40
|
+
* @param writeToDevice - Whether to write the new mode to the device
|
|
41
|
+
*/
|
|
15
42
|
setDesiredMode(mode: AcMode, writeToDevice: boolean): void;
|
|
43
|
+
/**
|
|
44
|
+
* Turns the air-conditioning device on without changing the settings
|
|
45
|
+
*/
|
|
16
46
|
turnOn(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Turns the air-conditioning device off
|
|
49
|
+
*/
|
|
17
50
|
turnOff(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Calculates the desired mode based on the current settings and the room temperature
|
|
53
|
+
* @returns The desired mode
|
|
54
|
+
*/
|
|
55
|
+
calculateDesiredMode(): AcMode;
|
|
18
56
|
}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { ActuatorSetStateCommand, ActuatorSettings, ActuatorToggleCommand, ActuatorWriteStateToDeviceCommand } from '../../../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
3
|
import { iTemporaryDisableAutomatic } from './iTemporaryDisableAutomatic';
|
|
4
|
+
/**
|
|
5
|
+
* Interface for Actuators.
|
|
6
|
+
* An actuator can be any device whos primary function is to be on or off e.g a light, an outlet, a fan, etc.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.actuator} capability.
|
|
9
|
+
*/
|
|
4
10
|
export interface iActuator extends iRoomDevice, iTemporaryDisableAutomatic {
|
|
5
11
|
/**
|
|
6
12
|
* The settings for this Actuator primarily for controlling its automatic actions
|
|
7
13
|
*/
|
|
8
14
|
settings: ActuatorSettings;
|
|
15
|
+
/**
|
|
16
|
+
* The target automatic state of the device.
|
|
17
|
+
* This is used to store the state the device should be in to fall back to it after automatic was blocked e.g. by a user.
|
|
18
|
+
*/
|
|
9
19
|
targetAutomaticState: boolean;
|
|
10
20
|
/**
|
|
11
21
|
* The state value of the device
|
|
@@ -25,6 +35,14 @@ export interface iActuator extends iRoomDevice, iTemporaryDisableAutomatic {
|
|
|
25
35
|
* @param command
|
|
26
36
|
*/
|
|
27
37
|
setActuator(command: ActuatorSetStateCommand): void;
|
|
38
|
+
/**
|
|
39
|
+
* Toggles the power state of this actuator
|
|
40
|
+
* @param command
|
|
41
|
+
*/
|
|
28
42
|
toggleActuator(command: ActuatorToggleCommand): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Writes the desired actuator state to the device
|
|
45
|
+
* @param command
|
|
46
|
+
*/
|
|
29
47
|
writeActuatorStateToDevice(command: ActuatorWriteStateToDeviceCommand): void;
|
|
30
48
|
}
|
|
@@ -3,12 +3,37 @@ import { DeviceType } from '../deviceType';
|
|
|
3
3
|
import { DeviceInfo } from '../DeviceInfo';
|
|
4
4
|
import { DeviceCapability } from '../DeviceCapability';
|
|
5
5
|
import { iIdHolder } from '../../../models/iIdHolder';
|
|
6
|
+
/**
|
|
7
|
+
* This is the main interface for all devices as it ensures certain base functionality.
|
|
8
|
+
*/
|
|
6
9
|
export interface iBaseDevice extends iIdHolder {
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the device which are overridden by the specific device implementation
|
|
12
|
+
*/
|
|
7
13
|
readonly settings: DeviceSettings | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* The hardware-type of the device.
|
|
16
|
+
*/
|
|
8
17
|
deviceType: DeviceType;
|
|
9
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Some basic information about the device (mainly its name, id, room, etc.)
|
|
20
|
+
*/
|
|
21
|
+
readonly info: DeviceInfo;
|
|
22
|
+
/**
|
|
23
|
+
* The capabilities of the device thus referencing other interfaces which then can be used to treat devices regardless of their hardware-type.
|
|
24
|
+
*/
|
|
10
25
|
readonly deviceCapabilities: DeviceCapability[];
|
|
26
|
+
/**
|
|
27
|
+
* This method writes the device Info to the configured persistence layer, to ensure having foreign keys for all other persisted data.
|
|
28
|
+
*/
|
|
11
29
|
persistDeviceInfo(): void;
|
|
30
|
+
/**
|
|
31
|
+
* This method loads the device settings from the configured persistence layer.
|
|
32
|
+
* Whilst this is normally used during startup, it can be called at any time to refresh the settings in case of manual changes within the database.
|
|
33
|
+
*/
|
|
12
34
|
loadDeviceSettings(): void;
|
|
35
|
+
/**
|
|
36
|
+
* This mainly enforces all devices to have a toJSON method to ensure a consistent way of serializing devices.
|
|
37
|
+
*/
|
|
13
38
|
toJSON(): Partial<iBaseDevice>;
|
|
14
39
|
}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for Battery Devices.
|
|
4
|
+
* A battery device can be any device that is powered by a battery e.g. a remote, a sensor, etc.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.battery} capability.
|
|
7
|
+
*/
|
|
2
8
|
export interface iBatteryDevice extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The last time the battery was persisted (in milliseconds since 1970)
|
|
11
|
+
*/
|
|
3
12
|
readonly lastBatteryPersist: number;
|
|
4
13
|
/**
|
|
5
14
|
* The battery status of the device in percentage
|
|
6
|
-
* @type {number}
|
|
7
15
|
*/
|
|
8
16
|
readonly battery: number;
|
|
17
|
+
/**
|
|
18
|
+
* Method to persist the battery status of the device to the persistence layer
|
|
19
|
+
*/
|
|
9
20
|
persistBatteryDevice(): void;
|
|
10
21
|
}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
2
|
import { ProximityCallback, TrilaterationBasePoint } from '../espresense';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Bluetooth detector devices, providing proximity information for tracked devices
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.bluetoothDetector} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iBluetoothDetector extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The position of the device to allow for trilateration-calculations
|
|
11
|
+
*/
|
|
4
12
|
position: TrilaterationBasePoint;
|
|
5
13
|
/**
|
|
6
14
|
* Add callback to react on a specified device entering/leaving a given zone
|
|
@@ -9,17 +17,17 @@ export interface iBluetoothDetector extends iRoomDevice {
|
|
|
9
17
|
addProximityCallback(cb: ProximityCallback): void;
|
|
10
18
|
/**
|
|
11
19
|
* Gets the distance of a currently present device
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @returns
|
|
20
|
+
* @param deviceName - The mapped Device name
|
|
21
|
+
* @param maxAge - The maximum age in seconds to still respect that device
|
|
22
|
+
* @returns Distance in meters or undefined if currently not present
|
|
15
23
|
*/
|
|
16
24
|
distanceOfDevice(deviceName: string, maxAge: number): number | undefined;
|
|
17
25
|
/**
|
|
18
26
|
* Check if a device is currently present and below the given Distance
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
* @returns
|
|
27
|
+
* @param deviceName - The mapped Device name
|
|
28
|
+
* @param maxDistance - The maximum distance in meters
|
|
29
|
+
* @param maxAge - The maximum age in seconds to still respect that device
|
|
30
|
+
* @returns
|
|
23
31
|
*/
|
|
24
32
|
isDevicePresent(deviceName: string, maxDistance: number, maxAge: number): boolean;
|
|
25
33
|
}
|
|
@@ -1,15 +1,57 @@
|
|
|
1
1
|
import { Button, ButtonPosition, ButtonPressType } from '../button';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Button Switch devices, providing e.g. access to the buttons and their assignments.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.buttonSwitch} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iButtonSwitch extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The Top-Left Button which can be found on normale 4-6 Button switches
|
|
11
|
+
*/
|
|
4
12
|
buttonTopLeft: Button | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The Top-Right Button which can be found on normale 4-6 Button switches
|
|
15
|
+
*/
|
|
5
16
|
buttonTopRight: Button | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* The vertically Middle and horicontally Left Button which can be found on 6 Button switches
|
|
19
|
+
*/
|
|
6
20
|
buttonMidLeft: Button | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* The vertically Middle and horicontally Right Button which can be found on 6 Button switches
|
|
23
|
+
*/
|
|
7
24
|
buttonMidRight: Button | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The Bottom-Left Button which can be found on normale 4-6 Button switches
|
|
27
|
+
*/
|
|
8
28
|
buttonBotLeft: Button | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* The Bottom-Right Button which can be found on normale 4-6 Button switches
|
|
31
|
+
*/
|
|
9
32
|
buttonBotRight: Button | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* The Bottom Button which can be found on vertical 2 Button switches
|
|
35
|
+
*/
|
|
10
36
|
buttonBot: Button | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The Top Button which can be found on vertical 2 Button switches
|
|
39
|
+
*/
|
|
11
40
|
buttonTop: Button | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Persist the button press to the persistent storage
|
|
43
|
+
* @param buttonName - The name of the button
|
|
44
|
+
* @param pressType - The type of the button press
|
|
45
|
+
*/
|
|
12
46
|
persist(buttonName: string, pressType: ButtonPressType): void;
|
|
47
|
+
/**
|
|
48
|
+
* @returns An description of all configured assignments
|
|
49
|
+
*/
|
|
13
50
|
getButtonAssignment(): string;
|
|
51
|
+
/**
|
|
52
|
+
* Method to simulate a button press (e.g. for testing or to use a specific logic which is bound to this button)
|
|
53
|
+
* @param position - The position of the button
|
|
54
|
+
* @param pressType - The type of the button press
|
|
55
|
+
*/
|
|
14
56
|
pressButton(position: ButtonPosition, pressType: ButtonPressType): Error | null;
|
|
15
57
|
}
|
|
@@ -1,14 +1,57 @@
|
|
|
1
1
|
import { iMotionSensor } from './iMotionSensor';
|
|
2
2
|
import { CameraSettings } from '../../../models';
|
|
3
|
+
import { iBaseDevice } from './iBaseDevice';
|
|
4
|
+
/**
|
|
5
|
+
* An interface for any device with {@link DeviceCapability.camera} capability
|
|
6
|
+
*/
|
|
3
7
|
export interface iCameraDevice extends iMotionSensor {
|
|
8
|
+
/**
|
|
9
|
+
* The settings of the camera device
|
|
10
|
+
*/
|
|
4
11
|
settings: CameraSettings;
|
|
12
|
+
/**
|
|
13
|
+
* The last image taken by the camera as a base64 encoded string
|
|
14
|
+
*/
|
|
5
15
|
readonly lastImage: string;
|
|
16
|
+
/**
|
|
17
|
+
* The link to access the mpeg stream of the camera
|
|
18
|
+
*/
|
|
6
19
|
readonly mpegStreamLink: string;
|
|
20
|
+
/**
|
|
21
|
+
* The link to access the h264 stream of the camera
|
|
22
|
+
*/
|
|
7
23
|
readonly h264IosStreamLink: string;
|
|
24
|
+
/**
|
|
25
|
+
* The link to access the rtsp stream of the camera
|
|
26
|
+
*/
|
|
8
27
|
readonly rtspStreamLink: string;
|
|
28
|
+
/**
|
|
29
|
+
* The link to obtain a fresh image from the camera
|
|
30
|
+
*/
|
|
9
31
|
readonly currentImageLink: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Whether the alarm is currently blocked by a certain device (e.g. an open handle for house-to-garden door)
|
|
34
|
+
*/
|
|
35
|
+
readonly alarmBlockedByDevices: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the camera has currently detected a dog
|
|
38
|
+
*/
|
|
39
|
+
readonly dogDetected: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the camera has currently detected a human
|
|
42
|
+
*/
|
|
43
|
+
readonly personDetected: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Inform this camera of a device, which blocks the alarm (or should unlift its block)
|
|
46
|
+
* @param device - The device to block/unblock the alarm for
|
|
47
|
+
* @param block - Whether to block the alarm for the device or lift the block
|
|
48
|
+
*/
|
|
49
|
+
blockForDevice(device: iBaseDevice, block: boolean): void;
|
|
50
|
+
/**
|
|
51
|
+
* Inform this camera of state updates within iOBroker
|
|
52
|
+
* TODO: Make camera independent of iOBroker
|
|
53
|
+
* @param idSplit - The id split of the state
|
|
54
|
+
* @param state - The state that has been updated
|
|
55
|
+
*/
|
|
13
56
|
update(idSplit: string[], state: ioBroker.State): void;
|
|
14
57
|
}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import { iLamp } from './iLamp';
|
|
2
2
|
import { DimmerSetLightCommand, DimmerSettings, LampToggleLightCommand } from '../../../models';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a dimmable lamp device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.dimmablelamp} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iDimmableLamp extends iLamp {
|
|
9
|
+
/**
|
|
10
|
+
* The settings of the dimmer providing e.g. brightness settings for different times of the day.
|
|
11
|
+
*/
|
|
4
12
|
settings: DimmerSettings;
|
|
13
|
+
/**
|
|
14
|
+
* The current brightness of the light in percent.
|
|
15
|
+
*/
|
|
5
16
|
readonly brightness: number;
|
|
17
|
+
/**
|
|
18
|
+
* This function toggles the light on or off.
|
|
19
|
+
* @param command - The command to execute on the light device.
|
|
20
|
+
*/
|
|
6
21
|
toggleLight(command: LampToggleLightCommand): void;
|
|
7
22
|
/**
|
|
8
|
-
* This function sets the light to a specific value
|
|
9
|
-
*
|
|
23
|
+
* This function sets the light to a specific value.
|
|
24
|
+
* @param command - The command to execute on the light device.
|
|
10
25
|
*/
|
|
11
26
|
setLight(command: DimmerSetLightCommand): void;
|
|
12
27
|
}
|
|
@@ -1,12 +1,42 @@
|
|
|
1
1
|
import { iExcessEnergyConsumer } from './iExcessEnergyConsumer';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
|
-
|
|
3
|
+
import { iDisposable } from '../../services';
|
|
4
|
+
/**
|
|
5
|
+
* Interface for devices that can manage energy consumption and production.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.energyManager} capability.
|
|
8
|
+
*/
|
|
9
|
+
export interface iEnergyManager extends iBaseDevice, iDisposable {
|
|
10
|
+
/**
|
|
11
|
+
* The total energy being excessive at the moment of last calculation.
|
|
12
|
+
*
|
|
13
|
+
* For devices with {@link DeviceCapability.energyManager} capability.
|
|
14
|
+
*/
|
|
4
15
|
excessEnergy: number;
|
|
16
|
+
/**
|
|
17
|
+
* The total wattaage being injected into the grid at the moment of last calculation.
|
|
18
|
+
*/
|
|
5
19
|
readonly injectingWattage: number;
|
|
20
|
+
/**
|
|
21
|
+
* The total wattage being drawn from the grid at the moment of last calculation.
|
|
22
|
+
*/
|
|
6
23
|
readonly drawingWattage: number;
|
|
24
|
+
/**
|
|
25
|
+
* The total wattage being consumed within the house at the moment of last calculation.
|
|
26
|
+
*/
|
|
7
27
|
readonly selfConsumingWattage: number;
|
|
28
|
+
/**
|
|
29
|
+
* Add a device that can consume excess energy
|
|
30
|
+
* @param device - The device that can consume excess energy
|
|
31
|
+
*/
|
|
8
32
|
addExcessConsumer(device: iExcessEnergyConsumer): void;
|
|
33
|
+
/**
|
|
34
|
+
* Recalculates power-sharing between devices.
|
|
35
|
+
*/
|
|
9
36
|
recalculatePowerSharing(): void;
|
|
10
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Generates a report stating used energy and devices that consumed it
|
|
39
|
+
* @returns The report
|
|
40
|
+
*/
|
|
11
41
|
getReport(): string;
|
|
12
42
|
}
|
|
@@ -1,12 +1,40 @@
|
|
|
1
|
-
import { ExcessEnergyConsumerSettings
|
|
1
|
+
import { ExcessEnergyConsumerSettings } from '../../../models';
|
|
2
2
|
import { iBaseDevice } from './iBaseDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a device that can consume excess energy.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.excessEnergyConsumer} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iExcessEnergyConsumer extends iBaseDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The energy consuming settings for this device
|
|
11
|
+
*/
|
|
4
12
|
readonly energySettings: ExcessEnergyConsumerSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Consumption in Watts, needed to manage the Excess consumer
|
|
15
|
+
*/
|
|
5
16
|
currentConsumption: number;
|
|
17
|
+
/**
|
|
18
|
+
* Whether this consumer is currently on or off
|
|
19
|
+
*/
|
|
6
20
|
on: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if this device is available to consume excess energy
|
|
23
|
+
* --> Device might be unavailable due to a force action from the user or other circumstances
|
|
24
|
+
* @returns Whether this device is available to be turned on to consume excess energy
|
|
25
|
+
*/
|
|
7
26
|
isAvailableForExcessEnergy(): boolean;
|
|
8
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Turn on this device to consume excess energy
|
|
29
|
+
*/
|
|
9
30
|
turnOnForExcessEnergy(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Turn off this device as we don't have enough excess energy to power it
|
|
33
|
+
*/
|
|
10
34
|
turnOffDueToMissingEnergy(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Check if this device was activated by excess energy
|
|
37
|
+
* @returns Whether this device was activated by excess energy
|
|
38
|
+
*/
|
|
11
39
|
wasActivatedByExcessEnergy(): boolean;
|
|
12
40
|
}
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import { GarageDoorOpenerSettings } from '../../../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a garage door opener device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.garageDoorOpener} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iGarageDoorOpener extends iRoomDevice {
|
|
9
|
+
/**
|
|
10
|
+
* The settings of the garage door opener
|
|
11
|
+
*/
|
|
4
12
|
settings: GarageDoorOpenerSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the garage door is currently closed
|
|
15
|
+
*/
|
|
5
16
|
readonly isClosed: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Open the garage door
|
|
19
|
+
*/
|
|
6
20
|
open(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Close the garage door
|
|
23
|
+
*/
|
|
7
24
|
close(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Trigger the garage door.
|
|
27
|
+
* This mostly results in driving the door to the opposite state, but if fired rapidly, it might stop the door in the middle.
|
|
28
|
+
*/
|
|
8
29
|
trigger(): void;
|
|
9
30
|
}
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
import { WindowPosition } from '../models';
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Handle Sensors.
|
|
5
|
+
* A handle sensor can be any device that is capable of detecting the position of a window handle e.g. a sensor, a window handle, etc.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.handleSensor} capability.
|
|
8
|
+
*/
|
|
3
9
|
export interface iHandleSensor extends iRoomDevice {
|
|
10
|
+
/**
|
|
11
|
+
* The current position of the handle
|
|
12
|
+
*/
|
|
4
13
|
position: WindowPosition;
|
|
14
|
+
/**
|
|
15
|
+
* The time the handle was open in minutes
|
|
16
|
+
*/
|
|
5
17
|
minutesOpen: number;
|
|
18
|
+
/**
|
|
19
|
+
* Add a callback that is called when the handle is change to open
|
|
20
|
+
* @param pCallback - The callback to fire
|
|
21
|
+
*/
|
|
6
22
|
addOffenCallback(pCallback: (pValue: boolean) => void): void;
|
|
23
|
+
/**
|
|
24
|
+
* Add a callback that is called when the handle is changed to ajar
|
|
25
|
+
* @param pCallback - The callback to fire
|
|
26
|
+
*/
|
|
7
27
|
addKippCallback(pCallback: (pValue: boolean) => void): void;
|
|
28
|
+
/**
|
|
29
|
+
* Add a callback that is called when the handle is changed to closed
|
|
30
|
+
* @param pCallback - The callback to fire
|
|
31
|
+
*/
|
|
8
32
|
addClosedCallback(pCallback: (pValue: boolean) => void): void;
|
|
9
33
|
}
|
|
@@ -1,17 +1,53 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { HeaterSettings } from '../../../models';
|
|
3
3
|
import { iRoomDevice } from './iRoomDevice';
|
|
4
|
-
|
|
4
|
+
import { iDisposable } from '../../services';
|
|
5
|
+
/**
|
|
6
|
+
* This interface represents a heater device.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.heater} capability.
|
|
9
|
+
*/
|
|
10
|
+
export interface iHeater extends iRoomDevice, iDisposable {
|
|
11
|
+
/**
|
|
12
|
+
* The settings of the heater
|
|
13
|
+
*/
|
|
5
14
|
settings: HeaterSettings;
|
|
15
|
+
/**
|
|
16
|
+
* The desired temperature in degree Celsius for this room.
|
|
17
|
+
*/
|
|
6
18
|
desiredTemperature: number;
|
|
7
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The current valve position of the heater (between 0 and 1.0)
|
|
21
|
+
*/
|
|
8
22
|
readonly iLevel: number;
|
|
23
|
+
/**
|
|
24
|
+
* The current temperature in degree Celsius of the heater
|
|
25
|
+
*/
|
|
9
26
|
readonly iTemperature: number;
|
|
10
|
-
|
|
27
|
+
/**
|
|
28
|
+
* The current room temperature in degree Celsius
|
|
29
|
+
*/
|
|
30
|
+
readonly roomTemperature: number;
|
|
31
|
+
/**
|
|
32
|
+
* The interval to persist the heater information
|
|
33
|
+
* This mainly enforces the interval to be implemented.
|
|
34
|
+
*/
|
|
11
35
|
readonly persistHeaterInterval: NodeJS.Timeout;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the heater is currently in a season turnoff state (no heating in summer)
|
|
38
|
+
*/
|
|
12
39
|
seasonTurnOff: boolean;
|
|
13
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Perform a check to calculate the new desired heater state
|
|
42
|
+
*/
|
|
14
43
|
checkAutomaticChange(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Informs the heater that the temperature of the room has changed
|
|
46
|
+
* @param newTemperatur - The new temperature in degree Celsius.
|
|
47
|
+
*/
|
|
15
48
|
onTemperaturChange(newTemperatur: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* Persists the current heater information to the database
|
|
51
|
+
*/
|
|
16
52
|
persistHeater(): void;
|
|
17
53
|
}
|
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { iRoomDevice } from './iRoomDevice';
|
|
3
|
+
import { HumiditySensorChangeAction } from '../../../models';
|
|
3
4
|
export declare const UNDEFINED_HUMIDITY_VALUE = -1;
|
|
5
|
+
/**
|
|
6
|
+
* This interface represents a humidity sensor device.
|
|
7
|
+
*
|
|
8
|
+
* For devices with {@link DeviceCapability.humiditySensor} capability.
|
|
9
|
+
*/
|
|
4
10
|
export interface iHumiditySensor extends iRoomDevice {
|
|
11
|
+
/**
|
|
12
|
+
* The interval to persist the humidity sensor information
|
|
13
|
+
* This mainly enforces the interval to be implemented.
|
|
14
|
+
*/
|
|
5
15
|
readonly persistHumiditySensorInterval: NodeJS.Timeout;
|
|
16
|
+
/**
|
|
17
|
+
* The current humidity in percent
|
|
18
|
+
*/
|
|
6
19
|
readonly humidity: number;
|
|
7
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Add a callback that is called when the humidity changes
|
|
22
|
+
* @param pCallback - The callback to fire
|
|
23
|
+
*/
|
|
24
|
+
addHumidityCallback(pCallback: (action: HumiditySensorChangeAction) => void): void;
|
|
25
|
+
/**
|
|
26
|
+
* Persists the current humidity information to the database
|
|
27
|
+
*/
|
|
8
28
|
persistHumiditySensor(): void;
|
|
9
29
|
}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { iRoomDevice } from './iRoomDevice';
|
|
2
|
+
/**
|
|
3
|
+
* This interface represents a illumination sensor device.
|
|
4
|
+
*
|
|
5
|
+
* For devices with {@link DeviceCapability.illuminationSensor} capability.
|
|
6
|
+
*/
|
|
2
7
|
export interface iIlluminationSensor extends iRoomDevice {
|
|
8
|
+
/**
|
|
9
|
+
* The current illumination level detected by the sensor
|
|
10
|
+
*
|
|
11
|
+
* For {@link DeviceType.ZigbeeAquaraMotion} devices, this is the current illuminance in lux.
|
|
12
|
+
* TODO: Add unit and make it comparable
|
|
13
|
+
*/
|
|
3
14
|
currentIllumination: number;
|
|
4
15
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { LampSetLightCommand, LampSetTimeBasedCommand, LampToggleLightCommand } from '../../../models';
|
|
2
2
|
import { iActuator } from './iActuator';
|
|
3
|
+
/**
|
|
4
|
+
* This interface represents a lamp device.
|
|
5
|
+
*
|
|
6
|
+
* For devices with {@link DeviceCapability.lamp} capability.
|
|
7
|
+
*/
|
|
3
8
|
export interface iLamp extends iActuator {
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
10
|
+
* Changes the state of the lamp based on the time
|
|
11
|
+
* @param command - The command to execute
|
|
6
12
|
*/
|
|
7
|
-
readonly lightOn: boolean;
|
|
8
13
|
setTimeBased(command: LampSetTimeBasedCommand): void;
|
|
9
14
|
/**
|
|
10
15
|
* Toggles the state of the lamp
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { LedSetLightCommand, LedSettings } from '../../../models';
|
|
2
2
|
import { iDimmableLamp } from './iDimmableLamp';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for RGB-CCT LED-Devices.
|
|
5
|
+
* A RGB-CCT LED-Device is a LED-Device that is capable of emitting light in different colors and color temperatures.
|
|
6
|
+
*
|
|
7
|
+
* For devices with {@link DeviceCapability.ledLamp} capability.
|
|
8
|
+
*/
|
|
3
9
|
export interface iLedRgbCct extends iDimmableLamp {
|
|
10
|
+
/**
|
|
11
|
+
* The settings of the LED-Device (e.g. brightness, color, colortemp) for different times of the day
|
|
12
|
+
*/
|
|
4
13
|
settings: LedSettings;
|
|
14
|
+
/**
|
|
15
|
+
* The currently active color in HEX representation
|
|
16
|
+
*/
|
|
5
17
|
readonly color: string;
|
|
18
|
+
/**
|
|
19
|
+
* The currently active color temperature
|
|
20
|
+
*/
|
|
6
21
|
readonly colortemp: number;
|
|
22
|
+
/**
|
|
23
|
+
* This function sets the light to a specific value
|
|
24
|
+
* Accessible in API
|
|
25
|
+
* @param c - The command to execute
|
|
26
|
+
*/
|
|
7
27
|
setLight(c: LedSetLightCommand): void;
|
|
8
28
|
}
|