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,17 +1,16 @@
1
1
  /// <reference types="node" />
2
2
  import { ZigbeeDevice } from './zigbeeDevice';
3
3
  import { iBatteryDevice, iHeater } from '../../baseDeviceInterfaces';
4
- import { HeaterSettings } from '../../../../models';
4
+ import { BatteryLevelChangeAction, HeaterSettings } from '../../../../models';
5
5
  import { DeviceType } from '../../deviceType';
6
6
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
7
7
  import { PIDController } from '../../../../liquid-pid';
8
8
  export declare class ZigbeeHeater extends ZigbeeDevice implements iHeater, iBatteryDevice {
9
- protected _battery: number;
10
- private _lastBatteryPersist;
11
- get lastBatteryPersist(): number;
9
+ /** @inheritDoc */
12
10
  readonly persistHeaterInterval: NodeJS.Timeout;
11
+ /** @inheritDoc */
13
12
  settings: HeaterSettings;
14
- get battery(): number;
13
+ protected _battery: number;
15
14
  protected _iAutomaticInterval: NodeJS.Timeout | undefined;
16
15
  protected _initialSeasonCheckDone: boolean;
17
16
  protected _level: number;
@@ -19,28 +18,50 @@ export declare class ZigbeeHeater extends ZigbeeDevice implements iHeater, iBatt
19
18
  protected _temperatur: number;
20
19
  protected _desiredTemperatur: number;
21
20
  protected _pidController: PIDController;
22
- constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
23
21
  protected _seasonTurnOff: boolean;
22
+ protected _roomTemperature: number;
23
+ private _lastBatteryPersist;
24
+ private _lastBatteryLevel;
25
+ private _batteryLevelCallbacks;
26
+ constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
27
+ /** @inheritDoc */
28
+ get lastBatteryPersist(): number;
29
+ /** @inheritDoc */
30
+ get battery(): number;
31
+ /** @inheritDoc */
24
32
  get seasonTurnOff(): boolean;
33
+ /** @inheritDoc */
25
34
  set seasonTurnOff(value: boolean);
35
+ /** @inheritDoc */
26
36
  get desiredTemperature(): number;
37
+ /** @inheritDoc */
27
38
  set desiredTemperature(val: number);
28
- protected _humidity: number;
29
- get humidity(): number;
30
39
  get sLevel(): string;
40
+ /** @inheritDoc */
31
41
  get iLevel(): number;
32
42
  get sTemperatur(): string;
43
+ /** @inheritDoc */
33
44
  get iTemperature(): number;
34
- protected _roomTemperature: number;
45
+ /** @inheritDoc */
35
46
  get roomTemperature(): number;
36
- set roomTemperatur(val: number);
47
+ protected set roomTemperatur(val: number);
48
+ /** @inheritDoc */
49
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
50
+ /** @inheritDoc */
37
51
  checkAutomaticChange(): void;
38
- stopAutomaticCheck(): void;
52
+ /** @inheritDoc */
39
53
  onTemperaturChange(newTemperatur: number): void;
40
54
  persistHeater(): void;
55
+ /** @inheritDoc */
41
56
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
42
- protected getNextPidLevel(): number;
43
- private checkSeasonTurnOff;
57
+ /** @inheritDoc */
44
58
  persistBatteryDevice(): void;
59
+ /** @inheritDoc */
45
60
  dispose(): void;
61
+ protected getNextPidLevel(): number;
62
+ private checkSeasonTurnOff;
63
+ /**
64
+ * Checks whether the battery level did change and if so fires the callbacks
65
+ */
66
+ private checkForBatteryChange;
46
67
  }
@@ -8,20 +8,15 @@ const services_1 = require("../../../services");
8
8
  const DeviceCapability_1 = require("../../DeviceCapability");
9
9
  const liquid_pid_1 = require("../../../../liquid-pid");
10
10
  class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
11
- get lastBatteryPersist() {
12
- return this._lastBatteryPersist;
13
- }
14
- get battery() {
15
- return this._battery;
16
- }
17
11
  constructor(pInfo, pType) {
18
12
  super(pInfo, pType);
19
- this._battery = -99;
20
- this._lastBatteryPersist = 0;
13
+ /** @inheritDoc */
21
14
  this.persistHeaterInterval = services_1.Utils.guardedInterval(() => {
22
15
  this.persistHeater();
23
16
  }, 5 * 60 * 1000, this, false);
17
+ /** @inheritDoc */
24
18
  this.settings = new models_1.HeaterSettings();
19
+ this._battery = -99;
25
20
  this._initialSeasonCheckDone = false;
26
21
  this._level = 0;
27
22
  this._setPointTemperaturID = '';
@@ -38,8 +33,10 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
38
33
  Kd: 9, // PID: Kd in 1/1000
39
34
  });
40
35
  this._seasonTurnOff = false;
41
- this._humidity = 0;
42
36
  this._roomTemperature = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
37
+ this._lastBatteryPersist = 0;
38
+ this._lastBatteryLevel = -1;
39
+ this._batteryLevelCallbacks = [];
43
40
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.heater);
44
41
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
45
42
  this._iAutomaticInterval = services_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
@@ -47,15 +44,27 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
47
44
  this.checkSeasonTurnOff();
48
45
  }, 0, 2, 0));
49
46
  }
47
+ /** @inheritDoc */
48
+ get lastBatteryPersist() {
49
+ return this._lastBatteryPersist;
50
+ }
51
+ /** @inheritDoc */
52
+ get battery() {
53
+ return this._battery;
54
+ }
55
+ /** @inheritDoc */
50
56
  get seasonTurnOff() {
51
57
  return this._seasonTurnOff;
52
58
  }
59
+ /** @inheritDoc */
53
60
  set seasonTurnOff(value) {
54
61
  this._seasonTurnOff = value;
55
62
  }
63
+ /** @inheritDoc */
56
64
  get desiredTemperature() {
57
65
  return this._desiredTemperatur;
58
66
  }
67
+ /** @inheritDoc */
59
68
  set desiredTemperature(val) {
60
69
  this._desiredTemperatur = val;
61
70
  this.setState(this._setPointTemperaturID, val, () => {
@@ -64,18 +73,17 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
64
73
  this.log(models_1.LogLevel.Error, `Temperaturänderung ergab Fehler ${err}.`);
65
74
  });
66
75
  }
67
- get humidity() {
68
- return this._humidity;
69
- }
70
76
  get sLevel() {
71
77
  return `${this._level * 100}%`;
72
78
  }
79
+ /** @inheritDoc */
73
80
  get iLevel() {
74
81
  return this._level;
75
82
  }
76
83
  get sTemperatur() {
77
84
  return `${this.iTemperature}°C`;
78
85
  }
86
+ /** @inheritDoc */
79
87
  get iTemperature() {
80
88
  if (this.settings.useOwnTemperatur) {
81
89
  return this._temperatur;
@@ -84,12 +92,18 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
84
92
  return this._roomTemperature;
85
93
  }
86
94
  }
95
+ /** @inheritDoc */
87
96
  get roomTemperature() {
88
97
  return this._roomTemperature;
89
98
  }
90
99
  set roomTemperatur(val) {
91
100
  this._roomTemperature = val;
92
101
  }
102
+ /** @inheritDoc */
103
+ addBatteryLevelCallback(pCallback) {
104
+ this._batteryLevelCallbacks.push(pCallback);
105
+ }
106
+ /** @inheritDoc */
93
107
  checkAutomaticChange() {
94
108
  var _a;
95
109
  if (!this._initialSeasonCheckDone) {
@@ -113,12 +127,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
113
127
  this.desiredTemperature = targetTemperature;
114
128
  }
115
129
  }
116
- stopAutomaticCheck() {
117
- if (this._iAutomaticInterval !== undefined) {
118
- clearInterval(this._iAutomaticInterval);
119
- this._iAutomaticInterval = undefined;
120
- }
121
- }
130
+ /** @inheritDoc */
122
131
  onTemperaturChange(newTemperatur) {
123
132
  this.roomTemperatur = newTemperatur;
124
133
  }
@@ -126,18 +135,41 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
126
135
  var _a;
127
136
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHeater(this);
128
137
  }
138
+ /** @inheritDoc */
129
139
  update(idSplit, state, initial = false, pOverride = false) {
130
140
  switch (idSplit[3]) {
131
141
  case 'battery':
132
142
  this._battery = state.val;
143
+ this.checkForBatteryChange();
133
144
  this.persistBatteryDevice();
134
145
  if (this._battery < 20) {
135
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
146
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
136
147
  }
137
148
  break;
138
149
  }
139
150
  super.update(idSplit, state, initial, pOverride);
140
151
  }
152
+ /** @inheritDoc */
153
+ persistBatteryDevice() {
154
+ var _a;
155
+ const now = services_1.Utils.nowMS();
156
+ if (this._lastBatteryPersist + 60000 > now) {
157
+ return;
158
+ }
159
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
160
+ this._lastBatteryPersist = now;
161
+ }
162
+ /** @inheritDoc */
163
+ dispose() {
164
+ if (this.persistHeaterInterval) {
165
+ clearInterval(this.persistHeaterInterval);
166
+ }
167
+ if (this._iAutomaticInterval) {
168
+ clearInterval(this._iAutomaticInterval);
169
+ this._iAutomaticInterval = undefined;
170
+ }
171
+ super.dispose();
172
+ }
141
173
  getNextPidLevel() {
142
174
  if (this.seasonTurnOff || this._roomTemperature < 0) {
143
175
  return 0;
@@ -155,24 +187,18 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
155
187
  }
156
188
  this._initialSeasonCheckDone = true;
157
189
  }
158
- persistBatteryDevice() {
159
- var _a;
160
- const now = services_1.Utils.nowMS();
161
- if (this._lastBatteryPersist + 60000 > now) {
190
+ /**
191
+ * Checks whether the battery level did change and if so fires the callbacks
192
+ */
193
+ checkForBatteryChange() {
194
+ const newLevel = this.battery;
195
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
162
196
  return;
163
197
  }
164
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
165
- this._lastBatteryPersist = now;
166
- }
167
- dispose() {
168
- if (this.persistHeaterInterval) {
169
- clearInterval(this.persistHeaterInterval);
170
- }
171
- if (this._iAutomaticInterval) {
172
- clearInterval(this._iAutomaticInterval);
173
- this._iAutomaticInterval = undefined;
198
+ for (const cb of this._batteryLevelCallbacks) {
199
+ cb(new models_1.BatteryLevelChangeAction(this));
174
200
  }
175
- super.dispose();
201
+ this._lastBatteryLevel = newLevel;
176
202
  }
177
203
  }
178
204
  exports.ZigbeeHeater = ZigbeeHeater;
@@ -0,0 +1,16 @@
1
+ import { ZigbeeActuator } from './ZigbeeActuator';
2
+ import { iLamp, iTemporaryDisableAutomatic } from '../../baseDeviceInterfaces';
3
+ import { LampSetLightCommand, LampSetTimeBasedCommand, LampToggleLightCommand } from '../../../../models';
4
+ import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
5
+ import { DeviceType } from '../../deviceType';
6
+ export declare abstract class ZigbeeLamp extends ZigbeeActuator implements iLamp, iTemporaryDisableAutomatic {
7
+ constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
8
+ /** @inheritDoc */
9
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean, handledByChildObject?: boolean): void;
10
+ /** @inheritDoc */
11
+ setTimeBased(c: LampSetTimeBasedCommand): void;
12
+ /** @inheritdoc */
13
+ setLight(c: LampSetLightCommand): void;
14
+ /** @inheritDoc */
15
+ toggleLight(c: LampToggleLightCommand): boolean;
16
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZigbeeLamp = void 0;
4
+ const ZigbeeActuator_1 = require("./ZigbeeActuator");
5
+ const models_1 = require("../../../../models");
6
+ const sharedFunctions_1 = require("../../sharedFunctions");
7
+ const DeviceCapability_1 = require("../../DeviceCapability");
8
+ class ZigbeeLamp extends ZigbeeActuator_1.ZigbeeActuator {
9
+ constructor(pInfo, deviceType) {
10
+ super(pInfo, deviceType);
11
+ this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
12
+ }
13
+ /** @inheritDoc */
14
+ update(idSplit, state, initial = false, handledByChildObject = false) {
15
+ if (!handledByChildObject) {
16
+ this.log(models_1.LogLevel.DeepTrace, `Lamp Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
17
+ }
18
+ this.queuedValue = null;
19
+ this.log(models_1.LogLevel.DeepTrace, `Lamp Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
20
+ super.update(idSplit, state, initial, true);
21
+ }
22
+ /** @inheritDoc */
23
+ setTimeBased(c) {
24
+ sharedFunctions_1.LampUtils.setTimeBased(this, c);
25
+ }
26
+ /** @inheritdoc */
27
+ setLight(c) {
28
+ super.setActuator(c);
29
+ }
30
+ /** @inheritDoc */
31
+ toggleLight(c) {
32
+ return sharedFunctions_1.LampUtils.toggleLight(this, c);
33
+ }
34
+ }
35
+ exports.ZigbeeLamp = ZigbeeLamp;
@@ -1,10 +1,10 @@
1
1
  import { DeviceType } from '../../deviceType';
2
- import { LampSetTimeBasedCommand, LedSetLightCommand, LedSettings } from '../../../../models';
2
+ import { ActuatorSetStateCommand, LampSetTimeBasedCommand, LedSetLightCommand, LedSettings } from '../../../../models';
3
3
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
4
4
  import { iLedRgbCct } from '../../baseDeviceInterfaces/iLedRgbCct';
5
5
  import { ZigbeeDimmer } from './zigbeeDimmer';
6
6
  export declare abstract class ZigbeeLedRGBCCT extends ZigbeeDimmer implements iLedRgbCct {
7
- static DEFAULT_COLOR_WARM: string;
7
+ /** @inheritDoc */
8
8
  settings: LedSettings;
9
9
  protected abstract readonly _stateIdColor: string;
10
10
  protected abstract readonly _stateIdColorTemp: string;
@@ -12,16 +12,17 @@ export declare abstract class ZigbeeLedRGBCCT extends ZigbeeDimmer implements iL
12
12
  protected abstract readonly _stateNameColorTemp: string;
13
13
  protected constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
14
14
  protected _color: string;
15
+ /** @inheritDoc */
15
16
  get color(): string;
16
17
  protected _colortemp: number;
18
+ /** @inheritDoc */
17
19
  get colortemp(): number;
20
+ /** @inheritDoc */
18
21
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
19
- /**
20
- * @inheritDoc
21
- */
22
+ /** @inheritDoc */
22
23
  setTimeBased(c: LampSetTimeBasedCommand): void;
23
- /**
24
- * @inheritDoc
25
- */
24
+ /** @inheritDoc */
25
+ setActuator(c: ActuatorSetStateCommand): void;
26
+ /** @inheritDoc */
26
27
  setLight(c: LedSetLightCommand): void;
27
28
  }
@@ -8,19 +8,23 @@ const services_1 = require("../../../services");
8
8
  class ZigbeeLedRGBCCT extends zigbeeDimmer_1.ZigbeeDimmer {
9
9
  constructor(pInfo, deviceType) {
10
10
  super(pInfo, deviceType);
11
+ /** @inheritDoc */
11
12
  this.settings = new models_1.LedSettings();
12
13
  this._color = '#fcba32';
13
14
  this._colortemp = 500;
14
15
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.ledLamp);
15
16
  // this.effectID = `${this.info.fullID}.effect`;
16
17
  }
18
+ /** @inheritDoc */
17
19
  get color() {
18
20
  return this._color;
19
21
  }
22
+ /** @inheritDoc */
20
23
  get colortemp() {
21
24
  return this._colortemp;
22
25
  }
23
26
  // private effectID: string = '';
27
+ /** @inheritDoc */
24
28
  update(idSplit, state, initial = false) {
25
29
  this.log(models_1.LogLevel.DeepTrace, `LED Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
26
30
  super.update(idSplit, state, initial);
@@ -35,36 +39,35 @@ class ZigbeeLedRGBCCT extends zigbeeDimmer_1.ZigbeeDimmer {
35
39
  break;
36
40
  }
37
41
  }
38
- /**
39
- * @inheritDoc
40
- */
42
+ /** @inheritDoc */
41
43
  setTimeBased(c) {
42
44
  this.setLight(models_1.LedSetLightCommand.byTimeBased(this.settings, c));
43
45
  }
44
- /**
45
- * @inheritDoc
46
- */
46
+ /** @inheritDoc */
47
+ setActuator(c) {
48
+ this.setLight(new models_1.LedSetLightCommand(c, c.on, '', c.disableAutomaticCommand));
49
+ }
50
+ /** @inheritDoc */
47
51
  setLight(c) {
48
- if (this._stateIdState === '') {
49
- this.log(models_1.LogLevel.Error, `Keine State ID bekannt.`);
52
+ if (this._actuatorOnStateIdState === '') {
53
+ this.log(models_1.LogLevel.Error, 'Keine State ID bekannt.');
50
54
  return;
51
55
  }
52
56
  if (!this.ioConn) {
53
- this.log(models_1.LogLevel.Error, `Keine Connection bekannt.`);
57
+ this.log(models_1.LogLevel.Error, 'Keine Connection bekannt.');
54
58
  return;
55
59
  }
56
60
  if (c.on && c.brightness === -1 && this.brightness < 10) {
57
61
  c.brightness = 10;
58
62
  }
63
+ super.setLight(c);
59
64
  const formattedColor = services_1.Utils.formatHex(c.color);
60
- if (formattedColor !== null && c.on) {
65
+ if (formattedColor !== null && c.on && (c.color !== this.color || c.isForceAction)) {
61
66
  this.setState(this._stateIdColor, formattedColor);
62
67
  }
63
- if (c.colorTemp > -1 && c.on) {
68
+ if (c.colorTemp > -1 && c.on && (c.colorTemp !== this.colortemp || c.isForceAction)) {
64
69
  this.setState(this._stateIdColorTemp, c.colorTemp);
65
70
  }
66
- super.setLight(c);
67
71
  }
68
72
  }
69
73
  exports.ZigbeeLedRGBCCT = ZigbeeLedRGBCCT;
70
- ZigbeeLedRGBCCT.DEFAULT_COLOR_WARM = '#f2b200';
@@ -1,25 +1,44 @@
1
1
  import { DeviceType } from '../../deviceType';
2
+ import { BatteryLevelChangeAction } from '../../../../models';
2
3
  import { ZigbeeDevice } from './zigbeeDevice';
3
4
  import { MagnetPosition } from '../../models';
4
5
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
5
- import { iBatteryDevice } from '../../baseDeviceInterfaces';
6
- export declare class ZigbeeMagnetContact extends ZigbeeDevice implements iBatteryDevice {
7
- protected _battery: number;
8
- private _lastBatteryPersist;
9
- get lastBatteryPersist(): number;
10
- get battery(): number;
6
+ import { iBatteryDevice, iMagnetSensor } from '../../baseDeviceInterfaces';
7
+ export declare class ZigbeeMagnetContact extends ZigbeeDevice implements iBatteryDevice, iMagnetSensor {
8
+ /** @inheritDoc */
11
9
  position: MagnetPosition;
10
+ /** @inheritDoc */
12
11
  telegramOnOpen: boolean;
12
+ /** @inheritDoc */
13
13
  speakOnOpen: boolean;
14
+ protected _battery: number;
15
+ private _lastBatteryPersist;
16
+ private _lastBatteryLevel;
17
+ private _batteryLevelCallbacks;
14
18
  private _closedCallback;
15
19
  private _openCallback;
16
20
  private _iOpenTimeout;
17
21
  private minutesOpen;
18
22
  constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
23
+ /** @inheritDoc */
24
+ get lastBatteryPersist(): number;
25
+ /** @inheritDoc */
26
+ get battery(): number;
27
+ /** @inheritDoc */
19
28
  addOpenCallback(pCallback: (pValue: boolean) => void): void;
29
+ /** @inheritDoc */
20
30
  addClosedCallback(pCallback: (pValue: boolean) => void): void;
31
+ /** @inheritDoc */
32
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
33
+ /** @inheritDoc */
21
34
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverrride?: boolean): void;
22
- protected updatePosition(pValue: MagnetPosition): void;
35
+ /** @inheritDoc */
23
36
  dispose(): void;
37
+ /** @inheritDoc */
24
38
  persistBatteryDevice(): void;
39
+ protected updatePosition(pValue: MagnetPosition): void;
40
+ /**
41
+ * Checks whether the battery level did change and if so fires the callbacks
42
+ */
43
+ private checkForBatteryChange;
25
44
  }
@@ -6,41 +6,74 @@ const models_1 = require("../../../../models");
6
6
  const zigbeeDevice_1 = require("./zigbeeDevice");
7
7
  const models_2 = require("../../models");
8
8
  class ZigbeeMagnetContact extends zigbeeDevice_1.ZigbeeDevice {
9
- get lastBatteryPersist() {
10
- return this._lastBatteryPersist;
11
- }
12
- get battery() {
13
- return this._battery;
14
- }
15
9
  constructor(pInfo, deviceType) {
16
10
  super(pInfo, deviceType);
17
- this._battery = -99;
18
- this._lastBatteryPersist = 0;
11
+ /** @inheritDoc */
19
12
  this.position = models_2.MagnetPosition.closed;
13
+ /** @inheritDoc */
20
14
  this.telegramOnOpen = false;
15
+ /** @inheritDoc */
21
16
  this.speakOnOpen = false;
17
+ this._battery = -99;
18
+ this._lastBatteryPersist = 0;
19
+ this._lastBatteryLevel = -1;
20
+ this._batteryLevelCallbacks = [];
22
21
  this._closedCallback = [];
23
22
  this._openCallback = [];
24
23
  this.minutesOpen = 0;
25
24
  }
25
+ /** @inheritDoc */
26
+ get lastBatteryPersist() {
27
+ return this._lastBatteryPersist;
28
+ }
29
+ /** @inheritDoc */
30
+ get battery() {
31
+ return this._battery;
32
+ }
33
+ /** @inheritDoc */
26
34
  addOpenCallback(pCallback) {
27
35
  this._openCallback.push(pCallback);
28
36
  }
37
+ /** @inheritDoc */
29
38
  addClosedCallback(pCallback) {
30
39
  this._closedCallback.push(pCallback);
31
40
  }
41
+ /** @inheritDoc */
42
+ addBatteryLevelCallback(pCallback) {
43
+ this._batteryLevelCallbacks.push(pCallback);
44
+ }
45
+ /** @inheritDoc */
32
46
  update(idSplit, state, initial = false, pOverrride = false) {
33
47
  super.update(idSplit, state, initial, pOverrride);
34
48
  switch (idSplit[3]) {
35
49
  case 'battery':
36
50
  this._battery = state.val;
51
+ this.checkForBatteryChange();
37
52
  this.persistBatteryDevice();
38
53
  if (this._battery < 20) {
39
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
54
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
40
55
  }
41
56
  break;
42
57
  }
43
58
  }
59
+ /** @inheritDoc */
60
+ dispose() {
61
+ if (this._iOpenTimeout) {
62
+ clearInterval(this._iOpenTimeout);
63
+ this._iOpenTimeout = undefined;
64
+ }
65
+ super.dispose();
66
+ }
67
+ /** @inheritDoc */
68
+ persistBatteryDevice() {
69
+ var _a;
70
+ const now = services_1.Utils.nowMS();
71
+ if (this._lastBatteryPersist + 60000 > now) {
72
+ return;
73
+ }
74
+ (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
75
+ this._lastBatteryPersist = now;
76
+ }
44
77
  updatePosition(pValue) {
45
78
  if (pValue === this.position) {
46
79
  return;
@@ -98,21 +131,18 @@ class ZigbeeMagnetContact extends zigbeeDevice_1.ZigbeeDevice {
98
131
  }, 60000, this);
99
132
  }
100
133
  }
101
- dispose() {
102
- if (this._iOpenTimeout) {
103
- clearInterval(this._iOpenTimeout);
104
- this._iOpenTimeout = undefined;
105
- }
106
- super.dispose();
107
- }
108
- persistBatteryDevice() {
109
- var _a;
110
- const now = services_1.Utils.nowMS();
111
- if (this._lastBatteryPersist + 60000 > now) {
134
+ /**
135
+ * Checks whether the battery level did change and if so fires the callbacks
136
+ */
137
+ checkForBatteryChange() {
138
+ const newLevel = this.battery;
139
+ if (newLevel == -1 || newLevel == this._lastBatteryLevel) {
112
140
  return;
113
141
  }
114
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
115
- this._lastBatteryPersist = now;
142
+ for (const cb of this._batteryLevelCallbacks) {
143
+ cb(new models_1.BatteryLevelChangeAction(this));
144
+ }
145
+ this._lastBatteryLevel = newLevel;
116
146
  }
117
147
  }
118
148
  exports.ZigbeeMagnetContact = ZigbeeMagnetContact;
@@ -1,36 +1,52 @@
1
1
  /// <reference types="node" />
2
2
  import { DeviceType } from '../../deviceType';
3
3
  import { ZigbeeDevice } from './index';
4
- import { MotionSensorSettings } from '../../../../models';
4
+ import { BatteryLevelChangeAction, MotionSensorAction, MotionSensorSettings } from '../../../../models';
5
5
  import { iBatteryDevice, iMotionSensor } from '../../baseDeviceInterfaces';
6
6
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
7
7
  export declare class ZigbeeMotionSensor extends ZigbeeDevice implements iMotionSensor, iBatteryDevice {
8
+ /** @inheritDoc */
9
+ settings: MotionSensorSettings;
10
+ /** @inheritDoc */
11
+ detectionsToday: number;
12
+ protected _initialized: boolean;
13
+ protected _movementDetectedCallback: Array<(action: MotionSensorAction) => void>;
14
+ protected _needsMovementResetFallback: boolean;
15
+ protected _fallBackTimeout: NodeJS.Timeout | undefined;
16
+ protected _timeSinceLastMotion: number;
8
17
  private _movementDetected;
9
18
  private _battery;
10
19
  private _lastBatteryPersist;
20
+ private _lastBatteryLevel;
21
+ private _batteryLevelCallbacks;
22
+ constructor(pInfo: IoBrokerDeviceInfo, type: DeviceType);
23
+ /** @inheritDoc */
11
24
  get lastBatteryPersist(): number;
12
- settings: MotionSensorSettings;
25
+ /** @inheritDoc */
13
26
  get movementDetected(): boolean;
27
+ /** @inheritDoc */
14
28
  get battery(): number;
15
- protected _initialized: boolean;
16
- protected _movementDetectedCallback: Array<(pValue: boolean) => void>;
17
- protected _needsMovementResetFallback: boolean;
18
- protected _fallBackTimeout: NodeJS.Timeout | undefined;
19
- constructor(pInfo: IoBrokerDeviceInfo, type: DeviceType);
20
- protected _timeSinceLastMotion: number;
29
+ /** @inheritDoc */
21
30
  get timeSinceLastMotion(): number;
22
- protected _detectionsToday: number;
23
- get detectionsToday(): number;
24
- set detectionsToday(pVal: number);
31
+ /** @inheritDoc */
32
+ addBatteryLevelCallback(pCallback: (action: BatteryLevelChangeAction) => void): void;
25
33
  /**
26
34
  * Adds a callback for when a motion state has changed.
27
- * @param pCallback Function that accepts the new state as parameter
35
+ * @param pCallback - Function that accepts the new state as parameter
28
36
  */
29
- addMovementCallback(pCallback: (newState: boolean) => void): void;
37
+ /** @inheritDoc */
38
+ addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
39
+ /** @inheritDoc */
30
40
  persistMotionSensor(): void;
31
41
  updateMovement(newState: boolean): void;
42
+ /** @inheritDoc */
32
43
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
44
+ /** @inheritDoc */
45
+ persistBatteryDevice(): void;
33
46
  private resetFallbackTimeout;
34
47
  private startFallbackTimeout;
35
- persistBatteryDevice(): void;
48
+ /**
49
+ * Checks whether the battery level did change and if so fires the callbacks
50
+ */
51
+ private checkForBatteryChange;
36
52
  }