hoffmation-base 3.0.0-alpha.5 → 3.0.0-alpha.51
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 +8 -0
- package/lib/models/action/index.js +27 -0
- package/lib/models/action/motionSensorAction.d.ts +16 -0
- package/lib/models/action/motionSensorAction.js +15 -0
- package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
- package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
- package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
- package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
- package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
- package/lib/models/action/shutterPositionChangedAction.js +15 -0
- package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
- package/lib/models/action/temperatureSensorChangeAction.js +15 -0
- package/lib/models/blockAutomaticSettings.d.ts +23 -0
- package/lib/models/blockAutomaticSettings.js +19 -0
- package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
- package/lib/models/command/ShutterSetLevelCommand.js +9 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
- package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
- package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
- package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
- package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
- package/lib/models/command/actuatorSetStateCommand.js +15 -6
- package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
- package/lib/models/command/actuatorToggleCommand.js +7 -4
- package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +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 +10 -0
- package/lib/models/command/commandType.js +10 -0
- package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
- package/lib/models/command/dimmerSetLightCommand.js +20 -14
- package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
- package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
- package/lib/models/command/index.d.ts +3 -0
- package/lib/models/command/index.js +7 -1
- package/lib/models/command/lampSetLightCommand.d.ts +13 -2
- package/lib/models/command/lampSetLightCommand.js +15 -4
- package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
- package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
- package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
- package/lib/models/command/lampToggleLightCommand.js +7 -6
- package/lib/models/command/ledSetLightCommand.d.ts +21 -11
- package/lib/models/command/ledSetLightCommand.js +27 -17
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
- package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
- package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
- package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
- package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
- package/lib/models/command/roomRestoreLightCommand.js +7 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
- package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
- package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
- package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
- package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
- package/lib/models/command/shutterSunriseUpCommand.js +7 -1
- package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
- package/lib/models/command/shutterSunsetDownCommand.js +7 -1
- package/lib/models/command/wledSetLightCommand.d.ts +16 -2
- package/lib/models/command/wledSetLightCommand.js +23 -7
- package/lib/models/connectionCallbacks.d.ts +4 -4
- package/lib/models/connectionCallbacks.js +1 -0
- package/lib/models/deviceConfig.d.ts +3 -3
- package/lib/models/deviceSettings/acSettings.d.ts +19 -5
- package/lib/models/deviceSettings/acSettings.js +23 -8
- package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
- package/lib/models/deviceSettings/actuatorSettings.js +19 -9
- package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
- package/lib/models/deviceSettings/cameraSettings.js +12 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +11 -0
- package/lib/models/deviceSettings/dachsSettings.js +13 -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 +16 -7
- 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 +10 -0
- package/lib/server/config/iTelegramSettings.d.ts +17 -0
- package/lib/server/config/iTibberSettings.d.ts +10 -0
- package/lib/server/config/iTimePair.d.ts +9 -0
- package/lib/server/config/iTimeSettings.d.ts +9 -0
- package/lib/server/config/iTranslationSettings.d.ts +10 -0
- package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
- package/lib/server/config/iUnifiSettings.d.ts +8 -0
- package/lib/server/config/iVictronSettings.d.ts +14 -0
- package/lib/server/config/iWeatherSettings.d.ts +13 -0
- package/lib/server/config/index.d.ts +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 +2 -2
- package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
- package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
- package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
- package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
- package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +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 -4
- package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
- package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
- package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
- package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
- package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
- package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
- package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
- package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
- package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
- package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
- package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
- package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
- package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
- package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
- package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
- package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
- package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
- package/lib/server/devices/blueIris/cameraDevice.js +75 -75
- package/lib/server/devices/button/button.d.ts +0 -1
- package/lib/server/devices/button/button.js +0 -4
- package/lib/server/devices/button/buttonCallback.d.ts +5 -0
- package/lib/server/devices/button/buttonCallback.js +10 -0
- package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
- package/lib/server/devices/button/buttonCapabilities.js +12 -0
- package/lib/server/devices/button/index.d.ts +1 -0
- package/lib/server/devices/button/index.js +3 -0
- package/lib/server/devices/dachs/dachs.d.ts +37 -11
- package/lib/server/devices/dachs/dachs.js +49 -22
- package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
- package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
- package/lib/server/devices/device-cluster.d.ts +3 -0
- package/lib/server/devices/device-cluster.js +1 -1
- package/lib/server/devices/deviceUpdater.d.ts +0 -3
- package/lib/server/devices/deviceUpdater.js +1 -4
- package/lib/server/devices/devices.d.ts +43 -7
- package/lib/server/devices/devices.js +42 -6
- package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
- package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
- package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
- package/lib/server/devices/espresense/espresenseDevice.js +28 -4
- package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
- package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
- package/lib/server/devices/espresense/trilateration.d.ts +7 -0
- package/lib/server/devices/espresense/trilateration.js +7 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
- package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
- package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
- package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
- package/lib/server/devices/groups/Window.d.ts +9 -3
- package/lib/server/devices/groups/Window.js +19 -11
- package/lib/server/devices/groups/base-group.d.ts +4 -0
- package/lib/server/devices/groups/base-group.js +3 -0
- package/lib/server/devices/groups/heatGroup.d.ts +8 -6
- package/lib/server/devices/groups/heatGroup.js +11 -11
- package/lib/server/devices/groups/lightGroup.d.ts +10 -2
- package/lib/server/devices/groups/lightGroup.js +18 -37
- package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
- package/lib/server/devices/groups/presenceGroup.js +57 -64
- package/lib/server/devices/groups/tasterGroup.js +6 -6
- package/lib/server/devices/groups/windowGroup.d.ts +11 -1
- package/lib/server/devices/groups/windowGroup.js +6 -6
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
- package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
- package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
- package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
- package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
- package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
- package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
- package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
- package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
- package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +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 +5 -2
- package/lib/server/devices/index.js +8 -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 -6
- package/lib/server/devices/scene/room-scene.js +18 -4
- package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
- package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
- 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 -17
- package/lib/server/devices/shelly/shellyTrv.js +66 -45
- package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
- package/lib/server/devices/tuya/tuyaDevice.js +2 -1
- package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
- package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
- package/lib/server/devices/tv/samsungTv.d.ts +1 -0
- package/lib/server/devices/tv/samsungTv.js +1 -0
- package/lib/server/devices/tv/tvDevice.d.ts +7 -1
- package/lib/server/devices/tv/tvDevice.js +4 -3
- package/lib/server/devices/wledDevice.d.ts +15 -3
- package/lib/server/devices/wledDevice.js +42 -16
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
- package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
- package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
- package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
- package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
- package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
- 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 +9 -8
- package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
- 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 -14
- package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
- package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
- package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
- package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
- package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
- package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
- package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
- 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 -7
- 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 -8
- 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 -20
- package/lib/server/ioBroker/connection.js +37 -28
- package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
- package/lib/server/ioBroker/ioBroker.main.js +4 -3
- package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
- package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
- package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
- package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
- package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
- package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
- package/lib/server/services/ShutterService.js +6 -6
- package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
- package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
- package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
- package/lib/server/services/Sonos/mp3-server.js +3 -1
- package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
- package/lib/server/services/Sonos/own-sonos-device.js +4 -4
- package/lib/server/services/Sonos/polly-service.d.ts +7 -1
- package/lib/server/services/Sonos/polly-service.js +10 -8
- package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
- package/lib/server/services/Sonos/sonos-service.js +6 -10
- package/lib/server/services/Telegram/telegram-Commands.js +5 -5
- package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
- package/lib/server/services/Telegram/telegram-service.js +8 -3
- package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
- package/lib/server/services/Translation/IRessourceObject.js +2 -0
- package/lib/server/services/Translation/iRessources.d.ts +1 -4
- package/lib/server/services/Translation/index.d.ts +1 -0
- package/lib/server/services/Translation/res.d.ts +34 -19
- package/lib/server/services/Translation/res.js +34 -19
- package/lib/server/services/ac/ac-device.d.ts +48 -6
- package/lib/server/services/ac/ac-device.js +91 -36
- package/lib/server/services/ac/daikin-service.js +4 -3
- package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
- package/lib/server/services/ac/own-ac-devices.js +3 -0
- package/lib/server/services/ac/own-daikin-device.d.ts +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 +57 -56
- 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 -13
- 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 +15 -18
- package/lib/server/services/weather/weather-service.js +32 -22
- package/lib/server/services/weather/weather-temp.d.ts +21 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -8
- 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
|
@@ -5,81 +5,135 @@ const services_1 = require("../../services");
|
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
class LampUtils {
|
|
7
7
|
static stromStossOn(actuator) {
|
|
8
|
+
if (!LampUtils.stromStossContinueTimeouts.has(actuator.id)) {
|
|
9
|
+
LampUtils.stromStossContinueTimeouts.set(actuator.id, services_1.Utils.guardedTimeout(() => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
LampUtils.stromStossContinueTimeouts.delete(actuator.id);
|
|
12
|
+
if ((_b = (_a = actuator.room) === null || _a === void 0 ? void 0 : _a.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.anyPresent()) {
|
|
13
|
+
actuator.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, 'StromStoss On due to Presence', null));
|
|
14
|
+
}
|
|
15
|
+
}, actuator.settings.stromStossResendTime * 1000, this));
|
|
16
|
+
}
|
|
8
17
|
services_1.Utils.guardedTimeout(() => {
|
|
9
|
-
|
|
10
|
-
if ((_b = (_a = actuator.room) === null || _a === void 0 ? void 0 : _a.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.anyPresent()) {
|
|
11
|
-
actuator.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Force, true, 'StromStoss On due to Presence'));
|
|
12
|
-
}
|
|
13
|
-
}, actuator.settings.stromStossResendTime * 1000, this);
|
|
14
|
-
services_1.Utils.guardedTimeout(() => {
|
|
15
|
-
actuator.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Force, false, 'StromStoss Off'));
|
|
18
|
+
actuator.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Force, false, 'StromStoss Off', null));
|
|
16
19
|
}, 3000, this);
|
|
17
20
|
}
|
|
18
21
|
static setTimeBased(device, c) {
|
|
19
|
-
if (
|
|
22
|
+
if (c.isManual ||
|
|
23
|
+
(c.time === models_1.TimeOfDay.Daylight && device.settings.dayOn) ||
|
|
24
|
+
(c.time === models_1.TimeOfDay.Night && device.settings.nightOn) ||
|
|
20
25
|
(c.time === models_1.TimeOfDay.BeforeSunrise && device.settings.dawnOn) ||
|
|
21
26
|
(c.time === models_1.TimeOfDay.AfterSunset && device.settings.duskOn)) {
|
|
22
|
-
device.setLight(new models_1.LampSetLightCommand(c, true, `SetLight due to TimeBased ${c.time}`, c.
|
|
27
|
+
device.setLight(new models_1.LampSetLightCommand(c, true, `SetLight due to TimeBased ${models_1.TimeOfDay[c.time]}`, c.disableAutomaticCommand));
|
|
23
28
|
}
|
|
24
29
|
}
|
|
25
30
|
static checkUnBlock(device, command) {
|
|
26
31
|
let dontBlock = false;
|
|
32
|
+
if (command.containsType(models_1.CommandType.ActuatorRestoreTargetAutomaticValueCommand)) {
|
|
33
|
+
// We are restoring the automatic value, so we don't want to block the device
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
27
36
|
if (command.isForceAction &&
|
|
28
37
|
device.settings.resetToAutomaticOnForceOffAfterForceOn &&
|
|
29
38
|
!command.on &&
|
|
30
39
|
device.blockAutomationHandler.automaticBlockActive) {
|
|
31
40
|
dontBlock = true;
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
const liftCommand = new models_1.BlockAutomaticLiftBlockCommand(command, 'Reset Automatic Block as we are turning off manually after a force on');
|
|
42
|
+
liftCommand.overrideCommandSource = models_1.CommandSource.Automatic;
|
|
43
|
+
device.blockAutomationHandler.liftAutomaticBlock(liftCommand);
|
|
34
44
|
}
|
|
35
45
|
return dontBlock;
|
|
36
46
|
}
|
|
37
47
|
static toggleLight(device, c) {
|
|
38
48
|
var _a;
|
|
39
|
-
const newVal = device.queuedValue !== null ? !device.queuedValue : !device.
|
|
40
|
-
const timeout = newVal && c.isForceAction ? 30 * 60 * 1000 : -1;
|
|
49
|
+
const newVal = device.queuedValue !== null ? !device.queuedValue : !device.actuatorOn;
|
|
41
50
|
if (newVal && c.time === undefined && c.calculateTime && device.room !== undefined) {
|
|
42
51
|
c.time = services_1.TimeCallbackService.dayType((_a = device.room) === null || _a === void 0 ? void 0 : _a.settings.lampOffset);
|
|
43
52
|
}
|
|
44
53
|
if (newVal && c.time !== undefined) {
|
|
45
|
-
device.setTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time, '
|
|
54
|
+
device.setTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time, '', c.isForceAction ? undefined : null));
|
|
46
55
|
return true;
|
|
47
56
|
}
|
|
48
|
-
device.setLight(new models_1.LampSetLightCommand(c, newVal, '
|
|
57
|
+
device.setLight(new models_1.LampSetLightCommand(c, newVal, '', c.isForceAction ? undefined : null));
|
|
49
58
|
return newVal;
|
|
50
59
|
}
|
|
51
60
|
static checkBlockActive(device, c) {
|
|
52
61
|
if (!c.isForceAction && device.blockAutomationHandler.automaticBlockActive) {
|
|
53
|
-
device.log(models_1.LogLevel.Debug, `Skip command to ${c.on} as it is locked until ${new Date(device.blockAutomationHandler.automaticBlockedUntil).toLocaleTimeString()}; command Log: ${c.logMessage}`);
|
|
62
|
+
device.log(models_1.LogLevel.Debug, `Skip command to ${c.on} as it is locked until ${new Date(device.blockAutomationHandler.automaticBlockedUntil).toLocaleTimeString('de-DE')}; command Log: ${c.logMessage}`);
|
|
54
63
|
device.targetAutomaticState = c.on;
|
|
55
64
|
return true;
|
|
56
65
|
}
|
|
57
66
|
return false;
|
|
58
67
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Check if the dimmer is already in the desired state thus allowing to skip this command
|
|
70
|
+
* @param {iDimmableLamp} device - The device to check
|
|
71
|
+
* @param {DimmerSetLightCommand} c - The command to check
|
|
72
|
+
* @returns {boolean} - True if the command can be skipped
|
|
73
|
+
*/
|
|
74
|
+
static canDimmerChangeBeSkipped(device, c) {
|
|
75
|
+
if (c.isForceAction) {
|
|
76
|
+
return false;
|
|
63
77
|
}
|
|
64
|
-
|
|
78
|
+
if (!this.canActuatorChangeBeSkipped(device, c, true)) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
if (c.brightness !== device.brightness) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
device.log(models_1.LogLevel.DeepTrace, `Light command can be skipped as the device is already in desired state: ${c.logMessage}`, services_1.LogDebugType.SkipUnchangedActuatorCommand);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
static canActuatorChangeBeSkipped(device, c, noLog = false) {
|
|
88
|
+
if (c.isForceAction) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if ((device.queuedValue === null && device.actuatorOn !== c.on) ||
|
|
92
|
+
(device.queuedValue !== null && c.on === device.queuedValue)) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (!noLog) {
|
|
96
|
+
device.log(models_1.LogLevel.DeepTrace, `Light command can be skipped as device is already in desired state; command: ${c.logMessage}`, services_1.LogDebugType.SkipUnchangedActuatorCommand);
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
65
99
|
}
|
|
66
100
|
static setActuator(device, c) {
|
|
101
|
+
if (device.settings.isStromStoss &&
|
|
102
|
+
c.on &&
|
|
103
|
+
c.containsType(models_1.CommandType.ActuatorRestoreTargetAutomaticValueCommand)) {
|
|
104
|
+
// Don't restore automatic state on Strommstoss-Relais as this might result in a loop.
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
67
107
|
const dontBlock = LampUtils.checkUnBlock(device, c);
|
|
68
108
|
if (LampUtils.checkBlockActive(device, c)) {
|
|
69
109
|
return;
|
|
70
110
|
}
|
|
71
|
-
if (
|
|
111
|
+
if (c.isAutomaticAction) {
|
|
112
|
+
// Preserve the target state for the automatic handler, as
|
|
113
|
+
device.targetAutomaticState = c.on;
|
|
114
|
+
}
|
|
115
|
+
if (LampUtils.canActuatorChangeBeSkipped(device, c)) {
|
|
72
116
|
return;
|
|
73
117
|
}
|
|
74
118
|
device.queuedValue = c.on;
|
|
75
119
|
device.writeActuatorStateToDevice(new models_1.ActuatorWriteStateToDeviceCommand(c, c.on));
|
|
76
120
|
if (device.settings.isStromStoss && c.on) {
|
|
77
|
-
c.
|
|
121
|
+
c.disableAutomaticCommand = new models_1.BlockAutomaticCommand(c, 3000, 'StromStoss Off');
|
|
78
122
|
LampUtils.stromStossOn(device);
|
|
79
123
|
}
|
|
80
|
-
if (c.
|
|
81
|
-
|
|
124
|
+
if (dontBlock || c.disableAutomaticCommand === null) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (dontBlock) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (c.disableAutomaticCommand === undefined && c.isForceAction) {
|
|
131
|
+
c.disableAutomaticCommand = models_1.BlockAutomaticCommand.fromDeviceSettings(c, device.settings);
|
|
132
|
+
}
|
|
133
|
+
if (c.disableAutomaticCommand) {
|
|
134
|
+
device.blockAutomationHandler.disableAutomatic(c.disableAutomaticCommand);
|
|
82
135
|
}
|
|
83
136
|
}
|
|
84
137
|
}
|
|
85
138
|
exports.LampUtils = LampUtils;
|
|
139
|
+
LampUtils.stromStossContinueTimeouts = new Map();
|
|
@@ -5,8 +5,9 @@ import { DeviceType } from '../deviceType';
|
|
|
5
5
|
export declare class ShellyDevice extends IoBrokerBaseDevice implements iDisposable {
|
|
6
6
|
private _lastUpdate;
|
|
7
7
|
get lastUpdate(): Date;
|
|
8
|
-
stateMap: Map<string, ioBroker.State>;
|
|
9
8
|
constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
|
|
9
|
+
/** @inheritDoc */
|
|
10
10
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
|
|
11
|
+
/** @inheritDoc */
|
|
11
12
|
dispose(): void;
|
|
12
13
|
}
|
|
@@ -10,8 +10,8 @@ class ShellyDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
10
10
|
constructor(pInfo, pType) {
|
|
11
11
|
super(pInfo, pType);
|
|
12
12
|
this._lastUpdate = new Date(0);
|
|
13
|
-
this.stateMap = new Map();
|
|
14
13
|
}
|
|
14
|
+
/** @inheritDoc */
|
|
15
15
|
update(idSplit, state, initial = false, pOverride = false) {
|
|
16
16
|
this.log(models_1.LogLevel.DeepTrace, `Shelly: ${initial ? 'Initiales ' : ''}Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
17
17
|
if (!pOverride) {
|
|
@@ -29,6 +29,7 @@ class ShellyDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
/** @inheritDoc */
|
|
32
33
|
dispose() {
|
|
33
34
|
// Nothing yet
|
|
34
35
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ShellyDevice } from './shellyDevice';
|
|
3
|
-
import { iHeater } from '../baseDeviceInterfaces';
|
|
4
|
-
import { HeaterSettings } from '../../../models';
|
|
3
|
+
import { iBatteryDevice, iHeater } from '../baseDeviceInterfaces';
|
|
4
|
+
import { BatteryLevelChangeAction, HeaterSettings } from '../../../models';
|
|
5
5
|
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
6
|
-
export declare class ShellyTrv extends ShellyDevice implements iHeater {
|
|
6
|
+
export declare class ShellyTrv extends ShellyDevice implements iHeater, iBatteryDevice {
|
|
7
|
+
/** @inheritDoc */
|
|
7
8
|
settings: HeaterSettings;
|
|
8
|
-
|
|
9
|
+
/** @inheritDoc */
|
|
9
10
|
readonly persistHeaterInterval: NodeJS.Timeout;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
protected _seasonTurnOff: boolean;
|
|
12
|
+
protected _roomTemperature: number;
|
|
12
13
|
private _automaticMode;
|
|
13
14
|
private _battery;
|
|
14
15
|
private _iAutomaticInterval;
|
|
@@ -29,34 +30,53 @@ export declare class ShellyTrv extends ShellyDevice implements iHeater {
|
|
|
29
30
|
private readonly _setEnableExternalTempId;
|
|
30
31
|
private readonly _setPointTemperaturID;
|
|
31
32
|
private readonly _valvePosId;
|
|
33
|
+
private _lastBatteryLevel;
|
|
34
|
+
private _batteryLevelCallbacks;
|
|
32
35
|
constructor(pInfo: IoBrokerDeviceInfo);
|
|
33
|
-
|
|
36
|
+
/** @inheritDoc */
|
|
37
|
+
get lastBatteryPersist(): number;
|
|
38
|
+
/** @inheritDoc */
|
|
39
|
+
get battery(): number;
|
|
40
|
+
get minimumLevel(): number;
|
|
41
|
+
/** @inheritDoc */
|
|
34
42
|
get seasonTurnOff(): boolean;
|
|
43
|
+
/** @inheritDoc */
|
|
35
44
|
set seasonTurnOff(value: boolean);
|
|
45
|
+
/** @inheritDoc */
|
|
36
46
|
get desiredTemperature(): number;
|
|
47
|
+
/** @inheritDoc */
|
|
37
48
|
set desiredTemperature(val: number);
|
|
38
|
-
|
|
39
|
-
get humidity(): number;
|
|
40
|
-
get sLevel(): string;
|
|
49
|
+
/** @inheritDoc */
|
|
41
50
|
get iLevel(): number;
|
|
42
|
-
|
|
51
|
+
/** @inheritDoc */
|
|
43
52
|
get iTemperature(): number;
|
|
44
|
-
|
|
53
|
+
/** @inheritDoc */
|
|
45
54
|
get roomTemperature(): number;
|
|
46
|
-
set roomTemperatur(
|
|
55
|
+
private set roomTemperatur(value);
|
|
56
|
+
/** @inheritDoc */
|
|
57
|
+
addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
|
|
58
|
+
/** @inheritDoc */
|
|
47
59
|
checkAutomaticChange(): void;
|
|
48
|
-
|
|
60
|
+
/** @inheritDoc */
|
|
49
61
|
onTemperaturChange(newTemperatur: number): void;
|
|
62
|
+
/** @inheritDoc */
|
|
50
63
|
persistHeater(): void;
|
|
64
|
+
/** @inheritDoc */
|
|
51
65
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
52
|
-
|
|
53
|
-
private checkSeasonTurnOff;
|
|
66
|
+
/** @inheritDoc */
|
|
54
67
|
persistBatteryDevice(): void;
|
|
68
|
+
/** @inheritDoc */
|
|
55
69
|
dispose(): void;
|
|
56
|
-
|
|
70
|
+
protected getNextPidLevel(): number;
|
|
71
|
+
private checkSeasonTurnOff;
|
|
72
|
+
private recalcLevel;
|
|
57
73
|
private setMode;
|
|
58
74
|
private setExternalTemperature;
|
|
59
75
|
private setExternalTemperatureEnabled;
|
|
60
76
|
private setValve;
|
|
61
77
|
private setMinimumLevel;
|
|
78
|
+
/**
|
|
79
|
+
* Checks whether the battery level did change and if so fires the callbacks
|
|
80
|
+
*/
|
|
81
|
+
private checkForBatteryChange;
|
|
62
82
|
}
|
|
@@ -9,21 +9,16 @@ const liquid_pid_1 = require("../../../liquid-pid");
|
|
|
9
9
|
const deviceType_1 = require("../deviceType");
|
|
10
10
|
const DeviceCapability_1 = require("../DeviceCapability");
|
|
11
11
|
class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
12
|
-
get lastBatteryPersist() {
|
|
13
|
-
return this._lastBatteryPersist;
|
|
14
|
-
}
|
|
15
|
-
get battery() {
|
|
16
|
-
return this._battery;
|
|
17
|
-
}
|
|
18
|
-
get minimumLevel() {
|
|
19
|
-
return this._minimumValveLevel;
|
|
20
|
-
}
|
|
21
12
|
constructor(pInfo) {
|
|
22
13
|
super(pInfo, deviceType_1.DeviceType.ShellyTrv);
|
|
14
|
+
/** @inheritDoc */
|
|
23
15
|
this.settings = new models_1.HeaterSettings();
|
|
16
|
+
/** @inheritDoc */
|
|
24
17
|
this.persistHeaterInterval = services_1.Utils.guardedInterval(() => {
|
|
25
18
|
this.persistHeater();
|
|
26
19
|
}, 5 * 60 * 1000, this, false);
|
|
20
|
+
this._seasonTurnOff = false;
|
|
21
|
+
this._roomTemperature = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
27
22
|
this._automaticMode = false;
|
|
28
23
|
this._battery = -99;
|
|
29
24
|
this._initialSeasonCheckDone = false;
|
|
@@ -46,9 +41,8 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
46
41
|
Kd: 9, // PID: Kd in 1/1000
|
|
47
42
|
});
|
|
48
43
|
this._lastBatteryPersist = 0;
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
51
|
-
this._roomTemperature = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
|
|
44
|
+
this._lastBatteryLevel = -1;
|
|
45
|
+
this._batteryLevelCallbacks = [];
|
|
52
46
|
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.heater);
|
|
53
47
|
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
|
|
54
48
|
this._setAutomaticModeId = `${this.info.fullID}.tmp.automaticTemperatureControl`;
|
|
@@ -62,9 +56,22 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
62
56
|
this.checkSeasonTurnOff();
|
|
63
57
|
}, 0, 2, 0));
|
|
64
58
|
}
|
|
59
|
+
/** @inheritDoc */
|
|
60
|
+
get lastBatteryPersist() {
|
|
61
|
+
return this._lastBatteryPersist;
|
|
62
|
+
}
|
|
63
|
+
/** @inheritDoc */
|
|
64
|
+
get battery() {
|
|
65
|
+
return this._battery;
|
|
66
|
+
}
|
|
67
|
+
get minimumLevel() {
|
|
68
|
+
return this._minimumValveLevel;
|
|
69
|
+
}
|
|
70
|
+
/** @inheritDoc */
|
|
65
71
|
get seasonTurnOff() {
|
|
66
72
|
return this._seasonTurnOff;
|
|
67
73
|
}
|
|
74
|
+
/** @inheritDoc */
|
|
68
75
|
set seasonTurnOff(value) {
|
|
69
76
|
this._seasonTurnOff = value;
|
|
70
77
|
if (value) {
|
|
@@ -74,9 +81,11 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
74
81
|
}
|
|
75
82
|
this.setMode(!this.settings.controlByPid);
|
|
76
83
|
}
|
|
84
|
+
/** @inheritDoc */
|
|
77
85
|
get desiredTemperature() {
|
|
78
86
|
return this._desiredTemperatur;
|
|
79
87
|
}
|
|
88
|
+
/** @inheritDoc */
|
|
80
89
|
set desiredTemperature(val) {
|
|
81
90
|
this._desiredTemperatur = val;
|
|
82
91
|
if (this._targetTempVal === val) {
|
|
@@ -88,18 +97,11 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
88
97
|
this.log(models_1.LogLevel.Error, `Temperaturänderung ergab Fehler ${err}.`);
|
|
89
98
|
});
|
|
90
99
|
}
|
|
91
|
-
|
|
92
|
-
return this._humidity;
|
|
93
|
-
}
|
|
94
|
-
get sLevel() {
|
|
95
|
-
return `${this._level * 100}%`;
|
|
96
|
-
}
|
|
100
|
+
/** @inheritDoc */
|
|
97
101
|
get iLevel() {
|
|
98
102
|
return this._level;
|
|
99
103
|
}
|
|
100
|
-
|
|
101
|
-
return `${this.iTemperature}°C`;
|
|
102
|
-
}
|
|
104
|
+
/** @inheritDoc */
|
|
103
105
|
get iTemperature() {
|
|
104
106
|
if (this.settings.useOwnTemperatur) {
|
|
105
107
|
return this._temperatur;
|
|
@@ -108,6 +110,7 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
108
110
|
return this._roomTemperature;
|
|
109
111
|
}
|
|
110
112
|
}
|
|
113
|
+
/** @inheritDoc */
|
|
111
114
|
get roomTemperature() {
|
|
112
115
|
return this._roomTemperature;
|
|
113
116
|
}
|
|
@@ -121,6 +124,11 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
121
124
|
this.recalcLevel();
|
|
122
125
|
}
|
|
123
126
|
}
|
|
127
|
+
/** @inheritDoc */
|
|
128
|
+
addBatteryLevelCallback(pCallback) {
|
|
129
|
+
this._batteryLevelCallbacks.push(pCallback);
|
|
130
|
+
}
|
|
131
|
+
/** @inheritDoc */
|
|
124
132
|
checkAutomaticChange() {
|
|
125
133
|
var _a;
|
|
126
134
|
if (!this._initialSeasonCheckDone) {
|
|
@@ -156,19 +164,16 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
156
164
|
this.desiredTemperature = targetTemperature;
|
|
157
165
|
}
|
|
158
166
|
}
|
|
159
|
-
|
|
160
|
-
if (this._iAutomaticInterval !== undefined) {
|
|
161
|
-
clearInterval(this._iAutomaticInterval);
|
|
162
|
-
this._iAutomaticInterval = undefined;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
167
|
+
/** @inheritDoc */
|
|
165
168
|
onTemperaturChange(newTemperatur) {
|
|
166
169
|
this.roomTemperatur = newTemperatur;
|
|
167
170
|
}
|
|
171
|
+
/** @inheritDoc */
|
|
168
172
|
persistHeater() {
|
|
169
173
|
var _a;
|
|
170
174
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHeater(this);
|
|
171
175
|
}
|
|
176
|
+
/** @inheritDoc */
|
|
172
177
|
update(idSplit, state, initial = false) {
|
|
173
178
|
if (idSplit[3] === 'tmp' && idSplit[4] === 'valvePosition') {
|
|
174
179
|
this.log(models_1.LogLevel.Trace, `Valve position update for ${this.info.customName} to "${state.val}"`);
|
|
@@ -195,30 +200,15 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
195
200
|
}
|
|
196
201
|
else if (idSplit[3] === 'bat' && idSplit[4] === 'value') {
|
|
197
202
|
this._battery = state.val;
|
|
203
|
+
this.checkForBatteryChange();
|
|
198
204
|
this.persistBatteryDevice();
|
|
199
205
|
if (this._battery < 20) {
|
|
200
|
-
this.log(models_1.LogLevel.Warn,
|
|
206
|
+
this.log(models_1.LogLevel.Warn, 'Das Shelly Gerät hat unter 20% Batterie.');
|
|
201
207
|
}
|
|
202
208
|
}
|
|
203
209
|
super.update(idSplit, state, initial, true);
|
|
204
210
|
}
|
|
205
|
-
|
|
206
|
-
if (this.seasonTurnOff || this._roomTemperature < 0) {
|
|
207
|
-
return 0;
|
|
208
|
-
}
|
|
209
|
-
this._pidController.setPoint(this.desiredTemperature);
|
|
210
|
-
const newValue = this._pidController.calculate(this._roomTemperature);
|
|
211
|
-
this.log(models_1.LogLevel.Debug, `New PID Value ${newValue}% (cTemp: ${this._roomTemperature}, dTemp: ${this.desiredTemperature})`);
|
|
212
|
-
return newValue;
|
|
213
|
-
}
|
|
214
|
-
checkSeasonTurnOff() {
|
|
215
|
-
const desiredState = services_1.Utils.beetweenDays(new Date(), this.settings.seasonTurnOffDay, this.settings.seasonTurnOnDay);
|
|
216
|
-
if (desiredState !== this.seasonTurnOff || !this._initialSeasonCheckDone) {
|
|
217
|
-
this.log(models_1.LogLevel.Info, `Switching Seasonal Heating --> New seasonTurnOff: ${desiredState}`);
|
|
218
|
-
this.seasonTurnOff = desiredState;
|
|
219
|
-
}
|
|
220
|
-
this._initialSeasonCheckDone = true;
|
|
221
|
-
}
|
|
211
|
+
/** @inheritDoc */
|
|
222
212
|
persistBatteryDevice() {
|
|
223
213
|
var _a;
|
|
224
214
|
const now = services_1.Utils.nowMS();
|
|
@@ -228,6 +218,7 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
228
218
|
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
|
|
229
219
|
this._lastBatteryPersist = now;
|
|
230
220
|
}
|
|
221
|
+
/** @inheritDoc */
|
|
231
222
|
dispose() {
|
|
232
223
|
if (this.persistHeaterInterval) {
|
|
233
224
|
clearInterval(this.persistHeaterInterval);
|
|
@@ -238,6 +229,23 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
238
229
|
}
|
|
239
230
|
super.dispose();
|
|
240
231
|
}
|
|
232
|
+
getNextPidLevel() {
|
|
233
|
+
if (this.seasonTurnOff || this._roomTemperature < 0) {
|
|
234
|
+
return 0;
|
|
235
|
+
}
|
|
236
|
+
this._pidController.setPoint(this.desiredTemperature);
|
|
237
|
+
const newValue = this._pidController.calculate(this._roomTemperature);
|
|
238
|
+
this.log(models_1.LogLevel.Debug, `New PID Value ${newValue}% (cTemp: ${this._roomTemperature}, dTemp: ${this.desiredTemperature})`);
|
|
239
|
+
return newValue;
|
|
240
|
+
}
|
|
241
|
+
checkSeasonTurnOff() {
|
|
242
|
+
const desiredState = services_1.Utils.beetweenDays(new Date(), this.settings.seasonTurnOffDay, this.settings.seasonTurnOnDay);
|
|
243
|
+
if (desiredState !== this.seasonTurnOff || !this._initialSeasonCheckDone) {
|
|
244
|
+
this.log(models_1.LogLevel.Info, `Switching Seasonal Heating --> New seasonTurnOff: ${desiredState}`);
|
|
245
|
+
this.seasonTurnOff = desiredState;
|
|
246
|
+
}
|
|
247
|
+
this._initialSeasonCheckDone = true;
|
|
248
|
+
}
|
|
241
249
|
recalcLevel() {
|
|
242
250
|
if (this.settings.useOwnTemperatur || this.seasonTurnOff || !this.settings.controlByPid) {
|
|
243
251
|
return;
|
|
@@ -274,5 +282,18 @@ class ShellyTrv extends shellyDevice_1.ShellyDevice {
|
|
|
274
282
|
setMinimumLevel(pidForcedMinimum) {
|
|
275
283
|
this.setState(this._minumumLevelId, pidForcedMinimum);
|
|
276
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Checks whether the battery level did change and if so fires the callbacks
|
|
287
|
+
*/
|
|
288
|
+
checkForBatteryChange() {
|
|
289
|
+
const newLevel = this.battery;
|
|
290
|
+
if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
for (const cb of this._batteryLevelCallbacks) {
|
|
294
|
+
cb(new models_1.BatteryLevelChangeAction(this));
|
|
295
|
+
}
|
|
296
|
+
this._lastBatteryLevel = newLevel;
|
|
297
|
+
}
|
|
277
298
|
}
|
|
278
299
|
exports.ShellyTrv = ShellyTrv;
|
|
@@ -5,8 +5,9 @@ import { DeviceType } from '../deviceType';
|
|
|
5
5
|
export declare class TuyaDevice extends IoBrokerBaseDevice implements iDisposable {
|
|
6
6
|
private _lastUpdate;
|
|
7
7
|
get lastUpdate(): Date;
|
|
8
|
-
stateMap: Map<string, ioBroker.State>;
|
|
9
8
|
constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
|
|
9
|
+
/** @inheritDoc */
|
|
10
10
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
|
|
11
|
+
/** @inheritDoc */
|
|
11
12
|
dispose(): void;
|
|
12
13
|
}
|
|
@@ -10,8 +10,8 @@ class TuyaDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
10
10
|
constructor(pInfo, pType) {
|
|
11
11
|
super(pInfo, pType);
|
|
12
12
|
this._lastUpdate = new Date(0);
|
|
13
|
-
this.stateMap = new Map();
|
|
14
13
|
}
|
|
14
|
+
/** @inheritDoc */
|
|
15
15
|
update(idSplit, state, initial = false, pOverride = false) {
|
|
16
16
|
this.log(models_1.LogLevel.DeepTrace, `Tuya: ${initial ? 'Initiales ' : ''}Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
|
|
17
17
|
if (!pOverride) {
|
|
@@ -29,6 +29,7 @@ class TuyaDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
/** @inheritDoc */
|
|
32
33
|
dispose() {
|
|
33
34
|
// Nothing yet
|
|
34
35
|
}
|
|
@@ -3,6 +3,7 @@ import { GarageDoorOpenerSettings } from '../../../models';
|
|
|
3
3
|
import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
|
|
4
4
|
import { iGarageDoorOpener } from '../baseDeviceInterfaces';
|
|
5
5
|
export declare class TuyaGarageOpener extends TuyaDevice implements iGarageDoorOpener {
|
|
6
|
+
/** @inheritDoc */
|
|
6
7
|
settings: GarageDoorOpenerSettings;
|
|
7
8
|
private readonly _switchId;
|
|
8
9
|
private readonly _doorContactId;
|
|
@@ -10,9 +11,11 @@ export declare class TuyaGarageOpener extends TuyaDevice implements iGarageDoorO
|
|
|
10
11
|
private _switchState;
|
|
11
12
|
get isClosed(): boolean;
|
|
12
13
|
constructor(pInfo: IoBrokerDeviceInfo);
|
|
14
|
+
/** @inheritDoc */
|
|
13
15
|
update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
|
|
14
16
|
open(): void;
|
|
15
17
|
close(): void;
|
|
16
18
|
trigger(): void;
|
|
19
|
+
/** @inheritDoc */
|
|
17
20
|
dispose(): void;
|
|
18
21
|
}
|
|
@@ -11,6 +11,7 @@ class TuyaGarageOpener extends tuyaDevice_1.TuyaDevice {
|
|
|
11
11
|
}
|
|
12
12
|
constructor(pInfo) {
|
|
13
13
|
super(pInfo, deviceType_1.DeviceType.TuyaGarageDoorOpener);
|
|
14
|
+
/** @inheritDoc */
|
|
14
15
|
this.settings = new models_1.GarageDoorOpenerSettings();
|
|
15
16
|
this._isClosed = true;
|
|
16
17
|
this._switchState = false;
|
|
@@ -18,6 +19,7 @@ class TuyaGarageOpener extends tuyaDevice_1.TuyaDevice {
|
|
|
18
19
|
this._switchId = `${this.info.fullID}.1`;
|
|
19
20
|
this._doorContactId = `${this.info.fullID}.3`;
|
|
20
21
|
}
|
|
22
|
+
/** @inheritDoc */
|
|
21
23
|
update(idSplit, state, initial = false) {
|
|
22
24
|
const fullId = idSplit.join('.');
|
|
23
25
|
switch (fullId) {
|
|
@@ -59,6 +61,7 @@ class TuyaGarageOpener extends tuyaDevice_1.TuyaDevice {
|
|
|
59
61
|
trigger() {
|
|
60
62
|
this.setState(this._switchId, !this._switchState);
|
|
61
63
|
}
|
|
64
|
+
/** @inheritDoc */
|
|
62
65
|
dispose() {
|
|
63
66
|
super.dispose();
|
|
64
67
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TvDevice } from './tvDevice';
|
|
2
2
|
import { DeviceType } from '../deviceType';
|
|
3
3
|
export declare class SamsungTv extends TvDevice {
|
|
4
|
+
/** @inheritDoc */
|
|
4
5
|
deviceType: DeviceType;
|
|
5
6
|
private _device;
|
|
6
7
|
constructor(name: string, roomName: string, ip: string, mac: string, token: string);
|
|
@@ -32,6 +32,7 @@ const models_1 = require("../../../models");
|
|
|
32
32
|
class SamsungTv extends tvDevice_1.TvDevice {
|
|
33
33
|
constructor(name, roomName, ip, mac, token) {
|
|
34
34
|
super(name, roomName, ip, tvDeviceType_1.TvDeviceType.Samsung);
|
|
35
|
+
/** @inheritDoc */
|
|
35
36
|
this.deviceType = deviceType_1.DeviceType.SamsungTv;
|
|
36
37
|
this._on = false;
|
|
37
38
|
this._device = new samsung_tv_control_1.default({
|
|
@@ -7,13 +7,19 @@ import { TvDeviceType } from './tvDeviceType';
|
|
|
7
7
|
export declare abstract class TvDevice implements iTvDevice {
|
|
8
8
|
ip: string;
|
|
9
9
|
tvDeviceType: TvDeviceType;
|
|
10
|
+
/** @inheritDoc */
|
|
10
11
|
settings: TvSettings;
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
11
15
|
room: RoomBase | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* @inheritDoc
|
|
18
|
+
*/
|
|
12
19
|
deviceCapabilities: DeviceCapability[];
|
|
13
20
|
protected constructor(name: string, roomName: string, ip: string, tvDeviceType: TvDeviceType);
|
|
14
21
|
protected _info: DeviceInfo;
|
|
15
22
|
get info(): DeviceInfo;
|
|
16
|
-
set info(info: DeviceInfo);
|
|
17
23
|
abstract get deviceType(): DeviceType;
|
|
18
24
|
get name(): string;
|
|
19
25
|
get id(): string;
|
|
@@ -13,7 +13,11 @@ class TvDevice {
|
|
|
13
13
|
constructor(name, roomName, ip, tvDeviceType) {
|
|
14
14
|
this.ip = ip;
|
|
15
15
|
this.tvDeviceType = tvDeviceType;
|
|
16
|
+
/** @inheritDoc */
|
|
16
17
|
this.settings = new models_1.TvSettings();
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
17
21
|
this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.tv];
|
|
18
22
|
this._info = new devices_1.DeviceInfo();
|
|
19
23
|
this._info.fullName = `TV ${name}`;
|
|
@@ -27,9 +31,6 @@ class TvDevice {
|
|
|
27
31
|
get info() {
|
|
28
32
|
return this._info;
|
|
29
33
|
}
|
|
30
|
-
set info(info) {
|
|
31
|
-
this._info = info;
|
|
32
|
-
}
|
|
33
34
|
get name() {
|
|
34
35
|
return this.info.customName;
|
|
35
36
|
}
|