hoffmation-base 3.0.0-alpha.8 → 3.0.0-alpha.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +5 -1
- package/lib/index.js +28 -25
- package/lib/liquid-pid.d.ts +2 -5
- package/lib/liquid-pid.js +3 -5
- package/lib/models/action/baseAction.d.ts +4 -0
- package/lib/models/action/baseAction.js +10 -0
- package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
- package/lib/models/action/batteryLevelChangeAction.js +14 -0
- package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
- package/lib/models/action/humiditySensorChangeAction.js +15 -0
- package/lib/models/action/index.d.ts +9 -0
- package/lib/models/action/index.js +29 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -0
- package/lib/models/action/presenceGroupAnyMovementAction.d.ts +7 -0
- package/lib/models/action/presenceGroupAnyMovementAction.js +13 -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/base64Image.d.ts +0 -1
- 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 +11 -2
- package/lib/models/command/WindowSetDesiredPositionCommand.js +11 -2
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
- package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
- package/lib/models/command/actuatorSetStateCommand.js +15 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
- package/lib/models/command/actuatorToggleCommand.js +7 -4
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
- package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
- package/lib/models/command/baseCommand.d.ts +23 -2
- package/lib/models/command/baseCommand.js +41 -1
- package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
- package/lib/models/command/blockAutomaticCommand.js +40 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
- package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
- package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
- package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
- package/lib/models/command/commandSource.d.ts +19 -0
- package/lib/models/command/commandSource.js +20 -0
- package/lib/models/command/commandType.d.ts +11 -0
- package/lib/models/command/commandType.js +11 -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 +23 -5
- package/lib/models/deviceSettings/acSettings.js +28 -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 +23 -0
- package/lib/models/deviceSettings/dachsSettings.js +29 -1
- package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
- package/lib/models/deviceSettings/deviceSettings.js +16 -0
- package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
- package/lib/models/deviceSettings/dimmerSettings.js +20 -0
- package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
- package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
- package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
- package/lib/models/deviceSettings/handleSettings.js +9 -0
- package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
- package/lib/models/deviceSettings/heaterSettings.js +21 -9
- package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
- package/lib/models/deviceSettings/ledSettings.js +76 -18
- package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
- package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
- package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
- package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
- package/lib/models/deviceSettings/shutterSettings.js +11 -3
- package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
- package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
- package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
- package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
- package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
- package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
- package/lib/models/deviceSettings/wledSettings.js +37 -13
- package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
- package/lib/models/groupSettings/heatGroupSettings.js +12 -1
- package/lib/models/iIdHolder.d.ts +18 -0
- package/lib/models/index.d.ts +2 -1
- package/lib/models/index.js +4 -1
- package/lib/models/objectSettings.d.ts +5 -2
- package/lib/models/objectSettings.js +2 -2
- package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
- package/lib/models/persistence/EnergyCalculation.js +30 -4
- package/lib/models/persistence/index.d.ts +0 -2
- package/lib/models/persistence/index.js +0 -2
- package/lib/models/rooms/RoomBase.d.ts +12 -1
- package/lib/models/rooms/RoomBase.js +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 +94 -6
- package/lib/server/config/iDachsSettings.d.ts +16 -0
- package/lib/server/config/iDaikinSettings.d.ts +17 -0
- package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
- package/lib/server/config/iEspresenseSettings.d.ts +10 -0
- package/lib/server/config/iGoveeSettings.d.ts +9 -0
- package/lib/server/config/iGoveeSettings.js +2 -0
- package/lib/server/config/iHeaterSettings.d.ts +8 -0
- package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
- package/lib/server/config/iLogSettings.d.ts +40 -1
- package/lib/server/config/iMp3Settings.d.ts +10 -0
- package/lib/server/config/iMuellSettings.d.ts +7 -0
- package/lib/server/config/iNewsSettings.d.ts +13 -0
- package/lib/server/config/iPersistenceSettings.d.ts +10 -0
- package/lib/server/config/iPollySettings.d.ts +22 -0
- package/lib/server/config/iRestSettings.d.ts +10 -0
- package/lib/server/config/iSonosSettings.d.ts +14 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +2 -0
- package/lib/server/devices/DeviceCapability.d.ts +1 -0
- package/lib/server/devices/DeviceCapability.js +1 -0
- package/lib/server/devices/DeviceInfo.d.ts +9 -0
- package/lib/server/devices/DeviceInfo.js +6 -0
- package/lib/server/devices/Griffe.js +1 -2
- package/lib/server/devices/Heizgruppen.js +2 -2
- package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
- package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
- package/lib/server/devices/IoBrokerDeviceInfo.d.ts +8 -6
- package/lib/server/devices/IoBrokerDeviceInfo.js +50 -46
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
- package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
- package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
- package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
- package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
- package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
- package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
- package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
- package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
- package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -5
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -2
- 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 -2
- 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 -3
- 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 +46 -11
- package/lib/server/devices/dachs/dachs.js +113 -23
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -4
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
- package/lib/server/devices/device-cluster.d.ts +4 -1
- package/lib/server/devices/device-cluster.js +9 -4
- package/lib/server/devices/deviceType.d.ts +5 -0
- package/lib/server/devices/deviceType.js +5 -0
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +26 -4
- package/lib/server/devices/devices.d.ts +53 -7
- package/lib/server/devices/devices.js +78 -17
- 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 +14 -3
- package/lib/server/devices/groups/Window.js +28 -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 +20 -39
- package/lib/server/devices/groups/presenceGroup.d.ts +17 -6
- package/lib/server/devices/groups/presenceGroup.js +73 -63
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +16 -1
- package/lib/server/devices/groups/windowGroup.js +22 -7
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -6
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
- package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
- package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
- package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
- package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
- package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
- package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
- package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
- package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
- package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
- package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
- package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
- package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
- package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
- package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
- package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
- package/lib/server/devices/index.d.ts +8 -2
- package/lib/server/devices/index.js +11 -2
- package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
- package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
- package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
- package/lib/server/devices/nameAmountValuePair.js +10 -0
- package/lib/server/devices/scene/room-scene.d.ts +23 -7
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
- package/lib/server/devices/shelly/index.d.ts +1 -0
- package/lib/server/devices/shelly/index.js +3 -1
- package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
- package/lib/server/devices/shelly/shellyActuator.js +84 -0
- package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
- package/lib/server/devices/shelly/shellyDevice.js +2 -1
- package/lib/server/devices/shelly/shellyTrv.d.ts +37 -18
- package/lib/server/devices/shelly/shellyTrv.js +66 -45
- package/lib/server/devices/smartGarden/index.d.ts +6 -0
- package/lib/server/devices/smartGarden/index.js +22 -0
- package/lib/server/devices/smartGarden/smartGardenDevice.d.ts +33 -0
- package/lib/server/devices/smartGarden/smartGardenDevice.js +98 -0
- package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.d.ts +9 -0
- package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.js +13 -0
- package/lib/server/devices/smartGarden/smartGardenMower.d.ts +35 -0
- package/lib/server/devices/smartGarden/smartGardenMower.js +107 -0
- package/lib/server/devices/smartGarden/smartGardenSensor.d.ts +42 -0
- package/lib/server/devices/smartGarden/smartGardenSensor.js +119 -0
- package/lib/server/devices/smartGarden/smartGardenService.d.ts +7 -0
- package/lib/server/devices/smartGarden/smartGardenService.js +52 -0
- package/lib/server/devices/smartGarden/smartGardenValve.d.ts +36 -0
- package/lib/server/devices/smartGarden/smartGardenValve.js +105 -0
- 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/velux/index.d.ts +4 -0
- package/lib/server/devices/velux/index.js +11 -0
- package/lib/server/devices/velux/veluxDevice.d.ts +13 -0
- package/lib/server/devices/velux/veluxDevice.js +43 -0
- package/lib/server/devices/velux/veluxDeviceRegistrationInfo.d.ts +9 -0
- package/lib/server/devices/velux/veluxDeviceRegistrationInfo.js +13 -0
- package/lib/server/devices/velux/veluxService.d.ts +7 -0
- package/lib/server/devices/velux/veluxService.js +44 -0
- package/lib/server/devices/velux/veluxShutter.d.ts +27 -0
- package/lib/server/devices/velux/veluxShutter.js +122 -0
- 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 +8 -17
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -60
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -15
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -9
- package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
- package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
- package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
- package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
- package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -8
- package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
- package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
- package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
- package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
- package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
- package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
- package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
- package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -9
- package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
- package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
- package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
- package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
- package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
- package/lib/server/ioBroker/connection.d.ts +21 -22
- 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 +12 -5
- 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 +7 -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 +1 -5
- package/lib/server/services/Sonos/sonos-service.js +18 -17
- 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 +50 -9
- package/lib/server/services/ac/ac-device.js +115 -41
- package/lib/server/services/ac/daikin-service.js +4 -3
- package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
- package/lib/server/services/ac/own-ac-devices.js +3 -0
- package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
- package/lib/server/services/ac/own-daikin-device.js +40 -7
- package/lib/server/services/api/api-service.d.ts +118 -53
- package/lib/server/services/api/api-service.js +170 -80
- package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
- package/lib/server/services/blockAutomaticHandler.js +34 -15
- package/lib/server/services/calendar/index.d.ts +1 -0
- package/lib/server/services/calendar/index.js +3 -0
- package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
- package/lib/server/services/calendar/muell-tonne.js +10 -0
- package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
- package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
- package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
- package/lib/server/services/calendar/name-date-pair.js +10 -0
- package/lib/server/services/dbo/iPersist.d.ts +103 -0
- package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
- package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
- package/lib/server/services/file-info.d.ts +5 -0
- package/lib/server/services/file-info.js +10 -0
- package/lib/server/services/govee/govee-device-data.d.ts +25 -0
- package/lib/server/services/govee/govee-device-data.js +2 -0
- package/lib/server/services/govee/govee-service.d.ts +7 -9
- package/lib/server/services/govee/govee-service.js +73 -48
- package/lib/server/services/govee/own-govee-device.d.ts +19 -17
- package/lib/server/services/govee/own-govee-device.js +58 -58
- package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
- package/lib/server/services/govee/own-govee-devices.js +3 -0
- package/lib/server/services/https-service.d.ts +3 -2
- package/lib/server/services/https-service.js +4 -3
- package/lib/server/services/index.d.ts +1 -0
- package/lib/server/services/index.js +3 -0
- package/lib/server/services/log-service/index.d.ts +1 -0
- package/lib/server/services/log-service/index.js +3 -0
- package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
- package/lib/server/services/log-service/log-debug-type.js +17 -0
- package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
- package/lib/server/services/log-service/log-filter-data.js +6 -15
- package/lib/server/services/log-service/log-service.d.ts +17 -4
- package/lib/server/services/log-service/log-service.js +30 -17
- package/lib/server/services/news-service.d.ts +9 -7
- package/lib/server/services/news-service.js +14 -15
- package/lib/server/services/room-service/room-service.d.ts +20 -4
- package/lib/server/services/room-service/room-service.js +26 -10
- package/lib/server/services/settings-service.d.ts +6 -2
- package/lib/server/services/settings-service.js +3 -2
- package/lib/server/services/time-callback-service.js +1 -1
- package/lib/server/services/utils/RGB.d.ts +6 -0
- package/lib/server/services/utils/RGB.js +11 -0
- package/lib/server/services/utils/catchEmResult.d.ts +5 -0
- package/lib/server/services/utils/catchEmResult.js +10 -0
- package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
- package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
- package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
- package/lib/server/services/utils/energy-manager-utils.js +2 -2
- package/lib/server/services/utils/iDisposeable.d.ts +6 -0
- package/lib/server/services/utils/index.d.ts +4 -1
- package/lib/server/services/utils/index.js +8 -1
- package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
- package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
- package/lib/server/services/utils/utils.d.ts +9 -14
- package/lib/server/services/victron/victron-device.d.ts +27 -10
- package/lib/server/services/victron/victron-device.js +94 -25
- package/lib/server/services/weather/index.d.ts +2 -0
- package/lib/server/services/weather/index.js +3 -0
- package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
- package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
- package/lib/server/services/weather/weather-current.d.ts +0 -2
- package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
- package/lib/server/services/weather/weather-response.d.ts +16 -0
- package/lib/server/services/weather/weather-response.js +2 -0
- package/lib/server/services/weather/weather-service.d.ts +16 -18
- package/lib/server/services/weather/weather-service.js +37 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -29
- 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
|
@@ -45,7 +45,12 @@ var DeviceType;
|
|
|
45
45
|
DeviceType[DeviceType["JsEnergyManager"] = 301] = "JsEnergyManager";
|
|
46
46
|
DeviceType[DeviceType["RoomScene"] = 401] = "RoomScene";
|
|
47
47
|
DeviceType[DeviceType["ShellyTrv"] = 402] = "ShellyTrv";
|
|
48
|
+
DeviceType[DeviceType["ShellyActuator"] = 403] = "ShellyActuator";
|
|
48
49
|
DeviceType[DeviceType["TuyaGarageDoorOpener"] = 501] = "TuyaGarageDoorOpener";
|
|
50
|
+
DeviceType[DeviceType["SmartGardenValve"] = 601] = "SmartGardenValve";
|
|
51
|
+
DeviceType[DeviceType["SmartGardenMower"] = 602] = "SmartGardenMower";
|
|
52
|
+
DeviceType[DeviceType["SmartGardenSensor"] = 603] = "SmartGardenSensor";
|
|
53
|
+
DeviceType[DeviceType["VeluxShutter"] = 701] = "VeluxShutter";
|
|
49
54
|
DeviceType[DeviceType["WledDevice"] = 1001] = "WledDevice";
|
|
50
55
|
DeviceType[DeviceType["GoveeLed"] = 1002] = "GoveeLed";
|
|
51
56
|
DeviceType[DeviceType["Daikin"] = 2001] = "Daikin";
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { IDeviceUpdater } from './iDeviceUpdater';
|
|
2
|
-
import { Devices } from './devices';
|
|
3
2
|
export declare class DeviceUpdater implements IDeviceUpdater {
|
|
4
|
-
devices: Devices;
|
|
5
|
-
constructor(pDevices: Devices);
|
|
6
3
|
updateObject(pId: string, pObj: ioBroker.Object): void;
|
|
7
4
|
updateState(id: string, state: ioBroker.State, initial?: boolean): void;
|
|
8
5
|
}
|
|
@@ -7,9 +7,6 @@ const devices_1 = require("./devices");
|
|
|
7
7
|
const mqtt_1 = require("./mqtt");
|
|
8
8
|
const IoBrokerDeviceInfo_1 = require("./IoBrokerDeviceInfo");
|
|
9
9
|
class DeviceUpdater {
|
|
10
|
-
constructor(pDevices) {
|
|
11
|
-
this.devices = pDevices;
|
|
12
|
-
}
|
|
13
10
|
updateObject(pId, pObj) {
|
|
14
11
|
const idSplit = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.idSplitter(pId);
|
|
15
12
|
if (idSplit.length < 2)
|
|
@@ -40,8 +37,33 @@ class DeviceUpdater {
|
|
|
40
37
|
classifier = devices_1.Devices.IDENTIFIER_ZIGBEE;
|
|
41
38
|
devId = idSplit[2].substring(2);
|
|
42
39
|
}
|
|
43
|
-
|
|
40
|
+
else if (idSplit[0] == devices_1.Devices.IDENTIFIER_SMART_GARDEN) {
|
|
41
|
+
if (idSplit[1] === 'admin' ||
|
|
42
|
+
idSplit.length < 4 ||
|
|
43
|
+
idSplit[2].indexOf('LOCATION') !== 0 ||
|
|
44
|
+
idSplit[3].indexOf('DEVICE') !== 0) {
|
|
45
|
+
// This is no update for a smartgarden device
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
classifier = devices_1.Devices.IDENTIFIER_SMART_GARDEN;
|
|
49
|
+
devId = idSplit[3].replace(/-2D/g, '-');
|
|
50
|
+
}
|
|
51
|
+
else if (idSplit[0] == devices_1.Devices.IDENTIFIER_VELUX) {
|
|
52
|
+
if (idSplit[1] === 'admin' || idSplit[2].indexOf('products') !== 0) {
|
|
53
|
+
// This is no update for a velux device
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
classifier = devices_1.Devices.IDENTIFIER_VELUX;
|
|
57
|
+
devId = idSplit[3];
|
|
58
|
+
}
|
|
59
|
+
const allDevicesKey = `${classifier}-${devId}`;
|
|
60
|
+
const device = services_1.API.getDevice(allDevicesKey, false);
|
|
44
61
|
if (typeof device === 'undefined' || device.update === undefined) {
|
|
62
|
+
// classifier == Devices.IDENTIFIER_SMART_GARDEN &&
|
|
63
|
+
// ServerLogService.writeLog(
|
|
64
|
+
// LogLevel.Warn,
|
|
65
|
+
// `deviceUpdater.updateState('${id}', ${JSON.stringify(state)}'): Device ${allDevicesKey} type is "${typeof device}"`,
|
|
66
|
+
// );
|
|
45
67
|
return;
|
|
46
68
|
}
|
|
47
69
|
try {
|
|
@@ -3,18 +3,62 @@ import { iBaseDevice, iEnergyManager, iTemperatureSensor } from './baseDeviceInt
|
|
|
3
3
|
import { Dachs } from './dachs';
|
|
4
4
|
import { iConfig } from '../config';
|
|
5
5
|
export declare class Devices {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
static
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A constant for the identifier of HM-IP Adapter devices
|
|
8
|
+
*/
|
|
9
|
+
static readonly IDENTIFIER_HOMEMATIC: string;
|
|
10
|
+
/**
|
|
11
|
+
* A constant for the identifier of JavaScript Adapter devices
|
|
12
|
+
*/
|
|
13
|
+
static readonly IDENTIFIER_JS: string;
|
|
14
|
+
/**
|
|
15
|
+
* A constant for the identifier of Shelly Adapter devices
|
|
16
|
+
*/
|
|
17
|
+
static readonly IDENTIFIER_Shelly: string;
|
|
18
|
+
/**
|
|
19
|
+
* A constant for the identifier of Tuya Adapter devices
|
|
20
|
+
*/
|
|
21
|
+
static readonly IDENTIFIER_TUYA: string;
|
|
22
|
+
/**
|
|
23
|
+
* A constant for the identifier of Zigbee Adapter devices
|
|
24
|
+
*/
|
|
25
|
+
static readonly IDENTIFIER_ZIGBEE: string;
|
|
26
|
+
/**
|
|
27
|
+
* A constant for the identifier of Zigbee2Mqtt Adapter devices
|
|
28
|
+
*/
|
|
29
|
+
static readonly IDENTIFIER_ZIGBEE2MQTT: string;
|
|
30
|
+
/**
|
|
31
|
+
* A constant for the identifier of WLED Adapter devices
|
|
32
|
+
*/
|
|
33
|
+
static readonly IDENTIFIER_WLED: string;
|
|
34
|
+
/**
|
|
35
|
+
* A constant for the identifier of SmartGarden devices.
|
|
36
|
+
*/
|
|
37
|
+
static readonly IDENTIFIER_SMART_GARDEN: string;
|
|
38
|
+
/**
|
|
39
|
+
* A constant for the identifier of Velux Adapter devices.
|
|
40
|
+
*/
|
|
41
|
+
static readonly IDENTIFIER_VELUX: string;
|
|
42
|
+
/**
|
|
43
|
+
* A Map containing all devices
|
|
44
|
+
*/
|
|
13
45
|
static alLDevices: {
|
|
14
46
|
[id: string]: iBaseDevice;
|
|
15
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* A reference to globally active energy manager
|
|
50
|
+
* @default undefined (no Energy-Manager)
|
|
51
|
+
*/
|
|
16
52
|
static energymanager?: iEnergyManager;
|
|
53
|
+
/**
|
|
54
|
+
* A reference to the Dachs device
|
|
55
|
+
* @default undefined (no Dachs CHP)
|
|
56
|
+
*/
|
|
17
57
|
static dachs?: Dachs;
|
|
58
|
+
/**
|
|
59
|
+
* A reference to the temperature sensor measuring the warm water temperature
|
|
60
|
+
* @default undefined (no warm water temperature sensor)
|
|
61
|
+
*/
|
|
18
62
|
static temperatureWarmWater?: iTemperatureSensor;
|
|
19
63
|
constructor(pDeviceData: {
|
|
20
64
|
[id: string]: deviceConfig;
|
|
@@ -25,6 +69,8 @@ export declare class Devices {
|
|
|
25
69
|
private static processShellyDevice;
|
|
26
70
|
private static processTuyaDevice;
|
|
27
71
|
private static processZigbeeDevice;
|
|
72
|
+
private static processVeluxDevice;
|
|
73
|
+
private static processSmartGardenDevice;
|
|
28
74
|
private static processWledDevice;
|
|
29
75
|
private static processHMIPDevice;
|
|
30
76
|
private static createEnergyManager;
|
|
@@ -12,22 +12,27 @@ const wledDevice_1 = require("./wledDevice");
|
|
|
12
12
|
const DeviceCapability_1 = require("./DeviceCapability");
|
|
13
13
|
const shelly_1 = require("./shelly");
|
|
14
14
|
const tuya_1 = require("./tuya");
|
|
15
|
+
const smartGarden_1 = require("./smartGarden");
|
|
16
|
+
const velux_1 = require("./velux");
|
|
15
17
|
class Devices {
|
|
16
18
|
constructor(pDeviceData, pRoomImportEnforcer, config) {
|
|
17
19
|
var _a;
|
|
18
20
|
// This forces import of rooms at correct timing, to allow devices to land in proper rooms.
|
|
19
21
|
pRoomImportEnforcer === null || pRoomImportEnforcer === void 0 ? void 0 : pRoomImportEnforcer.addRoomConstructor();
|
|
20
|
-
services_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
22
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'Constructing devices now');
|
|
21
23
|
for (const cID in pDeviceData) {
|
|
22
24
|
const cDevConf = pDeviceData[cID];
|
|
23
|
-
if (!cDevConf.common ||
|
|
24
|
-
!cDevConf.common.name ||
|
|
25
|
-
typeof cDevConf.common.name === 'object' ||
|
|
26
|
-
!cDevConf.type ||
|
|
27
|
-
cDevConf.type === 'channel') {
|
|
25
|
+
if (!cDevConf.common || !cDevConf.common.name || typeof cDevConf.common.name === 'object' || !cDevConf.type) {
|
|
28
26
|
continue;
|
|
29
27
|
}
|
|
30
28
|
const cName = cDevConf.common.name;
|
|
29
|
+
if (cDevConf.type === 'channel') {
|
|
30
|
+
// Velux has the name in the root channel of a device
|
|
31
|
+
if (cName.indexOf('00-Velux') === 0) {
|
|
32
|
+
Devices.processVeluxDevice(cDevConf);
|
|
33
|
+
}
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
31
36
|
if (cName.indexOf('00-HmIP') === 0) {
|
|
32
37
|
Devices.processHMIPDevice(cDevConf);
|
|
33
38
|
}
|
|
@@ -43,10 +48,13 @@ class Devices {
|
|
|
43
48
|
else if (cName.indexOf('00-Tuya') === 0) {
|
|
44
49
|
Devices.processTuyaDevice(cDevConf);
|
|
45
50
|
}
|
|
51
|
+
else if (cDevConf.type === 'device' && cName.indexOf('DEVICE_') === 0 && cID.indexOf('smartgarden') === 0) {
|
|
52
|
+
Devices.processSmartGardenDevice(cDevConf);
|
|
53
|
+
}
|
|
46
54
|
else if (cName.indexOf('00-EnergyManager') === 0 &&
|
|
47
55
|
cDevConf.type !== 'folder' &&
|
|
48
56
|
!((_a = config === null || config === void 0 ? void 0 : config.energyManager) === null || _a === void 0 ? void 0 : _a.disableJsEnergyManager)) {
|
|
49
|
-
services_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
57
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'Found Energy-Manager in Device json.');
|
|
50
58
|
Devices.createEnergyManager(cDevConf);
|
|
51
59
|
}
|
|
52
60
|
}
|
|
@@ -59,20 +67,20 @@ class Devices {
|
|
|
59
67
|
// Nothing yet
|
|
60
68
|
}
|
|
61
69
|
static resetDetectionsToday() {
|
|
62
|
-
services_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
70
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, "3 o'clock reset of motion sensors");
|
|
63
71
|
for (const dID in Devices.alLDevices) {
|
|
64
72
|
const d = Devices.alLDevices[dID];
|
|
65
73
|
if (d.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.motionSensor)) {
|
|
66
|
-
d.log(models_1.LogLevel.Debug,
|
|
74
|
+
d.log(models_1.LogLevel.Debug, "3 o'clock reset of detections");
|
|
67
75
|
d.detectionsToday = 0;
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
}
|
|
71
79
|
static getBatteryInfo() {
|
|
72
|
-
services_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
80
|
+
services_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'Getting Battery Info');
|
|
73
81
|
let data = [];
|
|
74
82
|
const result = [
|
|
75
|
-
|
|
83
|
+
'These are the battery values for each device. Device dependandt some are in volts, some in %',
|
|
76
84
|
];
|
|
77
85
|
for (const key in this.alLDevices) {
|
|
78
86
|
const d = this.alLDevices[key];
|
|
@@ -92,7 +100,7 @@ class Devices {
|
|
|
92
100
|
return result.join('\n');
|
|
93
101
|
}
|
|
94
102
|
static processShellyDevice(cDevConf) {
|
|
95
|
-
const shellyInfo =
|
|
103
|
+
const shellyInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byDeviceConfig(cDevConf);
|
|
96
104
|
const fullName = `${Devices.IDENTIFIER_Shelly}-${shellyInfo.devID}`;
|
|
97
105
|
shellyInfo.allDevicesKey = fullName;
|
|
98
106
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
@@ -104,6 +112,9 @@ class Devices {
|
|
|
104
112
|
case 'Trv':
|
|
105
113
|
d = new shelly_1.ShellyTrv(shellyInfo);
|
|
106
114
|
break;
|
|
115
|
+
case 'Actuator':
|
|
116
|
+
d = new shelly_1.ShellyActuator(shellyInfo);
|
|
117
|
+
break;
|
|
107
118
|
default:
|
|
108
119
|
services_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No shelly Device Type for ${shellyInfo.deviceType} defined`);
|
|
109
120
|
d = new shelly_1.ShellyDevice(shellyInfo, deviceType_1.DeviceType.unknown);
|
|
@@ -111,7 +122,7 @@ class Devices {
|
|
|
111
122
|
Devices.alLDevices[fullName] = d;
|
|
112
123
|
}
|
|
113
124
|
static processTuyaDevice(cDevConf) {
|
|
114
|
-
const tuyaInfo =
|
|
125
|
+
const tuyaInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byDeviceConfig(cDevConf);
|
|
115
126
|
const fullName = `${Devices.IDENTIFIER_TUYA}-${tuyaInfo.devID}`;
|
|
116
127
|
tuyaInfo.allDevicesKey = fullName;
|
|
117
128
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
@@ -130,7 +141,7 @@ class Devices {
|
|
|
130
141
|
Devices.alLDevices[fullName] = d;
|
|
131
142
|
}
|
|
132
143
|
static processZigbeeDevice(cDevConf) {
|
|
133
|
-
const zigbeeInfo =
|
|
144
|
+
const zigbeeInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byDeviceConfig(cDevConf);
|
|
134
145
|
const apiDevId = zigbeeInfo.devID.startsWith('0x') ? zigbeeInfo.devID.substring(2) : zigbeeInfo.devID;
|
|
135
146
|
const fullName = `zigbee-${apiDevId}`;
|
|
136
147
|
zigbeeInfo.allDevicesKey = fullName;
|
|
@@ -221,8 +232,14 @@ class Devices {
|
|
|
221
232
|
}
|
|
222
233
|
Devices.alLDevices[fullName] = d;
|
|
223
234
|
}
|
|
235
|
+
static processVeluxDevice(cDevConf) {
|
|
236
|
+
velux_1.VeluxService.processVeluxDevice(cDevConf);
|
|
237
|
+
}
|
|
238
|
+
static processSmartGardenDevice(cDevConf) {
|
|
239
|
+
smartGarden_1.SmartGardenService.processSmartGardenDevice(cDevConf);
|
|
240
|
+
}
|
|
224
241
|
static processWledDevice(cDevConf) {
|
|
225
|
-
const wledIoBrokerDeviceInfo =
|
|
242
|
+
const wledIoBrokerDeviceInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byDeviceConfig(cDevConf);
|
|
226
243
|
const fullName = `${Devices.IDENTIFIER_WLED}-${wledIoBrokerDeviceInfo.devID}`;
|
|
227
244
|
wledIoBrokerDeviceInfo.allDevicesKey = fullName;
|
|
228
245
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
@@ -232,7 +249,7 @@ class Devices {
|
|
|
232
249
|
Devices.alLDevices[fullName] = new wledDevice_1.WledDevice(wledIoBrokerDeviceInfo);
|
|
233
250
|
}
|
|
234
251
|
static processHMIPDevice(cDevConf) {
|
|
235
|
-
const hmIPInfo =
|
|
252
|
+
const hmIPInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byDeviceConfig(cDevConf);
|
|
236
253
|
const fullName = `${Devices.IDENTIFIER_HOMEMATIC}-${hmIPInfo.devID}`;
|
|
237
254
|
hmIPInfo.allDevicesKey = fullName;
|
|
238
255
|
if (typeof Devices.alLDevices[fullName] !== 'undefined') {
|
|
@@ -288,7 +305,7 @@ class Devices {
|
|
|
288
305
|
if (Devices.energymanager !== undefined) {
|
|
289
306
|
return;
|
|
290
307
|
}
|
|
291
|
-
const devInfo =
|
|
308
|
+
const devInfo = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.byStateJsSplit(cDevConf);
|
|
292
309
|
const fullName = `${Devices.IDENTIFIER_JS}-${devInfo.devID}`;
|
|
293
310
|
devInfo.allDevicesKey = fullName;
|
|
294
311
|
Devices.energymanager = new jsObject_1.JsObjectEnergyManager(devInfo);
|
|
@@ -296,14 +313,58 @@ class Devices {
|
|
|
296
313
|
}
|
|
297
314
|
}
|
|
298
315
|
exports.Devices = Devices;
|
|
316
|
+
/**
|
|
317
|
+
* A constant for the identifier of HM-IP Adapter devices
|
|
318
|
+
*/
|
|
299
319
|
Devices.IDENTIFIER_HOMEMATIC = 'hm-rpc';
|
|
320
|
+
/**
|
|
321
|
+
* A constant for the identifier of JavaScript Adapter devices
|
|
322
|
+
*/
|
|
300
323
|
Devices.IDENTIFIER_JS = 'javascript';
|
|
324
|
+
/**
|
|
325
|
+
* A constant for the identifier of Shelly Adapter devices
|
|
326
|
+
*/
|
|
301
327
|
Devices.IDENTIFIER_Shelly = 'shelly';
|
|
328
|
+
/**
|
|
329
|
+
* A constant for the identifier of Tuya Adapter devices
|
|
330
|
+
*/
|
|
302
331
|
Devices.IDENTIFIER_TUYA = 'tuya';
|
|
332
|
+
/**
|
|
333
|
+
* A constant for the identifier of Zigbee Adapter devices
|
|
334
|
+
*/
|
|
303
335
|
Devices.IDENTIFIER_ZIGBEE = 'zigbee';
|
|
336
|
+
/**
|
|
337
|
+
* A constant for the identifier of Zigbee2Mqtt Adapter devices
|
|
338
|
+
*/
|
|
304
339
|
Devices.IDENTIFIER_ZIGBEE2MQTT = 'zigbee2mqtt';
|
|
340
|
+
/**
|
|
341
|
+
* A constant for the identifier of WLED Adapter devices
|
|
342
|
+
*/
|
|
305
343
|
Devices.IDENTIFIER_WLED = 'wled';
|
|
344
|
+
/**
|
|
345
|
+
* A constant for the identifier of SmartGarden devices.
|
|
346
|
+
*/
|
|
347
|
+
Devices.IDENTIFIER_SMART_GARDEN = 'smartgarden';
|
|
348
|
+
/**
|
|
349
|
+
* A constant for the identifier of Velux Adapter devices.
|
|
350
|
+
*/
|
|
351
|
+
Devices.IDENTIFIER_VELUX = 'klf200';
|
|
352
|
+
/**
|
|
353
|
+
* A Map containing all devices
|
|
354
|
+
*/
|
|
306
355
|
Devices.alLDevices = {};
|
|
356
|
+
/**
|
|
357
|
+
* A reference to globally active energy manager
|
|
358
|
+
* @default undefined (no Energy-Manager)
|
|
359
|
+
*/
|
|
307
360
|
Devices.energymanager = undefined;
|
|
361
|
+
/**
|
|
362
|
+
* A reference to the Dachs device
|
|
363
|
+
* @default undefined (no Dachs CHP)
|
|
364
|
+
*/
|
|
308
365
|
Devices.dachs = undefined;
|
|
366
|
+
/**
|
|
367
|
+
* A reference to the temperature sensor measuring the warm water temperature
|
|
368
|
+
* @default undefined (no warm water temperature sensor)
|
|
369
|
+
*/
|
|
309
370
|
Devices.temperatureWarmWater = undefined;
|
|
@@ -9,12 +9,25 @@ import { TrackedDistanceData } from './trackedDistanceData';
|
|
|
9
9
|
import { iBluetoothDetector } from '../baseDeviceInterfaces/iBluetoothDetector';
|
|
10
10
|
export declare class DetectedBluetoothDevice implements iBaseDevice {
|
|
11
11
|
id: string;
|
|
12
|
+
/** @inheritDoc */
|
|
12
13
|
settings: undefined;
|
|
14
|
+
/**
|
|
15
|
+
* A Map matching the distances to the trackers identified by {@link iBluetoothDetector.id}
|
|
16
|
+
*/
|
|
13
17
|
distanceMap: Map<string, TrackedDistanceData>;
|
|
18
|
+
/** @inheritDoc */
|
|
14
19
|
readonly deviceCapabilities: DeviceCapability[];
|
|
20
|
+
/** @inheritDoc */
|
|
15
21
|
deviceType: DeviceType;
|
|
22
|
+
/** @inheritDoc */
|
|
16
23
|
info: DeviceInfo;
|
|
24
|
+
/**
|
|
25
|
+
* The last room the device was guessed to be in {@link iRoomBase.roomName}
|
|
26
|
+
*/
|
|
17
27
|
lastRoom: string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* If the device is currently present
|
|
30
|
+
*/
|
|
18
31
|
present: boolean;
|
|
19
32
|
constructor(id: string, settings?: iBluetoothTrackingSettings);
|
|
20
33
|
get customName(): string;
|
|
@@ -13,12 +13,25 @@ const trilaterationPointDistance_1 = require("./trilaterationPointDistance");
|
|
|
13
13
|
class DetectedBluetoothDevice {
|
|
14
14
|
constructor(id, settings) {
|
|
15
15
|
this.id = id;
|
|
16
|
+
/** @inheritDoc */
|
|
16
17
|
this.settings = undefined;
|
|
18
|
+
/**
|
|
19
|
+
* A Map matching the distances to the trackers identified by {@link iBluetoothDetector.id}
|
|
20
|
+
*/
|
|
17
21
|
this.distanceMap = new Map();
|
|
22
|
+
/** @inheritDoc */
|
|
18
23
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.trackableDevice];
|
|
24
|
+
/** @inheritDoc */
|
|
19
25
|
this.deviceType = deviceType_1.DeviceType.TrackableDevice;
|
|
26
|
+
/** @inheritDoc */
|
|
20
27
|
this.info = new DeviceInfo_1.DeviceInfo();
|
|
28
|
+
/**
|
|
29
|
+
* The last room the device was guessed to be in {@link iRoomBase.roomName}
|
|
30
|
+
*/
|
|
21
31
|
this.lastRoom = undefined;
|
|
32
|
+
/**
|
|
33
|
+
* If the device is currently present
|
|
34
|
+
*/
|
|
22
35
|
this.present = false;
|
|
23
36
|
if (settings === undefined) {
|
|
24
37
|
return;
|
|
@@ -77,7 +90,7 @@ class DetectedBluetoothDevice {
|
|
|
77
90
|
const dataPoints = this.getDistances(maxAge);
|
|
78
91
|
const result = [`Distances for ${this.info.customName}`];
|
|
79
92
|
for (const data of dataPoints) {
|
|
80
|
-
result.push(`${data.trackerName}: ${services_1.Utils.round((_a = data.distance) !== null && _a !== void 0 ? _a : -99, 2)}m updated ${new Date(data.lastUpdate).toLocaleTimeString()}`);
|
|
93
|
+
result.push(`${data.trackerName}: ${services_1.Utils.round((_a = data.distance) !== null && _a !== void 0 ? _a : -99, 2)}m updated ${new Date(data.lastUpdate).toLocaleTimeString('de-DE')}`);
|
|
81
94
|
services_1.Utils.nowTime();
|
|
82
95
|
}
|
|
83
96
|
return result.join('\n');
|
|
@@ -8,27 +8,57 @@ import { LogDebugType } from '../../services';
|
|
|
8
8
|
import { ProximityCallback } from './proximityCallback';
|
|
9
9
|
import { TrilaterationBasePoint } from './trilaterationBasePoint';
|
|
10
10
|
export declare class EspresenseDevice implements iRoomDevice, iBluetoothDetector {
|
|
11
|
+
/** @inheritDoc */
|
|
11
12
|
readonly position: TrilaterationBasePoint;
|
|
13
|
+
/** @inheritDoc */
|
|
12
14
|
settings: undefined;
|
|
15
|
+
/** @inheritDoc */
|
|
13
16
|
readonly deviceCapabilities: DeviceCapability[];
|
|
17
|
+
/** @inheritDoc */
|
|
14
18
|
deviceType: DeviceType;
|
|
19
|
+
/**
|
|
20
|
+
* The name of this device
|
|
21
|
+
*/
|
|
15
22
|
readonly name: string;
|
|
16
23
|
private deviceMap;
|
|
17
24
|
private proximityCallbackMap;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new instance of the EspresenseDevice class
|
|
27
|
+
* @param name - The desired name of the device
|
|
28
|
+
* @param roomName - The name of the room this device is in {@link iRoomBase.roomName}
|
|
29
|
+
* @param x - The x coordinate of the device in the house
|
|
30
|
+
* @param y - The y coordinate of the device in the house
|
|
31
|
+
* @param z - The z coordinate of the device in the house
|
|
32
|
+
*/
|
|
18
33
|
constructor(name: string, roomName: string, x: number, y: number, z: number);
|
|
34
|
+
/** @inheritDoc */
|
|
19
35
|
get customName(): string;
|
|
20
36
|
protected _info: DeviceInfo;
|
|
37
|
+
/** @inheritDoc */
|
|
21
38
|
get info(): DeviceInfo;
|
|
22
|
-
|
|
39
|
+
/** @inheritDoc */
|
|
23
40
|
get id(): string;
|
|
41
|
+
/** @inheritDoc */
|
|
24
42
|
get room(): RoomBase | undefined;
|
|
43
|
+
/** @inheritDoc */
|
|
25
44
|
distanceOfDevice(deviceName: string, maxAge?: number): number | undefined;
|
|
45
|
+
/** @inheritDoc */
|
|
26
46
|
isDevicePresent(deviceName: string, maxDistance: number, maxAge?: number): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Updates the device with the given state
|
|
49
|
+
* @param devName - The name of the bluetooth device
|
|
50
|
+
* @param state - The state containing the json-formatted distance data
|
|
51
|
+
*/
|
|
27
52
|
update(devName: string, state: ioBroker.State): void;
|
|
53
|
+
/** @inheritDoc */
|
|
28
54
|
log(level: LogLevel, message: string, debugType?: LogDebugType): void;
|
|
55
|
+
/** @inheritDoc */
|
|
29
56
|
toJSON(): Partial<iRoomDevice>;
|
|
57
|
+
/** @inheritDoc */
|
|
30
58
|
persistDeviceInfo(): void;
|
|
59
|
+
/** @inheritDoc */
|
|
31
60
|
loadDeviceSettings(): void;
|
|
61
|
+
/** @inheritDoc */
|
|
32
62
|
addProximityCallback(cb: ProximityCallback): void;
|
|
33
63
|
private addDeviceTracking;
|
|
34
64
|
}
|
|
@@ -12,9 +12,20 @@ const espresenseCoordinator_1 = require("./espresenseCoordinator");
|
|
|
12
12
|
const trilaterationBasePoint_1 = require("./trilaterationBasePoint");
|
|
13
13
|
const trilateration_1 = require("./trilateration");
|
|
14
14
|
class EspresenseDevice {
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new instance of the EspresenseDevice class
|
|
17
|
+
* @param name - The desired name of the device
|
|
18
|
+
* @param roomName - The name of the room this device is in {@link iRoomBase.roomName}
|
|
19
|
+
* @param x - The x coordinate of the device in the house
|
|
20
|
+
* @param y - The y coordinate of the device in the house
|
|
21
|
+
* @param z - The z coordinate of the device in the house
|
|
22
|
+
*/
|
|
15
23
|
constructor(name, roomName, x, y, z) {
|
|
24
|
+
/** @inheritDoc */
|
|
16
25
|
this.settings = undefined;
|
|
26
|
+
/** @inheritDoc */
|
|
17
27
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.bluetoothDetector];
|
|
28
|
+
/** @inheritDoc */
|
|
18
29
|
this.deviceType = deviceType_1.DeviceType.Espresense;
|
|
19
30
|
this.deviceMap = new Map();
|
|
20
31
|
this.proximityCallbackMap = new Map();
|
|
@@ -31,22 +42,24 @@ class EspresenseDevice {
|
|
|
31
42
|
this.loadDeviceSettings();
|
|
32
43
|
trilateration_1.Trilateration.basePoints.push(this.position);
|
|
33
44
|
}
|
|
45
|
+
/** @inheritDoc */
|
|
34
46
|
get customName() {
|
|
35
47
|
return this.info.customName;
|
|
36
48
|
}
|
|
49
|
+
/** @inheritDoc */
|
|
37
50
|
get info() {
|
|
38
51
|
return this._info;
|
|
39
52
|
}
|
|
40
|
-
|
|
41
|
-
this._info = info;
|
|
42
|
-
}
|
|
53
|
+
/** @inheritDoc */
|
|
43
54
|
get id() {
|
|
44
55
|
var _a;
|
|
45
56
|
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `espresense-${this.info.room}-${this.info.customName}`;
|
|
46
57
|
}
|
|
58
|
+
/** @inheritDoc */
|
|
47
59
|
get room() {
|
|
48
60
|
return services_1.API.getRoom(this.info.room);
|
|
49
61
|
}
|
|
62
|
+
/** @inheritDoc */
|
|
50
63
|
distanceOfDevice(deviceName, maxAge = 60) {
|
|
51
64
|
var _a;
|
|
52
65
|
for (const dev of this.deviceMap.values()) {
|
|
@@ -57,10 +70,16 @@ class EspresenseDevice {
|
|
|
57
70
|
}
|
|
58
71
|
return undefined;
|
|
59
72
|
}
|
|
73
|
+
/** @inheritDoc */
|
|
60
74
|
isDevicePresent(deviceName, maxDistance, maxAge = 60) {
|
|
61
75
|
var _a;
|
|
62
76
|
return ((_a = this.distanceOfDevice(deviceName, maxAge)) !== null && _a !== void 0 ? _a : 99) < maxDistance;
|
|
63
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Updates the device with the given state
|
|
80
|
+
* @param devName - The name of the bluetooth device
|
|
81
|
+
* @param state - The state containing the json-formatted distance data
|
|
82
|
+
*/
|
|
64
83
|
update(devName, state) {
|
|
65
84
|
var _a, _b;
|
|
66
85
|
let data = null;
|
|
@@ -83,7 +102,7 @@ class EspresenseDevice {
|
|
|
83
102
|
}
|
|
84
103
|
const trackedDistance = dev.getDistance(this.id);
|
|
85
104
|
if (trackedDistance === undefined) {
|
|
86
|
-
this.log(models_1.LogLevel.Error,
|
|
105
|
+
this.log(models_1.LogLevel.Error, 'TrackedDistance Undefined directly after update');
|
|
87
106
|
return;
|
|
88
107
|
}
|
|
89
108
|
const distance = trackedDistance.distance;
|
|
@@ -103,6 +122,7 @@ class EspresenseDevice {
|
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
}
|
|
125
|
+
/** @inheritDoc */
|
|
106
126
|
log(level, message, debugType = services_1.LogDebugType.None) {
|
|
107
127
|
var _a, _b;
|
|
108
128
|
services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
@@ -112,18 +132,22 @@ class EspresenseDevice {
|
|
|
112
132
|
deviceName: this.name,
|
|
113
133
|
});
|
|
114
134
|
}
|
|
135
|
+
/** @inheritDoc */
|
|
115
136
|
toJSON() {
|
|
116
137
|
return services_1.Utils.jsonFilter(this);
|
|
117
138
|
}
|
|
139
|
+
/** @inheritDoc */
|
|
118
140
|
persistDeviceInfo() {
|
|
119
141
|
services_1.Utils.guardedTimeout(() => {
|
|
120
142
|
var _a;
|
|
121
143
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
|
|
122
144
|
}, 5000, this);
|
|
123
145
|
}
|
|
146
|
+
/** @inheritDoc */
|
|
124
147
|
loadDeviceSettings() {
|
|
125
148
|
// Nothing
|
|
126
149
|
}
|
|
150
|
+
/** @inheritDoc */
|
|
127
151
|
addProximityCallback(cb) {
|
|
128
152
|
let currentValue = this.proximityCallbackMap.get(cb.deviceName);
|
|
129
153
|
if (currentValue == undefined) {
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { iBluetoothDetector } from '../baseDeviceInterfaces/iBluetoothDetector';
|
|
2
2
|
export declare class TrackedDistanceData {
|
|
3
|
+
/**
|
|
4
|
+
* The name of the tracker who detected this device
|
|
5
|
+
*/
|
|
3
6
|
trackerName: string;
|
|
7
|
+
/**
|
|
8
|
+
* The distance to the tracker
|
|
9
|
+
*/
|
|
4
10
|
distance: number | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* The time of the last update
|
|
13
|
+
*/
|
|
5
14
|
lastUpdate: number;
|
|
15
|
+
/**
|
|
16
|
+
* The distance to the tracker before the last update (if available) can be used to calculate certain movements
|
|
17
|
+
*/
|
|
6
18
|
previousDistance: number | undefined;
|
|
7
19
|
constructor(tracker: iBluetoothDetector);
|
|
8
20
|
update(distance: number): void;
|
|
@@ -3,7 +3,14 @@ import { TrilaterationPoint } from './trilaterationPoint';
|
|
|
3
3
|
import { TrilaterationPointDistance } from './trilaterationPointDistance';
|
|
4
4
|
import { RoomBase } from '../../../models';
|
|
5
5
|
export declare class Trilateration {
|
|
6
|
+
/**
|
|
7
|
+
* A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
|
|
8
|
+
*/
|
|
6
9
|
static readonly basePoints: TrilaterationBasePoint[];
|
|
10
|
+
/**
|
|
11
|
+
* A list of all possible points for trilateration in this home, used for increased calculation speed
|
|
12
|
+
* This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
|
|
13
|
+
*/
|
|
7
14
|
static possiblePoints: TrilaterationPoint[];
|
|
8
15
|
static addRoom(room: RoomBase, startPoint: TrilaterationPoint, endPoint: TrilaterationPoint): void;
|
|
9
16
|
static initialize(): void;
|
|
@@ -104,5 +104,12 @@ class Trilateration {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
exports.Trilateration = Trilateration;
|
|
107
|
+
/**
|
|
108
|
+
* A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
|
|
109
|
+
*/
|
|
107
110
|
Trilateration.basePoints = [];
|
|
111
|
+
/**
|
|
112
|
+
* A list of all possible points for trilateration in this home, used for increased calculation speed
|
|
113
|
+
* This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
|
|
114
|
+
*/
|
|
108
115
|
Trilateration.possiblePoints = [];
|
|
@@ -6,7 +6,13 @@ export declare class TrilaterationBasePoint {
|
|
|
6
6
|
readonly z: number;
|
|
7
7
|
readonly roomName: string;
|
|
8
8
|
private readonly _maximumDistance;
|
|
9
|
+
/**
|
|
10
|
+
* The coordinates of this point in Space
|
|
11
|
+
*/
|
|
9
12
|
readonly ownPoint: TrilaterationPoint;
|
|
13
|
+
/**
|
|
14
|
+
* A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
|
|
15
|
+
*/
|
|
10
16
|
readonly precalculatedDistancesMap: Map<number, string[]>;
|
|
11
17
|
constructor(x: number, y: number, z: number, roomName: string, _maximumDistance?: number);
|
|
12
18
|
getRatedCoordinates(distance: number): TrilaterationRatedCoordinate[];
|
|
@@ -12,6 +12,9 @@ class TrilaterationBasePoint {
|
|
|
12
12
|
this.z = z;
|
|
13
13
|
this.roomName = roomName;
|
|
14
14
|
this._maximumDistance = _maximumDistance;
|
|
15
|
+
/**
|
|
16
|
+
* A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
|
|
17
|
+
*/
|
|
15
18
|
this.precalculatedDistancesMap = new Map();
|
|
16
19
|
this.ownPoint = new trilaterationPoint_1.TrilaterationPoint(x, y, z, roomName);
|
|
17
20
|
}
|