hoffmation-base 3.0.0-alpha.4 → 3.0.0-alpha.40

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 (501) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +20 -20
  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/humiditySensorChangeAction.d.ts +16 -0
  8. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  9. package/lib/models/action/index.d.ts +7 -0
  10. package/lib/models/action/index.js +25 -0
  11. package/lib/models/action/motionSensorAction.d.ts +16 -0
  12. package/lib/models/action/motionSensorAction.js +15 -0
  13. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  14. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  15. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  17. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  18. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  19. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  20. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  21. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  22. package/lib/models/blockAutomaticSettings.js +19 -0
  23. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  24. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  25. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  26. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  27. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  28. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  29. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  30. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  31. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  32. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  33. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  34. package/lib/models/command/actuatorToggleCommand.js +7 -4
  35. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +9 -2
  36. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +13 -2
  37. package/lib/models/command/baseCommand.d.ts +23 -2
  38. package/lib/models/command/baseCommand.js +41 -1
  39. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  40. package/lib/models/command/blockAutomaticCommand.js +40 -0
  41. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  42. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  43. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  44. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  45. package/lib/models/command/commandSource.d.ts +19 -0
  46. package/lib/models/command/commandSource.js +20 -0
  47. package/lib/models/command/commandType.d.ts +9 -0
  48. package/lib/models/command/commandType.js +9 -0
  49. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  50. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  51. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  52. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  53. package/lib/models/command/index.d.ts +3 -0
  54. package/lib/models/command/index.js +7 -1
  55. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  56. package/lib/models/command/lampSetLightCommand.js +15 -4
  57. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  58. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  59. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  60. package/lib/models/command/lampToggleLightCommand.js +7 -6
  61. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  62. package/lib/models/command/ledSetLightCommand.js +27 -17
  63. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  64. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  65. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  66. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  67. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  68. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  69. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  70. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  71. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  72. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  73. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  74. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  75. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  77. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  78. package/lib/models/command/wledSetLightCommand.js +23 -7
  79. package/lib/models/connectionCallbacks.d.ts +4 -4
  80. package/lib/models/connectionCallbacks.js +1 -0
  81. package/lib/models/deviceConfig.d.ts +3 -3
  82. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  83. package/lib/models/deviceSettings/acSettings.js +23 -8
  84. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  85. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  86. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  87. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  88. package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
  89. package/lib/models/deviceSettings/dachsSettings.js +3 -0
  90. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  91. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  92. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  93. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  94. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  95. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  96. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  97. package/lib/models/deviceSettings/handleSettings.js +9 -0
  98. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  99. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  100. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  101. package/lib/models/deviceSettings/ledSettings.js +76 -18
  102. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  103. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  104. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  105. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  106. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  107. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  108. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  109. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  111. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  112. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  113. package/lib/models/deviceSettings/wledSettings.js +37 -13
  114. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  115. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  116. package/lib/models/iIdHolder.d.ts +18 -0
  117. package/lib/models/index.d.ts +2 -1
  118. package/lib/models/index.js +4 -1
  119. package/lib/models/objectSettings.d.ts +5 -2
  120. package/lib/models/objectSettings.js +2 -2
  121. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  122. package/lib/models/persistence/EnergyCalculation.js +30 -4
  123. package/lib/models/persistence/index.d.ts +0 -2
  124. package/lib/models/persistence/index.js +0 -2
  125. package/lib/models/rooms/RoomBase.d.ts +12 -1
  126. package/lib/models/rooms/RoomBase.js +17 -8
  127. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  128. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  129. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  130. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  131. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  132. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  133. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  134. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  135. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  136. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  137. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  138. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  139. package/lib/models/timeCallback.d.ts +7 -0
  140. package/lib/models/timeCallback.js +16 -6
  141. package/lib/server/config/heatingMode.d.ts +2 -1
  142. package/lib/server/config/heatingMode.js +2 -1
  143. package/lib/server/config/iAsusConfig.d.ts +15 -0
  144. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  145. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  146. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  147. package/lib/server/config/iConfig.d.ts +92 -5
  148. package/lib/server/config/iDachsSettings.d.ts +16 -0
  149. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  150. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  151. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  152. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  153. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  154. package/lib/server/config/iLogSettings.d.ts +36 -1
  155. package/lib/server/config/iMp3Settings.d.ts +10 -0
  156. package/lib/server/config/iMuellSettings.d.ts +7 -0
  157. package/lib/server/config/iNewsSettings.d.ts +13 -0
  158. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  159. package/lib/server/config/iPollySettings.d.ts +22 -0
  160. package/lib/server/config/iRestSettings.d.ts +10 -0
  161. package/lib/server/config/iSonosSettings.d.ts +10 -0
  162. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  163. package/lib/server/config/iTibberSettings.d.ts +10 -0
  164. package/lib/server/config/iTimePair.d.ts +9 -0
  165. package/lib/server/config/iTimeSettings.d.ts +9 -0
  166. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  167. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  168. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  169. package/lib/server/config/iVictronSettings.d.ts +14 -0
  170. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  171. package/lib/server/config/index.d.ts +1 -0
  172. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  173. package/lib/server/devices/DeviceCapability.js +1 -0
  174. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  175. package/lib/server/devices/DeviceInfo.js +6 -0
  176. package/lib/server/devices/Griffe.js +1 -2
  177. package/lib/server/devices/Heizgruppen.js +2 -2
  178. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  179. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  180. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  181. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  182. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  183. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  184. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  185. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +12 -1
  186. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  187. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  189. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  190. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +32 -2
  191. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  192. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  193. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  194. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  195. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  196. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  198. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  199. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  200. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  202. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  203. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  205. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  206. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  207. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  209. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  210. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  212. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  213. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  214. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  215. package/lib/server/devices/button/button.d.ts +0 -1
  216. package/lib/server/devices/button/button.js +0 -4
  217. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  218. package/lib/server/devices/button/buttonCallback.js +10 -0
  219. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  220. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  221. package/lib/server/devices/button/index.d.ts +1 -0
  222. package/lib/server/devices/button/index.js +3 -0
  223. package/lib/server/devices/dachs/dachs.d.ts +31 -9
  224. package/lib/server/devices/dachs/dachs.js +28 -18
  225. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  226. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  227. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  228. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  229. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  230. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  231. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  232. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +1 -1
  233. package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
  234. package/lib/server/devices/device-cluster.d.ts +3 -0
  235. package/lib/server/devices/device-cluster.js +1 -1
  236. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  237. package/lib/server/devices/deviceUpdater.js +1 -4
  238. package/lib/server/devices/devices.d.ts +43 -7
  239. package/lib/server/devices/devices.js +42 -6
  240. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  241. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  242. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  243. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  244. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  245. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  246. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  247. package/lib/server/devices/espresense/trilateration.js +7 -0
  248. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  249. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  250. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  251. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  252. package/lib/server/devices/groups/Window.d.ts +9 -3
  253. package/lib/server/devices/groups/Window.js +19 -11
  254. package/lib/server/devices/groups/base-group.d.ts +4 -0
  255. package/lib/server/devices/groups/base-group.js +3 -0
  256. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  257. package/lib/server/devices/groups/heatGroup.js +11 -11
  258. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  259. package/lib/server/devices/groups/lightGroup.js +16 -34
  260. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  261. package/lib/server/devices/groups/presenceGroup.js +52 -62
  262. package/lib/server/devices/groups/tasterGroup.js +6 -6
  263. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  264. package/lib/server/devices/groups/windowGroup.js +6 -6
  265. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  266. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  267. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  268. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  269. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  270. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  271. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +27 -5
  272. package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
  273. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  274. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  275. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
  276. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
  277. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  278. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  279. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -9
  280. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +13 -11
  281. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  282. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  283. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
  284. package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
  285. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
  286. package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
  287. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  288. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  289. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  290. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  291. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  292. package/lib/server/devices/index.d.ts +5 -2
  293. package/lib/server/devices/index.js +8 -2
  294. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +3 -1
  295. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +5 -3
  296. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  297. package/lib/server/devices/nameAmountValuePair.js +10 -0
  298. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  299. package/lib/server/devices/scene/room-scene.js +18 -4
  300. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  301. package/lib/server/devices/sharedFunctions/lampUtils.js +80 -26
  302. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  303. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  304. package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
  305. package/lib/server/devices/shelly/shellyTrv.js +46 -45
  306. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  307. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  308. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  309. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  310. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  311. package/lib/server/devices/tv/samsungTv.js +1 -0
  312. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  313. package/lib/server/devices/tv/tvDevice.js +4 -3
  314. package/lib/server/devices/wledDevice.d.ts +15 -3
  315. package/lib/server/devices/wledDevice.js +42 -16
  316. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  317. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  318. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  319. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  320. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  321. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  322. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  323. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +30 -65
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -14
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +22 -14
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +46 -42
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  338. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  339. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  340. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  341. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  342. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  343. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  344. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +49 -11
  345. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
  346. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
  347. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
  348. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  349. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  350. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  351. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  352. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
  353. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
  354. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  355. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  356. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  357. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  358. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  359. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  360. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  361. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  363. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  364. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  367. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  368. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  371. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  372. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  375. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  376. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  377. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  378. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +20 -2
  379. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +22 -5
  380. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  381. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  382. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  383. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  384. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  385. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  386. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  387. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  388. package/lib/server/ioBroker/connection.d.ts +21 -20
  389. package/lib/server/ioBroker/connection.js +37 -28
  390. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  391. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  392. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  393. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  394. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  395. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  396. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  397. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  398. package/lib/server/services/ShutterService.js +6 -6
  399. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  400. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  401. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  402. package/lib/server/services/Sonos/mp3-server.js +3 -1
  403. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  404. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  405. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  406. package/lib/server/services/Sonos/polly-service.js +10 -8
  407. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  408. package/lib/server/services/Sonos/sonos-service.js +6 -10
  409. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  410. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  411. package/lib/server/services/Telegram/telegram-service.js +8 -3
  412. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  413. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  414. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  415. package/lib/server/services/Translation/index.d.ts +1 -0
  416. package/lib/server/services/Translation/res.d.ts +34 -19
  417. package/lib/server/services/Translation/res.js +34 -19
  418. package/lib/server/services/ac/ac-device.d.ts +48 -6
  419. package/lib/server/services/ac/ac-device.js +86 -36
  420. package/lib/server/services/ac/daikin-service.js +4 -3
  421. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  422. package/lib/server/services/ac/own-ac-devices.js +3 -0
  423. package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
  424. package/lib/server/services/ac/own-daikin-device.js +32 -7
  425. package/lib/server/services/api/api-service.d.ts +118 -53
  426. package/lib/server/services/api/api-service.js +170 -80
  427. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  428. package/lib/server/services/blockAutomaticHandler.js +34 -15
  429. package/lib/server/services/calendar/index.d.ts +1 -0
  430. package/lib/server/services/calendar/index.js +3 -0
  431. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  432. package/lib/server/services/calendar/muell-tonne.js +10 -0
  433. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  434. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  435. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  436. package/lib/server/services/calendar/name-date-pair.js +10 -0
  437. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  438. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  439. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  440. package/lib/server/services/file-info.d.ts +5 -0
  441. package/lib/server/services/file-info.js +10 -0
  442. package/lib/server/services/govee/govee-service.d.ts +1 -5
  443. package/lib/server/services/govee/govee-service.js +3 -5
  444. package/lib/server/services/govee/own-govee-device.d.ts +17 -13
  445. package/lib/server/services/govee/own-govee-device.js +27 -27
  446. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  447. package/lib/server/services/govee/own-govee-devices.js +3 -0
  448. package/lib/server/services/https-service.d.ts +3 -2
  449. package/lib/server/services/https-service.js +4 -3
  450. package/lib/server/services/index.d.ts +1 -0
  451. package/lib/server/services/index.js +3 -0
  452. package/lib/server/services/log-service/index.d.ts +1 -0
  453. package/lib/server/services/log-service/index.js +3 -0
  454. package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
  455. package/lib/server/services/log-service/log-debug-type.js +16 -0
  456. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  457. package/lib/server/services/log-service/log-filter-data.js +6 -15
  458. package/lib/server/services/log-service/log-service.d.ts +17 -4
  459. package/lib/server/services/log-service/log-service.js +30 -17
  460. package/lib/server/services/news-service.d.ts +9 -7
  461. package/lib/server/services/news-service.js +14 -15
  462. package/lib/server/services/room-service/room-service.d.ts +20 -4
  463. package/lib/server/services/room-service/room-service.js +26 -10
  464. package/lib/server/services/settings-service.d.ts +6 -2
  465. package/lib/server/services/settings-service.js +3 -2
  466. package/lib/server/services/time-callback-service.js +1 -1
  467. package/lib/server/services/utils/RGB.d.ts +6 -0
  468. package/lib/server/services/utils/RGB.js +11 -0
  469. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  470. package/lib/server/services/utils/catchEmResult.js +10 -0
  471. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  472. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  473. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  474. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  475. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  476. package/lib/server/services/utils/index.d.ts +4 -1
  477. package/lib/server/services/utils/index.js +8 -1
  478. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  479. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  480. package/lib/server/services/utils/utils.d.ts +9 -13
  481. package/lib/server/services/victron/victron-device.d.ts +6 -2
  482. package/lib/server/services/victron/victron-device.js +12 -9
  483. package/lib/server/services/weather/index.d.ts +2 -0
  484. package/lib/server/services/weather/index.js +3 -0
  485. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  486. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  487. package/lib/server/services/weather/weather-current.d.ts +0 -2
  488. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  489. package/lib/server/services/weather/weather-response.d.ts +16 -0
  490. package/lib/server/services/weather/weather-response.js +2 -0
  491. package/lib/server/services/weather/weather-service.d.ts +15 -18
  492. package/lib/server/services/weather/weather-service.js +32 -22
  493. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  494. package/lib/tsconfig.tsbuildinfo +1 -1
  495. package/package.json +6 -7
  496. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  497. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  498. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  499. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  500. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  501. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -8,24 +8,30 @@ const DeviceCapability_1 = require("../../DeviceCapability");
8
8
  const blockAutomaticHandler_1 = require("../../../services/blockAutomaticHandler");
9
9
  const sharedFunctions_1 = require("../../sharedFunctions");
10
10
  class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
11
- get actuatorOn() {
12
- return this._actuatorOn;
13
- }
14
- constructor(pInfo, type, actuatorOnSwitchID) {
11
+ constructor(pInfo, type) {
15
12
  super(pInfo, type);
16
- this._actuatorOn = false;
13
+ /** @inheritDoc */
17
14
  this.targetAutomaticState = false;
15
+ /** @inheritDoc */
18
16
  this.settings = new models_1.ActuatorSettings();
17
+ /** @inheritDoc */
19
18
  this.queuedValue = null;
19
+ this._lastPersist = 0;
20
+ this._stateNameState = 'state';
21
+ this._actuatorOn = false;
20
22
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
21
23
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.blockAutomatic);
22
- this.actuatorOnSwitchID = actuatorOnSwitchID;
23
- this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
24
+ this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
24
25
  }
26
+ /** @inheritDoc */
27
+ get actuatorOn() {
28
+ return this._actuatorOn;
29
+ }
30
+ /** @inheritDoc */
25
31
  restoreTargetAutomaticValue(c) {
26
- this.log(models_1.LogLevel.Debug, `Restore Target Automatic value`);
27
- this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore Target Automatic value'));
32
+ this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState));
28
33
  }
34
+ /** @inheritDoc */
29
35
  update(idSplit, state, initial = false, handledByChildObject = false) {
30
36
  if (!handledByChildObject) {
31
37
  this.log(models_1.LogLevel.DeepTrace, `Aktuator Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
@@ -33,7 +39,7 @@ class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
33
39
  this.queuedValue = null;
34
40
  super.update(idSplit, state, initial, true);
35
41
  switch (idSplit[3]) {
36
- case 'state':
42
+ case this._stateNameState:
37
43
  if (!handledByChildObject) {
38
44
  this.log(models_1.LogLevel.Trace, `Aktor Update für ${this.info.customName} auf ${state.val}`);
39
45
  }
@@ -42,26 +48,35 @@ class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
42
48
  break;
43
49
  }
44
50
  }
51
+ /** @inheritDoc */
45
52
  setActuator(command) {
46
- if (this.actuatorOnSwitchID === '') {
47
- this.log(models_1.LogLevel.Error, `Keine Switch ID bekannt.`);
53
+ if (this._actuatorOnStateIdState === '') {
54
+ this.log(models_1.LogLevel.Error, 'Keine Switch ID bekannt.');
48
55
  return;
49
56
  }
50
57
  sharedFunctions_1.LampUtils.setActuator(this, command);
51
58
  }
59
+ /** @inheritDoc */
52
60
  persist() {
53
61
  var _a;
62
+ const now = services_1.Utils.nowMS();
63
+ if (this._lastPersist + 1000 > now) {
64
+ return;
65
+ }
54
66
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
67
+ this._lastPersist = now;
55
68
  }
69
+ /** @inheritDoc */
56
70
  toggleActuator(command) {
57
71
  const newVal = this.queuedValue !== null ? !this.queuedValue : !this._actuatorOn;
58
- const timeout = newVal && command.isForceAction ? 30 * 60 * 1000 : -1;
59
- this.setActuator(new models_1.ActuatorSetStateCommand(command, newVal, 'Due to ZigbeeActuatorToggle', timeout));
72
+ const setStateCommand = models_1.ActuatorSetStateCommand.byActuatorAndToggleCommand(this, command);
73
+ this.setActuator(setStateCommand);
60
74
  return newVal;
61
75
  }
76
+ /** @inheritDoc */
62
77
  writeActuatorStateToDevice(c) {
63
78
  this.log(models_1.LogLevel.Debug, c.logMessage, services_1.LogDebugType.SetActuator);
64
- this.setState(this.actuatorOnSwitchID, c.stateValue, undefined, (err) => {
79
+ this.setState(this._actuatorOnStateIdState, c.stateValue, undefined, (err) => {
65
80
  this.log(models_1.LogLevel.Error, `Lampe schalten ergab Fehler: ${err}`);
66
81
  });
67
82
  }
@@ -7,3 +7,4 @@ export * from './zigbeeMagnetContact';
7
7
  export * from './zigbeeMotionSensor';
8
8
  export * from './zigbeeShutter';
9
9
  export * from './zigbeeSwitch';
10
+ export { ZigbeeLamp } from './zigbeeLamp';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ZigbeeLamp = void 0;
17
18
  __exportStar(require("./ZigbeeActuator"), exports);
18
19
  __exportStar(require("./zigbeeDevice"), exports);
19
20
  __exportStar(require("./zigbeeDimmer"), exports);
@@ -23,3 +24,5 @@ __exportStar(require("./zigbeeMagnetContact"), exports);
23
24
  __exportStar(require("./zigbeeMotionSensor"), exports);
24
25
  __exportStar(require("./zigbeeShutter"), exports);
25
26
  __exportStar(require("./zigbeeSwitch"), exports);
27
+ var zigbeeLamp_1 = require("./zigbeeLamp");
28
+ Object.defineProperty(exports, "ZigbeeLamp", { enumerable: true, get: function () { return zigbeeLamp_1.ZigbeeLamp; } });
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { DeviceType } from '../../deviceType';
3
2
  import { IoBrokerBaseDevice } from '../../IoBrokerBaseDevice';
4
3
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
@@ -6,20 +5,20 @@ import { iDisposable } from '../../../services';
6
5
  export declare class ZigbeeDevice extends IoBrokerBaseDevice implements iDisposable {
7
6
  protected _available: boolean;
8
7
  protected _dontSendOnUnavailable: boolean;
9
- protected _debounceStateDelay: number;
10
- private _lastWrite;
11
8
  private readonly _deviceQueryId;
12
9
  get available(): boolean;
13
10
  protected _linkQuality: number;
14
- readonly persistZigbeeInterval: NodeJS.Timeout;
11
+ private readonly _persistZigbeeInterval;
15
12
  get linkQuality(): number;
16
13
  private _lastUpdate;
17
14
  get lastUpdate(): Date;
18
- stateMap: Map<string, ioBroker.State>;
19
15
  constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
16
+ /** @inheritDoc */
20
17
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
21
18
  triggerDeviceQuery(): void;
19
+ /** @inheritDoc */
22
20
  dispose(): void;
23
21
  persistZigbeeDevice(): void;
22
+ /** @inheritDoc */
24
23
  protected setState(pointId: string, state: string | number | boolean | ioBroker.State | ioBroker.SettableState | null, onSuccess?: (() => void) | undefined, onError?: ((error: Error) => void) | undefined): void;
25
24
  }
@@ -18,17 +18,14 @@ class ZigbeeDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
18
18
  super(pInfo, pType);
19
19
  this._available = false;
20
20
  this._dontSendOnUnavailable = false;
21
- // If configured > 0, this indicates the minimum time between state writes in ms
22
- this._debounceStateDelay = 0;
23
- this._lastWrite = 0;
24
21
  this._linkQuality = 0;
25
- this.persistZigbeeInterval = services_1.Utils.guardedInterval(() => {
22
+ this._persistZigbeeInterval = services_1.Utils.guardedInterval(() => {
26
23
  this.persistZigbeeDevice();
27
24
  }, 15 * 60 * 1000, this, false);
28
25
  this._lastUpdate = new Date(0);
29
- this.stateMap = new Map();
30
26
  this._deviceQueryId = `${this.info.fullID}.device_query`;
31
27
  }
28
+ /** @inheritDoc */
32
29
  update(idSplit, state, initial = false, pOverride = false) {
33
30
  this.log(models_1.LogLevel.DeepTrace, `Zigbee: ${initial ? 'Initiales ' : ''}Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
34
31
  if (!pOverride) {
@@ -40,16 +37,18 @@ class ZigbeeDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
40
37
  }
41
38
  switch (idSplit[3]) {
42
39
  case 'available':
43
- this._available = state.val;
44
- if (!this._available) {
45
- this.log(models_1.LogLevel.Debug, `Das Zigbee Gerät ist nicht erreichbar.`);
40
+ const newAvailability = state.val;
41
+ if (this._available && !newAvailability) {
42
+ this.log(models_1.LogLevel.Debug, 'Device became unavailable.');
46
43
  }
44
+ this._available = newAvailability;
47
45
  break;
48
46
  case 'link_quality':
49
- this._linkQuality = state.val;
50
- if (this._linkQuality < 5) {
51
- this.log(models_1.LogLevel.Debug, `Das Zigbee Gerät hat eine schlechte Verbindung (${this._linkQuality}).`);
47
+ const newValue = state.val;
48
+ if (this._linkQuality > 5 && newValue <= 5) {
49
+ this.log(models_1.LogLevel.Debug, `The link-quality dropped to a critical level: ${newValue}`);
52
50
  }
51
+ this._linkQuality = state.val;
53
52
  break;
54
53
  }
55
54
  this.stateMap.set(idSplit[3], state);
@@ -61,30 +60,24 @@ class ZigbeeDevice extends IoBrokerBaseDevice_1.IoBrokerBaseDevice {
61
60
  }
62
61
  }
63
62
  triggerDeviceQuery() {
64
- this.log(models_1.LogLevel.Info, `Triggering Device Query`);
63
+ this.log(models_1.LogLevel.Info, 'Triggering Device Query');
65
64
  this.setState(this._deviceQueryId, true);
66
65
  }
66
+ /** @inheritDoc */
67
67
  dispose() {
68
- clearInterval(this.persistZigbeeInterval);
68
+ clearInterval(this._persistZigbeeInterval);
69
69
  }
70
70
  persistZigbeeDevice() {
71
71
  var _a;
72
72
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistZigbeeDevice(this);
73
73
  }
74
+ /** @inheritDoc */
74
75
  setState(pointId, state, onSuccess = undefined, onError = undefined) {
75
76
  if (this._dontSendOnUnavailable && !this._available) {
76
77
  this.log(models_1.LogLevel.Warn, `Device unavailable --> Not changing ${pointId} to ${state}`);
77
78
  return;
78
79
  }
79
- if (this._debounceStateDelay === 0 || services_1.Utils.nowMS() - this._lastWrite > this._debounceStateDelay) {
80
- this._lastWrite = services_1.Utils.nowMS();
81
- super.setState(pointId, state, onSuccess, onError);
82
- return;
83
- }
84
- services_1.Utils.guardedTimeout(() => {
85
- this.log(models_1.LogLevel.Trace, `Debounced write to ${pointId} to ${state}`);
86
- this.setState(pointId, state, onSuccess, onError);
87
- }, this._debounceStateDelay, this);
80
+ super.setState(pointId, state, onSuccess, onError);
88
81
  }
89
82
  }
90
83
  exports.ZigbeeDevice = ZigbeeDevice;
@@ -1,41 +1,26 @@
1
- import { ActuatorSetStateCommand, ActuatorToggleCommand, ActuatorWriteStateToDeviceCommand, DimmerSetLightCommand, DimmerSettings, LampSetTimeBasedCommand, LampToggleLightCommand, RestoreTargetAutomaticValueCommand } from '../../../../models';
1
+ import { DimmerSetLightCommand, DimmerSettings, LampSetTimeBasedCommand } from '../../../../models';
2
2
  import { DeviceType } from '../../deviceType';
3
- import { ZigbeeDevice } from './index';
4
3
  import { IoBrokerDeviceInfo } from '../../IoBrokerDeviceInfo';
5
4
  import { iDimmableLamp } from '../../baseDeviceInterfaces/iDimmableLamp';
6
5
  import { iTemporaryDisableAutomatic } from '../../baseDeviceInterfaces';
7
- import { BlockAutomaticHandler } from '../../../services/blockAutomaticHandler';
8
- export declare abstract class ZigbeeDimmer extends ZigbeeDevice implements iDimmableLamp, iTemporaryDisableAutomatic {
9
- readonly blockAutomationHandler: BlockAutomaticHandler;
10
- queuedValue: boolean | null;
6
+ import { ZigbeeLamp } from './zigbeeLamp';
7
+ export declare abstract class ZigbeeDimmer extends ZigbeeLamp implements iDimmableLamp, iTemporaryDisableAutomatic {
8
+ /** @inheritDoc */
11
9
  settings: DimmerSettings;
12
- targetAutomaticState: boolean;
13
- protected _lastPersist: number;
14
10
  protected abstract readonly _stateIdBrightness: string;
15
- protected abstract readonly _stateIdState: string;
16
11
  protected abstract readonly _stateIdTransitionTime: string;
17
12
  protected abstract readonly _stateNameBrightness: string;
18
- protected abstract readonly _stateNameState: string;
19
13
  protected abstract readonly _stateNameTransitionTime: string;
20
- protected constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
21
14
  protected _brightness: number;
22
- get brightness(): number;
23
- protected _lightOn: boolean;
24
- get lightOn(): boolean;
25
15
  protected _transitionTime: number;
26
- get transitionTime(): number;
27
- get actuatorOn(): boolean;
28
- restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
16
+ protected constructor(pInfo: IoBrokerDeviceInfo, deviceType: DeviceType);
17
+ /** @inheritDoc */
18
+ get brightness(): number;
19
+ /** @inheritDoc */
29
20
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
21
+ /** @inheritDoc */
30
22
  setTimeBased(c: LampSetTimeBasedCommand): void;
31
- setActuator(c: ActuatorSetStateCommand): void;
32
- toggleActuator(c: ActuatorToggleCommand): boolean;
33
- /**
34
- * @inheritDoc
35
- */
23
+ /** @inheritDoc */
36
24
  setLight(c: DimmerSetLightCommand): void;
37
- persist(): void;
38
- toggleLight(c: LampToggleLightCommand): boolean;
39
- writeActuatorStateToDevice(c: ActuatorWriteStateToDeviceCommand): void;
40
25
  private setBrightnessState;
41
26
  }
@@ -3,50 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZigbeeDimmer = void 0;
4
4
  const models_1 = require("../../../../models");
5
5
  const services_1 = require("../../../services");
6
- const index_1 = require("./index");
7
6
  const DeviceCapability_1 = require("../../DeviceCapability");
8
- const blockAutomaticHandler_1 = require("../../../services/blockAutomaticHandler");
9
7
  const sharedFunctions_1 = require("../../sharedFunctions");
10
- class ZigbeeDimmer extends index_1.ZigbeeDevice {
8
+ const zigbeeLamp_1 = require("./zigbeeLamp");
9
+ class ZigbeeDimmer extends zigbeeLamp_1.ZigbeeLamp {
11
10
  constructor(pInfo, deviceType) {
12
11
  super(pInfo, deviceType);
13
- this.queuedValue = null;
12
+ /** @inheritDoc */
14
13
  this.settings = new models_1.DimmerSettings();
15
- this.targetAutomaticState = false;
16
- this._lastPersist = 0;
17
14
  this._brightness = 0;
18
- this._lightOn = false;
19
15
  this._transitionTime = 0;
20
- this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.lamp);
21
16
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.dimmablelamp);
22
- this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.blockAutomatic);
23
- this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
24
17
  }
18
+ /** @inheritDoc */
25
19
  get brightness() {
26
20
  return this._brightness;
27
21
  }
28
- get lightOn() {
29
- return this._lightOn;
30
- }
31
- get transitionTime() {
32
- return this._transitionTime;
33
- }
34
- get actuatorOn() {
35
- return this.lightOn;
36
- }
37
- restoreTargetAutomaticValue(c) {
38
- this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore targetAutomaticState due to BlockAutomaticHandler'));
39
- }
22
+ /** @inheritDoc */
40
23
  update(idSplit, state, initial = false) {
41
24
  this.queuedValue = null;
42
25
  this.log(models_1.LogLevel.DeepTrace, `Dimmer Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
43
26
  super.update(idSplit, state, initial, true);
44
27
  switch (idSplit[3]) {
45
- case this._stateNameState:
46
- this.log(models_1.LogLevel.Trace, `Dimmer Update für ${this.info.customName} auf ${state.val}`);
47
- this._lightOn = state.val;
48
- this.persist();
49
- break;
50
28
  case this._stateNameBrightness:
51
29
  this.log(models_1.LogLevel.Trace, `Dimmer Helligkeit Update für ${this.info.customName} auf ${state.val}`);
52
30
  this._brightness = state.val;
@@ -58,77 +36,64 @@ class ZigbeeDimmer extends index_1.ZigbeeDevice {
58
36
  break;
59
37
  }
60
38
  }
39
+ /** @inheritDoc */
61
40
  setTimeBased(c) {
62
41
  this.setLight(models_1.DimmerSetLightCommand.byTimeBased(this.settings, c));
63
42
  }
64
- setActuator(c) {
65
- this.setLight(new models_1.DimmerSetLightCommand(c, c.on, 'Set dimmer due to set ActuactorCommand', c.timeout));
66
- }
67
- toggleActuator(c) {
68
- const setActuatorCommand = models_1.ActuatorSetStateCommand.byActuatorAndToggleCommand(this, c);
69
- this.setActuator(setActuatorCommand);
70
- return setActuatorCommand.on;
71
- }
72
- /**
73
- * @inheritDoc
74
- */
43
+ /** @inheritDoc */
75
44
  setLight(c) {
76
45
  var _a;
77
- if (this._stateIdState === '') {
78
- this.log(models_1.LogLevel.Error, `Keine State ID bekannt.`);
46
+ if (this._actuatorOnStateIdState === '') {
47
+ this.log(models_1.LogLevel.Error, 'Keine State ID bekannt.');
79
48
  return;
80
49
  }
81
50
  if (!this.ioConn) {
82
- this.log(models_1.LogLevel.Error, `Keine Connection bekannt.`);
51
+ this.log(models_1.LogLevel.Error, 'Keine Connection bekannt.');
83
52
  return;
84
53
  }
85
- if (c.transitionTime > -1) {
86
- this.setState(this._stateIdTransitionTime, c.transitionTime);
87
- }
88
54
  const dontBlock = sharedFunctions_1.LampUtils.checkUnBlock(this, c);
89
55
  if (sharedFunctions_1.LampUtils.checkBlockActive(this, c)) {
90
56
  return;
91
57
  }
58
+ if (c.isAutomaticAction) {
59
+ // Preserve the target state for the automatic handler, as
60
+ this.targetAutomaticState = c.on;
61
+ }
62
+ if (sharedFunctions_1.LampUtils.canDimmerChangeBeSkipped(this, c)) {
63
+ return;
64
+ }
65
+ if (c.transitionTime > -1) {
66
+ this.setState(this._stateIdTransitionTime, c.transitionTime);
67
+ }
92
68
  if (c.on && c.brightness <= 0 && this.brightness < 10) {
93
69
  c.brightness = 10;
94
70
  }
95
- this.log(models_1.LogLevel.Debug, `Set Light Acutator to "${c.on}" with brightness ${c.brightness}`, services_1.LogDebugType.SetActuator);
96
- if (c.timeout > -1 && !dontBlock) {
97
- this.blockAutomationHandler.disableAutomatic(c.timeout, models_1.CollisionSolving.overrideIfGreater);
71
+ if (!dontBlock && c.disableAutomaticCommand !== null) {
72
+ if (c.disableAutomaticCommand === undefined && c.isForceAction) {
73
+ c.disableAutomaticCommand = models_1.BlockAutomaticCommand.fromDeviceSettings(c, this.settings);
74
+ }
75
+ if (c.disableAutomaticCommand) {
76
+ this.blockAutomationHandler.disableAutomatic(c.disableAutomaticCommand);
77
+ }
98
78
  }
99
79
  if (((_a = services_1.SettingsService.settings.ioBroker) === null || _a === void 0 ? void 0 : _a.useZigbee2mqtt) && !c.on) {
100
80
  // With zigbee2mqtt to turn on only setting brighness>0 is needed, so we need state only for turning off
101
- this.writeActuatorStateToDevice(new models_1.ActuatorWriteStateToDeviceCommand(c.on, c, 'Set dimmer due to set ActuactorCommand'));
81
+ this.writeActuatorStateToDevice(new models_1.ActuatorWriteStateToDeviceCommand(c, c.on));
102
82
  this.queuedValue = c.on;
103
83
  return;
104
84
  }
85
+ this.log(models_1.LogLevel.Debug, c.logMessage, services_1.LogDebugType.SetActuator);
105
86
  if (c.brightness >= this.settings.turnOnThreshhold) {
106
87
  this.setBrightnessState(c.brightness);
107
88
  return;
108
89
  }
109
90
  this.setBrightnessState(this.settings.turnOnThreshhold, () => {
110
91
  services_1.Utils.guardedTimeout(() => {
111
- this.log(models_1.LogLevel.Info, `Delayed reduced brightness on ${this.info.customName}`);
92
+ this.log(models_1.LogLevel.Info, `Delayed reduced brightness on ${this.info.customName} to ${c.brightness} for command: ${c.logMessage}`);
112
93
  this.setBrightnessState(c.brightness);
113
94
  }, 1000, this);
114
95
  });
115
96
  }
116
- persist() {
117
- var _a;
118
- const now = services_1.Utils.nowMS();
119
- if (this._lastPersist + 1000 > now) {
120
- return;
121
- }
122
- (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
123
- this._lastPersist = now;
124
- }
125
- toggleLight(c) {
126
- return sharedFunctions_1.LampUtils.toggleLight(this, c);
127
- }
128
- writeActuatorStateToDevice(c) {
129
- this.log(models_1.LogLevel.Debug, c.logMessage, services_1.LogDebugType.SetActuator);
130
- this.setState(this._stateIdState, c.stateValue);
131
- }
132
97
  setBrightnessState(brightness, onSuccess) {
133
98
  this.setState(this._stateIdBrightness, Math.max(0, Math.min(brightness, 100)), onSuccess);
134
99
  }
@@ -8,9 +8,13 @@ import { PIDController } from '../../../../liquid-pid';
8
8
  export declare class ZigbeeHeater extends ZigbeeDevice implements iHeater, iBatteryDevice {
9
9
  protected _battery: number;
10
10
  private _lastBatteryPersist;
11
+ /** @inheritDoc */
11
12
  get lastBatteryPersist(): number;
13
+ /** @inheritDoc */
12
14
  readonly persistHeaterInterval: NodeJS.Timeout;
15
+ /** @inheritDoc */
13
16
  settings: HeaterSettings;
17
+ /** @inheritDoc */
14
18
  get battery(): number;
15
19
  protected _iAutomaticInterval: NodeJS.Timeout | undefined;
16
20
  protected _initialSeasonCheckDone: boolean;
@@ -21,26 +25,35 @@ export declare class ZigbeeHeater extends ZigbeeDevice implements iHeater, iBatt
21
25
  protected _pidController: PIDController;
22
26
  constructor(pInfo: IoBrokerDeviceInfo, pType: DeviceType);
23
27
  protected _seasonTurnOff: boolean;
28
+ /** @inheritDoc */
24
29
  get seasonTurnOff(): boolean;
30
+ /** @inheritDoc */
25
31
  set seasonTurnOff(value: boolean);
32
+ /** @inheritDoc */
26
33
  get desiredTemperature(): number;
34
+ /** @inheritDoc */
27
35
  set desiredTemperature(val: number);
28
- protected _humidity: number;
29
- get humidity(): number;
30
36
  get sLevel(): string;
37
+ /** @inheritDoc */
31
38
  get iLevel(): number;
32
39
  get sTemperatur(): string;
40
+ /** @inheritDoc */
33
41
  get iTemperature(): number;
34
42
  protected _roomTemperature: number;
43
+ /** @inheritDoc */
35
44
  get roomTemperature(): number;
36
- set roomTemperatur(val: number);
45
+ protected set roomTemperatur(val: number);
46
+ /** @inheritDoc */
37
47
  checkAutomaticChange(): void;
38
- stopAutomaticCheck(): void;
48
+ /** @inheritDoc */
39
49
  onTemperaturChange(newTemperatur: number): void;
40
50
  persistHeater(): void;
51
+ /** @inheritDoc */
41
52
  update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
42
53
  protected getNextPidLevel(): number;
43
54
  private checkSeasonTurnOff;
55
+ /** @inheritDoc */
44
56
  persistBatteryDevice(): void;
57
+ /** @inheritDoc */
45
58
  dispose(): void;
46
59
  }
@@ -8,9 +8,11 @@ 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
+ /** @inheritDoc */
11
12
  get lastBatteryPersist() {
12
13
  return this._lastBatteryPersist;
13
14
  }
15
+ /** @inheritDoc */
14
16
  get battery() {
15
17
  return this._battery;
16
18
  }
@@ -18,9 +20,11 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
18
20
  super(pInfo, pType);
19
21
  this._battery = -99;
20
22
  this._lastBatteryPersist = 0;
23
+ /** @inheritDoc */
21
24
  this.persistHeaterInterval = services_1.Utils.guardedInterval(() => {
22
25
  this.persistHeater();
23
26
  }, 5 * 60 * 1000, this, false);
27
+ /** @inheritDoc */
24
28
  this.settings = new models_1.HeaterSettings();
25
29
  this._initialSeasonCheckDone = false;
26
30
  this._level = 0;
@@ -38,7 +42,6 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
38
42
  Kd: 9, // PID: Kd in 1/1000
39
43
  });
40
44
  this._seasonTurnOff = false;
41
- this._humidity = 0;
42
45
  this._roomTemperature = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
43
46
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.heater);
44
47
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.batteryDriven);
@@ -47,15 +50,19 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
47
50
  this.checkSeasonTurnOff();
48
51
  }, 0, 2, 0));
49
52
  }
53
+ /** @inheritDoc */
50
54
  get seasonTurnOff() {
51
55
  return this._seasonTurnOff;
52
56
  }
57
+ /** @inheritDoc */
53
58
  set seasonTurnOff(value) {
54
59
  this._seasonTurnOff = value;
55
60
  }
61
+ /** @inheritDoc */
56
62
  get desiredTemperature() {
57
63
  return this._desiredTemperatur;
58
64
  }
65
+ /** @inheritDoc */
59
66
  set desiredTemperature(val) {
60
67
  this._desiredTemperatur = val;
61
68
  this.setState(this._setPointTemperaturID, val, () => {
@@ -64,18 +71,17 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
64
71
  this.log(models_1.LogLevel.Error, `Temperaturänderung ergab Fehler ${err}.`);
65
72
  });
66
73
  }
67
- get humidity() {
68
- return this._humidity;
69
- }
70
74
  get sLevel() {
71
75
  return `${this._level * 100}%`;
72
76
  }
77
+ /** @inheritDoc */
73
78
  get iLevel() {
74
79
  return this._level;
75
80
  }
76
81
  get sTemperatur() {
77
82
  return `${this.iTemperature}°C`;
78
83
  }
84
+ /** @inheritDoc */
79
85
  get iTemperature() {
80
86
  if (this.settings.useOwnTemperatur) {
81
87
  return this._temperatur;
@@ -84,12 +90,14 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
84
90
  return this._roomTemperature;
85
91
  }
86
92
  }
93
+ /** @inheritDoc */
87
94
  get roomTemperature() {
88
95
  return this._roomTemperature;
89
96
  }
90
97
  set roomTemperatur(val) {
91
98
  this._roomTemperature = val;
92
99
  }
100
+ /** @inheritDoc */
93
101
  checkAutomaticChange() {
94
102
  var _a;
95
103
  if (!this._initialSeasonCheckDone) {
@@ -113,12 +121,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
113
121
  this.desiredTemperature = targetTemperature;
114
122
  }
115
123
  }
116
- stopAutomaticCheck() {
117
- if (this._iAutomaticInterval !== undefined) {
118
- clearInterval(this._iAutomaticInterval);
119
- this._iAutomaticInterval = undefined;
120
- }
121
- }
124
+ /** @inheritDoc */
122
125
  onTemperaturChange(newTemperatur) {
123
126
  this.roomTemperatur = newTemperatur;
124
127
  }
@@ -126,13 +129,14 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
126
129
  var _a;
127
130
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistHeater(this);
128
131
  }
132
+ /** @inheritDoc */
129
133
  update(idSplit, state, initial = false, pOverride = false) {
130
134
  switch (idSplit[3]) {
131
135
  case 'battery':
132
136
  this._battery = state.val;
133
137
  this.persistBatteryDevice();
134
138
  if (this._battery < 20) {
135
- this.log(models_1.LogLevel.Warn, `Das Zigbee Gerät hat unter 20% Batterie.`);
139
+ this.log(models_1.LogLevel.Warn, 'Das Zigbee Gerät hat unter 20% Batterie.');
136
140
  }
137
141
  break;
138
142
  }
@@ -155,6 +159,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
155
159
  }
156
160
  this._initialSeasonCheckDone = true;
157
161
  }
162
+ /** @inheritDoc */
158
163
  persistBatteryDevice() {
159
164
  var _a;
160
165
  const now = services_1.Utils.nowMS();
@@ -164,6 +169,7 @@ class ZigbeeHeater extends zigbeeDevice_1.ZigbeeDevice {
164
169
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistBatteryDevice(this);
165
170
  this._lastBatteryPersist = now;
166
171
  }
172
+ /** @inheritDoc */
167
173
  dispose() {
168
174
  if (this.persistHeaterInterval) {
169
175
  clearInterval(this.persistHeaterInterval);
@@ -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
+ }