hoffmation-base 3.0.0-alpha.5 → 3.0.0-alpha.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) 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 +8 -0
  12. package/lib/models/action/index.js +27 -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/presenceGroupFirstEnterAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  17. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  18. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  19. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  20. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  21. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  22. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  23. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  24. package/lib/models/blockAutomaticSettings.js +19 -0
  25. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  26. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  27. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  28. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  29. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  30. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  31. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  32. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  33. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  34. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  35. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  36. package/lib/models/command/actuatorToggleCommand.js +7 -4
  37. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  38. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  39. package/lib/models/command/baseCommand.d.ts +23 -2
  40. package/lib/models/command/baseCommand.js +41 -1
  41. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  42. package/lib/models/command/blockAutomaticCommand.js +40 -0
  43. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  44. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  45. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  46. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  47. package/lib/models/command/commandSource.d.ts +19 -0
  48. package/lib/models/command/commandSource.js +20 -0
  49. package/lib/models/command/commandType.d.ts +10 -0
  50. package/lib/models/command/commandType.js +10 -0
  51. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  52. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  53. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  54. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  55. package/lib/models/command/index.d.ts +3 -0
  56. package/lib/models/command/index.js +7 -1
  57. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  58. package/lib/models/command/lampSetLightCommand.js +15 -4
  59. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  60. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  61. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  62. package/lib/models/command/lampToggleLightCommand.js +7 -6
  63. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  64. package/lib/models/command/ledSetLightCommand.js +27 -17
  65. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  66. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  67. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  68. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  69. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  70. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  71. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  72. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  73. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  74. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  75. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  77. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  78. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  79. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  80. package/lib/models/command/wledSetLightCommand.js +23 -7
  81. package/lib/models/connectionCallbacks.d.ts +4 -4
  82. package/lib/models/connectionCallbacks.js +1 -0
  83. package/lib/models/deviceConfig.d.ts +3 -3
  84. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  85. package/lib/models/deviceSettings/acSettings.js +23 -8
  86. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  87. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  88. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  89. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  90. package/lib/models/deviceSettings/dachsSettings.d.ts +11 -0
  91. package/lib/models/deviceSettings/dachsSettings.js +13 -1
  92. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  93. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  94. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  95. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  96. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  97. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  98. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  99. package/lib/models/deviceSettings/handleSettings.js +9 -0
  100. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  101. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  102. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  103. package/lib/models/deviceSettings/ledSettings.js +76 -18
  104. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  105. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  106. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  107. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  108. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  109. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  111. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  112. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  113. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  114. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  115. package/lib/models/deviceSettings/wledSettings.js +37 -13
  116. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  117. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  118. package/lib/models/iIdHolder.d.ts +18 -0
  119. package/lib/models/index.d.ts +2 -1
  120. package/lib/models/index.js +4 -1
  121. package/lib/models/objectSettings.d.ts +5 -2
  122. package/lib/models/objectSettings.js +2 -2
  123. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  124. package/lib/models/persistence/EnergyCalculation.js +30 -4
  125. package/lib/models/persistence/index.d.ts +0 -2
  126. package/lib/models/persistence/index.js +0 -2
  127. package/lib/models/rooms/RoomBase.d.ts +12 -1
  128. package/lib/models/rooms/RoomBase.js +16 -7
  129. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  130. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  131. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  132. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  133. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  134. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  135. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  136. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  137. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  138. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  139. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  140. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  141. package/lib/models/timeCallback.d.ts +7 -0
  142. package/lib/models/timeCallback.js +16 -6
  143. package/lib/server/config/heatingMode.d.ts +2 -1
  144. package/lib/server/config/heatingMode.js +2 -1
  145. package/lib/server/config/iAsusConfig.d.ts +15 -0
  146. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  147. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  148. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  149. package/lib/server/config/iConfig.d.ts +94 -6
  150. package/lib/server/config/iDachsSettings.d.ts +16 -0
  151. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  152. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  153. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  154. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  155. package/lib/server/config/iGoveeSettings.js +2 -0
  156. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  157. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  158. package/lib/server/config/iLogSettings.d.ts +40 -1
  159. package/lib/server/config/iMp3Settings.d.ts +10 -0
  160. package/lib/server/config/iMuellSettings.d.ts +7 -0
  161. package/lib/server/config/iNewsSettings.d.ts +13 -0
  162. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  163. package/lib/server/config/iPollySettings.d.ts +22 -0
  164. package/lib/server/config/iRestSettings.d.ts +10 -0
  165. package/lib/server/config/iSonosSettings.d.ts +10 -0
  166. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  167. package/lib/server/config/iTibberSettings.d.ts +10 -0
  168. package/lib/server/config/iTimePair.d.ts +9 -0
  169. package/lib/server/config/iTimeSettings.d.ts +9 -0
  170. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  171. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  172. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  173. package/lib/server/config/iVictronSettings.d.ts +14 -0
  174. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  175. package/lib/server/config/index.d.ts +2 -0
  176. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  177. package/lib/server/devices/DeviceCapability.js +1 -0
  178. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  179. package/lib/server/devices/DeviceInfo.js +6 -0
  180. package/lib/server/devices/Griffe.js +1 -2
  181. package/lib/server/devices/Heizgruppen.js +2 -2
  182. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  183. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  184. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  185. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  186. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  187. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  189. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
  190. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  191. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  192. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  193. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  194. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  195. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  196. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  198. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  199. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  200. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  202. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  205. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  207. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  209. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  210. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  212. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  213. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  214. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  215. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  216. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  217. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  218. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  219. package/lib/server/devices/button/button.d.ts +0 -1
  220. package/lib/server/devices/button/button.js +0 -4
  221. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  222. package/lib/server/devices/button/buttonCallback.js +10 -0
  223. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  224. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  225. package/lib/server/devices/button/index.d.ts +1 -0
  226. package/lib/server/devices/button/index.js +3 -0
  227. package/lib/server/devices/dachs/dachs.d.ts +37 -11
  228. package/lib/server/devices/dachs/dachs.js +49 -22
  229. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  230. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  231. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  232. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  233. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  234. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  235. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  236. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  237. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  238. package/lib/server/devices/device-cluster.d.ts +3 -0
  239. package/lib/server/devices/device-cluster.js +1 -1
  240. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  241. package/lib/server/devices/deviceUpdater.js +1 -4
  242. package/lib/server/devices/devices.d.ts +43 -7
  243. package/lib/server/devices/devices.js +42 -6
  244. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  245. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  246. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  247. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  248. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  249. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  250. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  251. package/lib/server/devices/espresense/trilateration.js +7 -0
  252. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  253. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  254. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  255. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  256. package/lib/server/devices/groups/Window.d.ts +9 -3
  257. package/lib/server/devices/groups/Window.js +19 -11
  258. package/lib/server/devices/groups/base-group.d.ts +4 -0
  259. package/lib/server/devices/groups/base-group.js +3 -0
  260. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  261. package/lib/server/devices/groups/heatGroup.js +11 -11
  262. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  263. package/lib/server/devices/groups/lightGroup.js +18 -37
  264. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  265. package/lib/server/devices/groups/presenceGroup.js +57 -64
  266. package/lib/server/devices/groups/tasterGroup.js +6 -6
  267. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  268. package/lib/server/devices/groups/windowGroup.js +6 -6
  269. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  270. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  271. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  272. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  273. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  274. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  275. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
  276. package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
  277. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  278. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  279. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
  280. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
  281. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  282. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  283. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
  284. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
  285. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  286. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  287. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
  288. package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
  289. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
  290. package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
  291. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  292. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  293. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  294. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  295. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  296. package/lib/server/devices/index.d.ts +5 -2
  297. package/lib/server/devices/index.js +8 -2
  298. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  299. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  300. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  301. package/lib/server/devices/nameAmountValuePair.js +10 -0
  302. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  303. package/lib/server/devices/scene/room-scene.js +18 -4
  304. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  305. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  306. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  307. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  308. package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
  309. package/lib/server/devices/shelly/shellyTrv.js +66 -45
  310. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  311. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  312. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  313. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  314. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  315. package/lib/server/devices/tv/samsungTv.js +1 -0
  316. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  317. package/lib/server/devices/tv/tvDevice.js +4 -3
  318. package/lib/server/devices/wledDevice.d.ts +15 -3
  319. package/lib/server/devices/wledDevice.js +42 -16
  320. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  321. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  322. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  323. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
  338. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  339. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  340. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  341. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  342. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  343. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  344. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  345. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  346. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  347. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  348. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
  349. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
  350. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
  351. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
  352. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  353. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  354. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  355. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  356. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
  357. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
  358. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  359. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  360. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  361. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  363. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  364. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  367. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  368. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  371. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  372. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  375. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  376. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  377. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  378. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  379. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  380. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  381. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  382. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
  383. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
  384. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  385. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  386. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  387. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  388. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  389. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  390. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  391. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  392. package/lib/server/ioBroker/connection.d.ts +21 -20
  393. package/lib/server/ioBroker/connection.js +37 -28
  394. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  395. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  396. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  397. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  398. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  399. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  400. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  401. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  402. package/lib/server/services/ShutterService.js +6 -6
  403. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  404. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  405. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  406. package/lib/server/services/Sonos/mp3-server.js +3 -1
  407. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  408. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  409. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  410. package/lib/server/services/Sonos/polly-service.js +10 -8
  411. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  412. package/lib/server/services/Sonos/sonos-service.js +6 -10
  413. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  414. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  415. package/lib/server/services/Telegram/telegram-service.js +8 -3
  416. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  417. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  418. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  419. package/lib/server/services/Translation/index.d.ts +1 -0
  420. package/lib/server/services/Translation/res.d.ts +34 -19
  421. package/lib/server/services/Translation/res.js +34 -19
  422. package/lib/server/services/ac/ac-device.d.ts +48 -6
  423. package/lib/server/services/ac/ac-device.js +91 -36
  424. package/lib/server/services/ac/daikin-service.js +4 -3
  425. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  426. package/lib/server/services/ac/own-ac-devices.js +3 -0
  427. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  428. package/lib/server/services/ac/own-daikin-device.js +40 -7
  429. package/lib/server/services/api/api-service.d.ts +118 -53
  430. package/lib/server/services/api/api-service.js +170 -80
  431. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  432. package/lib/server/services/blockAutomaticHandler.js +34 -15
  433. package/lib/server/services/calendar/index.d.ts +1 -0
  434. package/lib/server/services/calendar/index.js +3 -0
  435. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  436. package/lib/server/services/calendar/muell-tonne.js +10 -0
  437. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  438. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  439. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  440. package/lib/server/services/calendar/name-date-pair.js +10 -0
  441. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  442. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  443. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  444. package/lib/server/services/file-info.d.ts +5 -0
  445. package/lib/server/services/file-info.js +10 -0
  446. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  447. package/lib/server/services/govee/govee-device-data.js +2 -0
  448. package/lib/server/services/govee/govee-service.d.ts +7 -9
  449. package/lib/server/services/govee/govee-service.js +73 -48
  450. package/lib/server/services/govee/own-govee-device.d.ts +19 -17
  451. package/lib/server/services/govee/own-govee-device.js +57 -56
  452. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  453. package/lib/server/services/govee/own-govee-devices.js +3 -0
  454. package/lib/server/services/https-service.d.ts +3 -2
  455. package/lib/server/services/https-service.js +4 -3
  456. package/lib/server/services/index.d.ts +1 -0
  457. package/lib/server/services/index.js +3 -0
  458. package/lib/server/services/log-service/index.d.ts +1 -0
  459. package/lib/server/services/log-service/index.js +3 -0
  460. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  461. package/lib/server/services/log-service/log-debug-type.js +17 -0
  462. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  463. package/lib/server/services/log-service/log-filter-data.js +6 -15
  464. package/lib/server/services/log-service/log-service.d.ts +17 -4
  465. package/lib/server/services/log-service/log-service.js +30 -17
  466. package/lib/server/services/news-service.d.ts +9 -7
  467. package/lib/server/services/news-service.js +14 -15
  468. package/lib/server/services/room-service/room-service.d.ts +20 -4
  469. package/lib/server/services/room-service/room-service.js +26 -10
  470. package/lib/server/services/settings-service.d.ts +6 -2
  471. package/lib/server/services/settings-service.js +3 -2
  472. package/lib/server/services/time-callback-service.js +1 -1
  473. package/lib/server/services/utils/RGB.d.ts +6 -0
  474. package/lib/server/services/utils/RGB.js +11 -0
  475. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  476. package/lib/server/services/utils/catchEmResult.js +10 -0
  477. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  478. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  479. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  480. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  481. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  482. package/lib/server/services/utils/index.d.ts +4 -1
  483. package/lib/server/services/utils/index.js +8 -1
  484. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  485. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  486. package/lib/server/services/utils/utils.d.ts +9 -13
  487. package/lib/server/services/victron/victron-device.d.ts +27 -10
  488. package/lib/server/services/victron/victron-device.js +94 -25
  489. package/lib/server/services/weather/index.d.ts +2 -0
  490. package/lib/server/services/weather/index.js +3 -0
  491. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  492. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  493. package/lib/server/services/weather/weather-current.d.ts +0 -2
  494. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  495. package/lib/server/services/weather/weather-response.d.ts +16 -0
  496. package/lib/server/services/weather/weather-response.js +2 -0
  497. package/lib/server/services/weather/weather-service.d.ts +15 -18
  498. package/lib/server/services/weather/weather-service.js +32 -22
  499. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  500. package/lib/tsconfig.tsbuildinfo +1 -1
  501. package/package.json +6 -8
  502. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  503. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  504. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  505. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  506. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  507. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -6,35 +6,22 @@ const models_1 = require("../../../../models");
6
6
  const services_1 = require("../../../services");
7
7
  const DeviceCapability_1 = require("../../DeviceCapability");
8
8
  class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
9
- get lastBatteryPersist() {
10
- return this._lastBatteryPersist;
11
- }
12
- get movementDetected() {
13
- if (!this.available) {
14
- // If the device is not available, there is no active movement
15
- return false;
16
- }
17
- if (services_1.Utils.nowMS() - this.lastUpdate.getTime() > 3600000) {
18
- // If the device has not been updated for more than an hour, there is no active movement
19
- return false;
20
- }
21
- return this._movementDetected;
22
- }
23
- get battery() {
24
- return this._battery;
25
- }
26
9
  constructor(pInfo, type) {
27
10
  var _a;
28
11
  super(pInfo, type);
29
- this._movementDetected = false;
30
- this._battery = -99;
31
- this._lastBatteryPersist = 0;
12
+ /** @inheritDoc */
32
13
  this.settings = new models_1.MotionSensorSettings();
14
+ /** @inheritDoc */
15
+ this.detectionsToday = 0;
33
16
  this._initialized = false;
34
17
  this._movementDetectedCallback = [];
35
18
  this._needsMovementResetFallback = true;
36
19
  this._timeSinceLastMotion = 0;
37
- this._detectionsToday = 0;
20
+ this._movementDetected = false;
21
+ this._battery = -99;
22
+ this._lastBatteryPersist = 0;
23
+ this._lastBatteryLevel = -1;
24
+ this._batteryLevelCallbacks = [];
38
25
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.motionSensor);
39
26
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
40
27
  if (!services_1.Utils.anyDboActive) {
@@ -52,30 +39,51 @@ class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
52
39
  });
53
40
  }
54
41
  }
42
+ /** @inheritDoc */
43
+ get lastBatteryPersist() {
44
+ return this._lastBatteryPersist;
45
+ }
46
+ /** @inheritDoc */
47
+ get movementDetected() {
48
+ if (!this.available) {
49
+ // If the device is not available, there is no active movement
50
+ return false;
51
+ }
52
+ if (services_1.Utils.nowMS() - this.lastUpdate.getTime() > 3600000) {
53
+ // If the device has not been updated for more than an hour, there is no active movement
54
+ return false;
55
+ }
56
+ return this._movementDetected;
57
+ }
58
+ /** @inheritDoc */
59
+ get battery() {
60
+ return this._battery;
61
+ }
55
62
  // Time since last motion in seconds
63
+ /** @inheritDoc */
56
64
  get timeSinceLastMotion() {
57
65
  return this._timeSinceLastMotion;
58
66
  }
59
- get detectionsToday() {
60
- return this._detectionsToday;
61
- }
62
- set detectionsToday(pVal) {
63
- this._detectionsToday = pVal;
67
+ /** @inheritDoc */
68
+ addBatteryLevelCallback(pCallback) {
69
+ this._batteryLevelCallbacks.push(pCallback);
64
70
  }
65
71
  /**
66
72
  * Adds a callback for when a motion state has changed.
67
- * @param pCallback Function that accepts the new state as parameter
73
+ * @param pCallback - Function that accepts the new state as parameter
68
74
  */
75
+ /** @inheritDoc */
69
76
  addMovementCallback(pCallback) {
70
77
  this._movementDetectedCallback.push(pCallback);
71
78
  }
79
+ /** @inheritDoc */
72
80
  persistMotionSensor() {
73
81
  var _a;
74
82
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistMotionSensor(this);
75
83
  }
76
84
  updateMovement(newState) {
77
85
  if (!this._initialized && newState) {
78
- this.log(models_1.LogLevel.Trace, `Movement recognized, but database initialization has not finished yet --> delay.`);
86
+ this.log(models_1.LogLevel.Trace, 'Movement recognized, but database initialization has not finished yet --> delay.');
79
87
  services_1.Utils.guardedTimeout(() => {
80
88
  this.updateMovement(newState);
81
89
  }, 1000, this);
@@ -100,18 +108,20 @@ class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
100
108
  this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
101
109
  }
102
110
  for (const c of this._movementDetectedCallback) {
103
- c(newState);
111
+ c(new models_1.MotionSensorAction(this));
104
112
  }
105
113
  }
114
+ /** @inheritDoc */
106
115
  update(idSplit, state, initial = false, pOverride = false) {
107
116
  this.log(models_1.LogLevel.DeepTrace, `Motion update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
108
117
  super.update(idSplit, state, initial, pOverride);
109
118
  switch (idSplit[3]) {
110
119
  case 'battery':
111
120
  this._battery = state.val;
121
+ this.checkForBatteryChange();
112
122
  this.persistBatteryDevice();
113
123
  if (this._battery < 20) {
114
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
124
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
115
125
  }
116
126
  break;
117
127
  case 'occupancy':
@@ -124,9 +134,19 @@ class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
124
134
  break;
125
135
  }
126
136
  }
137
+ /** @inheritDoc */
138
+ persistBatteryDevice() {
139
+ var _a;
140
+ const now = services_1.Utils.nowMS();
141
+ if (this._lastBatteryPersist + 60000 > now) {
142
+ return;
143
+ }
144
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
145
+ this._lastBatteryPersist = now;
146
+ }
127
147
  resetFallbackTimeout() {
128
148
  if (this._fallBackTimeout) {
129
- this.log(models_1.LogLevel.Trace, `Fallback Timeout zurücksetzen`);
149
+ this.log(models_1.LogLevel.Trace, 'Fallback Timeout zurücksetzen');
130
150
  clearTimeout(this._fallBackTimeout);
131
151
  }
132
152
  }
@@ -135,19 +155,23 @@ class ZigbeeMotionSensor extends index_1.ZigbeeDevice {
135
155
  return;
136
156
  }
137
157
  this._fallBackTimeout = services_1.Utils.guardedTimeout(() => {
138
- this.log(models_1.LogLevel.Debug, `Benötige Fallback Bewegungs Reset`);
158
+ this.log(models_1.LogLevel.Debug, 'Benötige Fallback Bewegungs Reset');
139
159
  this._fallBackTimeout = undefined;
140
160
  this.updateMovement(false);
141
161
  }, 270000, this);
142
162
  }
143
- persistBatteryDevice() {
144
- var _a;
145
- const now = services_1.Utils.nowMS();
146
- if (this._lastBatteryPersist + 60000 > now) {
163
+ /**
164
+ * Checks whether the battery level did change and if so fires the callbacks
165
+ */
166
+ checkForBatteryChange() {
167
+ const newLevel = this.battery;
168
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
147
169
  return;
148
170
  }
149
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
150
- this._lastBatteryPersist = now;
171
+ for (const cb of this._batteryLevelCallbacks) {
172
+ cb(new models_1.BatteryLevelChangeAction(this));
173
+ }
174
+ this._lastBatteryLevel = newLevel;
151
175
  }
152
176
  }
153
177
  exports.ZigbeeMotionSensor = ZigbeeMotionSensor;
@@ -7,24 +7,33 @@ import { Window } from '../../groups';
7
7
  import { IoBrokerBaseDevice } from '../../IoBrokerBaseDevice';
8
8
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
9
9
  export declare class ZigbeeShutter extends ZigbeeDevice implements iShutter {
10
+ /** @inheritDoc */
10
11
  settings: ShutterSettings;
11
12
  protected _iMovementFinishTimeout: NodeJS.Timeout | null;
12
13
  protected _firstCommandRecieved: boolean;
13
14
  protected _setLevel: number;
14
15
  protected _setLevelTime: number;
15
16
  protected _shutterCalibrationData: ShutterCalibration;
16
- constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
17
17
  protected _currentLevel: number;
18
- get currentLevel(): number;
19
- set currentLevel(value: number);
20
18
  protected _window?: Window;
19
+ constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
20
+ /** @inheritDoc */
21
+ get currentLevel(): number;
22
+ /** @inheritDoc */
21
23
  get window(): Window | undefined;
24
+ /** @inheritDoc */
22
25
  set window(value: Window | undefined);
26
+ /** @inheritDoc */
23
27
  get desiredWindowShutterLevel(): number;
28
+ /** @inheritDoc */
24
29
  persist(): void;
30
+ /** @inheritDoc */
25
31
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
32
+ /** @inheritDoc */
26
33
  setLevel(c: ShutterSetLevelCommand): void;
34
+ /** @inheritDoc */
27
35
  toJSON(): Partial<IoBrokerBaseDevice>;
36
+ protected setCurrentLevel(value: number, isInitial?: boolean): void;
28
37
  protected moveToPosition(pPosition: number): void;
29
38
  protected getAverageUp(): number;
30
39
  protected getAverageDown(): number;
@@ -14,6 +14,7 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
14
14
  constructor(pInfo, pType) {
15
15
  var _a, _b;
16
16
  super(pInfo, pType);
17
+ /** @inheritDoc */
17
18
  this.settings = new models_1.ShutterSettings();
18
19
  this._iMovementFinishTimeout = null;
19
20
  this._firstCommandRecieved = false;
@@ -24,7 +25,7 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
24
25
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.shutter);
25
26
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.getShutterCalibration(this).then((calibrationData) => {
26
27
  this._shutterCalibrationData = calibrationData;
27
- this.log(models_1.LogLevel.DeepTrace, `ZigbeeShutter initialized with calibration data`);
28
+ this.log(models_1.LogLevel.DeepTrace, 'ZigbeeShutter initialized with calibration data');
28
29
  }).catch((err) => {
29
30
  var _a;
30
31
  this.log(models_1.LogLevel.Warn, `Failed to initialize Calibration data, err ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : err}`);
@@ -36,69 +37,63 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
36
37
  }
37
38
  });
38
39
  }
40
+ /** @inheritDoc */
39
41
  get currentLevel() {
40
42
  if (this._setLevel !== -1 && this._currentLevel !== this._setLevel) {
41
43
  return this._setLevel;
42
44
  }
43
45
  return this._currentLevel;
44
46
  }
45
- set currentLevel(value) {
46
- if (value !== this._setLevel && services_1.Utils.nowMS() - this._setLevelTime < 60 * 10000) {
47
- value = this._setLevel;
48
- }
49
- if (value !== this._currentLevel && this._window) {
50
- services_1.Utils.guardedNewThread(() => {
51
- var _a;
52
- (_a = this._window) === null || _a === void 0 ? void 0 : _a.rolloPositionChange(value);
53
- }, this);
54
- this.persist();
55
- }
56
- this._currentLevel = value;
57
- }
47
+ /** @inheritDoc */
58
48
  get window() {
59
49
  return this._window;
60
50
  }
51
+ /** @inheritDoc */
61
52
  set window(value) {
62
53
  this._window = value;
63
54
  }
55
+ /** @inheritDoc */
64
56
  get desiredWindowShutterLevel() {
65
57
  if (this._window === undefined) {
66
58
  return -1;
67
59
  }
68
60
  return this._window.desiredPosition;
69
61
  }
62
+ /** @inheritDoc */
70
63
  persist() {
71
64
  var _a;
72
65
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistShutter(this);
73
66
  }
67
+ /** @inheritDoc */
74
68
  update(idSplit, state, initial = false, pOverride = false) {
75
69
  super.update(idSplit, state, initial, pOverride);
76
70
  }
71
+ /** @inheritDoc */
77
72
  setLevel(c) {
78
73
  let pPosition = c.level;
79
74
  if (!this._firstCommandRecieved && !c.isInitial) {
80
75
  this._firstCommandRecieved = true;
81
76
  }
82
77
  else if (this._firstCommandRecieved && c.isInitial) {
83
- this.log(models_1.LogLevel.Debug, `Skipped initial Rollo to ${pPosition} as we recieved a command already`);
78
+ this.log(models_1.LogLevel.Debug, `Skipped initial shutter to ${pPosition} as we recieved a command already`);
84
79
  return;
85
80
  }
86
81
  if (this.currentLevel === pPosition && !c.isForceAction) {
87
- this.log(models_1.LogLevel.Debug, `Skip Rollo command to Position ${pPosition} as this is the current one, commandLog: ${c.logMessage}`, services_1.LogDebugType.SkipUnchangedRolloPosition);
82
+ this.log(models_1.LogLevel.Debug, `Skip shutter command to Position ${pPosition} as this is the current one, commandLog: ${c.logMessage}`, services_1.LogDebugType.SkipUnchangedRolloPosition);
88
83
  return;
89
84
  }
90
85
  this.log(models_1.LogLevel.Debug, c.logMessage);
91
86
  if (this._window !== undefined) {
92
87
  if (this._window.griffeInPosition(models_2.WindowPosition.offen) > 0 && pPosition < 100) {
93
88
  if (!c.skipOpenWarning) {
94
- this.log(models_1.LogLevel.Alert, `Not closing the shutter, as the window is open!`);
89
+ this.log(models_1.LogLevel.Alert, 'Not closing the shutter, as the window is open!');
95
90
  }
96
91
  return;
97
92
  }
98
93
  if (this._window.griffeInPosition(models_2.WindowPosition.kipp) > 0 && pPosition < 50) {
99
94
  pPosition = 50;
100
95
  if (!c.skipOpenWarning) {
101
- this.log(models_1.LogLevel.Alert, `Not closing the shutter, as the window is half open!`);
96
+ this.log(models_1.LogLevel.Alert, 'Not closing the shutter, as the window is half open!');
102
97
  }
103
98
  }
104
99
  }
@@ -106,9 +101,23 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
106
101
  this.log(models_1.LogLevel.Debug, `Move to position ${pPosition}`);
107
102
  this.moveToPosition(pPosition);
108
103
  }
104
+ /** @inheritDoc */
109
105
  toJSON() {
110
106
  return lodash_1.default.omit(super.toJSON(), ['_window']);
111
107
  }
108
+ setCurrentLevel(value, isInitial = false) {
109
+ if (value !== this._setLevel && services_1.Utils.nowMS() - this._setLevelTime < 60 * 10000) {
110
+ value = this._setLevel;
111
+ }
112
+ if (value !== this._currentLevel && this._window && !isInitial) {
113
+ services_1.Utils.guardedNewThread(() => {
114
+ var _a;
115
+ (_a = this._window) === null || _a === void 0 ? void 0 : _a.rolloPositionChange(new models_1.ShutterPositionChangedAction(this, value));
116
+ }, this);
117
+ this.persist();
118
+ }
119
+ this._currentLevel = value;
120
+ }
112
121
  moveToPosition(pPosition) {
113
122
  this.log(models_1.LogLevel.Error, `Implement own moveToPosition(${pPosition}) Function`);
114
123
  }
@@ -143,7 +152,7 @@ class ZigbeeShutter extends zigbeeDevice_1.ZigbeeDevice {
143
152
  clearTimeout(this._iMovementFinishTimeout);
144
153
  }
145
154
  this._iMovementFinishTimeout = services_1.Utils.guardedTimeout(() => {
146
- this.currentLevel = endPosition;
155
+ this.setCurrentLevel(endPosition, false);
147
156
  this._iMovementFinishTimeout = null;
148
157
  }, duration, this);
149
158
  }
@@ -4,6 +4,10 @@ import { DeviceType } from '../../deviceType';
4
4
  import { Button, ButtonPosition, ButtonPressType } from '../../button';
5
5
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
6
6
  export declare abstract class ZigbeeSwitch extends ZigbeeDevice implements iButtonSwitch {
7
+ /**
8
+ * The battery level of the device in percent.
9
+ * TODO: Implement iBatteryDevice
10
+ */
7
11
  battery: number;
8
12
  abstract buttonBot: Button | undefined;
9
13
  abstract buttonBotLeft: Button | undefined;
@@ -13,9 +17,13 @@ export declare abstract class ZigbeeSwitch extends ZigbeeDevice implements iButt
13
17
  abstract buttonTop: Button | undefined;
14
18
  abstract buttonTopLeft: Button | undefined;
15
19
  abstract buttonTopRight: Button | undefined;
16
- constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
20
+ protected constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
21
+ /** @inheritDoc */
17
22
  persist(buttonName: string, pressType: ButtonPressType): void;
23
+ /** @inheritDoc */
18
24
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverrride?: boolean): void;
25
+ /** @inheritDoc */
19
26
  abstract getButtonAssignment(): string;
27
+ /** @inheritDoc */
20
28
  pressButton(position: ButtonPosition, pressType: ButtonPressType): Error | null;
21
29
  }
@@ -9,24 +9,31 @@ const services_1 = require("../../../services");
9
9
  class ZigbeeSwitch extends zigbeeDevice_1.ZigbeeDevice {
10
10
  constructor(pInfo, deviceType) {
11
11
  super(pInfo, deviceType);
12
+ /**
13
+ * The battery level of the device in percent.
14
+ * TODO: Implement iBatteryDevice
15
+ */
12
16
  this.battery = -99;
13
17
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven, DeviceCapability_1.DeviceCapability.buttonSwitch);
14
18
  }
19
+ /** @inheritDoc */
15
20
  persist(buttonName, pressType) {
16
21
  var _a;
17
22
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistSwitchInput(this, pressType, buttonName);
18
23
  }
24
+ /** @inheritDoc */
19
25
  update(idSplit, state, initial = false, pOverrride = false) {
20
26
  super.update(idSplit, state, initial, pOverrride);
21
27
  switch (idSplit[3]) {
22
28
  case 'battery':
23
29
  this.battery = state.val;
24
30
  if (this.battery < 20) {
25
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
31
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
26
32
  }
27
33
  break;
28
34
  }
29
35
  }
36
+ /** @inheritDoc */
30
37
  pressButton(position, pressType) {
31
38
  let taste;
32
39
  switch (position) {
@@ -2,5 +2,6 @@ import { ZigbeeMagnetContact } from './BaseDevices';
2
2
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
3
  export declare class ZigbeeAqaraMagnetContact extends ZigbeeMagnetContact {
4
4
  constructor(pInfo: IoBrokerDeviceInfo);
5
+ /** @inheritDoc */
5
6
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
6
7
  }
@@ -9,6 +9,7 @@ class ZigbeeAqaraMagnetContact extends BaseDevices_1.ZigbeeMagnetContact {
9
9
  constructor(pInfo) {
10
10
  super(pInfo, deviceType_1.DeviceType.ZigbeeAqaraMagnetContact);
11
11
  }
12
+ /** @inheritDoc */
12
13
  update(idSplit, state, initial = false) {
13
14
  this.log(models_1.LogLevel.DeepTrace, `Magnet Contact Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
14
15
  super.update(idSplit, state, initial, true);
@@ -3,16 +3,32 @@ import { Button } from '../button';
3
3
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
4
4
  export declare class ZigbeeAqaraOpple3Switch extends ZigbeeSwitch {
5
5
  private static readonly BUTTON_CAPABILLITIES;
6
+ /** @inheritDoc */
6
7
  buttonTopLeft: Button;
8
+ /** @inheritDoc */
7
9
  buttonMidLeft: Button;
10
+ /** @inheritDoc */
8
11
  buttonBotLeft: Button;
12
+ /** @inheritDoc */
9
13
  buttonTopRight: Button;
14
+ /** @inheritDoc */
10
15
  buttonMidRight: Button;
16
+ /** @inheritDoc */
11
17
  buttonBotRight: Button;
18
+ /**
19
+ * Not present for {@link DeviceType.ZigbeeAqaraOpple3Switch}
20
+ * @inheritDoc
21
+ */
12
22
  buttonBot: undefined;
23
+ /**
24
+ * Not present for {@link DeviceType.ZigbeeAqaraOpple3Switch}
25
+ * @inheritDoc
26
+ */
13
27
  buttonTop: undefined;
14
28
  constructor(pInfo: IoBrokerDeviceInfo);
29
+ /** @inheritDoc */
15
30
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
31
+ /** @inheritDoc */
16
32
  getButtonAssignment(): string;
17
33
  private updateButton;
18
34
  }
@@ -8,15 +8,30 @@ const models_1 = require("../../../models");
8
8
  class ZigbeeAqaraOpple3Switch extends BaseDevices_1.ZigbeeSwitch {
9
9
  constructor(pInfo) {
10
10
  super(pInfo, deviceType_1.DeviceType.ZigbeeAqaraOpple3Switch);
11
+ /** @inheritDoc */
11
12
  this.buttonTopLeft = new button_1.Button('TopLeft', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
13
+ /** @inheritDoc */
12
14
  this.buttonMidLeft = new button_1.Button('MidLeft', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
15
+ /** @inheritDoc */
13
16
  this.buttonBotLeft = new button_1.Button('BotLeft', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
17
+ /** @inheritDoc */
14
18
  this.buttonTopRight = new button_1.Button('TopRight', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
19
+ /** @inheritDoc */
15
20
  this.buttonMidRight = new button_1.Button('MidRight', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
21
+ /** @inheritDoc */
16
22
  this.buttonBotRight = new button_1.Button('BotRight', ZigbeeAqaraOpple3Switch.BUTTON_CAPABILLITIES);
23
+ /**
24
+ * Not present for {@link DeviceType.ZigbeeAqaraOpple3Switch}
25
+ * @inheritDoc
26
+ */
17
27
  this.buttonBot = undefined;
28
+ /**
29
+ * Not present for {@link DeviceType.ZigbeeAqaraOpple3Switch}
30
+ * @inheritDoc
31
+ */
18
32
  this.buttonTop = undefined;
19
33
  }
34
+ /** @inheritDoc */
20
35
  update(idSplit, state, initial = false) {
21
36
  this.log(models_1.LogLevel.DeepTrace, `Magnet Contact Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
22
37
  super.update(idSplit, state, initial, true);
@@ -25,6 +40,7 @@ class ZigbeeAqaraOpple3Switch extends BaseDevices_1.ZigbeeSwitch {
25
40
  this.updateButton(name, state.val);
26
41
  }
27
42
  }
43
+ /** @inheritDoc */
28
44
  getButtonAssignment() {
29
45
  const result = [`Button: ${this.info.customName}`];
30
46
  for (const taste of [
@@ -6,9 +6,15 @@ export declare class ZigbeeAquaraMotion extends ZigbeeMotionSensor implements iI
6
6
  private occupancyTimeoutID;
7
7
  constructor(pInfo: IoBrokerDeviceInfo);
8
8
  private _motionTimeout;
9
+ /**
10
+ * Time after the last trigger until a motion event gets triggered again
11
+ * @returns The time in ??? unit TODO: RF
12
+ */
9
13
  get motionTimeout(): number;
10
14
  set motionTimeout(value: number);
15
+ /** @inheritDoc */
11
16
  get currentIllumination(): number;
12
17
  private set currentIllumination(value);
18
+ /** @inheritDoc */
13
19
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
14
20
  }
@@ -10,12 +10,15 @@ class ZigbeeAquaraMotion extends BaseDevices_1.ZigbeeMotionSensor {
10
10
  constructor(pInfo) {
11
11
  super(pInfo, deviceType_1.DeviceType.ZigbeeAquaraMotion);
12
12
  this._illuminance = 0;
13
- this.occupancyTimeoutID = `occupancy_timeout`;
13
+ this.occupancyTimeoutID = 'occupancy_timeout';
14
14
  this._motionTimeout = 0;
15
15
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.illuminationSensor);
16
16
  this.occupancyTimeoutID = `${this.info.fullID}.${this.occupancyTimeoutID}`;
17
17
  }
18
- // Time after the last trigger until a motion event gets triggered again
18
+ /**
19
+ * Time after the last trigger until a motion event gets triggered again
20
+ * @returns The time in ??? unit TODO: RF
21
+ */
19
22
  get motionTimeout() {
20
23
  return this._motionTimeout;
21
24
  }
@@ -26,7 +29,7 @@ class ZigbeeAquaraMotion extends BaseDevices_1.ZigbeeMotionSensor {
26
29
  console.log(`Error occurred while setting motion timeout: ${err}`);
27
30
  });
28
31
  }
29
- // Currently measured brightness in lux
32
+ /** @inheritDoc */
30
33
  get currentIllumination() {
31
34
  return this._illuminance;
32
35
  }
@@ -35,6 +38,7 @@ class ZigbeeAquaraMotion extends BaseDevices_1.ZigbeeMotionSensor {
35
38
  this._illuminance = value;
36
39
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistIlluminationSensor(this);
37
40
  }
41
+ /** @inheritDoc */
38
42
  update(idSplit, state, initial = false) {
39
43
  this.log(models_1.LogLevel.DeepTrace, `Motion update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
40
44
  super.update(idSplit, state, initial, true);
@@ -1,33 +1,80 @@
1
+ import { BatteryLevelChangeAction } from '../../../models';
1
2
  import { iBatteryDevice, iVibrationSensor } from '../baseDeviceInterfaces';
2
3
  import { ZigbeeDevice } from './BaseDevices';
3
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
4
5
  export declare class ZigbeeAquaraVibra extends ZigbeeDevice implements iVibrationSensor, iBatteryDevice {
5
- private _battery;
6
- private _lastBatteryPersist;
7
- get lastBatteryPersist(): number;
8
- get battery(): number;
6
+ /**
7
+ * The sensitivity of the vibration sensor
8
+ */
9
9
  sensitivity: string;
10
+ /**
11
+ * The detected tilt angle of the vibration sensor
12
+ */
10
13
  tiltAngle: number;
14
+ /**
15
+ * The detected tilt angle on the x-axis of the vibration sensor
16
+ */
11
17
  tiltAngleX: number;
18
+ /**
19
+ * The detected tilt angle on the x-axis of the vibration sensor
20
+ */
12
21
  tiltAngleXAbs: number;
22
+ /**
23
+ * The detected tilt angle on the y-axis of the vibration sensor
24
+ */
13
25
  tiltAngleY: number;
26
+ /**
27
+ * The detected tilt angle on the y-axis in absolute values of the vibration sensor
28
+ */
14
29
  tiltAngleYAbs: number;
30
+ /**
31
+ * The detected tilt angle on the z-axis of the vibration sensor
32
+ */
15
33
  tiltAngleZ: number;
34
+ /**
35
+ * Whether the vibration sensor is tilted
36
+ */
16
37
  tilt: boolean;
17
- vibration: boolean;
18
- vibrationBlockedByGriffTimeStamp: number;
19
- vibrationBlockedByMotionTimeStamp: number;
38
+ private _battery;
39
+ private _lastBatteryPersist;
40
+ private _vibration;
41
+ private _vibrationBlockedByHandleTimeStamp;
42
+ private _vibrationBlockedByMotionTimeStamp;
20
43
  private _idSensitivity;
21
44
  private _alarmMessage;
22
- constructor(pInfo: IoBrokerDeviceInfo);
23
45
  private _vibrationBlockedByGriff;
24
- get vibrationBlockedByGriff(): boolean;
25
- set vibrationBlockedByGriff(pVal: boolean);
26
46
  private _vibrationBlockedByMotion;
47
+ private _lastBatteryLevel;
48
+ private _batteryLevelCallbacks;
49
+ constructor(pInfo: IoBrokerDeviceInfo);
50
+ /** @inheritDoc */
51
+ get vibration(): boolean;
52
+ /** @inheritDoc */
53
+ get vibrationBlockedByMotionTimeStamp(): number;
54
+ /** @inheritDoc */
55
+ get vibrationBlockedByHandleTimeStamp(): number;
56
+ /** @inheritDoc */
57
+ get lastBatteryPersist(): number;
58
+ /** @inheritDoc */
59
+ get battery(): number;
60
+ /** @inheritDoc */
61
+ get vibrationBlockedByHandle(): boolean;
62
+ /** @inheritDoc */
63
+ set vibrationBlockedByHandle(pVal: boolean);
64
+ /** @inheritDoc */
27
65
  get vibrationBlockedByMotion(): boolean;
66
+ /** @inheritDoc */
28
67
  set vibrationBlockedByMotion(pVal: boolean);
68
+ /** @inheritDoc */
69
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
70
+ /** @inheritDoc */
29
71
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
30
72
  setSensitivity(pVal: number): void;
31
- alarmCheck(): void;
73
+ /** @inheritDoc */
32
74
  persistBatteryDevice(): void;
75
+ private alarmCheck;
76
+ /**
77
+ * Checks whether the battery level did change and if so fires the callbacks
78
+ */
79
+ private checkForBatteryChange;
33
80
  }