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
|
@@ -1,20 +1,35 @@
|
|
|
1
|
-
import { TimeCallback } from '../../../models';
|
|
2
1
|
import { iMuellSettings } from '../../config';
|
|
3
2
|
import { MuellTonne } from './muell-tonne';
|
|
4
3
|
import { iSpeaker } from '../../devices';
|
|
4
|
+
import { NameDatePair } from './name-date-pair';
|
|
5
5
|
export declare class MuellService {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A list of all trash bins
|
|
8
|
+
*/
|
|
9
|
+
static alleTonnen: NameDatePair[];
|
|
10
|
+
/**
|
|
11
|
+
* The blue trash bin (normally being used for paper)
|
|
12
|
+
*/
|
|
10
13
|
static blaueTonne: MuellTonne;
|
|
14
|
+
/**
|
|
15
|
+
* The grey trash bin (normally being used for general waste)
|
|
16
|
+
*/
|
|
11
17
|
static graueTonne: MuellTonne;
|
|
18
|
+
/**
|
|
19
|
+
* The yellow trash bin (normally being used for plastic)
|
|
20
|
+
*/
|
|
12
21
|
static gelbeTonne: MuellTonne;
|
|
22
|
+
/**
|
|
23
|
+
* The brown trash bin (normally being used for organic waste)
|
|
24
|
+
*/
|
|
13
25
|
static brauneTonne: MuellTonne;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the loading of the calendar is still pending
|
|
28
|
+
*/
|
|
14
29
|
static loadingPending: boolean;
|
|
15
|
-
static updateTimeCallback
|
|
16
|
-
static checkTimeCallback
|
|
17
|
-
static months
|
|
30
|
+
private static updateTimeCallback;
|
|
31
|
+
private static checkTimeCallback;
|
|
32
|
+
private static months;
|
|
18
33
|
private static lastCheck;
|
|
19
34
|
private static _calendarURL;
|
|
20
35
|
private static _active;
|
|
@@ -23,7 +23,7 @@ class MuellService {
|
|
|
23
23
|
this.updateCalendar();
|
|
24
24
|
}
|
|
25
25
|
static updateCalendar(checkAfterwards = true) {
|
|
26
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug,
|
|
26
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, 'Muell Service wird nun initialisiert');
|
|
27
27
|
node_ical_1.async
|
|
28
28
|
.fromURL(this._calendarURL)
|
|
29
29
|
.then((data) => {
|
|
@@ -42,7 +42,7 @@ class MuellService {
|
|
|
42
42
|
continue;
|
|
43
43
|
}
|
|
44
44
|
const ev = data[k];
|
|
45
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.DeepTrace, `${ev.summary} is in ${ev.location} on the ${ev.start.getDate()} of ${this.months[ev.start.getMonth()]} at ${ev.start.toLocaleTimeString('
|
|
45
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.DeepTrace, `${ev.summary} is in ${ev.location} on the ${ev.start.getDate()} of ${this.months[ev.start.getMonth()]} at ${ev.start.toLocaleTimeString('de-DE')}`);
|
|
46
46
|
if (ev.start.getTime() < todayMidnight) {
|
|
47
47
|
continue;
|
|
48
48
|
}
|
|
@@ -84,18 +84,18 @@ class MuellService {
|
|
|
84
84
|
}
|
|
85
85
|
const now = new Date();
|
|
86
86
|
if (now.getTime() - this.lastCheck.getTime() < 60000 && now.getDate() === this.lastCheck.getDate()) {
|
|
87
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace,
|
|
87
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, 'MüllService.checkAll: Skipped weil wir gerade erst geprüft hatten.');
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
90
|
if (this.gelbeTonne === undefined) {
|
|
91
91
|
if (pRetries > 0) {
|
|
92
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn,
|
|
92
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Der Müllservice ist noch nicht bereit --> warten');
|
|
93
93
|
utils_1.Utils.guardedTimeout(() => {
|
|
94
94
|
MuellService.checkAll(pRetries - 1);
|
|
95
95
|
}, 1000);
|
|
96
96
|
}
|
|
97
97
|
else {
|
|
98
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error,
|
|
98
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'Der Müllservice ist trotz Warten nicht bereit --> Abbruch');
|
|
99
99
|
}
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
@@ -107,7 +107,13 @@ class MuellService {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
exports.MuellService = MuellService;
|
|
110
|
+
/**
|
|
111
|
+
* A list of all trash bins
|
|
112
|
+
*/
|
|
110
113
|
MuellService.alleTonnen = [];
|
|
114
|
+
/**
|
|
115
|
+
* Whether the loading of the calendar is still pending
|
|
116
|
+
*/
|
|
111
117
|
MuellService.loadingPending = true;
|
|
112
118
|
MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
113
119
|
MuellService.lastCheck = new Date(0);
|
|
@@ -1,27 +1,130 @@
|
|
|
1
1
|
import { ButtonPressType, iAcDevice, iActuator, iBaseDevice, iBatteryDevice, iButtonSwitch, iHandleSensor, iHeater, iHumiditySensor, iIlluminationSensor, iMotionSensor, iShutter, iTemperatureSensor, ZigbeeDevice } from '../../devices';
|
|
2
2
|
import { CountToday, DesiredShutterPosition, EnergyCalculation, RoomBase, ShutterCalibration } from '../../../models';
|
|
3
|
+
/**
|
|
4
|
+
* The interface to interact with the persistence layer.
|
|
5
|
+
* In the past there was a mongo-db implementation, but this is now replaced by currently only postgresSql.
|
|
6
|
+
*/
|
|
3
7
|
export interface iPersist {
|
|
8
|
+
/**
|
|
9
|
+
* Whether persistence is properly initialized
|
|
10
|
+
*/
|
|
4
11
|
initialized: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Adds a room to the database
|
|
14
|
+
* @param room - The room to add
|
|
15
|
+
*/
|
|
5
16
|
addRoom(room: RoomBase): void;
|
|
17
|
+
/**
|
|
18
|
+
* Adds a device to the database
|
|
19
|
+
* @param device - The device to add
|
|
20
|
+
*/
|
|
6
21
|
addDevice(device: iBaseDevice): void;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the count of the motion sensor today
|
|
24
|
+
* @param device - The device to get the count for
|
|
25
|
+
* @returns - The count of the motion sensor today
|
|
26
|
+
*/
|
|
7
27
|
motionSensorTodayCount(device: iMotionSensor): Promise<CountToday>;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the last desired position of the shutter
|
|
30
|
+
* @param device - The device to get the last desired position for
|
|
31
|
+
* @returns - The last desired position of the shutter
|
|
32
|
+
*/
|
|
8
33
|
getLastDesiredPosition(device: iShutter): Promise<DesiredShutterPosition>;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the shutter calibration
|
|
36
|
+
* @param device - The device to get the shutter calibration for
|
|
37
|
+
* @returns - The shutter calibration
|
|
38
|
+
*/
|
|
9
39
|
getShutterCalibration(device: iShutter): Promise<ShutterCalibration>;
|
|
40
|
+
/**
|
|
41
|
+
* Initializes the database-connection and prepares the database
|
|
42
|
+
* @returns - The promise that resolves when the database is initialized
|
|
43
|
+
*/
|
|
10
44
|
initialize(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Persists the shutter calibration
|
|
47
|
+
* @param data - The shutter calibration data to persist
|
|
48
|
+
*/
|
|
11
49
|
persistShutterCalibration(data: ShutterCalibration): void;
|
|
50
|
+
/**
|
|
51
|
+
* Persists data for an illumination sensor
|
|
52
|
+
* @param device - The device to persist data for
|
|
53
|
+
*/
|
|
12
54
|
persistIlluminationSensor(device: iIlluminationSensor): void;
|
|
55
|
+
/**
|
|
56
|
+
* Persists data for an energy manager
|
|
57
|
+
* @param energyData - The energy data to persist
|
|
58
|
+
*/
|
|
13
59
|
persistEnergyManager(energyData: EnergyCalculation): void;
|
|
60
|
+
/**
|
|
61
|
+
* Persists data of an AC device
|
|
62
|
+
* @param device - The device to persist data for
|
|
63
|
+
*/
|
|
14
64
|
persistAC(device: iAcDevice): void;
|
|
65
|
+
/**
|
|
66
|
+
* Persists data of an actuator
|
|
67
|
+
* @param device - The device to persist data for
|
|
68
|
+
*/
|
|
15
69
|
persistActuator(device: iActuator): void;
|
|
70
|
+
/**
|
|
71
|
+
* Persists data of a heater
|
|
72
|
+
* @param device - The device to persist data for
|
|
73
|
+
*/
|
|
16
74
|
persistHeater(device: iHeater): void;
|
|
75
|
+
/**
|
|
76
|
+
* Persists data of a motion sensor
|
|
77
|
+
* @param device - The device to persist data for
|
|
78
|
+
*/
|
|
17
79
|
persistMotionSensor(device: iMotionSensor): void;
|
|
80
|
+
/**
|
|
81
|
+
* Persists data of a button switch action
|
|
82
|
+
* @param device - The device to persist data for
|
|
83
|
+
* @param pressType - The type of button press
|
|
84
|
+
* @param buttonName - The name of the button
|
|
85
|
+
*/
|
|
18
86
|
persistSwitchInput(device: iButtonSwitch, pressType: ButtonPressType, buttonName: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* Persists data of a shutter
|
|
89
|
+
* @param device - The device to persist data for
|
|
90
|
+
*/
|
|
19
91
|
persistShutter(device: iShutter): void;
|
|
92
|
+
/**
|
|
93
|
+
* Persists data of a temperature sensor
|
|
94
|
+
* @param device - The device to persist data for
|
|
95
|
+
*/
|
|
20
96
|
persistTemperatureSensor(device: iTemperatureSensor): void;
|
|
97
|
+
/**
|
|
98
|
+
* Persists data of a humidity sensor
|
|
99
|
+
* @param device - The device to persist data for
|
|
100
|
+
*/
|
|
21
101
|
persistHumiditySensor(device: iHumiditySensor): void;
|
|
102
|
+
/**
|
|
103
|
+
* Persists data of a handle sensor
|
|
104
|
+
* @param device - The device to persist data for
|
|
105
|
+
*/
|
|
22
106
|
persistHandleSensor(device: iHandleSensor): void;
|
|
107
|
+
/**
|
|
108
|
+
* Persists data of a battery device
|
|
109
|
+
* @param device - The device to persist data for
|
|
110
|
+
*/
|
|
23
111
|
persistBatteryDevice(device: iBatteryDevice): void;
|
|
112
|
+
/**
|
|
113
|
+
* Persists data of a Zigbee device
|
|
114
|
+
* @param device - The device to persist data for
|
|
115
|
+
*/
|
|
24
116
|
persistZigbeeDevice(device: ZigbeeDevice): void;
|
|
117
|
+
/**
|
|
118
|
+
* Persists settings for the given id
|
|
119
|
+
* @param id - The id to persist settings for
|
|
120
|
+
* @param settings - The settings to persist (as JSON string)
|
|
121
|
+
* @param customname - The custom name of the device/object
|
|
122
|
+
*/
|
|
25
123
|
persistSettings(id: string, settings: string, customname: string): void;
|
|
124
|
+
/**
|
|
125
|
+
* Loads settings for the given id
|
|
126
|
+
* @param id - The id of the object/device to load settings for
|
|
127
|
+
* @returns - The settings as JSON string or undefined if not found
|
|
128
|
+
*/
|
|
26
129
|
loadSettings(id: string): Promise<string | undefined>;
|
|
27
130
|
}
|
|
@@ -3,31 +3,54 @@ import { CountToday, DesiredShutterPosition, EnergyCalculation, RoomBase, Shutte
|
|
|
3
3
|
import { ButtonPressType, iAcDevice, iActuator, iBaseDevice, iBatteryDevice, iButtonSwitch, iHandleSensor, iHeater, iHumiditySensor, iIlluminationSensor, iMotionSensor, iShutter, iTemperatureSensor, ZigbeeDevice } from '../../devices';
|
|
4
4
|
import { PoolConfig } from 'pg';
|
|
5
5
|
export declare class PostgreSqlPersist implements iPersist {
|
|
6
|
+
/** @inheritDoc */
|
|
6
7
|
initialized: boolean;
|
|
7
8
|
private readonly psql;
|
|
8
9
|
private readonly config;
|
|
9
10
|
constructor(conf: PoolConfig);
|
|
11
|
+
/** @inheritDoc */
|
|
10
12
|
addRoom(room: RoomBase): void;
|
|
13
|
+
/** @inheritDoc */
|
|
11
14
|
addDevice(device: iBaseDevice): void;
|
|
15
|
+
/** @inheritDoc */
|
|
12
16
|
getLastDesiredPosition(device: iShutter): Promise<DesiredShutterPosition>;
|
|
17
|
+
/** @inheritDoc */
|
|
13
18
|
motionSensorTodayCount(device: iMotionSensor): Promise<CountToday>;
|
|
19
|
+
/** @inheritDoc */
|
|
14
20
|
getShutterCalibration(_device: iShutter): Promise<ShutterCalibration>;
|
|
21
|
+
/** @inheritDoc */
|
|
15
22
|
initialize(): Promise<void>;
|
|
23
|
+
/** @inheritDoc */
|
|
16
24
|
persistAC(device: iAcDevice): void;
|
|
25
|
+
/** @inheritDoc */
|
|
17
26
|
persistActuator(device: iActuator): void;
|
|
27
|
+
/** @inheritDoc */
|
|
18
28
|
persistHeater(device: iHeater): void;
|
|
29
|
+
/** @inheritDoc */
|
|
19
30
|
persistHandleSensor(device: iHandleSensor): void;
|
|
31
|
+
/** @inheritDoc */
|
|
20
32
|
persistSwitchInput(device: iButtonSwitch, pressType: ButtonPressType, buttonName: string): void;
|
|
33
|
+
/** @inheritDoc */
|
|
21
34
|
persistMotionSensor(device: iMotionSensor): void;
|
|
35
|
+
/** @inheritDoc */
|
|
22
36
|
persistShutter(device: iShutter): void;
|
|
37
|
+
/** @inheritDoc */
|
|
23
38
|
persistTemperatureSensor(device: iTemperatureSensor): void;
|
|
39
|
+
/** @inheritDoc */
|
|
24
40
|
persistHumiditySensor(device: iHumiditySensor): void;
|
|
41
|
+
/** @inheritDoc */
|
|
25
42
|
persistBatteryDevice(device: iBatteryDevice): void;
|
|
43
|
+
/** @inheritDoc */
|
|
26
44
|
persistZigbeeDevice(device: ZigbeeDevice): void;
|
|
45
|
+
/** @inheritDoc */
|
|
27
46
|
persistIlluminationSensor(device: iIlluminationSensor): void;
|
|
47
|
+
/** @inheritDoc */
|
|
28
48
|
persistShutterCalibration(_data: ShutterCalibration): void;
|
|
49
|
+
/** @inheritDoc */
|
|
29
50
|
persistEnergyManager(calc: EnergyCalculation): void;
|
|
51
|
+
/** @inheritDoc */
|
|
30
52
|
persistSettings(id: string, settings: string, customName: string): void;
|
|
53
|
+
/** @inheritDoc */
|
|
31
54
|
loadSettings(id: string): Promise<string | undefined>;
|
|
32
55
|
private query;
|
|
33
56
|
private isPsqlReady;
|
|
@@ -9,10 +9,12 @@ const DeviceCapability_1 = require("../../devices/DeviceCapability");
|
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
class PostgreSqlPersist {
|
|
11
11
|
constructor(conf) {
|
|
12
|
+
/** @inheritDoc */
|
|
12
13
|
this.initialized = false;
|
|
13
14
|
this.config = conf;
|
|
14
15
|
this.psql = new pg_1.Pool(this.config);
|
|
15
16
|
}
|
|
17
|
+
/** @inheritDoc */
|
|
16
18
|
addRoom(room) {
|
|
17
19
|
this.query(`
|
|
18
20
|
insert into hoffmation_schema."BasicRooms" (name, etage)
|
|
@@ -23,6 +25,7 @@ values ('${room.roomName}',${room.etage})
|
|
|
23
25
|
;
|
|
24
26
|
`);
|
|
25
27
|
}
|
|
28
|
+
/** @inheritDoc */
|
|
26
29
|
addDevice(device) {
|
|
27
30
|
this.query(`
|
|
28
31
|
insert into hoffmation_schema."DeviceInfo" ("deviceid", "roomname", "alldeviceskey", "customname", "devtype")
|
|
@@ -36,6 +39,7 @@ values ('${device.id}','${device.info.room}','${device.info.allDevicesKey}','${d
|
|
|
36
39
|
;
|
|
37
40
|
`);
|
|
38
41
|
}
|
|
42
|
+
/** @inheritDoc */
|
|
39
43
|
async getLastDesiredPosition(device) {
|
|
40
44
|
const dbResult = await this.query(`SELECT position
|
|
41
45
|
from hoffmation_schema."ShutterDeviceData"
|
|
@@ -49,6 +53,7 @@ Limit 1`);
|
|
|
49
53
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Es gibt noch keine persistierten Bewegungen für ${device.info.fullName}`);
|
|
50
54
|
return new models_1.DesiredShutterPosition(-1);
|
|
51
55
|
}
|
|
56
|
+
/** @inheritDoc */
|
|
52
57
|
async motionSensorTodayCount(device) {
|
|
53
58
|
const dbResult = await this.query(`SELECT Count(*)
|
|
54
59
|
from hoffmation_schema."MotionSensorDeviceData"
|
|
@@ -61,12 +66,14 @@ WHERE "deviceID" = '${device.id}' and "movementDetected" and date >= CURRENT_DAT
|
|
|
61
66
|
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Es gibt noch keine persistierten Bewegungen für ${device.info.fullName}`);
|
|
62
67
|
return new models_1.CountToday(0);
|
|
63
68
|
}
|
|
69
|
+
/** @inheritDoc */
|
|
64
70
|
getShutterCalibration(_device) {
|
|
65
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn,
|
|
71
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, "Postgres doesn't support Shutter Calibration yet.");
|
|
66
72
|
return new Promise((_res, reject) => {
|
|
67
73
|
reject('Not Implemented');
|
|
68
74
|
});
|
|
69
75
|
}
|
|
76
|
+
/** @inheritDoc */
|
|
70
77
|
async initialize() {
|
|
71
78
|
await this.psql.connect();
|
|
72
79
|
// Execute BasicRoomsDDL
|
|
@@ -338,14 +345,16 @@ BEGIN
|
|
|
338
345
|
END
|
|
339
346
|
$$;`);
|
|
340
347
|
this.initialized = true;
|
|
341
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info,
|
|
348
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'Postgres DB initialized');
|
|
342
349
|
}
|
|
350
|
+
/** @inheritDoc */
|
|
343
351
|
persistAC(device) {
|
|
344
352
|
this.query(`
|
|
345
353
|
insert into hoffmation_schema."AcDeviceData" ("deviceID", "on", "date", "roomTemperature")
|
|
346
354
|
values ('${device.id}', ${device.on}, '${new Date().toISOString()}', ${device.temperature});
|
|
347
355
|
`);
|
|
348
356
|
}
|
|
357
|
+
/** @inheritDoc */
|
|
349
358
|
persistActuator(device) {
|
|
350
359
|
let percentage = undefined;
|
|
351
360
|
if (device.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.dimmablelamp)) {
|
|
@@ -356,6 +365,7 @@ insert into hoffmation_schema."ActuatorDeviceData" ("deviceID", "on", "date", "p
|
|
|
356
365
|
values ('${device.id}', ${device.actuatorOn}, '${new Date().toISOString()}', ${percentage !== null && percentage !== void 0 ? percentage : 'null'});
|
|
357
366
|
`);
|
|
358
367
|
}
|
|
368
|
+
/** @inheritDoc */
|
|
359
369
|
persistHeater(device) {
|
|
360
370
|
let roomTemp = device.roomTemperature;
|
|
361
371
|
let desiredTemperature = device.desiredTemperature;
|
|
@@ -370,6 +380,7 @@ insert into hoffmation_schema."HeaterDeviceData" ("deviceID", "level", "date", "
|
|
|
370
380
|
values ('${device.id}', ${device.iLevel}, '${new Date().toISOString()}', ${roomTemp !== null && roomTemp !== void 0 ? roomTemp : 'null'}, ${desiredTemperature !== null && desiredTemperature !== void 0 ? desiredTemperature : 'null'}, ${device.seasonTurnOff});
|
|
371
381
|
`);
|
|
372
382
|
}
|
|
383
|
+
/** @inheritDoc */
|
|
373
384
|
persistHandleSensor(device) {
|
|
374
385
|
const currentPos = device.position;
|
|
375
386
|
this.query(`
|
|
@@ -377,18 +388,21 @@ insert into hoffmation_schema."HandleDeviceData" ("deviceID", "position", "date"
|
|
|
377
388
|
values ('${device.id}', ${currentPos}, '${new Date().toISOString()}');
|
|
378
389
|
`);
|
|
379
390
|
}
|
|
391
|
+
/** @inheritDoc */
|
|
380
392
|
persistSwitchInput(device, pressType, buttonName) {
|
|
381
393
|
this.query(`
|
|
382
394
|
insert into hoffmation_schema."ButtonSwitchPresses" ("deviceID", "pressType", "buttonName", "date")
|
|
383
395
|
values ('${device.id}', ${pressType}, '${buttonName}', '${new Date().toISOString()}');
|
|
384
396
|
`);
|
|
385
397
|
}
|
|
398
|
+
/** @inheritDoc */
|
|
386
399
|
persistMotionSensor(device) {
|
|
387
400
|
this.query(`
|
|
388
401
|
insert into hoffmation_schema."MotionSensorDeviceData" ("deviceID", "movementDetected", "date")
|
|
389
402
|
values ('${device.id}', ${device.movementDetected}, '${new Date().toISOString()}');
|
|
390
403
|
`);
|
|
391
404
|
}
|
|
405
|
+
/** @inheritDoc */
|
|
392
406
|
persistShutter(device) {
|
|
393
407
|
const currentLevel = device.currentLevel >= 0 ? device.currentLevel : null;
|
|
394
408
|
const desiredLevel = device.desiredWindowShutterLevel >= 0 ? device.desiredWindowShutterLevel : null;
|
|
@@ -397,6 +411,7 @@ insert into hoffmation_schema."ShutterDeviceData" ("deviceID", "position", "date
|
|
|
397
411
|
values ('${device.id}', ${currentLevel}, '${new Date().toISOString()}', ${desiredLevel});
|
|
398
412
|
`);
|
|
399
413
|
}
|
|
414
|
+
/** @inheritDoc */
|
|
400
415
|
persistTemperatureSensor(device) {
|
|
401
416
|
let roomTemp = device.roomTemperature;
|
|
402
417
|
if (roomTemp === devices_1.UNDEFINED_TEMP_VALUE) {
|
|
@@ -407,18 +422,21 @@ insert into hoffmation_schema."TemperatureSensorDeviceData" ("deviceID", "temper
|
|
|
407
422
|
values ('${device.id}', ${device.iTemperature}, '${new Date().toISOString()}', ${roomTemp !== null && roomTemp !== void 0 ? roomTemp : 'null'});
|
|
408
423
|
`);
|
|
409
424
|
}
|
|
425
|
+
/** @inheritDoc */
|
|
410
426
|
persistHumiditySensor(device) {
|
|
411
427
|
this.query(`
|
|
412
428
|
insert into hoffmation_schema."HumiditySensorDeviceData" ("deviceID", "humidity", "date")
|
|
413
429
|
values ('${device.id}', ${device.humidity}, '${new Date().toISOString()}');
|
|
414
430
|
`);
|
|
415
431
|
}
|
|
432
|
+
/** @inheritDoc */
|
|
416
433
|
persistBatteryDevice(device) {
|
|
417
434
|
this.query(`
|
|
418
435
|
insert into hoffmation_schema."BatteryDeviceData" ("deviceID", "battery", "date")
|
|
419
436
|
values ('${device.id}', ${utils_1.Utils.round(device.battery, 1)}, '${new Date().toISOString()}');
|
|
420
437
|
`);
|
|
421
438
|
}
|
|
439
|
+
/** @inheritDoc */
|
|
422
440
|
persistZigbeeDevice(device) {
|
|
423
441
|
const dateValue = device.lastUpdate.getTime() > 0 ? `'${device.lastUpdate.toISOString()}'` : 'null';
|
|
424
442
|
this.query(`
|
|
@@ -426,14 +444,17 @@ insert into hoffmation_schema."ZigbeeDeviceData" ("deviceID", "date", "available
|
|
|
426
444
|
values ('${device.id}', '${new Date().toISOString()}', ${device.available}, ${device.linkQuality}, ${dateValue});
|
|
427
445
|
`);
|
|
428
446
|
}
|
|
447
|
+
/** @inheritDoc */
|
|
429
448
|
persistIlluminationSensor(device) {
|
|
430
449
|
this.query(`
|
|
431
450
|
insert into hoffmation_schema."IlluminationSensorDeviceData" ("deviceID", "illumination", "date")
|
|
432
451
|
values ('${device.id}', ${device.currentIllumination}, '${new Date().toISOString()}');`);
|
|
433
452
|
}
|
|
453
|
+
/** @inheritDoc */
|
|
434
454
|
persistShutterCalibration(_data) {
|
|
435
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn,
|
|
455
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, "Postgres doesn't support Shutter Calibration yet.");
|
|
436
456
|
}
|
|
457
|
+
/** @inheritDoc */
|
|
437
458
|
persistEnergyManager(calc) {
|
|
438
459
|
this.query(`
|
|
439
460
|
insert into hoffmation_schema."EnergyCalculation" ("startDate", "endDate", "selfConsumedKwH", "injectedKwH",
|
|
@@ -442,6 +463,7 @@ values ('${new Date(calc.startMs).toISOString()}','${new Date(calc.endMs).toISOS
|
|
|
442
463
|
${calc.selfConsumedKwH}, ${calc.injectedKwH}, ${calc.drawnKwH}, ${calc.batteryStoredKwH}, ${calc.batteryLevel});
|
|
443
464
|
`);
|
|
444
465
|
}
|
|
466
|
+
/** @inheritDoc */
|
|
445
467
|
persistSettings(id, settings, customName) {
|
|
446
468
|
this.query(`
|
|
447
469
|
insert into hoffmation_schema."Settings" (id, settings, customname, date)
|
|
@@ -453,6 +475,7 @@ values ('${id}','${settings}','${customName}', '${new Date().toISOString()}')
|
|
|
453
475
|
;
|
|
454
476
|
`);
|
|
455
477
|
}
|
|
478
|
+
/** @inheritDoc */
|
|
456
479
|
async loadSettings(id) {
|
|
457
480
|
const dbResult = await this.query(`SELECT settings, id, date
|
|
458
481
|
from hoffmation_schema."Settings"
|
|
@@ -484,11 +507,11 @@ LIMIT 1`);
|
|
|
484
507
|
}
|
|
485
508
|
isPsqlReady() {
|
|
486
509
|
if (!this.initialized) {
|
|
487
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn,
|
|
510
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Db is not yet initialized');
|
|
488
511
|
return false;
|
|
489
512
|
}
|
|
490
513
|
if (!this.psql) {
|
|
491
|
-
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error,
|
|
514
|
+
log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'PSQL client missing');
|
|
492
515
|
return false;
|
|
493
516
|
}
|
|
494
517
|
return true;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for any device data updates
|
|
3
|
+
*/
|
|
4
|
+
export interface GoveeDeviceData {
|
|
5
|
+
/**
|
|
6
|
+
* The device id form Govee
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* The current state
|
|
11
|
+
*/
|
|
12
|
+
actuatorOn: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The active brightness
|
|
15
|
+
*/
|
|
16
|
+
brightness: number;
|
|
17
|
+
/**
|
|
18
|
+
* The hex coded active color starting with #
|
|
19
|
+
*/
|
|
20
|
+
hexColor: string;
|
|
21
|
+
/**
|
|
22
|
+
* The colortemp
|
|
23
|
+
*/
|
|
24
|
+
colortemp: number;
|
|
25
|
+
}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { OwnGoveeDevice } from './own-govee-device';
|
|
2
|
-
import {
|
|
2
|
+
import { iGoveeSettings } from '../../config';
|
|
3
3
|
export declare class GooveeService {
|
|
4
|
-
static
|
|
5
|
-
static devicesDict: {
|
|
6
|
-
[name: string]: GoveeDevice;
|
|
7
|
-
};
|
|
8
|
-
private static goveeApi;
|
|
4
|
+
private static _serverUrl;
|
|
9
5
|
private static ownDevices;
|
|
6
|
+
private static _refreshInterval;
|
|
10
7
|
static addOwnDevices(gvDevice: {
|
|
11
8
|
[name: string]: OwnGoveeDevice;
|
|
12
9
|
}): void;
|
|
13
|
-
static initialize(): void;
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
static initialize(config: iGoveeSettings): void;
|
|
11
|
+
static cleanup(): void;
|
|
12
|
+
static sendCommand(device: OwnGoveeDevice, command: string): Promise<boolean>;
|
|
13
|
+
private static loadDevices;
|
|
16
14
|
}
|