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

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 +92 -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
@@ -1,25 +1,52 @@
1
1
  /// <reference types="node" />
2
2
  import { ZigbeeDevice } from './BaseDevices';
3
+ import { BatteryLevelChangeAction } from '../../../models';
3
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
4
5
  import { iBatteryDevice, iSmokeDetectorDevice } from '../baseDeviceInterfaces';
5
6
  export declare class ZigbeeHeimanSmoke extends ZigbeeDevice implements iBatteryDevice, iSmokeDetectorDevice {
7
+ /**
8
+ * The timeout for the alarm to fire again
9
+ * @default undefined (no alarm active)
10
+ */
11
+ iAlarmTimeout: NodeJS.Timeout | undefined;
6
12
  private _battery;
7
13
  private _lastBatteryPersist;
8
- get lastBatteryPersist(): number;
9
- get battery(): number;
10
- constructor(pInfo: IoBrokerDeviceInfo);
14
+ private _lastBatteryLevel;
15
+ private _batteryLevelCallbacks;
11
16
  private _smoke;
12
- iAlarmTimeout: NodeJS.Timeout | undefined;
13
17
  private _messageAlarmFirst;
14
18
  private _messageAlarm;
15
19
  private _messageAlarmEnd;
16
- get smoke(): boolean;
17
20
  private _roomName;
21
+ /**
22
+ * Creates an instance of {@link DeviceType.ZigbeeHeimanSmoke}.
23
+ * @param pInfo - Device creation information
24
+ */
25
+ constructor(pInfo: IoBrokerDeviceInfo);
26
+ /** @inheritDoc */
27
+ get lastBatteryPersist(): number;
28
+ /** @inheritDoc */
29
+ get battery(): number;
30
+ /** @inheritDoc */
31
+ get smoke(): boolean;
32
+ /**
33
+ * The name of the room the device is in (Set during initialization)
34
+ */
18
35
  set roomName(val: string);
36
+ /** @inheritDoc */
37
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
38
+ /** @inheritDoc */
19
39
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
40
+ /** @inheritDoc */
20
41
  stopAlarm(quiet?: boolean): void;
21
- private startAlarm;
22
- private alarm;
42
+ /** @inheritdoc */
23
43
  persistBatteryDevice(): void;
44
+ /** @inheritDoc */
24
45
  dispose(): void;
46
+ private startAlarm;
47
+ private alarm;
48
+ /**
49
+ * Checks whether the battery level did change and if so fires the callbacks
50
+ */
51
+ private checkForBatteryChange;
25
52
  }
@@ -7,18 +7,22 @@ const BaseDevices_1 = require("./BaseDevices");
7
7
  const models_1 = require("../../../models");
8
8
  const DeviceCapability_1 = require("../DeviceCapability");
9
9
  class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
10
- get lastBatteryPersist() {
11
- return this._lastBatteryPersist;
12
- }
13
- get battery() {
14
- return this._battery;
15
- }
10
+ /**
11
+ * Creates an instance of {@link DeviceType.ZigbeeHeimanSmoke}.
12
+ * @param pInfo - Device creation information
13
+ */
16
14
  constructor(pInfo) {
17
15
  super(pInfo, deviceType_1.DeviceType.ZigbeeHeimanSmoke);
16
+ /**
17
+ * The timeout for the alarm to fire again
18
+ * @default undefined (no alarm active)
19
+ */
20
+ this.iAlarmTimeout = undefined;
18
21
  this._battery = -99;
19
22
  this._lastBatteryPersist = 0;
23
+ this._lastBatteryLevel = -1;
24
+ this._batteryLevelCallbacks = [];
20
25
  this._smoke = false;
21
- this.iAlarmTimeout = undefined;
22
26
  this._messageAlarmFirst = '';
23
27
  this._messageAlarm = '';
24
28
  this._messageAlarmEnd = '';
@@ -29,9 +33,21 @@ class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
29
33
  this._messageAlarm = services_1.Res.fireAlarmRepeat(this._roomName, this.info.customName);
30
34
  this._messageAlarmEnd = services_1.Res.fireAlarmEnd(this._roomName);
31
35
  }
36
+ /** @inheritDoc */
37
+ get lastBatteryPersist() {
38
+ return this._lastBatteryPersist;
39
+ }
40
+ /** @inheritDoc */
41
+ get battery() {
42
+ return this._battery;
43
+ }
44
+ /** @inheritDoc */
32
45
  get smoke() {
33
46
  return this._smoke;
34
47
  }
48
+ /**
49
+ * The name of the room the device is in (Set during initialization)
50
+ */
35
51
  set roomName(val) {
36
52
  this._roomName = val;
37
53
  this._messageAlarmFirst = services_1.Res.fireAlarmStart(this._roomName, this.info.customName);
@@ -41,15 +57,21 @@ class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
41
57
  services_1.PollyService.preloadTTS(this._messageAlarm);
42
58
  services_1.PollyService.preloadTTS(this._messageAlarmEnd);
43
59
  }
60
+ /** @inheritDoc */
61
+ addBatteryLevelCallback(pCallback) {
62
+ this._batteryLevelCallbacks.push(pCallback);
63
+ }
64
+ /** @inheritDoc */
44
65
  update(idSplit, state, initial = false) {
45
66
  this.log(models_1.LogLevel.DeepTrace, `Smoke Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
46
67
  super.update(idSplit, state, initial, true);
47
68
  switch (idSplit[3]) {
48
69
  case 'battery':
49
70
  this._battery = state.val;
71
+ this.checkForBatteryChange();
50
72
  this.persistBatteryDevice();
51
73
  if (this._battery < 20) {
52
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
74
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
53
75
  }
54
76
  break;
55
77
  case 'smoke':
@@ -65,6 +87,7 @@ class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
65
87
  break;
66
88
  }
67
89
  }
90
+ /** @inheritDoc */
68
91
  stopAlarm(quiet = false) {
69
92
  if (this.iAlarmTimeout) {
70
93
  clearInterval(this.iAlarmTimeout);
@@ -80,6 +103,24 @@ class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
80
103
  services_1.SonosService.speakOnAll(message);
81
104
  });
82
105
  }
106
+ /** @inheritdoc */
107
+ persistBatteryDevice() {
108
+ var _a;
109
+ const now = services_1.Utils.nowMS();
110
+ if (this._lastBatteryPersist + 60000 > now) {
111
+ return;
112
+ }
113
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
114
+ this._lastBatteryPersist = now;
115
+ }
116
+ /** @inheritDoc */
117
+ dispose() {
118
+ if (this.iAlarmTimeout) {
119
+ clearInterval(this.iAlarmTimeout);
120
+ this.iAlarmTimeout = undefined;
121
+ }
122
+ super.dispose();
123
+ }
83
124
  startAlarm() {
84
125
  if (this.iAlarmTimeout !== undefined) {
85
126
  clearInterval(this.iAlarmTimeout);
@@ -102,21 +143,18 @@ class ZigbeeHeimanSmoke extends BaseDevices_1.ZigbeeDevice {
102
143
  services_1.RoomService.setAllShutterOfFloor(new models_1.FloorSetAllShuttersCommand(models_1.CommandSource.Force, 100, undefined, 'Fire alarm'));
103
144
  });
104
145
  }
105
- persistBatteryDevice() {
106
- var _a;
107
- const now = services_1.Utils.nowMS();
108
- if (this._lastBatteryPersist + 60000 > now) {
146
+ /**
147
+ * Checks whether the battery level did change and if so fires the callbacks
148
+ */
149
+ checkForBatteryChange() {
150
+ const newLevel = this.battery;
151
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
109
152
  return;
110
153
  }
111
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
112
- this._lastBatteryPersist = now;
113
- }
114
- dispose() {
115
- if (this.iAlarmTimeout) {
116
- clearInterval(this.iAlarmTimeout);
117
- this.iAlarmTimeout = undefined;
154
+ for (const cb of this._batteryLevelCallbacks) {
155
+ cb(new models_1.BatteryLevelChangeAction(this));
118
156
  }
119
- super.dispose();
157
+ this._lastBatteryLevel = newLevel;
120
158
  }
121
159
  }
122
160
  exports.ZigbeeHeimanSmoke = ZigbeeHeimanSmoke;
@@ -3,6 +3,7 @@ import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
3
  export declare class ZigbeeIkeaShutter extends ZigbeeShutter {
4
4
  private readonly _positionStateId;
5
5
  constructor(pInfo: IoBrokerDeviceInfo);
6
+ /** @inheritDoc */
6
7
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
7
8
  protected moveToPosition(pPosition: number): void;
8
9
  }
@@ -10,11 +10,12 @@ class ZigbeeIkeaShutter extends BaseDevices_1.ZigbeeShutter {
10
10
  this._positionStateId = `${this.info.fullID}.position`;
11
11
  // this.presenceStateID = `${this.info.fullID}.1.${HmIpPraezenz.PRESENCE_DETECTION}`;
12
12
  }
13
+ /** @inheritDoc */
13
14
  update(idSplit, state, initial = false) {
14
15
  switch (idSplit[3]) {
15
16
  case 'position':
16
17
  this.log(models_1.LogLevel.Trace, `Shutter Update for ${this.info.customName} to "${state.val}"`);
17
- this.currentLevel = state.val;
18
+ this.setCurrentLevel(state.val, initial);
18
19
  break;
19
20
  }
20
21
  super.update(idSplit, state, initial, true);
@@ -1,6 +1,8 @@
1
1
  import { ZigbeeActuator } from './BaseDevices';
2
2
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
3
  export declare class ZigbeeIkeaSteckdose extends ZigbeeActuator {
4
+ protected readonly _actuatorOnStateIdState: string;
4
5
  constructor(pInfo: IoBrokerDeviceInfo);
6
+ /** @inheritDoc */
5
7
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
6
8
  }
@@ -6,8 +6,10 @@ const BaseDevices_1 = require("./BaseDevices");
6
6
  const models_1 = require("../../../models");
7
7
  class ZigbeeIkeaSteckdose extends BaseDevices_1.ZigbeeActuator {
8
8
  constructor(pInfo) {
9
- super(pInfo, deviceType_1.DeviceType.ZigbeeIkeaSteckdose, `${pInfo.fullID}.state`);
9
+ super(pInfo, deviceType_1.DeviceType.ZigbeeIkeaSteckdose);
10
+ this._actuatorOnStateIdState = `${pInfo.fullID}.state`;
10
11
  }
12
+ /** @inheritDoc */
11
13
  update(idSplit, state, initial = false) {
12
14
  this.log(models_1.LogLevel.DeepTrace, `Stecker Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
13
15
  super.update(idSplit, state, initial, true);
@@ -2,7 +2,6 @@ import { ZigbeeActuator } from './BaseDevices';
2
2
  import { DeviceType } from '../deviceType';
3
3
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
4
4
  export declare class ZigbeeIlluActuator extends ZigbeeActuator {
5
+ protected readonly _actuatorOnStateIdState: string;
5
6
  constructor(pInfo: IoBrokerDeviceInfo, deviceType?: DeviceType);
6
- get isActuatorOn(): boolean;
7
- update(idSplit: string[], state: ioBroker.State, initial?: boolean, handledByChildObject?: boolean): void;
8
7
  }
@@ -2,20 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZigbeeIlluActuator = void 0;
4
4
  const BaseDevices_1 = require("./BaseDevices");
5
- const models_1 = require("../../../models");
6
5
  const deviceType_1 = require("../deviceType");
7
6
  class ZigbeeIlluActuator extends BaseDevices_1.ZigbeeActuator {
8
7
  constructor(pInfo, deviceType = deviceType_1.DeviceType.ZigbeeIlluActuator) {
9
- super(pInfo, deviceType, `${pInfo.fullID}.state`);
10
- }
11
- get isActuatorOn() {
12
- return this.actuatorOn;
13
- }
14
- update(idSplit, state, initial = false, handledByChildObject = false) {
15
- if (!handledByChildObject) {
16
- this.log(models_1.LogLevel.DeepTrace, `Aktuator Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
17
- }
18
- super.update(idSplit, state, initial, true);
8
+ super(pInfo, deviceType);
9
+ this._actuatorOnStateIdState = `${pInfo.fullID}.state`;
19
10
  }
20
11
  }
21
12
  exports.ZigbeeIlluActuator = ZigbeeIlluActuator;
@@ -5,7 +5,7 @@ export declare class ZigbeeIlluDimmer extends ZigbeeDimmer {
5
5
  protected _stateNameState: string;
6
6
  protected _stateNameTransitionTime: string;
7
7
  protected _stateIdBrightness: string;
8
- protected _stateIdState: string;
8
+ protected _actuatorOnStateIdState: string;
9
9
  protected _stateIdTransitionTime: string;
10
10
  constructor(pInfo: IoBrokerDeviceInfo);
11
11
  }
@@ -9,7 +9,7 @@ class ZigbeeIlluDimmer extends BaseDevices_1.ZigbeeDimmer {
9
9
  this._stateNameBrightness = 'brightness';
10
10
  this._stateNameState = 'state';
11
11
  this._stateNameTransitionTime = 'transition_time';
12
- this._stateIdState = `${this.info.fullID}.state`;
12
+ this._actuatorOnStateIdState = `${this.info.fullID}.state`;
13
13
  this._stateIdBrightness = `${this.info.fullID}.brightness`;
14
14
  this._stateIdTransitionTime = `${this.info.fullID}.transition_time`;
15
15
  }
@@ -1,14 +1,7 @@
1
- import { ZigbeeIlluActuator } from './zigbeeIlluActuator';
2
- import { LampSetLightCommand, LampSetTimeBasedCommand, LampToggleLightCommand } from '../../../models';
3
1
  import { iLamp } from '../baseDeviceInterfaces';
4
2
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
- export declare class ZigbeeIlluLampe extends ZigbeeIlluActuator implements iLamp {
3
+ import { ZigbeeLamp } from './BaseDevices';
4
+ export declare class ZigbeeIlluLampe extends ZigbeeLamp implements iLamp {
5
+ protected readonly _actuatorOnStateIdState: string;
6
6
  constructor(pInfo: IoBrokerDeviceInfo);
7
- get lightOn(): boolean;
8
- update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
9
- /** @inheritdoc */
10
- setLight(c: LampSetLightCommand): void;
11
- toggleLight(c: LampToggleLightCommand): boolean;
12
- setTimeBased(c: LampSetTimeBasedCommand): void;
13
- persist(): void;
14
7
  }
@@ -2,40 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZigbeeIlluLampe = void 0;
4
4
  const deviceType_1 = require("../deviceType");
5
- const zigbeeIlluActuator_1 = require("./zigbeeIlluActuator");
6
- const models_1 = require("../../../models");
7
- const services_1 = require("../../services");
8
- const DeviceCapability_1 = require("../DeviceCapability");
9
- const sharedFunctions_1 = require("../sharedFunctions");
10
- class ZigbeeIlluLampe extends zigbeeIlluActuator_1.ZigbeeIlluActuator {
5
+ const BaseDevices_1 = require("./BaseDevices");
6
+ class ZigbeeIlluLampe extends BaseDevices_1.ZigbeeLamp {
11
7
  constructor(pInfo) {
12
8
  super(pInfo, deviceType_1.DeviceType.ZigbeeIlluLampe);
13
- this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
14
- }
15
- get lightOn() {
16
- return super.isActuatorOn;
17
- }
18
- update(idSplit, state, initial = false) {
19
- super.update(idSplit, state, initial, true);
20
- switch (idSplit[3]) {
21
- case 'state':
22
- this.log(models_1.LogLevel.Trace, `Lampen Update für ${this.info.customName} auf ${state.val}`);
23
- break;
24
- }
25
- }
26
- /** @inheritdoc */
27
- setLight(c) {
28
- super.setActuator(c);
29
- }
30
- toggleLight(c) {
31
- return sharedFunctions_1.LampUtils.toggleLight(this, c);
32
- }
33
- setTimeBased(c) {
34
- sharedFunctions_1.LampUtils.setTimeBased(this, c);
35
- }
36
- persist() {
37
- var _a;
38
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
9
+ this._actuatorOnStateIdState = `${pInfo.fullID}.${this._stateNameState}`;
39
10
  }
40
11
  }
41
12
  exports.ZigbeeIlluLampe = ZigbeeIlluLampe;
@@ -4,7 +4,7 @@ export declare class ZigbeeIlluLedRGBCCT extends ZigbeeLedRGBCCT {
4
4
  protected readonly _stateIdBrightness: string;
5
5
  protected readonly _stateIdColor: string;
6
6
  protected readonly _stateIdColorTemp: string;
7
- protected readonly _stateIdState: string;
7
+ protected readonly _actuatorOnStateIdState: string;
8
8
  protected readonly _stateIdTransitionTime: string;
9
9
  protected readonly _stateNameBrightness: string;
10
10
  protected readonly _stateNameState: string;
@@ -14,7 +14,7 @@ class ZigbeeIlluLedRGBCCT extends BaseDevices_1.ZigbeeLedRGBCCT {
14
14
  this._stateIdBrightness = `${this.info.fullID}.brightness`;
15
15
  this._stateIdColor = `${this.info.fullID}.color`;
16
16
  this._stateIdColorTemp = `${this.info.fullID}.colortemp`;
17
- this._stateIdState = `${this.info.fullID}.state`;
17
+ this._actuatorOnStateIdState = `${this.info.fullID}.state`;
18
18
  this._stateIdTransitionTime = `${this.info.fullID}.transition_time`;
19
19
  }
20
20
  }
@@ -7,6 +7,7 @@ export declare class ZigbeeIlluShutter extends ZigbeeShutter {
7
7
  private _movementStartPos;
8
8
  private _iMovementTimeout;
9
9
  constructor(pInfo: IoBrokerDeviceInfo);
10
+ /** @inheritDoc */
10
11
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
11
12
  protected moveToPosition(targetPosition: number): void;
12
13
  private changeMovementState;
@@ -19,6 +19,7 @@ class ZigbeeIlluShutter extends BaseDevices_1.ZigbeeShutter {
19
19
  this._movementStartPos = -1;
20
20
  this._movementStateId = `${this.info.fullID}.position`;
21
21
  }
22
+ /** @inheritDoc */
22
23
  update(idSplit, state, initial = false) {
23
24
  switch (idSplit[3]) {
24
25
  case 'position':
@@ -88,7 +89,7 @@ class ZigbeeIlluShutter extends BaseDevices_1.ZigbeeShutter {
88
89
  const oldState = this._movementState;
89
90
  if (this._movementStartPos === 0 && oldState === MovementState.Up && this._setLevel === 100) {
90
91
  this.log(models_1.LogLevel.Debug, `New Time-Until-Top measurement for ${this.info.customName}: ${timePassed}ms`);
91
- this.currentLevel = this._setLevel;
92
+ this.setCurrentLevel(this._setLevel);
92
93
  this._shutterCalibrationData.counterUp++;
93
94
  this._shutterCalibrationData.averageUp +=
94
95
  (timePassed - this._shutterCalibrationData.averageUp) / this._shutterCalibrationData.counterUp;
@@ -98,7 +99,7 @@ class ZigbeeIlluShutter extends BaseDevices_1.ZigbeeShutter {
98
99
  }
99
100
  if (this._movementStartPos === 100 && oldState === MovementState.Down && this._setLevel === 0) {
100
101
  this.log(models_1.LogLevel.Debug, `New Time-Until-Bottom measurement for ${this.info.customName}: ${timePassed}ms`);
101
- this.currentLevel = this._setLevel;
102
+ this.setCurrentLevel(this._setLevel);
102
103
  this._shutterCalibrationData.counterDown++;
103
104
  this._shutterCalibrationData.averageDown +=
104
105
  (timePassed - this._shutterCalibrationData.averageDown) / this._shutterCalibrationData.counterDown;
@@ -110,10 +111,10 @@ class ZigbeeIlluShutter extends BaseDevices_1.ZigbeeShutter {
110
111
  return;
111
112
  }
112
113
  if (oldState === MovementState.Down) {
113
- this.currentLevel = Math.min(this._currentLevel - Math.round((timePassed * 100) / this.getAverageDown()), 0);
114
+ this.setCurrentLevel(Math.min(this._currentLevel - Math.round((timePassed * 100) / this.getAverageDown()), 0));
114
115
  }
115
116
  else if (oldState === MovementState.Up) {
116
- this.currentLevel = Math.max(this._currentLevel + Math.round((timePassed * 100) / this.getAverageUp()), 100);
117
+ this.setCurrentLevel(Math.max(this._currentLevel + Math.round((timePassed * 100) / this.getAverageUp()), 100));
117
118
  }
118
119
  }
119
120
  }
@@ -4,7 +4,7 @@ export declare class ZigbeeInnr142C extends ZigbeeLedRGBCCT {
4
4
  protected readonly _stateIdBrightness: string;
5
5
  protected readonly _stateIdColor: string;
6
6
  protected readonly _stateIdColorTemp: string;
7
- protected readonly _stateIdState: string;
7
+ protected readonly _actuatorOnStateIdState: string;
8
8
  protected readonly _stateIdTransitionTime: string;
9
9
  protected readonly _stateNameBrightness: string;
10
10
  protected readonly _stateNameState: string;
@@ -15,7 +15,7 @@ class ZigbeeInnr142C extends BaseDevices_1.ZigbeeLedRGBCCT {
15
15
  this._stateIdBrightness = `${this.info.fullID}.brightness`;
16
16
  this._stateIdColor = `${this.info.fullID}.color`;
17
17
  this._stateIdColorTemp = `${this.info.fullID}.colortemp`;
18
- this._stateIdState = `${this.info.fullID}.state`;
18
+ this._actuatorOnStateIdState = `${this.info.fullID}.state`;
19
19
  this._stateIdTransitionTime = `${this.info.fullID}.transition_time`;
20
20
  }
21
21
  }
@@ -4,7 +4,7 @@ export declare class ZigbeeLinkindLedRgbCct extends ZigbeeLedRGBCCT {
4
4
  protected readonly _stateIdBrightness: string;
5
5
  protected readonly _stateIdColor: string;
6
6
  protected readonly _stateIdColorTemp: string;
7
- protected readonly _stateIdState: string;
7
+ protected readonly _actuatorOnStateIdState: string;
8
8
  protected readonly _stateIdTransitionTime: string;
9
9
  protected readonly _stateNameBrightness: string;
10
10
  protected readonly _stateNameState: string;
@@ -14,7 +14,7 @@ class ZigbeeLinkindLedRgbCct extends BaseDevices_1.ZigbeeLedRGBCCT {
14
14
  this._stateIdBrightness = `${this.info.fullID}.brightness`;
15
15
  this._stateIdColor = `${this.info.fullID}.color`;
16
16
  this._stateIdColorTemp = `${this.info.fullID}.colortemp`;
17
- this._stateIdState = `${this.info.fullID}.state`;
17
+ this._actuatorOnStateIdState = `${this.info.fullID}.state`;
18
18
  this._stateIdTransitionTime = `${this.info.fullID}.transition_time`;
19
19
  }
20
20
  }
@@ -5,7 +5,7 @@ export declare class ZigbeeOsramDimmer extends ZigbeeDimmer {
5
5
  protected _stateNameState: string;
6
6
  protected _stateNameTransitionTime: string;
7
7
  protected _stateIdBrightness: string;
8
- protected _stateIdState: string;
8
+ protected _actuatorOnStateIdState: string;
9
9
  protected _stateIdTransitionTime: string;
10
10
  constructor(pInfo: IoBrokerDeviceInfo);
11
11
  }
@@ -9,7 +9,7 @@ class ZigbeeOsramDimmer extends BaseDevices_1.ZigbeeDimmer {
9
9
  this._stateNameBrightness = 'brightness';
10
10
  this._stateNameState = 'state';
11
11
  this._stateNameTransitionTime = 'transition_time';
12
- this._stateIdState = `${this.info.fullID}.state`;
12
+ this._actuatorOnStateIdState = `${this.info.fullID}.state`;
13
13
  this._stateIdBrightness = `${this.info.fullID}.brightness`;
14
14
  this._stateIdTransitionTime = `${this.info.fullID}.transition_time`;
15
15
  }
@@ -2,5 +2,6 @@ import { ZigbeeMagnetContact } from './BaseDevices';
2
2
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
3
  export declare class ZigbeeSMaBiTMagnetContact 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 ZigbeeSMaBiTMagnetContact extends BaseDevices_1.ZigbeeMagnetContact {
9
9
  constructor(pInfo) {
10
10
  super(pInfo, deviceType_1.DeviceType.ZigbeeSMaBiTMagnetContact);
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);
@@ -2,5 +2,6 @@ import { ZigbeeMotionSensor } from './BaseDevices';
2
2
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
3
3
  export declare class ZigbeeSonoffMotion extends ZigbeeMotionSensor {
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 ZigbeeSonoffMotion extends BaseDevices_1.ZigbeeMotionSensor {
9
9
  super(pInfo, deviceType_1.DeviceType.ZigbeeSonoffMotion);
10
10
  this._needsMovementResetFallback = false;
11
11
  }
12
+ /** @inheritDoc */
12
13
  update(idSplit, state, initial = false) {
13
14
  this.log(models_1.LogLevel.DeepTrace, `Motion update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
14
15
  super.update(idSplit, state, initial, true);
@@ -2,32 +2,58 @@
2
2
  import { ZigbeeDevice } from './BaseDevices';
3
3
  import { iBatteryDevice, iHumiditySensor, iTemperatureSensor } from '../baseDeviceInterfaces';
4
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
+ import { BatteryLevelChangeAction, HumiditySensorChangeAction, TemperatureSensorChangeAction } from '../../../models';
5
6
  export declare class ZigbeeSonoffTemp extends ZigbeeDevice implements iTemperatureSensor, iHumiditySensor, iBatteryDevice {
6
- private _battery;
7
- private _lastBatteryPersist;
8
- get lastBatteryPersist(): number;
7
+ /** @inheritDoc */
9
8
  readonly persistTemperatureSensorInterval: NodeJS.Timeout;
9
+ /** @inheritDoc */
10
10
  readonly persistHumiditySensorInterval: NodeJS.Timeout;
11
- get battery(): number;
11
+ private _battery;
12
+ private _lastBatteryPersist;
12
13
  private _humidityCallbacks;
13
14
  private _temperaturCallbacks;
14
- constructor(pInfo: IoBrokerDeviceInfo);
15
15
  private _humidity;
16
16
  private _roomTemperature;
17
+ private _temperature;
18
+ private _lastBatteryLevel;
19
+ private _batteryLevelCallbacks;
20
+ constructor(pInfo: IoBrokerDeviceInfo);
21
+ /** @inheritDoc */
22
+ get lastBatteryPersist(): number;
23
+ /** @inheritDoc */
24
+ get battery(): number;
25
+ /** @inheritDoc */
17
26
  get roomTemperature(): number;
27
+ /** @inheritDoc */
18
28
  set roomTemperature(value: number);
29
+ /** @inheritDoc */
19
30
  get humidity(): number;
20
31
  private set humidity(value);
32
+ /** @inheritDoc */
21
33
  get iTemperature(): number;
34
+ /** @inheritDoc */
22
35
  get sTemperature(): string;
23
- private _temperature;
24
36
  private set temperature(value);
37
+ /** @inheritDoc */
38
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
39
+ /** @inheritDoc */
25
40
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
26
- addHumidityCallback(pCallback: (pValue: number) => void): void;
27
- addTempChangeCallback(pCallback: (pValue: number) => void): void;
41
+ /** @inheritDoc */
42
+ addHumidityCallback(pCallback: (action: HumiditySensorChangeAction) => void): void;
43
+ /** @inheritDoc */
44
+ addTempChangeCallback(pCallback: (action: TemperatureSensorChangeAction) => void): void;
45
+ /** @inheritDoc */
28
46
  onTemperaturChange(newTemperatur: number): void;
47
+ /** @inheritDoc */
29
48
  persistTemperaturSensor(): void;
49
+ /** @inheritDoc */
30
50
  persistHumiditySensor(): void;
51
+ /** @inheritDoc */
31
52
  persistBatteryDevice(): void;
53
+ /** @inheritDoc */
32
54
  dispose(): void;
55
+ /**
56
+ * Checks whether the battery level did change and if so fires the callbacks
57
+ */
58
+ private checkForBatteryChange;
33
59
  }