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
@@ -1,14 +1,57 @@
1
1
  import { iMotionSensor } from './iMotionSensor';
2
2
  import { CameraSettings } from '../../../models';
3
+ import { iBaseDevice } from './iBaseDevice';
4
+ /**
5
+ * An interface for any device with {@link DeviceCapability.camera} capability
6
+ */
3
7
  export interface iCameraDevice extends iMotionSensor {
8
+ /**
9
+ * The settings of the camera device
10
+ */
4
11
  settings: CameraSettings;
12
+ /**
13
+ * The last image taken by the camera as a base64 encoded string
14
+ */
5
15
  readonly lastImage: string;
16
+ /**
17
+ * The link to access the mpeg stream of the camera
18
+ */
6
19
  readonly mpegStreamLink: string;
20
+ /**
21
+ * The link to access the h264 stream of the camera
22
+ */
7
23
  readonly h264IosStreamLink: string;
24
+ /**
25
+ * The link to access the rtsp stream of the camera
26
+ */
8
27
  readonly rtspStreamLink: string;
28
+ /**
29
+ * The link to obtain a fresh image from the camera
30
+ */
9
31
  readonly currentImageLink: string;
10
- readonly alarmBlockedByGriff: boolean;
11
- readonly alarmBlockedByGriffTimeStamp: number;
12
- onGriffUpdate(open: boolean): void;
32
+ /**
33
+ * Whether the alarm is currently blocked by a certain device (e.g. an open handle for house-to-garden door)
34
+ */
35
+ readonly alarmBlockedByDevices: boolean;
36
+ /**
37
+ * Whether the camera has currently detected a dog
38
+ */
39
+ readonly dogDetected: boolean;
40
+ /**
41
+ * Whether the camera has currently detected a human
42
+ */
43
+ readonly personDetected: boolean;
44
+ /**
45
+ * Inform this camera of a device, which blocks the alarm (or should unlift its block)
46
+ * @param device - The device to block/unblock the alarm for
47
+ * @param block - Whether to block the alarm for the device or lift the block
48
+ */
49
+ blockForDevice(device: iBaseDevice, block: boolean): void;
50
+ /**
51
+ * Inform this camera of state updates within iOBroker
52
+ * TODO: Make camera independent of iOBroker
53
+ * @param idSplit - The id split of the state
54
+ * @param state - The state that has been updated
55
+ */
13
56
  update(idSplit: string[], state: ioBroker.State): void;
14
57
  }
@@ -1,12 +1,27 @@
1
1
  import { iLamp } from './iLamp';
2
2
  import { DimmerSetLightCommand, DimmerSettings, LampToggleLightCommand } from '../../../models';
3
+ /**
4
+ * This interface represents a dimmable lamp device.
5
+ *
6
+ * For devices with {@link DeviceCapability.dimmablelamp} capability.
7
+ */
3
8
  export interface iDimmableLamp extends iLamp {
9
+ /**
10
+ * The settings of the dimmer providing e.g. brightness settings for different times of the day.
11
+ */
4
12
  settings: DimmerSettings;
13
+ /**
14
+ * The current brightness of the light in percent.
15
+ */
5
16
  readonly brightness: number;
17
+ /**
18
+ * This function toggles the light on or off.
19
+ * @param command - The command to execute on the light device.
20
+ */
6
21
  toggleLight(command: LampToggleLightCommand): void;
7
22
  /**
8
- * This function sets the light to a specific value
9
- * Accessible in API
23
+ * This function sets the light to a specific value.
24
+ * @param command - The command to execute on the light device.
10
25
  */
11
26
  setLight(command: DimmerSetLightCommand): void;
12
27
  }
@@ -1,12 +1,46 @@
1
1
  import { iExcessEnergyConsumer } from './iExcessEnergyConsumer';
2
2
  import { iBaseDevice } from './iBaseDevice';
3
- export interface iEnergyManager extends iBaseDevice {
3
+ import { iDisposable } from '../../services';
4
+ /**
5
+ * Interface for devices that can manage energy consumption and production.
6
+ *
7
+ * For devices with {@link DeviceCapability.energyManager} capability.
8
+ */
9
+ export interface iEnergyManager extends iBaseDevice, iDisposable {
10
+ /**
11
+ * The total energy being excessive at the moment of last calculation.
12
+ *
13
+ * For devices with {@link DeviceCapability.energyManager} capability.
14
+ */
4
15
  excessEnergy: number;
16
+ /**
17
+ * Whether the Energy Manager actively blocks AC
18
+ */
19
+ readonly acBlocked: boolean;
20
+ /**
21
+ * The total wattaage being injected into the grid at the moment of last calculation.
22
+ */
5
23
  readonly injectingWattage: number;
24
+ /**
25
+ * The total wattage being drawn from the grid at the moment of last calculation.
26
+ */
6
27
  readonly drawingWattage: number;
28
+ /**
29
+ * The total wattage being consumed within the house at the moment of last calculation.
30
+ */
7
31
  readonly selfConsumingWattage: number;
32
+ /**
33
+ * Add a device that can consume excess energy
34
+ * @param device - The device that can consume excess energy
35
+ */
8
36
  addExcessConsumer(device: iExcessEnergyConsumer): void;
37
+ /**
38
+ * Recalculates power-sharing between devices.
39
+ */
9
40
  recalculatePowerSharing(): void;
10
- cleanup(): void;
41
+ /**
42
+ * Generates a report stating used energy and devices that consumed it
43
+ * @returns The report
44
+ */
11
45
  getReport(): string;
12
46
  }
@@ -1,12 +1,40 @@
1
- import { ExcessEnergyConsumerSettings, LogLevel } from '../../../models';
1
+ import { ExcessEnergyConsumerSettings } from '../../../models';
2
2
  import { iBaseDevice } from './iBaseDevice';
3
+ /**
4
+ * This interface represents a device that can consume excess energy.
5
+ *
6
+ * For devices with {@link DeviceCapability.excessEnergyConsumer} capability.
7
+ */
3
8
  export interface iExcessEnergyConsumer extends iBaseDevice {
9
+ /**
10
+ * The energy consuming settings for this device
11
+ */
4
12
  readonly energySettings: ExcessEnergyConsumerSettings;
13
+ /**
14
+ * Consumption in Watts, needed to manage the Excess consumer
15
+ */
5
16
  currentConsumption: number;
17
+ /**
18
+ * Whether this consumer is currently on or off
19
+ */
6
20
  on: boolean;
21
+ /**
22
+ * Check if this device is available to consume excess energy
23
+ * --> Device might be unavailable due to a force action from the user or other circumstances
24
+ * @returns Whether this device is available to be turned on to consume excess energy
25
+ */
7
26
  isAvailableForExcessEnergy(): boolean;
8
- log(level: LogLevel, message: string): void;
27
+ /**
28
+ * Turn on this device to consume excess energy
29
+ */
9
30
  turnOnForExcessEnergy(): void;
31
+ /**
32
+ * Turn off this device as we don't have enough excess energy to power it
33
+ */
10
34
  turnOffDueToMissingEnergy(): void;
35
+ /**
36
+ * Check if this device was activated by excess energy
37
+ * @returns Whether this device was activated by excess energy
38
+ */
11
39
  wasActivatedByExcessEnergy(): boolean;
12
40
  }
@@ -1,9 +1,30 @@
1
1
  import { GarageDoorOpenerSettings } from '../../../models';
2
2
  import { iRoomDevice } from './iRoomDevice';
3
+ /**
4
+ * This interface represents a garage door opener device.
5
+ *
6
+ * For devices with {@link DeviceCapability.garageDoorOpener} capability.
7
+ */
3
8
  export interface iGarageDoorOpener extends iRoomDevice {
9
+ /**
10
+ * The settings of the garage door opener
11
+ */
4
12
  settings: GarageDoorOpenerSettings;
13
+ /**
14
+ * Whether the garage door is currently closed
15
+ */
5
16
  readonly isClosed: boolean;
17
+ /**
18
+ * Open the garage door
19
+ */
6
20
  open(): void;
21
+ /**
22
+ * Close the garage door
23
+ */
7
24
  close(): void;
25
+ /**
26
+ * Trigger the garage door.
27
+ * This mostly results in driving the door to the opposite state, but if fired rapidly, it might stop the door in the middle.
28
+ */
8
29
  trigger(): void;
9
30
  }
@@ -1,9 +1,43 @@
1
1
  import { WindowPosition } from '../models';
2
2
  import { iRoomDevice } from './iRoomDevice';
3
+ import { HandleSensor } from '../sharedFunctions';
4
+ import { Window } from '../groups';
5
+ /**
6
+ * Interface for Handle Sensors.
7
+ * A handle sensor can be any device that is capable of detecting the position of a window handle e.g. a sensor, a window handle, etc.
8
+ *
9
+ * For devices with {@link DeviceCapability.handleSensor} capability.
10
+ */
3
11
  export interface iHandleSensor extends iRoomDevice {
12
+ /**
13
+ * A common object for all handle sensors handling stuff like persist and callbacks
14
+ */
15
+ handleSensor: HandleSensor;
16
+ /**
17
+ * The current position of the handle
18
+ */
4
19
  position: WindowPosition;
20
+ /**
21
+ * The time the handle was open in minutes
22
+ */
5
23
  minutesOpen: number;
24
+ /**
25
+ * If known the window this handle is attached to
26
+ */
27
+ window: Window | undefined;
28
+ /**
29
+ * Add a callback that is called when the handle is change to open
30
+ * @param pCallback - The callback to fire
31
+ */
6
32
  addOffenCallback(pCallback: (pValue: boolean) => void): void;
33
+ /**
34
+ * Add a callback that is called when the handle is changed to ajar
35
+ * @param pCallback - The callback to fire
36
+ */
7
37
  addKippCallback(pCallback: (pValue: boolean) => void): void;
38
+ /**
39
+ * Add a callback that is called when the handle is changed to closed
40
+ * @param pCallback - The callback to fire
41
+ */
8
42
  addClosedCallback(pCallback: (pValue: boolean) => void): void;
9
43
  }
@@ -1,17 +1,52 @@
1
- /// <reference types="node" />
2
1
  import { HeaterSettings } from '../../../models';
3
2
  import { iRoomDevice } from './iRoomDevice';
4
- export interface iHeater extends iRoomDevice {
3
+ import { iDisposable } from '../../services';
4
+ /**
5
+ * This interface represents a heater device.
6
+ *
7
+ * For devices with {@link DeviceCapability.heater} capability.
8
+ */
9
+ export interface iHeater extends iRoomDevice, iDisposable {
10
+ /**
11
+ * The settings of the heater
12
+ */
5
13
  settings: HeaterSettings;
14
+ /**
15
+ * The desired temperature in degree Celsius for this room.
16
+ */
6
17
  desiredTemperature: number;
7
- readonly humidity: number;
18
+ /**
19
+ * The current valve position of the heater (between 0 and 1.0)
20
+ */
8
21
  readonly iLevel: number;
22
+ /**
23
+ * The current temperature in degree Celsius of the heater
24
+ */
9
25
  readonly iTemperature: number;
10
- roomTemperature: number;
26
+ /**
27
+ * The current room temperature in degree Celsius
28
+ */
29
+ readonly roomTemperature: number;
30
+ /**
31
+ * The interval to persist the heater information
32
+ * This mainly enforces the interval to be implemented.
33
+ */
11
34
  readonly persistHeaterInterval: NodeJS.Timeout;
35
+ /**
36
+ * Whether the heater is currently in a season turnoff state (no heating in summer)
37
+ */
12
38
  seasonTurnOff: boolean;
13
- stopAutomaticCheck(): void;
39
+ /**
40
+ * Perform a check to calculate the new desired heater state
41
+ */
14
42
  checkAutomaticChange(): void;
43
+ /**
44
+ * Informs the heater that the temperature of the room has changed
45
+ * @param newTemperatur - The new temperature in degree Celsius.
46
+ */
15
47
  onTemperaturChange(newTemperatur: number): void;
48
+ /**
49
+ * Persists the current heater information to the database
50
+ */
16
51
  persistHeater(): void;
17
52
  }
@@ -1,9 +1,24 @@
1
- /// <reference types="node" />
2
1
  import { iRoomDevice } from './iRoomDevice';
2
+ import { HumiditySensorChangeAction } from '../../../models';
3
+ import { HumiditySensor } from '../sharedFunctions';
3
4
  export declare const UNDEFINED_HUMIDITY_VALUE = -1;
5
+ /**
6
+ * This interface represents a humidity sensor device.
7
+ *
8
+ * For devices with {@link DeviceCapability.humiditySensor} capability.
9
+ */
4
10
  export interface iHumiditySensor extends iRoomDevice {
5
- readonly persistHumiditySensorInterval: NodeJS.Timeout;
11
+ /**
12
+ * Common humidity sensor handling like persisting
13
+ */
14
+ readonly humiditySensor: HumiditySensor;
15
+ /**
16
+ * The current humidity in percent
17
+ */
6
18
  readonly humidity: number;
7
- addHumidityCallback(pCallback: (pValue: number) => void): void;
8
- persistHumiditySensor(): void;
19
+ /**
20
+ * Add a callback that is called when the humidity changes
21
+ * @param pCallback - The callback to fire
22
+ */
23
+ addHumidityCallback(pCallback: (action: HumiditySensorChangeAction) => void): void;
9
24
  }
@@ -1,4 +1,15 @@
1
1
  import { iRoomDevice } from './iRoomDevice';
2
+ /**
3
+ * This interface represents a illumination sensor device.
4
+ *
5
+ * For devices with {@link DeviceCapability.illuminationSensor} capability.
6
+ */
2
7
  export interface iIlluminationSensor extends iRoomDevice {
8
+ /**
9
+ * The current illumination level detected by the sensor
10
+ *
11
+ * For {@link DeviceType.ZigbeeAquaraMotion} devices, this is the current illuminance in lux.
12
+ * TODO: Add unit and make it comparable
13
+ */
3
14
  currentIllumination: number;
4
15
  }
@@ -1,10 +1,15 @@
1
1
  import { LampSetLightCommand, LampSetTimeBasedCommand, LampToggleLightCommand } from '../../../models';
2
2
  import { iActuator } from './iActuator';
3
+ /**
4
+ * This interface represents a lamp device.
5
+ *
6
+ * For devices with {@link DeviceCapability.lamp} capability.
7
+ */
3
8
  export interface iLamp extends iActuator {
4
9
  /**
5
- * The state value of the device
10
+ * Changes the state of the lamp based on the time
11
+ * @param command - The command to execute
6
12
  */
7
- readonly lightOn: boolean;
8
13
  setTimeBased(command: LampSetTimeBasedCommand): void;
9
14
  /**
10
15
  * Toggles the state of the lamp
@@ -1,8 +1,28 @@
1
1
  import { LedSetLightCommand, LedSettings } from '../../../models';
2
2
  import { iDimmableLamp } from './iDimmableLamp';
3
+ /**
4
+ * Interface for RGB-CCT LED-Devices.
5
+ * A RGB-CCT LED-Device is a LED-Device that is capable of emitting light in different colors and color temperatures.
6
+ *
7
+ * For devices with {@link DeviceCapability.ledLamp} capability.
8
+ */
3
9
  export interface iLedRgbCct extends iDimmableLamp {
10
+ /**
11
+ * The settings of the LED-Device (e.g. brightness, color, colortemp) for different times of the day
12
+ */
4
13
  settings: LedSettings;
14
+ /**
15
+ * The currently active color in HEX representation
16
+ */
5
17
  readonly color: string;
18
+ /**
19
+ * The currently active color temperature
20
+ */
6
21
  readonly colortemp: number;
22
+ /**
23
+ * This function sets the light to a specific value
24
+ * Accessible in API
25
+ * @param c - The command to execute
26
+ */
7
27
  setLight(c: LedSetLightCommand): void;
8
28
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Interface for a device that can measure the load power in Watts
3
+ *
4
+ * For devices with {@link DeviceCapability.loadMetering} capability.
5
+ */
1
6
  export interface iLoadMeter {
2
7
  /**
3
8
  * The current load power in Watts
@@ -0,0 +1,31 @@
1
+ import { iRoomDevice } from './iRoomDevice';
2
+ import { MagnetPosition } from '../models';
3
+ /**
4
+ * This interface represents a magnet sensor device.
5
+ *
6
+ * For devices with {@link DeviceCapability.magnetSensor} capability.
7
+ */
8
+ export interface iMagnetSensor extends iRoomDevice {
9
+ /**
10
+ * The current state of the Magnet Contact
11
+ */
12
+ position: MagnetPosition;
13
+ /**
14
+ * Whether a telegram message should be sent when the magnet contact is opened
15
+ */
16
+ telegramOnOpen: boolean;
17
+ /**
18
+ * Whether to announce when the magnet contact is opened using {@link iSpeaker}
19
+ */
20
+ speakOnOpen: boolean;
21
+ /**
22
+ * Add a callback that is called when the magnet contact is opened
23
+ * @param pCallback - The callback to fire
24
+ */
25
+ addOpenCallback(pCallback: (pValue: boolean) => void): void;
26
+ /**
27
+ * Add a callback that is called when the magnet contact is closed
28
+ * @param pCallback - The callback to fire
29
+ */
30
+ addClosedCallback(pCallback: (pValue: boolean) => void): void;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,14 +1,34 @@
1
- import { MotionSensorSettings } from '../../../models';
1
+ import { MotionSensorAction, MotionSensorSettings } from '../../../models';
2
2
  import { iRoomDevice } from './iRoomDevice';
3
+ /**
4
+ * This interface represents a motion sensor device.
5
+ *
6
+ * For devices with {@link DeviceCapability.motionSensor} capability.
7
+ */
3
8
  export interface iMotionSensor extends iRoomDevice {
9
+ /**
10
+ * The settings of the MotionSensor
11
+ */
4
12
  settings: MotionSensorSettings;
13
+ /**
14
+ * Whether motion is currently detected
15
+ */
5
16
  readonly movementDetected: boolean;
17
+ /**
18
+ * Time since the last motion was detected in seconds
19
+ */
6
20
  readonly timeSinceLastMotion: number;
21
+ /**
22
+ * The number of detections today so far
23
+ */
7
24
  detectionsToday: number;
8
25
  /**
9
26
  * Adds a callback for when a motion state has changed.
10
- * @param pCallback Function that accepts the new state as parameter
27
+ * @param pCallback - Function that accepts the new state as parameter
28
+ */
29
+ addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
30
+ /**
31
+ * Persists the current motion information to the database
11
32
  */
12
- addMovementCallback(pCallback: (newState: boolean) => void): void;
13
33
  persistMotionSensor(): void;
14
34
  }
@@ -1,5 +1,11 @@
1
1
  import { RoomBase } from '../../../models';
2
2
  import { iBaseDevice } from './iBaseDevice';
3
+ /**
4
+ * This interface represents a device that is located in a single room.
5
+ */
3
6
  export interface iRoomDevice extends iBaseDevice {
7
+ /**
8
+ * The room the device is in (this might be undefined if the device is not yet properly initialized)
9
+ */
4
10
  room: RoomBase | undefined;
5
11
  }
@@ -1,13 +1,42 @@
1
- /// <reference types="node" />
2
1
  import { iRoomDevice } from './index';
3
2
  import { SceneSettings } from '../../../models';
3
+ /**
4
+ * This interface represents a scene which for simplification is considered as a device.
5
+ *
6
+ * For devices with {@link DeviceCapability.scene} capability.
7
+ */
4
8
  export interface iScene extends iRoomDevice {
9
+ /**
10
+ * The settings for the scene
11
+ */
12
+ settings: SceneSettings;
13
+ /**
14
+ * A description of the scene providing the user with information about what the scene does
15
+ */
5
16
  description: string;
17
+ /**
18
+ * Callback to be executed when the scene should be started
19
+ */
6
20
  readonly onSceneStart: () => void;
21
+ /**
22
+ * Callback to be executed when the scene should be ended
23
+ */
7
24
  readonly onSceneEnd: () => void;
25
+ /**
26
+ * Whether the scene is currently active
27
+ */
8
28
  readonly on: boolean;
29
+ /**
30
+ * The timeout for the automatic end of the scene
31
+ */
9
32
  readonly automaticEndTimeout: NodeJS.Timeout | null;
10
- settings: SceneSettings;
33
+ /**
34
+ * Starts the scene for the given duration
35
+ * @param timeout - If set, the scene will end after the given time in ms
36
+ */
11
37
  startScene(timeout?: number): void;
38
+ /**
39
+ * Ends the scene --> This also stops the automatic end timeout.
40
+ */
12
41
  endScene(): void;
13
42
  }
@@ -1,11 +1,35 @@
1
1
  import { Window } from '../groups';
2
2
  import { iRoomDevice } from './iRoomDevice';
3
3
  import { ShutterSetLevelCommand, ShutterSettings } from '../../../models';
4
+ /**
5
+ * This interface represents a shutter device.
6
+ *
7
+ * For devices with {@link DeviceCapability.shutter} capability.
8
+ */
4
9
  export interface iShutter extends iRoomDevice {
10
+ /**
11
+ * The settings for the shutter
12
+ */
5
13
  settings: ShutterSettings;
6
- currentLevel: number;
14
+ /**
15
+ * The current level of the shutter (0 = closed, 100 = open)
16
+ */
17
+ readonly currentLevel: number;
18
+ /**
19
+ * The desired level of the shutter for this window (this might be different from the current level due to the desired level being set by the user)
20
+ */
7
21
  desiredWindowShutterLevel: number;
22
+ /**
23
+ * The window this shutter is located within
24
+ */
8
25
  window: Window | undefined;
26
+ /**
27
+ * Persists the current information of the shutter to the database
28
+ */
9
29
  persist(): void;
30
+ /**
31
+ * Sets the level of the shutter
32
+ * @param command - The command to execute
33
+ */
10
34
  setLevel(command: ShutterSetLevelCommand): void;
11
35
  }
@@ -1,5 +1,17 @@
1
1
  import { iRoomDevice } from './iRoomDevice';
2
+ /**
3
+ * This interface represents a smoke detector device.
4
+ *
5
+ * For devices with {@link DeviceCapability.smokeSensor} capability.
6
+ */
2
7
  export interface iSmokeDetectorDevice extends iRoomDevice {
8
+ /**
9
+ * Indicates if the smoke detector is currently detecting smoke
10
+ */
3
11
  readonly smoke: boolean;
12
+ /**
13
+ * Stops the alarm of the smoke detector
14
+ * @param quiet - If true, the alarm will be stopped without announcing alarm end.
15
+ */
4
16
  stopAlarm(quiet: boolean): void;
5
17
  }
@@ -1,8 +1,38 @@
1
1
  import { iRoomDevice } from './iRoomDevice';
2
+ /**
3
+ * This interface represents a speaker device.
4
+ *
5
+ * For devices with {@link DeviceCapability.speaker} capability.
6
+ */
2
7
  export interface iSpeaker extends iRoomDevice {
8
+ /**
9
+ * Plays an mp3 file on the device
10
+ * @param mp3Name - The name of the mp3 file to play
11
+ * @param duration - The duration of the mp3 file in seconds
12
+ * @param [volume] - The volume to play the mp3 file with
13
+ * @param [onlyWhenPlaying] - If true, the mp3 file will only be played when the device is already playing something
14
+ * @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
15
+ */
3
16
  playOnDevice(mp3Name: string, duration: number, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
17
+ /**
18
+ * Plays a test message on the device
19
+ */
4
20
  playTestMessage(): void;
21
+ /**
22
+ * Plays a file from an url on the device
23
+ * @param url - The url to play
24
+ */
5
25
  playUrl(url: string): void;
26
+ /**
27
+ * Stops the current playback on the device
28
+ */
6
29
  stop(): void;
30
+ /**
31
+ * Speaks a message on the device using the text-to-speech engine
32
+ * @param pMessage - The message to speak
33
+ * @param [volume] - The volume to speak the message with
34
+ * @param [onlyWhenPlaying] - If true, the message will only be spoken when the device is already playing something
35
+ * @param [resolveAfterRevert] - If true, the promise will be resolved after the device has reverted to the previous state
36
+ */
7
37
  speakOnDevice(pMessage: string, volume?: number, onlyWhenPlaying?: boolean, resolveAfterRevert?: boolean): void;
8
38
  }