hoffmation-base 3.0.0-alpha.8 → 3.0.0-alpha.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) 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 +23 -0
  94. package/lib/models/deviceSettings/dachsSettings.js +29 -1
  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 +34 -0
  116. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  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/index.d.ts +2 -1
  123. package/lib/models/index.js +4 -1
  124. package/lib/models/objectSettings.d.ts +5 -2
  125. package/lib/models/objectSettings.js +2 -2
  126. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  127. package/lib/models/persistence/EnergyCalculation.js +30 -4
  128. package/lib/models/persistence/index.d.ts +0 -2
  129. package/lib/models/persistence/index.js +0 -2
  130. package/lib/models/rooms/RoomBase.d.ts +12 -1
  131. package/lib/models/rooms/RoomBase.js +17 -8
  132. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  133. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  134. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  135. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  136. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  137. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  138. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  139. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  140. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  141. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  142. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  143. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  144. package/lib/models/timeCallback.d.ts +7 -0
  145. package/lib/models/timeCallback.js +16 -6
  146. package/lib/server/config/heatingMode.d.ts +2 -1
  147. package/lib/server/config/heatingMode.js +2 -1
  148. package/lib/server/config/iAsusConfig.d.ts +15 -0
  149. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  150. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  151. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  152. package/lib/server/config/iConfig.d.ts +94 -6
  153. package/lib/server/config/iDachsSettings.d.ts +16 -0
  154. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  155. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  156. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  157. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  158. package/lib/server/config/iGoveeSettings.js +2 -0
  159. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  160. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  161. package/lib/server/config/iLogSettings.d.ts +40 -1
  162. package/lib/server/config/iMp3Settings.d.ts +10 -0
  163. package/lib/server/config/iMuellSettings.d.ts +7 -0
  164. package/lib/server/config/iNewsSettings.d.ts +13 -0
  165. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  166. package/lib/server/config/iPollySettings.d.ts +22 -0
  167. package/lib/server/config/iRestSettings.d.ts +10 -0
  168. package/lib/server/config/iSonosSettings.d.ts +14 -0
  169. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  170. package/lib/server/config/iTibberSettings.d.ts +10 -0
  171. package/lib/server/config/iTimePair.d.ts +9 -0
  172. package/lib/server/config/iTimeSettings.d.ts +9 -0
  173. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  174. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  175. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  176. package/lib/server/config/iVictronSettings.d.ts +14 -0
  177. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  178. package/lib/server/config/index.d.ts +2 -0
  179. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  180. package/lib/server/devices/DeviceCapability.js +1 -0
  181. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  182. package/lib/server/devices/DeviceInfo.js +6 -0
  183. package/lib/server/devices/Griffe.js +1 -2
  184. package/lib/server/devices/Heizgruppen.js +2 -2
  185. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  186. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  187. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +8 -6
  188. package/lib/server/devices/IoBrokerDeviceInfo.js +50 -46
  189. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  190. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  191. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  192. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
  193. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  194. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  195. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  196. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  197. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  198. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  199. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  200. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -5
  202. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -2
  203. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  205. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  207. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  209. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  210. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -2
  212. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  213. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  214. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  215. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -3
  216. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  217. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  218. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  219. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  220. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  221. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  222. package/lib/server/devices/button/button.d.ts +0 -1
  223. package/lib/server/devices/button/button.js +0 -4
  224. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  225. package/lib/server/devices/button/buttonCallback.js +10 -0
  226. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  227. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  228. package/lib/server/devices/button/index.d.ts +1 -0
  229. package/lib/server/devices/button/index.js +3 -0
  230. package/lib/server/devices/dachs/dachs.d.ts +46 -11
  231. package/lib/server/devices/dachs/dachs.js +113 -23
  232. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -4
  233. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  234. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  235. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  236. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  237. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  238. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  239. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  240. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  241. package/lib/server/devices/device-cluster.d.ts +4 -1
  242. package/lib/server/devices/device-cluster.js +9 -4
  243. package/lib/server/devices/deviceType.d.ts +5 -0
  244. package/lib/server/devices/deviceType.js +5 -0
  245. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  246. package/lib/server/devices/deviceUpdater.js +26 -4
  247. package/lib/server/devices/devices.d.ts +53 -7
  248. package/lib/server/devices/devices.js +78 -17
  249. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  250. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  251. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  252. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  253. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  254. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  255. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  256. package/lib/server/devices/espresense/trilateration.js +7 -0
  257. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  258. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  259. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  260. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  261. package/lib/server/devices/groups/Window.d.ts +14 -3
  262. package/lib/server/devices/groups/Window.js +28 -11
  263. package/lib/server/devices/groups/base-group.d.ts +4 -0
  264. package/lib/server/devices/groups/base-group.js +3 -0
  265. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  266. package/lib/server/devices/groups/heatGroup.js +11 -11
  267. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  268. package/lib/server/devices/groups/lightGroup.js +20 -39
  269. package/lib/server/devices/groups/presenceGroup.d.ts +17 -6
  270. package/lib/server/devices/groups/presenceGroup.js +73 -63
  271. package/lib/server/devices/groups/tasterGroup.js +6 -6
  272. package/lib/server/devices/groups/windowGroup.d.ts +16 -1
  273. package/lib/server/devices/groups/windowGroup.js +22 -7
  274. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  275. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  276. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  277. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  278. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  279. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  280. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
  281. package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
  282. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -6
  283. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  284. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
  285. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
  286. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  287. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  288. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
  289. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
  290. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  291. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  292. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
  293. package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
  294. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
  295. package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
  296. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  297. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  298. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  299. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  300. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  301. package/lib/server/devices/index.d.ts +8 -2
  302. package/lib/server/devices/index.js +11 -2
  303. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  304. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  305. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  306. package/lib/server/devices/nameAmountValuePair.js +10 -0
  307. package/lib/server/devices/scene/room-scene.d.ts +23 -7
  308. package/lib/server/devices/scene/room-scene.js +18 -4
  309. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  310. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  311. package/lib/server/devices/shelly/index.d.ts +1 -0
  312. package/lib/server/devices/shelly/index.js +3 -1
  313. package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
  314. package/lib/server/devices/shelly/shellyActuator.js +84 -0
  315. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  316. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  317. package/lib/server/devices/shelly/shellyTrv.d.ts +37 -18
  318. package/lib/server/devices/shelly/shellyTrv.js +66 -45
  319. package/lib/server/devices/smartGarden/index.d.ts +6 -0
  320. package/lib/server/devices/smartGarden/index.js +22 -0
  321. package/lib/server/devices/smartGarden/smartGardenDevice.d.ts +33 -0
  322. package/lib/server/devices/smartGarden/smartGardenDevice.js +98 -0
  323. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.d.ts +9 -0
  324. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.js +13 -0
  325. package/lib/server/devices/smartGarden/smartGardenMower.d.ts +35 -0
  326. package/lib/server/devices/smartGarden/smartGardenMower.js +107 -0
  327. package/lib/server/devices/smartGarden/smartGardenSensor.d.ts +42 -0
  328. package/lib/server/devices/smartGarden/smartGardenSensor.js +119 -0
  329. package/lib/server/devices/smartGarden/smartGardenService.d.ts +7 -0
  330. package/lib/server/devices/smartGarden/smartGardenService.js +52 -0
  331. package/lib/server/devices/smartGarden/smartGardenValve.d.ts +36 -0
  332. package/lib/server/devices/smartGarden/smartGardenValve.js +105 -0
  333. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  334. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  335. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  336. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  337. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  338. package/lib/server/devices/tv/samsungTv.js +1 -0
  339. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  340. package/lib/server/devices/tv/tvDevice.js +4 -3
  341. package/lib/server/devices/velux/index.d.ts +4 -0
  342. package/lib/server/devices/velux/index.js +11 -0
  343. package/lib/server/devices/velux/veluxDevice.d.ts +13 -0
  344. package/lib/server/devices/velux/veluxDevice.js +43 -0
  345. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.d.ts +9 -0
  346. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.js +13 -0
  347. package/lib/server/devices/velux/veluxService.d.ts +7 -0
  348. package/lib/server/devices/velux/veluxService.js +44 -0
  349. package/lib/server/devices/velux/veluxShutter.d.ts +27 -0
  350. package/lib/server/devices/velux/veluxShutter.js +122 -0
  351. package/lib/server/devices/wledDevice.d.ts +15 -3
  352. package/lib/server/devices/wledDevice.js +42 -16
  353. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  354. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  355. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  356. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  357. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  358. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +8 -17
  359. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  360. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -60
  361. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -14
  362. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
  363. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  364. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  365. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
  366. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
  367. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
  368. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
  369. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -15
  370. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
  371. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
  372. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  373. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  374. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  375. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  376. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  377. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  378. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  379. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  380. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  381. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
  382. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
  383. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -9
  384. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
  385. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  386. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  387. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  388. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  389. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -8
  390. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
  391. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  392. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  393. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  394. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  395. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  396. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  397. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  398. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  399. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  400. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  401. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  402. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  403. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  404. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  405. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  406. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  407. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  408. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  409. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  410. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  411. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  412. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  413. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  414. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  415. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -9
  416. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
  417. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  418. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  419. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  420. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  421. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  422. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  423. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  424. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  425. package/lib/server/ioBroker/connection.d.ts +21 -22
  426. package/lib/server/ioBroker/connection.js +37 -28
  427. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  428. package/lib/server/ioBroker/ioBroker.main.js +12 -5
  429. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  430. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  431. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  432. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  433. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  434. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  435. package/lib/server/services/ShutterService.js +7 -6
  436. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  437. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  438. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  439. package/lib/server/services/Sonos/mp3-server.js +3 -1
  440. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  441. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  442. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  443. package/lib/server/services/Sonos/polly-service.js +10 -8
  444. package/lib/server/services/Sonos/sonos-service.d.ts +1 -5
  445. package/lib/server/services/Sonos/sonos-service.js +18 -17
  446. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  447. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  448. package/lib/server/services/Telegram/telegram-service.js +8 -3
  449. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  450. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  451. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  452. package/lib/server/services/Translation/index.d.ts +1 -0
  453. package/lib/server/services/Translation/res.d.ts +34 -19
  454. package/lib/server/services/Translation/res.js +34 -19
  455. package/lib/server/services/ac/ac-device.d.ts +50 -9
  456. package/lib/server/services/ac/ac-device.js +115 -41
  457. package/lib/server/services/ac/daikin-service.js +4 -3
  458. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  459. package/lib/server/services/ac/own-ac-devices.js +3 -0
  460. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  461. package/lib/server/services/ac/own-daikin-device.js +40 -7
  462. package/lib/server/services/api/api-service.d.ts +118 -53
  463. package/lib/server/services/api/api-service.js +170 -80
  464. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  465. package/lib/server/services/blockAutomaticHandler.js +34 -15
  466. package/lib/server/services/calendar/index.d.ts +1 -0
  467. package/lib/server/services/calendar/index.js +3 -0
  468. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  469. package/lib/server/services/calendar/muell-tonne.js +10 -0
  470. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  471. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  472. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  473. package/lib/server/services/calendar/name-date-pair.js +10 -0
  474. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  475. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  476. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  477. package/lib/server/services/file-info.d.ts +5 -0
  478. package/lib/server/services/file-info.js +10 -0
  479. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  480. package/lib/server/services/govee/govee-device-data.js +2 -0
  481. package/lib/server/services/govee/govee-service.d.ts +7 -9
  482. package/lib/server/services/govee/govee-service.js +73 -48
  483. package/lib/server/services/govee/own-govee-device.d.ts +19 -17
  484. package/lib/server/services/govee/own-govee-device.js +58 -58
  485. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  486. package/lib/server/services/govee/own-govee-devices.js +3 -0
  487. package/lib/server/services/https-service.d.ts +3 -2
  488. package/lib/server/services/https-service.js +4 -3
  489. package/lib/server/services/index.d.ts +1 -0
  490. package/lib/server/services/index.js +3 -0
  491. package/lib/server/services/log-service/index.d.ts +1 -0
  492. package/lib/server/services/log-service/index.js +3 -0
  493. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  494. package/lib/server/services/log-service/log-debug-type.js +17 -0
  495. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  496. package/lib/server/services/log-service/log-filter-data.js +6 -15
  497. package/lib/server/services/log-service/log-service.d.ts +17 -4
  498. package/lib/server/services/log-service/log-service.js +30 -17
  499. package/lib/server/services/news-service.d.ts +9 -7
  500. package/lib/server/services/news-service.js +14 -15
  501. package/lib/server/services/room-service/room-service.d.ts +20 -4
  502. package/lib/server/services/room-service/room-service.js +26 -10
  503. package/lib/server/services/settings-service.d.ts +6 -2
  504. package/lib/server/services/settings-service.js +3 -2
  505. package/lib/server/services/time-callback-service.js +1 -1
  506. package/lib/server/services/utils/RGB.d.ts +6 -0
  507. package/lib/server/services/utils/RGB.js +11 -0
  508. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  509. package/lib/server/services/utils/catchEmResult.js +10 -0
  510. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  511. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  512. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  513. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  514. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  515. package/lib/server/services/utils/index.d.ts +4 -1
  516. package/lib/server/services/utils/index.js +8 -1
  517. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  518. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  519. package/lib/server/services/utils/utils.d.ts +9 -14
  520. package/lib/server/services/victron/victron-device.d.ts +27 -10
  521. package/lib/server/services/victron/victron-device.js +94 -25
  522. package/lib/server/services/weather/index.d.ts +2 -0
  523. package/lib/server/services/weather/index.js +3 -0
  524. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  525. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  526. package/lib/server/services/weather/weather-current.d.ts +0 -2
  527. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  528. package/lib/server/services/weather/weather-response.d.ts +16 -0
  529. package/lib/server/services/weather/weather-response.js +2 -0
  530. package/lib/server/services/weather/weather-service.d.ts +16 -18
  531. package/lib/server/services/weather/weather-service.js +37 -22
  532. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  533. package/lib/tsconfig.tsbuildinfo +1 -1
  534. package/package.json +27 -29
  535. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  536. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  537. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  538. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  539. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  540. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -13,40 +13,62 @@ const hmIpDevice_1 = require("./hmIpDevice");
13
13
  const DeviceCapability_1 = require("../DeviceCapability");
14
14
  const handleSettings_1 = require("../../../models/deviceSettings/handleSettings");
15
15
  class HmIpGriff extends hmIpDevice_1.HmIPDevice {
16
- get lastBatteryPersist() {
17
- return this._lastBatteryPersist;
18
- }
19
- get battery() {
20
- return this._battery;
21
- }
16
+ /**
17
+ * Creates an instance of {@link DeviceType.HmIpGriff}.
18
+ * @param pInfo - Device creation information
19
+ */
22
20
  constructor(pInfo) {
23
21
  super(pInfo, deviceType_1.DeviceType.HmIpGriff);
22
+ /** @inheritDoc */
24
23
  this.settings = new handleSettings_1.HandleSettings();
24
+ /** @inheritDoc */
25
+ this.position = models_1.WindowPosition.geschlossen;
26
+ /** @inheritDoc */
27
+ this.minutesOpen = 0;
25
28
  this._battery = -99;
26
29
  this._lastBatteryPersist = 0;
27
30
  this._lastHandlePersist = 0;
28
- this.position = models_1.WindowPosition.geschlossen;
29
31
  this._kippCallback = [];
30
32
  this._closedCallback = [];
31
33
  this._offenCallback = [];
32
- this.minutesOpen = 0;
33
34
  this._window = undefined;
34
35
  this._helpingRoomTemp = false;
36
+ this._lastBatteryLevel = -1;
37
+ this._batteryLevelCallbacks = [];
35
38
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.handleSensor);
36
39
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
37
40
  }
41
+ /** @inheritDoc */
42
+ get lastBatteryPersist() {
43
+ return this._lastBatteryPersist;
44
+ }
45
+ /** @inheritDoc */
46
+ get battery() {
47
+ return this._battery;
48
+ }
49
+ /**
50
+ * Adds a window to this device
51
+ */
38
52
  set window(value) {
39
53
  this._window = value;
40
54
  }
55
+ /** @inheritDoc */
56
+ addBatteryLevelCallback(pCallback) {
57
+ this._batteryLevelCallbacks.push(pCallback);
58
+ }
59
+ /** @inheritDoc */
41
60
  addOffenCallback(pCallback) {
42
61
  this._offenCallback.push(pCallback);
43
62
  }
63
+ /** @inheritDoc */
44
64
  addKippCallback(pCallback) {
45
65
  this._kippCallback.push(pCallback);
46
66
  }
67
+ /** @inheritDoc */
47
68
  addClosedCallback(pCallback) {
48
69
  this._closedCallback.push(pCallback);
49
70
  }
71
+ /** @inheritDoc */
50
72
  update(idSplit, state, initial = false) {
51
73
  this.log(models_2.LogLevel.DeepTrace, `Griff Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
52
74
  super.update(idSplit, state, initial, true);
@@ -55,6 +77,7 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
55
77
  switch (idSplit[4]) {
56
78
  case 'OPERATING_VOLTAGE':
57
79
  this._battery = 100 * ((state.val - 0.9) / 0.6);
80
+ this.checkForBatteryChange();
58
81
  this.persistBatteryDevice();
59
82
  break;
60
83
  }
@@ -66,12 +89,47 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
66
89
  break;
67
90
  case 'OPERATING_VOLTAGE':
68
91
  this._battery = 100 * ((state.val - 0.9) / 0.6);
92
+ this.checkForBatteryChange();
69
93
  this.persistBatteryDevice();
70
94
  break;
71
95
  }
72
96
  break;
73
97
  }
74
98
  }
99
+ /** @inheritDoc */
100
+ persistBatteryDevice() {
101
+ var _a;
102
+ const now = services_1.Utils.nowMS();
103
+ if (this._lastBatteryPersist + 60000 > now) {
104
+ return;
105
+ }
106
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
107
+ this._lastBatteryPersist = now;
108
+ }
109
+ /**
110
+ * Persists the handle sensor state to the persistence layer
111
+ */
112
+ persistHandleSensor() {
113
+ var _a;
114
+ const now = services_1.Utils.nowMS();
115
+ if (this._lastHandlePersist + 2000 > now) {
116
+ return;
117
+ }
118
+ this.log(models_2.LogLevel.Debug, `Persist handle state: ${this.position}`);
119
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHandleSensor(this);
120
+ this._lastHandlePersist = now;
121
+ }
122
+ /** @inheritDoc */
123
+ dispose() {
124
+ if (this._iOpenTimeout) {
125
+ clearInterval(this._iOpenTimeout);
126
+ this._iOpenTimeout = undefined;
127
+ }
128
+ }
129
+ /** @inheritDoc */
130
+ toJSON() {
131
+ return lodash_1.default.omit(super.toJSON(), ['_window']);
132
+ }
75
133
  updatePosition(pValue) {
76
134
  if (pValue === this.position) {
77
135
  if (this._lastHandlePersist == 0) {
@@ -116,7 +174,7 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
116
174
  const wouldHelp = (desiredTemp < currentTemp && outSideTemp < currentTemp) ||
117
175
  (desiredTemp > currentTemp && outSideTemp > currentTemp);
118
176
  if (!wouldHelp && this._helpingRoomTemp) {
119
- const info = `Window should be closed, as it doesn't help reaching target temperature.`;
177
+ const info = "Window should be closed, as it doesn't help reaching target temperature.";
120
178
  this.log(models_2.LogLevel.Info, info);
121
179
  if (this.settings.informNotHelping) {
122
180
  services_1.TelegramService.inform(info);
@@ -155,33 +213,18 @@ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
155
213
  }
156
214
  }, 60000, this);
157
215
  }
158
- persistBatteryDevice() {
159
- var _a;
160
- const now = services_1.Utils.nowMS();
161
- if (this._lastBatteryPersist + 60000 > now) {
162
- return;
163
- }
164
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
165
- this._lastBatteryPersist = now;
166
- }
167
- persistHandleSensor() {
168
- var _a;
169
- const now = services_1.Utils.nowMS();
170
- if (this._lastHandlePersist + 2000 > now) {
216
+ /**
217
+ * Checks whether the battery level did change and if so fires the callbacks
218
+ */
219
+ checkForBatteryChange() {
220
+ const newLevel = this.battery;
221
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
171
222
  return;
172
223
  }
173
- this.log(models_2.LogLevel.Debug, `Persist handle state: ${this.position}`);
174
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHandleSensor(this);
175
- this._lastHandlePersist = now;
176
- }
177
- dispose() {
178
- if (this._iOpenTimeout) {
179
- clearInterval(this._iOpenTimeout);
180
- this._iOpenTimeout = undefined;
224
+ for (const cb of this._batteryLevelCallbacks) {
225
+ cb(new models_2.BatteryLevelChangeAction(this));
181
226
  }
182
- }
183
- toJSON() {
184
- return lodash_1.default.omit(super.toJSON(), ['_window']);
227
+ this._lastBatteryLevel = newLevel;
185
228
  }
186
229
  }
187
230
  exports.HmIpGriff = HmIpGriff;
@@ -1,13 +1,16 @@
1
- /// <reference types="node" />
2
1
  import { HmIPDevice } from './hmIpDevice';
3
2
  import { iDisposable } from '../../services';
4
- import { HeaterSettings } from '../../../models';
3
+ import { HeaterSettings, HumiditySensorChangeAction, TemperatureSensorChangeAction } from '../../../models';
5
4
  import { iHeater, iHumiditySensor, iTemperatureSensor } from '../baseDeviceInterfaces';
6
5
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
7
6
  export declare class HmIpHeizgruppe extends HmIPDevice implements iTemperatureSensor, iHumiditySensor, iHeater, iDisposable {
7
+ /** @inheritDoc */
8
8
  readonly persistHeaterInterval: NodeJS.Timeout;
9
+ /** @inheritDoc */
9
10
  readonly persistTemperatureSensorInterval: NodeJS.Timeout;
11
+ /** @inheritDoc */
10
12
  readonly persistHumiditySensorInterval: NodeJS.Timeout;
13
+ /** @inheritDoc */
11
14
  settings: HeaterSettings;
12
15
  private _iAutomaticInterval;
13
16
  private _initialSeasonCheckDone;
@@ -17,35 +20,51 @@ export declare class HmIpHeizgruppe extends HmIPDevice implements iTemperatureSe
17
20
  private _temperatureCallbacks;
18
21
  constructor(pInfo: IoBrokerDeviceInfo);
19
22
  protected _seasonTurnOff: boolean;
23
+ /** @inheritDoc */
20
24
  get seasonTurnOff(): boolean;
25
+ /** @inheritDoc */
21
26
  set seasonTurnOff(value: boolean);
22
27
  private _temperature;
23
28
  get temperature(): number;
24
29
  private set temperature(value);
25
30
  private _humidity;
31
+ /** @inheritDoc */
26
32
  get humidity(): number;
27
33
  private set humidity(value);
28
34
  private _desiredTemperature;
35
+ /** @inheritDoc */
29
36
  get desiredTemperature(): number;
37
+ /** @inheritDoc */
30
38
  set desiredTemperature(val: number);
31
39
  get sLevel(): string;
40
+ /** @inheritDoc */
32
41
  get iLevel(): number;
42
+ /** @inheritDoc */
33
43
  get sTemperature(): string;
44
+ /** @inheritDoc */
34
45
  get iTemperature(): number;
35
46
  private _roomTemperature;
47
+ /** @inheritDoc */
36
48
  get roomTemperature(): number;
37
- set roomTemperature(value: number);
38
- addHumidityCallback(pCallback: (pValue: number) => void): void;
49
+ /** @inheritDoc */
50
+ addHumidityCallback(pCallback: (action: HumiditySensorChangeAction) => void): void;
39
51
  getBelongingHeizungen(): iHeater[];
52
+ /** @inheritDoc */
40
53
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
41
- stopAutomaticCheck(): void;
54
+ /** @inheritDoc */
42
55
  checkAutomaticChange(): void;
43
- addTempChangeCallback(pCallback: (pValue: number) => void): void;
56
+ /** @inheritDoc */
57
+ addTempChangeCallback(pCallback: (action: TemperatureSensorChangeAction) => void): void;
58
+ /** @inheritDoc */
44
59
  onTemperaturChange(newTemperatur: number): void;
60
+ /** @inheritDoc */
45
61
  persistTemperaturSensor(): void;
62
+ /** @inheritDoc */
46
63
  persistHeater(): void;
64
+ /** @inheritDoc */
47
65
  persistHumiditySensor(): void;
48
66
  private updateBaseInformation;
49
67
  private checkSeasonTurnOff;
68
+ /** @inheritDoc */
50
69
  dispose(): void;
51
70
  }
@@ -11,15 +11,19 @@ const DeviceCapability_1 = require("../DeviceCapability");
11
11
  class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
12
12
  constructor(pInfo) {
13
13
  super(pInfo, deviceType_1.DeviceType.HmIpHeizgruppe);
14
+ /** @inheritDoc */
14
15
  this.persistHeaterInterval = services_1.Utils.guardedInterval(() => {
15
16
  this.persistHeater();
16
17
  }, 5 * 60 * 1000, this, false);
18
+ /** @inheritDoc */
17
19
  this.persistTemperatureSensorInterval = services_1.Utils.guardedInterval(() => {
18
20
  this.persistTemperaturSensor();
19
21
  }, 5 * 60 * 1000, this, false);
22
+ /** @inheritDoc */
20
23
  this.persistHumiditySensorInterval = services_1.Utils.guardedInterval(() => {
21
24
  this.persistHumiditySensor();
22
25
  }, 5 * 60 * 1000, this, false);
26
+ /** @inheritDoc */
23
27
  this.settings = new models_1.HeaterSettings();
24
28
  this._initialSeasonCheckDone = false;
25
29
  this._level = 0;
@@ -40,9 +44,11 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
40
44
  this.checkSeasonTurnOff();
41
45
  }, 0, 2, 0));
42
46
  }
47
+ /** @inheritDoc */
43
48
  get seasonTurnOff() {
44
49
  return this._seasonTurnOff;
45
50
  }
51
+ /** @inheritDoc */
46
52
  set seasonTurnOff(value) {
47
53
  this._seasonTurnOff = value;
48
54
  if (value) {
@@ -61,21 +67,24 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
61
67
  set temperature(val) {
62
68
  this._temperature = val;
63
69
  for (const cb of this._temperatureCallbacks) {
64
- cb(val);
70
+ cb(new models_1.TemperatureSensorChangeAction(this, val));
65
71
  }
66
72
  }
73
+ /** @inheritDoc */
67
74
  get humidity() {
68
75
  return this._humidity;
69
76
  }
70
77
  set humidity(val) {
71
78
  this._humidity = val;
72
79
  for (const cb of this._humidityCallbacks) {
73
- cb(val);
80
+ cb(new models_1.HumiditySensorChangeAction(this, val));
74
81
  }
75
82
  }
83
+ /** @inheritDoc */
76
84
  get desiredTemperature() {
77
85
  return this._desiredTemperature;
78
86
  }
87
+ /** @inheritDoc */
79
88
  set desiredTemperature(val) {
80
89
  this.setState(this._setPointTemperatureID, this.seasonTurnOff ? 5 : val, () => {
81
90
  this.log(models_1.LogLevel.Info, `Changed temperature of to "${val}.`);
@@ -86,30 +95,33 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
86
95
  get sLevel() {
87
96
  return `${this._level * 100}%`;
88
97
  }
98
+ /** @inheritDoc */
89
99
  get iLevel() {
90
100
  return this._level;
91
101
  }
102
+ /** @inheritDoc */
92
103
  get sTemperature() {
93
104
  return `${this.temperature}°C`;
94
105
  }
106
+ /** @inheritDoc */
95
107
  get iTemperature() {
96
108
  return this.temperature;
97
109
  }
110
+ /** @inheritDoc */
98
111
  get roomTemperature() {
99
112
  return this._roomTemperature;
100
113
  }
101
- set roomTemperature(value) {
102
- this._roomTemperature = value;
103
- }
114
+ /** @inheritDoc */
104
115
  addHumidityCallback(pCallback) {
105
116
  this._humidityCallbacks.push(pCallback);
106
117
  if (this._humidity > 0) {
107
- pCallback(this._humidity);
118
+ pCallback(new models_1.HumiditySensorChangeAction(this, this._humidity));
108
119
  }
109
120
  }
110
121
  getBelongingHeizungen() {
111
122
  return this.room.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Heater);
112
123
  }
124
+ /** @inheritDoc */
113
125
  update(idSplit, state, initial = false) {
114
126
  this.log(models_1.LogLevel.DeepTrace, `Heizgruppe Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
115
127
  super.update(idSplit, state, initial, true);
@@ -119,12 +131,7 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
119
131
  break;
120
132
  }
121
133
  }
122
- stopAutomaticCheck() {
123
- if (this._iAutomaticInterval !== undefined) {
124
- clearInterval(this._iAutomaticInterval);
125
- this._iAutomaticInterval = undefined;
126
- }
127
- }
134
+ /** @inheritDoc */
128
135
  checkAutomaticChange() {
129
136
  var _a, _b, _c, _d;
130
137
  if (!this._initialSeasonCheckDone) {
@@ -144,23 +151,28 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
144
151
  this.desiredTemperature = targetTemp;
145
152
  }
146
153
  }
154
+ /** @inheritDoc */
147
155
  addTempChangeCallback(pCallback) {
148
156
  this._temperatureCallbacks.push(pCallback);
149
157
  if (this._temperature > baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
150
- pCallback(this._temperature);
158
+ pCallback(new models_1.TemperatureSensorChangeAction(this, this._temperature));
151
159
  }
152
160
  }
161
+ /** @inheritDoc */
153
162
  onTemperaturChange(newTemperatur) {
154
- this.roomTemperature = newTemperatur;
163
+ this._roomTemperature = newTemperatur;
155
164
  }
165
+ /** @inheritDoc */
156
166
  persistTemperaturSensor() {
157
167
  var _a;
158
168
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistTemperatureSensor(this);
159
169
  }
170
+ /** @inheritDoc */
160
171
  persistHeater() {
161
172
  var _a;
162
173
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHeater(this);
163
174
  }
175
+ /** @inheritDoc */
164
176
  persistHumiditySensor() {
165
177
  var _a;
166
178
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHumiditySensor(this);
@@ -190,6 +202,7 @@ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
190
202
  }
191
203
  this._initialSeasonCheckDone = true;
192
204
  }
205
+ /** @inheritDoc */
193
206
  dispose() {
194
207
  if (this.persistTemperatureSensorInterval) {
195
208
  clearInterval(this.persistTemperatureSensorInterval);
@@ -1,3 +1,4 @@
1
+ import { BatteryLevelChangeAction } from '../../../models';
1
2
  import { HmIPDevice } from './hmIpDevice';
2
3
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
4
  import { iBatteryDevice } from '../baseDeviceInterfaces';
@@ -7,14 +8,23 @@ export declare class HmIpHeizung extends HmIPDevice implements iBatteryDevice {
7
8
  private _level;
8
9
  private _adaptionState;
9
10
  private _lastBatteryPersist;
11
+ private _lastBatteryLevel;
12
+ private _batteryLevelCallbacks;
13
+ private _desiredTemperatur;
14
+ constructor(pInfo: IoBrokerDeviceInfo);
10
15
  get lastBatteryPersist(): number;
11
16
  get battery(): number;
12
- constructor(pInfo: IoBrokerDeviceInfo);
13
- private _desiredTemperatur;
14
17
  get desiredTemperatur(): number;
15
18
  get iLevel(): number;
16
19
  get iTemperatur(): number;
20
+ /** @inheritDoc */
21
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
22
+ /** @inheritDoc */
17
23
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
18
- private updateBaseInformation;
19
24
  persistBatteryDevice(): void;
25
+ private updateBaseInformation;
26
+ /**
27
+ * Checks whether the battery level did change and if so fires the callbacks
28
+ */
29
+ private checkForBatteryChange;
20
30
  }
@@ -19,21 +19,23 @@ var HmIpHeizungAdaptionStates;
19
19
  HmIpHeizungAdaptionStates[HmIpHeizungAdaptionStates["ErrorPosition"] = 8] = "ErrorPosition";
20
20
  })(HmIpHeizungAdaptionStates || (HmIpHeizungAdaptionStates = {}));
21
21
  class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
22
- get lastBatteryPersist() {
23
- return this._lastBatteryPersist;
24
- }
25
- get battery() {
26
- return this._battery;
27
- }
28
22
  constructor(pInfo) {
29
23
  super(pInfo, deviceType_1.DeviceType.HmIpHeizung);
30
24
  this._battery = -99;
31
25
  this._temperatur = 0;
32
26
  this._level = 0;
33
27
  this._lastBatteryPersist = 0;
28
+ this._lastBatteryLevel = -1;
29
+ this._batteryLevelCallbacks = [];
34
30
  this._desiredTemperatur = 0;
35
31
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
36
32
  }
33
+ get lastBatteryPersist() {
34
+ return this._lastBatteryPersist;
35
+ }
36
+ get battery() {
37
+ return this._battery;
38
+ }
37
39
  get desiredTemperatur() {
38
40
  return this._desiredTemperatur;
39
41
  }
@@ -43,6 +45,11 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
43
45
  get iTemperatur() {
44
46
  return this._temperatur;
45
47
  }
48
+ /** @inheritDoc */
49
+ addBatteryLevelCallback(pCallback) {
50
+ this._batteryLevelCallbacks.push(pCallback);
51
+ }
52
+ /** @inheritDoc */
46
53
  update(idSplit, state, initial = false) {
47
54
  this.log(models_1.LogLevel.DeepTrace, `Heizung Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
48
55
  super.update(idSplit, state, initial, true);
@@ -51,6 +58,7 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
51
58
  switch (idSplit[4]) {
52
59
  case 'OPERATING_VOLTAGE':
53
60
  this._battery = 100 * ((state.val - 1.8) / 1.2);
61
+ this.checkForBatteryChange();
54
62
  this.persistBatteryDevice();
55
63
  break;
56
64
  }
@@ -60,6 +68,15 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
60
68
  break;
61
69
  }
62
70
  }
71
+ persistBatteryDevice() {
72
+ var _a;
73
+ const now = services_1.Utils.nowMS();
74
+ if (this._lastBatteryPersist + 60000 > now) {
75
+ return;
76
+ }
77
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
78
+ this._lastBatteryPersist = now;
79
+ }
63
80
  updateBaseInformation(name, state) {
64
81
  switch (name) {
65
82
  case 'ACTUAL_TEMPERATURE':
@@ -81,14 +98,18 @@ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
81
98
  break;
82
99
  }
83
100
  }
84
- persistBatteryDevice() {
85
- var _a;
86
- const now = services_1.Utils.nowMS();
87
- if (this._lastBatteryPersist + 60000 > now) {
101
+ /**
102
+ * Checks whether the battery level did change and if so fires the callbacks
103
+ */
104
+ checkForBatteryChange() {
105
+ const newLevel = this.battery;
106
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
88
107
  return;
89
108
  }
90
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
91
- this._lastBatteryPersist = now;
109
+ for (const cb of this._batteryLevelCallbacks) {
110
+ cb(new models_1.BatteryLevelChangeAction(this));
111
+ }
112
+ this._lastBatteryLevel = newLevel;
92
113
  }
93
114
  }
94
115
  exports.HmIpHeizung = HmIpHeizung;
@@ -4,15 +4,21 @@ import { iLamp, iTemporaryDisableAutomatic } from '../baseDeviceInterfaces';
4
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
5
  import { BlockAutomaticHandler } from '../../services/blockAutomaticHandler';
6
6
  export declare class HmIpLampe extends HmIPDevice implements iLamp, iTemporaryDisableAutomatic {
7
- lightOn: boolean;
7
+ /** @inheritDoc */
8
+ private _actuatorOn;
9
+ /** @inheritDoc */
8
10
  settings: ActuatorSettings;
9
11
  private lightOnSwitchID;
12
+ /** @inheritDoc */
10
13
  readonly blockAutomationHandler: BlockAutomaticHandler;
14
+ /** @inheritDoc */
11
15
  queuedValue: boolean | null;
16
+ /** @inheritDoc */
12
17
  targetAutomaticState: boolean;
13
18
  constructor(pInfo: IoBrokerDeviceInfo);
14
19
  get actuatorOn(): boolean;
15
20
  restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
21
+ /** @inheritDoc */
16
22
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
17
23
  setActuator(command: ActuatorSetStateCommand): void;
18
24
  toggleActuator(c: ActuatorToggleCommand): boolean;
@@ -11,23 +11,27 @@ const sharedFunctions_1 = require("../sharedFunctions");
11
11
  class HmIpLampe extends hmIpDevice_1.HmIPDevice {
12
12
  constructor(pInfo) {
13
13
  super(pInfo, deviceType_1.DeviceType.HmIpLampe);
14
- this.lightOn = false;
14
+ /** @inheritDoc */
15
+ this._actuatorOn = false;
16
+ /** @inheritDoc */
15
17
  this.settings = new models_1.ActuatorSettings();
16
18
  this.lightOnSwitchID = '';
19
+ /** @inheritDoc */
17
20
  this.queuedValue = null;
21
+ /** @inheritDoc */
18
22
  this.targetAutomaticState = false;
19
23
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
20
24
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.blockAutomatic);
21
25
  this.lightOnSwitchID = `${this.info.fullID}.2.STATE`;
22
- this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
26
+ this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
23
27
  }
24
28
  get actuatorOn() {
25
- return this.lightOn;
29
+ return this._actuatorOn;
26
30
  }
27
31
  restoreTargetAutomaticValue(c) {
28
- this.log(models_1.LogLevel.Debug, c.logMessage);
29
- this.setLight(new models_1.LampSetLightCommand(c, this.targetAutomaticState, 'Lampen RestoreTargetAutomaticValue'));
32
+ this.setLight(new models_1.LampSetLightCommand(c, this.targetAutomaticState));
30
33
  }
34
+ /** @inheritDoc */
31
35
  update(idSplit, state, initial = false) {
32
36
  this.log(models_1.LogLevel.DeepTrace, `Lampen Update : ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
33
37
  this.queuedValue = null;
@@ -35,7 +39,7 @@ class HmIpLampe extends hmIpDevice_1.HmIPDevice {
35
39
  switch (idSplit[3]) {
36
40
  case '1':
37
41
  if (idSplit[4] === 'STATE') {
38
- this.lightOn = state.val;
42
+ this._actuatorOn = state.val;
39
43
  this.persist();
40
44
  }
41
45
  break;
@@ -52,7 +56,7 @@ class HmIpLampe extends hmIpDevice_1.HmIPDevice {
52
56
  /** @inheritdoc */
53
57
  setLight(c) {
54
58
  if (this.lightOnSwitchID === '') {
55
- this.log(models_1.LogLevel.Error, `Keine Switch ID bekannt.`);
59
+ this.log(models_1.LogLevel.Error, 'Keine Switch ID bekannt.');
56
60
  return;
57
61
  }
58
62
  sharedFunctions_1.LampUtils.setActuator(this, c);
@@ -1,31 +1,41 @@
1
1
  import { HmIPDevice } from './hmIpDevice';
2
- import { MotionSensorSettings } from '../../../models';
2
+ import { BatteryLevelChangeAction, MotionSensorAction, MotionSensorSettings } from '../../../models';
3
3
  import { iBatteryDevice, iIlluminationSensor, iMotionSensor } from '../baseDeviceInterfaces';
4
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
5
  export declare class HmIpPraezenz extends HmIPDevice implements iIlluminationSensor, iBatteryDevice, iMotionSensor {
6
- private _battery;
7
- private _lastBatteryPersist;
8
- get lastBatteryPersist(): number;
9
6
  private static PRESENCE_DETECTION;
10
7
  private static CURRENT_ILLUMINATION;
11
- excludeFromNightAlarm: boolean;
8
+ /** @inheritDoc */
12
9
  movementDetected: boolean;
13
- get battery(): number;
10
+ /** @inheritDoc */
14
11
  settings: MotionSensorSettings;
12
+ private _battery;
13
+ private _lastBatteryPersist;
15
14
  private _movementDetectedCallback;
16
15
  private initialized;
17
16
  private _lastMotionTime;
17
+ private _detectionsToday;
18
+ private _currentIllumination;
19
+ private _lastBatteryLevel;
20
+ private _batteryLevelCallbacks;
18
21
  constructor(pInfo: IoBrokerDeviceInfo);
22
+ get lastBatteryPersist(): number;
23
+ get battery(): number;
19
24
  get timeSinceLastMotion(): number;
20
- private _detectionsToday;
21
25
  get detectionsToday(): number;
22
26
  set detectionsToday(pVal: number);
23
- private _currentIllumination;
24
27
  get currentIllumination(): number;
25
28
  private set currentIllumination(value);
26
- addMovementCallback(pCallback: (pValue: boolean) => void): void;
29
+ /** @inheritDoc */
30
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
31
+ addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
32
+ /** @inheritDoc */
27
33
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
28
34
  updatePresence(pVal: boolean): void;
29
35
  persistMotionSensor(): void;
30
36
  persistBatteryDevice(): void;
37
+ /**
38
+ * Checks whether the battery level did change and if so fires the callbacks
39
+ */
40
+ private checkForBatteryChange;
31
41
  }