hoffmation-base 3.0.0-alpha.9 → 3.0.0-alpha.90

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.
Files changed (561) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +28 -25
  3. package/lib/liquid-pid.d.ts +2 -5
  4. package/lib/liquid-pid.js +3 -5
  5. package/lib/models/action/baseAction.d.ts +4 -0
  6. package/lib/models/action/baseAction.js +10 -0
  7. package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
  8. package/lib/models/action/batteryLevelChangeAction.js +14 -0
  9. package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
  10. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  11. package/lib/models/action/index.d.ts +9 -0
  12. package/lib/models/action/index.js +29 -0
  13. package/lib/models/action/motionSensorAction.d.ts +16 -0
  14. package/lib/models/action/motionSensorAction.js +15 -0
  15. package/lib/models/action/presenceGroupAnyMovementAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupAnyMovementAction.js +13 -0
  17. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  18. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  19. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  20. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  21. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  22. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  23. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  24. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  25. package/lib/models/base64Image.d.ts +0 -1
  26. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  27. package/lib/models/blockAutomaticSettings.js +19 -0
  28. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  29. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  30. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  31. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  32. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +11 -2
  33. package/lib/models/command/WindowSetDesiredPositionCommand.js +11 -2
  34. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  35. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  36. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  37. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  38. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  39. package/lib/models/command/actuatorToggleCommand.js +7 -4
  40. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  41. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  42. package/lib/models/command/baseCommand.d.ts +23 -2
  43. package/lib/models/command/baseCommand.js +41 -1
  44. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  45. package/lib/models/command/blockAutomaticCommand.js +40 -0
  46. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  47. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  48. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  49. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  50. package/lib/models/command/commandSource.d.ts +19 -0
  51. package/lib/models/command/commandSource.js +20 -0
  52. package/lib/models/command/commandType.d.ts +11 -0
  53. package/lib/models/command/commandType.js +11 -0
  54. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  55. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  56. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  57. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  58. package/lib/models/command/index.d.ts +3 -0
  59. package/lib/models/command/index.js +7 -1
  60. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  61. package/lib/models/command/lampSetLightCommand.js +15 -4
  62. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  63. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  64. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  65. package/lib/models/command/lampToggleLightCommand.js +7 -6
  66. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  67. package/lib/models/command/ledSetLightCommand.js +27 -17
  68. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  69. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  70. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  71. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  72. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  73. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  74. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  75. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  76. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  77. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  78. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  79. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  80. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  81. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  82. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  83. package/lib/models/command/wledSetLightCommand.js +23 -7
  84. package/lib/models/connectionCallbacks.d.ts +4 -4
  85. package/lib/models/connectionCallbacks.js +1 -0
  86. package/lib/models/deviceConfig.d.ts +3 -3
  87. package/lib/models/deviceSettings/acSettings.d.ts +23 -5
  88. package/lib/models/deviceSettings/acSettings.js +28 -8
  89. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  90. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  91. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  92. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  93. package/lib/models/deviceSettings/dachsSettings.d.ts +37 -1
  94. package/lib/models/deviceSettings/dachsSettings.js +47 -3
  95. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  96. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  97. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  98. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  99. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  100. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  101. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  102. package/lib/models/deviceSettings/handleSettings.js +9 -0
  103. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  104. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  105. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  106. package/lib/models/deviceSettings/ledSettings.js +76 -18
  107. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  108. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  109. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  111. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  112. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  113. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  114. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  115. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +51 -0
  116. package/lib/models/deviceSettings/victronDeviceSettings.js +65 -9
  117. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  118. package/lib/models/deviceSettings/wledSettings.js +37 -13
  119. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  120. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  121. package/lib/models/iIdHolder.d.ts +18 -0
  122. package/lib/models/iJsonOmitKeys.d.ts +9 -0
  123. package/lib/models/index.d.ts +3 -1
  124. package/lib/models/index.js +4 -1
  125. package/lib/models/objectSettings.d.ts +5 -2
  126. package/lib/models/objectSettings.js +2 -2
  127. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  128. package/lib/models/persistence/EnergyCalculation.js +30 -4
  129. package/lib/models/persistence/index.d.ts +0 -2
  130. package/lib/models/persistence/index.js +0 -2
  131. package/lib/models/rooms/RoomBase.d.ts +12 -1
  132. package/lib/models/rooms/RoomBase.js +17 -8
  133. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  134. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  135. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  136. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  137. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  138. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  139. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  140. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  141. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  142. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  143. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  144. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  145. package/lib/models/timeCallback.d.ts +7 -0
  146. package/lib/models/timeCallback.js +16 -6
  147. package/lib/server/config/heatingMode.d.ts +2 -1
  148. package/lib/server/config/heatingMode.js +2 -1
  149. package/lib/server/config/iAsusConfig.d.ts +15 -0
  150. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  151. package/lib/server/config/iBlockAutomaticHandlerDefaults.js +2 -0
  152. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  153. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  154. package/lib/server/config/iConfig.d.ts +94 -6
  155. package/lib/server/config/iDachsSettings.d.ts +16 -0
  156. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  157. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  158. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  159. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  160. package/lib/server/config/iGoveeSettings.js +2 -0
  161. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  162. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  163. package/lib/server/config/iLogSettings.d.ts +40 -1
  164. package/lib/server/config/iMp3Settings.d.ts +10 -0
  165. package/lib/server/config/iMuellSettings.d.ts +7 -0
  166. package/lib/server/config/iNewsSettings.d.ts +13 -0
  167. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  168. package/lib/server/config/iPollySettings.d.ts +22 -0
  169. package/lib/server/config/iRestSettings.d.ts +10 -0
  170. package/lib/server/config/iSonosSettings.d.ts +14 -0
  171. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  172. package/lib/server/config/iTibberSettings.d.ts +10 -0
  173. package/lib/server/config/iTimePair.d.ts +9 -0
  174. package/lib/server/config/iTimeSettings.d.ts +9 -0
  175. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  176. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  177. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  178. package/lib/server/config/iVictronSettings.d.ts +14 -0
  179. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  180. package/lib/server/config/index.d.ts +2 -0
  181. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  182. package/lib/server/devices/DeviceCapability.js +1 -0
  183. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  184. package/lib/server/devices/DeviceInfo.js +6 -0
  185. package/lib/server/devices/Griffe.js +1 -2
  186. package/lib/server/devices/Heizgruppen.js +2 -2
  187. package/lib/server/devices/IoBrokerBaseDevice.d.ts +38 -20
  188. package/lib/server/devices/IoBrokerBaseDevice.js +40 -22
  189. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +8 -6
  190. package/lib/server/devices/IoBrokerDeviceInfo.js +50 -46
  191. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  192. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  193. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  194. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +15 -7
  195. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  196. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  198. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  199. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  200. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  201. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  202. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +34 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -5
  204. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +19 -4
  205. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  207. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  209. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  210. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  212. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  213. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -2
  214. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  215. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  216. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  217. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +30 -5
  218. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  219. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  220. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  221. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  222. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  223. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  224. package/lib/server/devices/button/button.d.ts +0 -1
  225. package/lib/server/devices/button/button.js +0 -4
  226. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  227. package/lib/server/devices/button/buttonCallback.js +10 -0
  228. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  229. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  230. package/lib/server/devices/button/index.d.ts +1 -0
  231. package/lib/server/devices/button/index.js +3 -0
  232. package/lib/server/devices/dachs/dachs.d.ts +51 -11
  233. package/lib/server/devices/dachs/dachs.js +136 -23
  234. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +23 -10
  235. package/lib/server/devices/dachs/dachsTemperatureSensor.js +28 -32
  236. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  237. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  238. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  239. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  240. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  241. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  242. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  243. package/lib/server/devices/device-cluster.d.ts +4 -1
  244. package/lib/server/devices/device-cluster.js +9 -4
  245. package/lib/server/devices/deviceType.d.ts +6 -0
  246. package/lib/server/devices/deviceType.js +6 -0
  247. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  248. package/lib/server/devices/deviceUpdater.js +26 -4
  249. package/lib/server/devices/devices.d.ts +53 -7
  250. package/lib/server/devices/devices.js +83 -19
  251. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  252. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  253. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  254. package/lib/server/devices/espresense/espresenseDevice.js +29 -5
  255. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  256. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  257. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  258. package/lib/server/devices/espresense/trilateration.js +7 -0
  259. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  260. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  261. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  262. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  263. package/lib/server/devices/groups/Window.d.ts +16 -6
  264. package/lib/server/devices/groups/Window.js +31 -14
  265. package/lib/server/devices/groups/base-group.d.ts +4 -0
  266. package/lib/server/devices/groups/base-group.js +3 -0
  267. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  268. package/lib/server/devices/groups/heatGroup.js +11 -11
  269. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  270. package/lib/server/devices/groups/lightGroup.js +20 -39
  271. package/lib/server/devices/groups/presenceGroup.d.ts +17 -6
  272. package/lib/server/devices/groups/presenceGroup.js +73 -63
  273. package/lib/server/devices/groups/tasterGroup.js +18 -9
  274. package/lib/server/devices/groups/windowGroup.d.ts +16 -1
  275. package/lib/server/devices/groups/windowGroup.js +24 -9
  276. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  277. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  278. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  279. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  280. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  281. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  282. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +23 -18
  283. package/lib/server/devices/hmIPDevices/hmIpGriff.js +39 -140
  284. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +29 -18
  285. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +51 -74
  286. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +6 -6
  287. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +8 -20
  288. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  289. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  290. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -10
  291. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +12 -22
  292. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  293. package/lib/server/devices/hmIPDevices/hmIpRoll.js +27 -25
  294. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +19 -5
  295. package/lib/server/devices/hmIPDevices/hmIpTaster.js +16 -19
  296. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +5 -5
  297. package/lib/server/devices/hmIPDevices/hmIpTherm.js +8 -20
  298. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  299. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  300. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  301. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  302. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  303. package/lib/server/devices/index.d.ts +8 -2
  304. package/lib/server/devices/index.js +11 -2
  305. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  306. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  307. package/lib/server/devices/models/WindowPosition.d.ts +3 -3
  308. package/lib/server/devices/models/WindowPosition.js +3 -3
  309. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  310. package/lib/server/devices/nameAmountValuePair.js +10 -0
  311. package/lib/server/devices/scene/room-scene.d.ts +23 -7
  312. package/lib/server/devices/scene/room-scene.js +18 -4
  313. package/lib/server/devices/sharedFunctions/battery.d.ts +31 -0
  314. package/lib/server/devices/sharedFunctions/battery.js +65 -0
  315. package/lib/server/devices/sharedFunctions/handleSensor.d.ts +45 -0
  316. package/lib/server/devices/sharedFunctions/handleSensor.js +150 -0
  317. package/lib/server/devices/sharedFunctions/humiditySensor.d.ts +18 -0
  318. package/lib/server/devices/sharedFunctions/humiditySensor.js +46 -0
  319. package/lib/server/devices/sharedFunctions/index.d.ts +4 -0
  320. package/lib/server/devices/sharedFunctions/index.js +4 -0
  321. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  322. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  323. package/lib/server/devices/sharedFunctions/temperatureSensor.d.ts +31 -0
  324. package/lib/server/devices/sharedFunctions/temperatureSensor.js +57 -0
  325. package/lib/server/devices/shelly/index.d.ts +1 -0
  326. package/lib/server/devices/shelly/index.js +3 -1
  327. package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
  328. package/lib/server/devices/shelly/shellyActuator.js +84 -0
  329. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  330. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  331. package/lib/server/devices/shelly/shellyTrv.d.ts +27 -19
  332. package/lib/server/devices/shelly/shellyTrv.js +39 -52
  333. package/lib/server/devices/smartGarden/index.d.ts +6 -0
  334. package/lib/server/devices/smartGarden/index.js +22 -0
  335. package/lib/server/devices/smartGarden/smartGardenDevice.d.ts +21 -0
  336. package/lib/server/devices/smartGarden/smartGardenDevice.js +63 -0
  337. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.d.ts +9 -0
  338. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.js +13 -0
  339. package/lib/server/devices/smartGarden/smartGardenMower.d.ts +35 -0
  340. package/lib/server/devices/smartGarden/smartGardenMower.js +107 -0
  341. package/lib/server/devices/smartGarden/smartGardenSensor.d.ts +32 -0
  342. package/lib/server/devices/smartGarden/smartGardenSensor.js +76 -0
  343. package/lib/server/devices/smartGarden/smartGardenService.d.ts +7 -0
  344. package/lib/server/devices/smartGarden/smartGardenService.js +52 -0
  345. package/lib/server/devices/smartGarden/smartGardenValve.d.ts +36 -0
  346. package/lib/server/devices/smartGarden/smartGardenValve.js +105 -0
  347. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  348. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  349. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  350. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  351. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  352. package/lib/server/devices/tv/samsungTv.js +1 -0
  353. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  354. package/lib/server/devices/tv/tvDevice.js +4 -3
  355. package/lib/server/devices/velux/index.d.ts +4 -0
  356. package/lib/server/devices/velux/index.js +11 -0
  357. package/lib/server/devices/velux/veluxDevice.d.ts +13 -0
  358. package/lib/server/devices/velux/veluxDevice.js +43 -0
  359. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.d.ts +9 -0
  360. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.js +13 -0
  361. package/lib/server/devices/velux/veluxService.d.ts +7 -0
  362. package/lib/server/devices/velux/veluxService.js +44 -0
  363. package/lib/server/devices/velux/veluxShutter.d.ts +27 -0
  364. package/lib/server/devices/velux/veluxShutter.js +124 -0
  365. package/lib/server/devices/wledDevice.d.ts +15 -3
  366. package/lib/server/devices/wledDevice.js +42 -16
  367. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  368. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  369. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +2 -0
  370. package/lib/server/devices/zigbee/BaseDevices/index.js +5 -0
  371. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  372. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +8 -17
  373. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  374. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -60
  375. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +23 -13
  376. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +34 -41
  377. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  378. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  379. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
  380. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
  381. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +16 -8
  382. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +25 -28
  383. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +20 -16
  384. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +35 -45
  385. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
  386. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +30 -21
  387. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  388. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  389. package/lib/server/devices/zigbee/BaseDevices/zigbeeWindowHandle.d.ts +36 -0
  390. package/lib/server/devices/zigbee/BaseDevices/zigbeeWindowHandle.js +82 -0
  391. package/lib/server/devices/zigbee/index.d.ts +1 -0
  392. package/lib/server/devices/zigbee/index.js +1 -0
  393. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  394. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  395. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  396. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  397. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  398. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  399. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +47 -12
  400. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +87 -33
  401. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +16 -9
  402. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +27 -37
  403. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  404. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  405. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  406. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  407. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +24 -10
  408. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +33 -29
  409. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  410. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  411. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  412. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  413. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  414. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  415. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  416. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  417. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  418. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  419. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  420. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  421. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  422. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  423. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  424. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  425. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  426. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  427. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  428. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  429. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  430. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  431. package/lib/server/devices/zigbee/zigbeeSodaHandle.d.ts +34 -0
  432. package/lib/server/devices/zigbee/zigbeeSodaHandle.js +96 -0
  433. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  434. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  435. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +24 -19
  436. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +38 -74
  437. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  438. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  439. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  440. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  441. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  442. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  443. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  444. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  445. package/lib/server/ioBroker/connection.d.ts +21 -22
  446. package/lib/server/ioBroker/connection.js +50 -33
  447. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  448. package/lib/server/ioBroker/ioBroker.main.js +12 -5
  449. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  450. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  451. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  452. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  453. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  454. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  455. package/lib/server/services/ShutterService.js +7 -6
  456. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  457. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  458. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  459. package/lib/server/services/Sonos/mp3-server.js +3 -1
  460. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  461. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  462. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  463. package/lib/server/services/Sonos/polly-service.js +10 -8
  464. package/lib/server/services/Sonos/sonos-service.d.ts +1 -5
  465. package/lib/server/services/Sonos/sonos-service.js +19 -18
  466. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  467. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  468. package/lib/server/services/Telegram/telegram-service.js +8 -3
  469. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  470. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  471. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  472. package/lib/server/services/Translation/index.d.ts +1 -0
  473. package/lib/server/services/Translation/res.d.ts +34 -19
  474. package/lib/server/services/Translation/res.js +34 -19
  475. package/lib/server/services/ac/ac-device.d.ts +50 -9
  476. package/lib/server/services/ac/ac-device.js +121 -41
  477. package/lib/server/services/ac/daikin-service.js +4 -3
  478. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  479. package/lib/server/services/ac/own-ac-devices.js +3 -0
  480. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  481. package/lib/server/services/ac/own-daikin-device.js +40 -7
  482. package/lib/server/services/api/api-service.d.ts +118 -53
  483. package/lib/server/services/api/api-service.js +170 -80
  484. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  485. package/lib/server/services/blockAutomaticHandler.js +34 -15
  486. package/lib/server/services/calendar/index.d.ts +1 -0
  487. package/lib/server/services/calendar/index.js +3 -0
  488. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  489. package/lib/server/services/calendar/muell-tonne.js +10 -0
  490. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  491. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  492. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  493. package/lib/server/services/calendar/name-date-pair.js +10 -0
  494. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  495. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  496. package/lib/server/services/dbo/postgreSqlPersist.js +29 -6
  497. package/lib/server/services/file-info.d.ts +5 -0
  498. package/lib/server/services/file-info.js +10 -0
  499. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  500. package/lib/server/services/govee/govee-device-data.js +2 -0
  501. package/lib/server/services/govee/govee-service.d.ts +7 -9
  502. package/lib/server/services/govee/govee-service.js +73 -48
  503. package/lib/server/services/govee/own-govee-device.d.ts +20 -17
  504. package/lib/server/services/govee/own-govee-device.js +72 -58
  505. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  506. package/lib/server/services/govee/own-govee-devices.js +3 -0
  507. package/lib/server/services/https-service.d.ts +3 -2
  508. package/lib/server/services/https-service.js +4 -3
  509. package/lib/server/services/index.d.ts +1 -0
  510. package/lib/server/services/index.js +3 -0
  511. package/lib/server/services/log-service/index.d.ts +1 -0
  512. package/lib/server/services/log-service/index.js +3 -0
  513. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  514. package/lib/server/services/log-service/log-debug-type.js +17 -0
  515. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  516. package/lib/server/services/log-service/log-filter-data.js +6 -15
  517. package/lib/server/services/log-service/log-service.d.ts +17 -4
  518. package/lib/server/services/log-service/log-service.js +30 -17
  519. package/lib/server/services/news-service.d.ts +9 -7
  520. package/lib/server/services/news-service.js +14 -15
  521. package/lib/server/services/room-service/room-service.d.ts +20 -4
  522. package/lib/server/services/room-service/room-service.js +26 -10
  523. package/lib/server/services/settings-service.d.ts +6 -2
  524. package/lib/server/services/settings-service.js +3 -2
  525. package/lib/server/services/time-callback-service.js +1 -1
  526. package/lib/server/services/utils/RGB.d.ts +6 -0
  527. package/lib/server/services/utils/RGB.js +11 -0
  528. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  529. package/lib/server/services/utils/catchEmResult.js +10 -0
  530. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  531. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  532. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  533. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  534. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  535. package/lib/server/services/utils/index.d.ts +4 -1
  536. package/lib/server/services/utils/index.js +8 -1
  537. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  538. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  539. package/lib/server/services/utils/utils.d.ts +9 -14
  540. package/lib/server/services/utils/utils.js +5 -1
  541. package/lib/server/services/victron/victron-device.d.ts +21 -10
  542. package/lib/server/services/victron/victron-device.js +69 -25
  543. package/lib/server/services/weather/index.d.ts +2 -0
  544. package/lib/server/services/weather/index.js +3 -0
  545. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  546. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  547. package/lib/server/services/weather/weather-current.d.ts +0 -2
  548. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  549. package/lib/server/services/weather/weather-response.d.ts +16 -0
  550. package/lib/server/services/weather/weather-response.js +2 -0
  551. package/lib/server/services/weather/weather-service.d.ts +16 -18
  552. package/lib/server/services/weather/weather-service.js +39 -24
  553. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  554. package/lib/tsconfig.tsbuildinfo +1 -1
  555. package/package.json +31 -31
  556. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  557. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  558. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  559. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  560. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  561. /package/lib/models/{iTemperaturDataPoint.js → iJsonOmitKeys.js} +0 -0
@@ -0,0 +1,36 @@
1
+ import { SmartGardenDevice } from './smartGardenDevice';
2
+ import { iActuator } from '../baseDeviceInterfaces';
3
+ import { ActuatorSetStateCommand, ActuatorSettings, ActuatorToggleCommand, ActuatorWriteStateToDeviceCommand, RestoreTargetAutomaticValueCommand } from '../../../models';
4
+ import { BlockAutomaticHandler } from '../../services/blockAutomaticHandler';
5
+ import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
6
+ export declare class SmartGardenValve extends SmartGardenDevice implements iActuator {
7
+ /** @inheritDoc */
8
+ readonly blockAutomationHandler: BlockAutomaticHandler;
9
+ /** @inheritDoc */
10
+ targetAutomaticState: boolean;
11
+ /** @inheritDoc */
12
+ settings: ActuatorSettings;
13
+ /** @inheritDoc */
14
+ queuedValue: boolean | null;
15
+ private _lastPersist;
16
+ private readonly _durationValueStateId;
17
+ private readonly _stopAllValvesStateId;
18
+ private _actuatorOn;
19
+ constructor(pInfo: IoBrokerDeviceInfo);
20
+ /** @inheritDoc */
21
+ get actuatorOn(): boolean;
22
+ /** @inheritDoc */
23
+ restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
24
+ /** @inheritDoc */
25
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
26
+ /** @inheritDoc */
27
+ setActuator(command: ActuatorSetStateCommand): void;
28
+ /** @inheritDoc */
29
+ persist(): void;
30
+ /** @inheritDoc */
31
+ toggleActuator(command: ActuatorToggleCommand): boolean;
32
+ /** @inheritDoc */
33
+ writeActuatorStateToDevice(c: ActuatorWriteStateToDeviceCommand): void;
34
+ private stopIrrigation;
35
+ private irrigate;
36
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartGardenValve = void 0;
4
+ const smartGardenDevice_1 = require("./smartGardenDevice");
5
+ const models_1 = require("../../../models");
6
+ const blockAutomaticHandler_1 = require("../../services/blockAutomaticHandler");
7
+ const deviceType_1 = require("../deviceType");
8
+ const DeviceCapability_1 = require("../DeviceCapability");
9
+ const sharedFunctions_1 = require("../sharedFunctions");
10
+ const services_1 = require("../../services");
11
+ // TODO: Add iValve interface and DeviceCapability
12
+ class SmartGardenValve extends smartGardenDevice_1.SmartGardenDevice {
13
+ constructor(pInfo) {
14
+ super(pInfo, deviceType_1.DeviceType.SmartGardenValve);
15
+ /** @inheritDoc */
16
+ this.targetAutomaticState = false;
17
+ /** @inheritDoc */
18
+ this.settings = new models_1.ActuatorSettings();
19
+ /** @inheritDoc */
20
+ this.queuedValue = null;
21
+ this._lastPersist = 0;
22
+ this._actuatorOn = false;
23
+ this._durationValueStateId = `${pInfo.fullID}.SERVICE_VALVE_${this._deviceSerial}.duration_value`;
24
+ this._stopAllValvesStateId = `${pInfo.fullID}.SERVICE_VALVE_SET_${this._deviceSerial}.stop_all_valves_i`;
25
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
26
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.blockAutomatic);
27
+ this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
28
+ }
29
+ /** @inheritDoc */
30
+ get actuatorOn() {
31
+ return this._actuatorOn;
32
+ }
33
+ /** @inheritDoc */
34
+ restoreTargetAutomaticValue(c) {
35
+ this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState));
36
+ }
37
+ /** @inheritDoc */
38
+ update(idSplit, state, initial = false) {
39
+ this.queuedValue = null;
40
+ super.update(idSplit, state, initial, true);
41
+ if (idSplit.length < 6) {
42
+ return;
43
+ }
44
+ const folder = idSplit[4];
45
+ const stateName = idSplit[5];
46
+ if (folder.indexOf('SERVICE_VALVE') === 0) {
47
+ switch (stateName) {
48
+ case 'activity_value':
49
+ this._actuatorOn = state.val !== 'CLOSED';
50
+ this.persist();
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ /** @inheritDoc */
56
+ setActuator(command) {
57
+ if (this._durationValueStateId === '') {
58
+ this.log(models_1.LogLevel.Error, 'Keine Switch ID bekannt.');
59
+ return;
60
+ }
61
+ sharedFunctions_1.LampUtils.setActuator(this, command);
62
+ }
63
+ /** @inheritDoc */
64
+ persist() {
65
+ var _a;
66
+ const now = services_1.Utils.nowMS();
67
+ if (this._lastPersist + 1000 > now) {
68
+ return;
69
+ }
70
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
71
+ this._lastPersist = now;
72
+ }
73
+ /** @inheritDoc */
74
+ toggleActuator(command) {
75
+ const newVal = this.queuedValue !== null ? !this.queuedValue : !this._actuatorOn;
76
+ const setStateCommand = models_1.ActuatorSetStateCommand.byActuatorAndToggleCommand(this, command);
77
+ this.setActuator(setStateCommand);
78
+ return newVal;
79
+ }
80
+ /** @inheritDoc */
81
+ writeActuatorStateToDevice(c) {
82
+ if (!c.stateValue) {
83
+ this.stopIrrigation();
84
+ return;
85
+ }
86
+ // TODO: Add settings for duration
87
+ this.irrigate(15 * 60);
88
+ }
89
+ stopIrrigation() {
90
+ this.log(models_1.LogLevel.Info, 'Stopping irrigation until next task');
91
+ this.setState(this._stopAllValvesStateId, 'STOP_UNTIL_NEXT_TASK', undefined, (err) => {
92
+ this.log(models_1.LogLevel.Error, `Stopping irrigation immediately resulted in error: ${err}`);
93
+ });
94
+ this.setState(this._durationValueStateId, 'STOP_UNTIL_NEXT_TASK', undefined, (err) => {
95
+ this.log(models_1.LogLevel.Error, `Prevent irrigation restart resulted in error: ${err}`);
96
+ });
97
+ }
98
+ irrigate(durationInSeconds) {
99
+ this.log(models_1.LogLevel.Info, `Start irrigation for ${durationInSeconds} seconds`);
100
+ this.setState(this._durationValueStateId, durationInSeconds.toString(10), undefined, (err) => {
101
+ this.log(models_1.LogLevel.Error, `Starting irrigation resulted in error: ${err}`);
102
+ });
103
+ }
104
+ }
105
+ exports.SmartGardenValve = SmartGardenValve;
@@ -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
  }
@@ -0,0 +1,4 @@
1
+ export { VeluxDevice } from './veluxDevice';
2
+ export { VeluxShutter } from './veluxShutter';
3
+ export { VeluxDeviceRegistrationInfo } from './veluxDeviceRegistrationInfo';
4
+ export { VeluxService } from './veluxService';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VeluxService = exports.VeluxDeviceRegistrationInfo = exports.VeluxShutter = exports.VeluxDevice = void 0;
4
+ var veluxDevice_1 = require("./veluxDevice");
5
+ Object.defineProperty(exports, "VeluxDevice", { enumerable: true, get: function () { return veluxDevice_1.VeluxDevice; } });
6
+ var veluxShutter_1 = require("./veluxShutter");
7
+ Object.defineProperty(exports, "VeluxShutter", { enumerable: true, get: function () { return veluxShutter_1.VeluxShutter; } });
8
+ var veluxDeviceRegistrationInfo_1 = require("./veluxDeviceRegistrationInfo");
9
+ Object.defineProperty(exports, "VeluxDeviceRegistrationInfo", { enumerable: true, get: function () { return veluxDeviceRegistrationInfo_1.VeluxDeviceRegistrationInfo; } });
10
+ var veluxService_1 = require("./veluxService");
11
+ Object.defineProperty(exports, "VeluxService", { enumerable: true, get: function () { return veluxService_1.VeluxService; } });
@@ -0,0 +1,13 @@
1
+ import { IoBrokerBaseDevice } from '../IoBrokerBaseDevice';
2
+ import { iDisposable } from '../../services';
3
+ import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
4
+ import { DeviceType } from '../deviceType';
5
+ export declare class VeluxDevice extends IoBrokerBaseDevice implements iDisposable {
6
+ private _lastUpdate;
7
+ constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
8
+ get lastUpdate(): Date;
9
+ /** @inheritDoc */
10
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
11
+ /** @inheritDoc */
12
+ dispose(): void;
13
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VeluxDevice = void 0;
4
+ const IoBrokerBaseDevice_1 = require("../IoBrokerBaseDevice");
5
+ const DeviceCapability_1 = require("../DeviceCapability");
6
+ const models_1 = require("../../../models");
7
+ class VeluxDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
8
+ constructor(pInfo, pType) {
9
+ super(pInfo, pType);
10
+ this._lastUpdate = new Date(0);
11
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
12
+ }
13
+ get lastUpdate() {
14
+ return this._lastUpdate;
15
+ }
16
+ /** @inheritDoc */
17
+ update(idSplit, state, initial = false, pOverride = false) {
18
+ this.log(models_1.LogLevel.DeepTrace, `Velux: ${initial ? 'Initiales ' : ''}Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
19
+ if (!pOverride) {
20
+ this.log(models_1.LogLevel.Warn, `Keine Update Überschreibung:\n\tID: ${idSplit.join('.')}\n\tData: ${JSON.stringify(state)}`);
21
+ }
22
+ const stateLastUpdate = new Date(state.ts);
23
+ if (stateLastUpdate > this._lastUpdate) {
24
+ this._lastUpdate = stateLastUpdate;
25
+ }
26
+ if (idSplit.length < 5) {
27
+ return;
28
+ }
29
+ const stateName = idSplit[4];
30
+ this.stateMap.set(stateName, state);
31
+ const individualCallbacks = this.individualStateCallbacks.get(stateName);
32
+ if (individualCallbacks !== undefined) {
33
+ for (const cb of individualCallbacks) {
34
+ cb(state.val);
35
+ }
36
+ }
37
+ }
38
+ /** @inheritDoc */
39
+ dispose() {
40
+ // Nothing yet
41
+ }
42
+ }
43
+ exports.VeluxDevice = VeluxDevice;
@@ -0,0 +1,9 @@
1
+ import { DeviceType } from '../deviceType';
2
+ export declare class VeluxDeviceRegistrationInfo {
3
+ readonly deviceType: DeviceType;
4
+ readonly deviceId: string;
5
+ readonly deviceName: string;
6
+ readonly room: string;
7
+ readonly roomIndex: number;
8
+ constructor(deviceType: DeviceType, deviceId: string, deviceName: string, room: string, roomIndex: number);
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VeluxDeviceRegistrationInfo = void 0;
4
+ class VeluxDeviceRegistrationInfo {
5
+ constructor(deviceType, deviceId, deviceName, room, roomIndex) {
6
+ this.deviceType = deviceType;
7
+ this.deviceId = deviceId;
8
+ this.deviceName = deviceName;
9
+ this.room = room;
10
+ this.roomIndex = roomIndex;
11
+ }
12
+ }
13
+ exports.VeluxDeviceRegistrationInfo = VeluxDeviceRegistrationInfo;
@@ -0,0 +1,7 @@
1
+ import { deviceConfig } from '../../../models';
2
+ import { VeluxDeviceRegistrationInfo } from './veluxDeviceRegistrationInfo';
3
+ export declare class VeluxService {
4
+ private static readonly _registeredDevices;
5
+ static preRegisterDevice(devName: string, registrationInfo: VeluxDeviceRegistrationInfo): void;
6
+ static processVeluxDevice(cDevConf: deviceConfig): void;
7
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VeluxService = void 0;
4
+ const models_1 = require("../../../models");
5
+ const services_1 = require("../../services");
6
+ const IoBrokerDeviceInfo_1 = require("../IoBrokerDeviceInfo");
7
+ const deviceType_1 = require("../deviceType");
8
+ const devices_1 = require("../devices");
9
+ const veluxShutter_1 = require("./veluxShutter");
10
+ class VeluxService {
11
+ static preRegisterDevice(devName, registrationInfo) {
12
+ this._registeredDevices.set(devName, registrationInfo);
13
+ }
14
+ static processVeluxDevice(cDevConf) {
15
+ var _a;
16
+ const devName = (_a = cDevConf.common) === null || _a === void 0 ? void 0 : _a.name;
17
+ if (!devName || typeof devName !== 'string') {
18
+ return;
19
+ }
20
+ const registrationInfo = this._registeredDevices.get(devName);
21
+ if (!registrationInfo) {
22
+ services_1.ServerLogService.writeLog(models_1.LogLevel.Error, `Velux Device ${devName} not registered`);
23
+ return;
24
+ }
25
+ const ioBrokerDeviceInfo = new IoBrokerDeviceInfo_1.IoBrokerDeviceInfo(cDevConf, registrationInfo.deviceId, deviceType_1.DeviceType[registrationInfo.deviceType], registrationInfo.room, registrationInfo.roomIndex);
26
+ const fullName = `${devices_1.Devices.IDENTIFIER_VELUX}-${ioBrokerDeviceInfo.devID}`;
27
+ if (typeof devices_1.Devices.alLDevices[fullName] !== 'undefined') {
28
+ return;
29
+ }
30
+ ioBrokerDeviceInfo.allDevicesKey = fullName;
31
+ let d;
32
+ switch (registrationInfo.deviceType) {
33
+ case deviceType_1.DeviceType.VeluxShutter:
34
+ d = new veluxShutter_1.VeluxShutter(ioBrokerDeviceInfo);
35
+ break;
36
+ default:
37
+ services_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No Velux Device Type for ${registrationInfo.deviceType} defined`);
38
+ return;
39
+ }
40
+ devices_1.Devices.alLDevices[fullName] = d;
41
+ }
42
+ }
43
+ exports.VeluxService = VeluxService;
44
+ VeluxService._registeredDevices = new Map();
@@ -0,0 +1,27 @@
1
+ import { Window } from '../groups';
2
+ import { ShutterSetLevelCommand, ShutterSettings } from '../../../models';
3
+ import { iShutter } from '../baseDeviceInterfaces';
4
+ import { IoBrokerBaseDevice } from '../IoBrokerBaseDevice';
5
+ import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
6
+ import { VeluxDevice } from './veluxDevice';
7
+ export declare class VeluxShutter extends VeluxDevice implements iShutter {
8
+ /** @inheritDoc */
9
+ settings: ShutterSettings;
10
+ private readonly _setLevelSwitchID;
11
+ private _firstCommandRecieved;
12
+ private _setLevel;
13
+ private _setLevelTime;
14
+ private _currentLevel;
15
+ private _window?;
16
+ constructor(pInfo: IoBrokerDeviceInfo);
17
+ get currentLevel(): number;
18
+ get window(): Window | undefined;
19
+ set window(value: Window | undefined);
20
+ get desiredWindowShutterLevel(): number;
21
+ /** @inheritDoc */
22
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
23
+ persist(): void;
24
+ setLevel(command: ShutterSetLevelCommand): void;
25
+ toJSON(): Partial<IoBrokerBaseDevice>;
26
+ private setCurrentLevel;
27
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VeluxShutter = void 0;
7
+ const deviceType_1 = require("../deviceType");
8
+ const services_1 = require("../../services");
9
+ const models_1 = require("../models");
10
+ const models_2 = require("../../../models");
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const DeviceCapability_1 = require("../DeviceCapability");
13
+ const veluxDevice_1 = require("./veluxDevice");
14
+ class VeluxShutter extends veluxDevice_1.VeluxDevice {
15
+ constructor(pInfo) {
16
+ var _a;
17
+ super(pInfo, deviceType_1.DeviceType.VeluxShutter);
18
+ /** @inheritDoc */
19
+ this.settings = new models_2.ShutterSettings();
20
+ this._firstCommandRecieved = false;
21
+ this._setLevel = -1;
22
+ this._setLevelTime = -1;
23
+ this._currentLevel = -1;
24
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.shutter);
25
+ this._setLevelSwitchID = `${this.info.fullID}.targetPosition`;
26
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getLastDesiredPosition(this).then((val) => {
27
+ var _a;
28
+ if (val.desiredPosition === -1) {
29
+ return;
30
+ }
31
+ (_a = this._window) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_2.WindowSetDesiredPositionCommand(models_2.CommandSource.Automatic, val.desiredPosition, 'Found persisted last desired position in DB'));
32
+ });
33
+ }
34
+ get currentLevel() {
35
+ if (this._setLevel !== -1 && this._currentLevel !== this._setLevel) {
36
+ return this._setLevel;
37
+ }
38
+ return this._currentLevel;
39
+ }
40
+ get window() {
41
+ return this._window;
42
+ }
43
+ set window(value) {
44
+ this._window = value;
45
+ }
46
+ get desiredWindowShutterLevel() {
47
+ if (this._window === undefined) {
48
+ return -1;
49
+ }
50
+ return this._window.desiredPosition;
51
+ }
52
+ /** @inheritDoc */
53
+ update(idSplit, state, initial = false) {
54
+ this.log(models_2.LogLevel.DeepTrace, `Rollo Update : ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
55
+ super.update(idSplit, state, initial, true);
56
+ switch (idSplit[4]) {
57
+ case 'currentPosition':
58
+ this.setCurrentLevel(state.val, true);
59
+ break;
60
+ }
61
+ }
62
+ persist() {
63
+ var _a;
64
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistShutter(this);
65
+ }
66
+ setLevel(command) {
67
+ let targetLevel = command.level;
68
+ if (!this._firstCommandRecieved && !command.isInitial) {
69
+ this._firstCommandRecieved = true;
70
+ }
71
+ if (this._firstCommandRecieved && command.isInitial) {
72
+ this.log(models_2.LogLevel.Debug, `Skipped initial Rollo to ${targetLevel} as we recieved a command already`);
73
+ return;
74
+ }
75
+ if (this.currentLevel === targetLevel && !command.isForceAction) {
76
+ this.log(models_2.LogLevel.Debug, `Skip Rollo command to Position ${targetLevel} as this is the current one, commandLog: ${command.logMessage}`, services_1.LogDebugType.SkipUnchangedRolloPosition);
77
+ return;
78
+ }
79
+ if (this._setLevelSwitchID === '') {
80
+ this.log(models_2.LogLevel.Error, 'Keine Switch ID bekannt.');
81
+ return;
82
+ }
83
+ if (!this.checkIoConnection(true)) {
84
+ return;
85
+ }
86
+ this.log(models_2.LogLevel.Debug, command.logMessage);
87
+ if (this._window !== undefined) {
88
+ if (this._window.griffeInPosition(models_1.WindowPosition.open) > 0 && command.level < 100) {
89
+ if (!command.skipOpenWarning) {
90
+ this.log(models_2.LogLevel.Alert, 'Not closing the shutter, as the window is open!');
91
+ }
92
+ return;
93
+ }
94
+ if (this._window.griffeInPosition(models_1.WindowPosition.tilted) > 0 && targetLevel < 50) {
95
+ targetLevel = 50;
96
+ if (!command.skipOpenWarning) {
97
+ this.log(models_2.LogLevel.Alert, 'Not closing the shutter, as the window is half open!');
98
+ }
99
+ }
100
+ }
101
+ this._setLevel = targetLevel;
102
+ this.log(models_2.LogLevel.Debug, `Fahre Rollo auf Position ${targetLevel}`);
103
+ // Level is inverted for Velux Adapter (100 = 0, 0 = 100, 25 = 75, etc.)
104
+ this.setState(this._setLevelSwitchID, Math.abs(targetLevel - 100));
105
+ }
106
+ toJSON() {
107
+ return lodash_1.default.omit(super.toJSON(), ['_window']);
108
+ }
109
+ setCurrentLevel(value, initial = false) {
110
+ let correctedValue = Math.abs(value - 100);
111
+ if (correctedValue !== this._setLevel && services_1.Utils.nowMS() - this._setLevelTime < 60 * 10000) {
112
+ correctedValue = this._setLevel;
113
+ }
114
+ if (correctedValue !== this._currentLevel && this._window && !initial) {
115
+ services_1.Utils.guardedNewThread(() => {
116
+ var _a;
117
+ (_a = this._window) === null || _a === void 0 ? void 0 : _a.rolloPositionChange(new models_2.ShutterPositionChangedAction(this, correctedValue));
118
+ }, this);
119
+ this.persist();
120
+ }
121
+ this._currentLevel = correctedValue;
122
+ }
123
+ }
124
+ exports.VeluxShutter = VeluxShutter;
@@ -4,27 +4,39 @@ import { IoBrokerDeviceInfo } from './IoBrokerDeviceInfo';
4
4
  import { iDimmableLamp } from './baseDeviceInterfaces/iDimmableLamp';
5
5
  import { BlockAutomaticHandler } from '../services/blockAutomaticHandler';
6
6
  export declare class WledDevice extends IoBrokerBaseDevice implements iDimmableLamp {
7
- on: boolean;
7
+ /** @inheritDoc */
8
8
  brightness: number;
9
- battery: number;
9
+ /** @inheritDoc */
10
10
  queuedValue: boolean | null;
11
+ /** @inheritDoc */
11
12
  settings: WledSettings;
13
+ /** @inheritDoc */
12
14
  readonly blockAutomationHandler: BlockAutomaticHandler;
15
+ /** @inheritDoc */
13
16
  targetAutomaticState: boolean;
17
+ private on;
18
+ protected readonly _debounceStateDelay: number;
14
19
  private readonly _onID;
15
20
  private readonly _presetID;
16
21
  private readonly _brightnessID;
17
22
  constructor(pInfo: IoBrokerDeviceInfo);
23
+ /** @inheritDoc */
18
24
  get actuatorOn(): boolean;
19
- get lightOn(): boolean;
25
+ /** @inheritDoc */
20
26
  restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
21
27
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, _pOverride?: boolean): void;
28
+ /** @inheritDoc */
22
29
  setLight(c: DimmerSetLightCommand): void;
23
30
  setWled(c: WledSetLightCommand): void;
24
31
  setTimeBased(c: LampSetTimeBasedCommand): void;
32
+ /** @inheritDoc */
25
33
  persist(): void;
34
+ /** @inheritDoc */
26
35
  setActuator(command: ActuatorSetStateCommand): void;
36
+ /** @inheritDoc */
27
37
  toggleActuator(c: ActuatorToggleCommand): boolean;
38
+ /** @inheritDoc */
28
39
  toggleLight(c: LampToggleLightCommand): boolean;
40
+ /** @inheritDoc */
29
41
  writeActuatorStateToDevice(c: ActuatorWriteStateToDeviceCommand): void;
30
42
  }