hoffmation-base 3.0.0-alpha.3 → 3.0.0-alpha.31

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 (491) 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 +1 -0
  10. package/lib/models/action/index.js +5 -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 +10 -2
  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 +14 -3
  37. package/lib/models/command/baseCommand.d.ts +23 -2
  38. package/lib/models/command/baseCommand.js +43 -9
  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 +26 -0
  44. package/lib/models/command/blockAutomaticUntilCommand.js +29 -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 +8 -7
  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 +5 -3
  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 +9 -0
  130. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +1 -1
  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 +6 -3
  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 +9 -0
  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 -2
  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 -33
  214. package/lib/server/devices/blueIris/cameraDevice.js +76 -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 +27 -17
  225. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -2
  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 -2
  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 +14 -13
  260. package/lib/server/devices/groups/presenceGroup.d.ts +5 -3
  261. package/lib/server/devices/groups/presenceGroup.js +36 -40
  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 -5
  268. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +11 -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 +26 -4
  274. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +29 -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 +6 -0
  278. package/lib/server/devices/hmIPDevices/hmIpLampe.js +7 -3
  279. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -8
  280. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +14 -11
  281. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +2 -0
  282. package/lib/server/devices/hmIPDevices/hmIpRoll.js +9 -6
  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 +1 -0
  293. package/lib/server/devices/index.js +3 -0
  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 +73 -24
  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 +16 -2
  315. package/lib/server/devices/wledDevice.js +42 -12
  316. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +15 -3
  317. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +23 -9
  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 +8 -23
  323. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +28 -61
  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 +20 -0
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +47 -0
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +15 -13
  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 -13
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +47 -42
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +11 -1
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +18 -7
  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 +1 -0
  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/zigbeeIlluLampe.d.ts +4 -10
  361. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +4 -32
  362. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  363. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +1 -0
  364. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  365. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  366. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  367. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  368. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +21 -2
  369. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +24 -5
  370. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  371. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  372. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  373. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  374. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +9 -9
  375. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +15 -24
  376. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  377. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +1 -0
  378. package/lib/server/ioBroker/connection.d.ts +21 -20
  379. package/lib/server/ioBroker/connection.js +37 -28
  380. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  381. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  382. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  383. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  384. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  385. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  386. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  387. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  388. package/lib/server/services/ShutterService.js +6 -6
  389. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  390. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  391. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  392. package/lib/server/services/Sonos/mp3-server.js +3 -1
  393. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  394. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  395. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  396. package/lib/server/services/Sonos/polly-service.js +10 -8
  397. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  398. package/lib/server/services/Sonos/sonos-service.js +6 -10
  399. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  400. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  401. package/lib/server/services/Telegram/telegram-service.js +8 -3
  402. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  403. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  404. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  405. package/lib/server/services/Translation/index.d.ts +1 -0
  406. package/lib/server/services/Translation/res.d.ts +34 -19
  407. package/lib/server/services/Translation/res.js +34 -19
  408. package/lib/server/services/ac/ac-device.d.ts +48 -6
  409. package/lib/server/services/ac/ac-device.js +85 -35
  410. package/lib/server/services/ac/daikin-service.js +4 -3
  411. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  412. package/lib/server/services/ac/own-ac-devices.js +3 -0
  413. package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
  414. package/lib/server/services/ac/own-daikin-device.js +32 -7
  415. package/lib/server/services/api/api-service.d.ts +118 -53
  416. package/lib/server/services/api/api-service.js +170 -80
  417. package/lib/server/services/blockAutomaticHandler.d.ts +11 -8
  418. package/lib/server/services/blockAutomaticHandler.js +29 -13
  419. package/lib/server/services/calendar/index.d.ts +1 -0
  420. package/lib/server/services/calendar/index.js +3 -0
  421. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  422. package/lib/server/services/calendar/muell-tonne.js +10 -0
  423. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  424. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  425. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  426. package/lib/server/services/calendar/name-date-pair.js +10 -0
  427. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  428. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  429. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  430. package/lib/server/services/file-info.d.ts +5 -0
  431. package/lib/server/services/file-info.js +10 -0
  432. package/lib/server/services/govee/govee-service.d.ts +1 -5
  433. package/lib/server/services/govee/govee-service.js +3 -5
  434. package/lib/server/services/govee/own-govee-device.d.ts +17 -12
  435. package/lib/server/services/govee/own-govee-device.js +27 -24
  436. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  437. package/lib/server/services/govee/own-govee-devices.js +3 -0
  438. package/lib/server/services/https-service.d.ts +3 -2
  439. package/lib/server/services/https-service.js +4 -3
  440. package/lib/server/services/index.d.ts +1 -0
  441. package/lib/server/services/index.js +3 -0
  442. package/lib/server/services/log-service/index.d.ts +1 -0
  443. package/lib/server/services/log-service/index.js +3 -0
  444. package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
  445. package/lib/server/services/log-service/log-debug-type.js +16 -0
  446. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  447. package/lib/server/services/log-service/log-filter-data.js +6 -15
  448. package/lib/server/services/log-service/log-service.d.ts +17 -4
  449. package/lib/server/services/log-service/log-service.js +30 -17
  450. package/lib/server/services/news-service.d.ts +9 -7
  451. package/lib/server/services/news-service.js +14 -15
  452. package/lib/server/services/room-service/room-service.d.ts +20 -4
  453. package/lib/server/services/room-service/room-service.js +26 -10
  454. package/lib/server/services/settings-service.d.ts +6 -2
  455. package/lib/server/services/settings-service.js +3 -2
  456. package/lib/server/services/time-callback-service.js +1 -1
  457. package/lib/server/services/utils/RGB.d.ts +6 -0
  458. package/lib/server/services/utils/RGB.js +11 -0
  459. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  460. package/lib/server/services/utils/catchEmResult.js +10 -0
  461. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  462. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  463. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  464. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  465. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  466. package/lib/server/services/utils/index.d.ts +4 -1
  467. package/lib/server/services/utils/index.js +8 -1
  468. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  469. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  470. package/lib/server/services/utils/utils.d.ts +9 -13
  471. package/lib/server/services/victron/victron-device.d.ts +6 -2
  472. package/lib/server/services/victron/victron-device.js +12 -9
  473. package/lib/server/services/weather/index.d.ts +2 -0
  474. package/lib/server/services/weather/index.js +3 -0
  475. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  476. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  477. package/lib/server/services/weather/weather-current.d.ts +0 -2
  478. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  479. package/lib/server/services/weather/weather-response.d.ts +16 -0
  480. package/lib/server/services/weather/weather-response.js +2 -0
  481. package/lib/server/services/weather/weather-service.d.ts +15 -18
  482. package/lib/server/services/weather/weather-service.js +32 -22
  483. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  484. package/lib/tsconfig.tsbuildinfo +1 -1
  485. package/package.json +6 -7
  486. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  487. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  488. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  489. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  490. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  491. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -15,18 +15,24 @@ const blockAutomaticHandler_1 = require("../blockAutomaticHandler");
15
15
  class OwnGoveeDevice {
16
16
  constructor(deviceId, ownDeviceName, roomName, device) {
17
17
  this.device = device;
18
+ /** @inheritDoc */
18
19
  this.settings = new models_1.LedSettings();
20
+ /** @inheritDoc */
19
21
  this.deviceType = devices_1.DeviceType.GoveeLed;
22
+ /** @inheritDoc */
20
23
  this.deviceCapabilities = [
21
24
  DeviceCapability_1.DeviceCapability.ledLamp,
22
25
  DeviceCapability_1.DeviceCapability.lamp,
23
26
  DeviceCapability_1.DeviceCapability.dimmablelamp,
24
27
  DeviceCapability_1.DeviceCapability.blockAutomatic,
25
28
  ];
26
- this.on = false;
29
+ /** @inheritDoc */
27
30
  this.queuedValue = null;
31
+ /** @inheritDoc */
28
32
  this.brightness = -1;
33
+ /** @inheritDoc */
29
34
  this.targetAutomaticState = false;
35
+ this._on = false;
30
36
  this._color = '#fcba32';
31
37
  this._colortemp = 500;
32
38
  this._room = undefined;
@@ -57,17 +63,14 @@ class OwnGoveeDevice {
57
63
  return this.info.customName;
58
64
  }
59
65
  get actuatorOn() {
60
- return this.on;
66
+ return this._on;
61
67
  }
62
68
  get lightOn() {
63
- return this.on;
69
+ return this._on;
64
70
  }
65
71
  get info() {
66
72
  return this._info;
67
73
  }
68
- set info(info) {
69
- this._info = info;
70
- }
71
74
  get id() {
72
75
  var _a;
73
76
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `govee-${this.info.room}-${this.info.customName}`;
@@ -77,7 +80,7 @@ class OwnGoveeDevice {
77
80
  }
78
81
  log(level, message, debugType = log_service_1.LogDebugType.None) {
79
82
  var _a, _b;
80
- log_service_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
83
+ log_service_1.ServerLogService.writeLog(level, message, {
81
84
  debugType: debugType,
82
85
  room: (_b = (_a = this._room) === null || _a === void 0 ? void 0 : _a.roomName) !== null && _b !== void 0 ? _b : '',
83
86
  deviceId: this.name,
@@ -96,20 +99,16 @@ class OwnGoveeDevice {
96
99
  loadDeviceSettings() {
97
100
  this.settings.initializeFromDb(this);
98
101
  }
99
- /**
100
- * @inheritDoc
101
- */
102
+ /** @inheritDoc */
102
103
  setTimeBased(c) {
103
104
  this.setLight(models_1.LedSetLightCommand.byTimeBased(this.settings, c));
104
105
  }
105
- /**
106
- * @inheritDoc
107
- */
106
+ /** @inheritDoc */
108
107
  setLight(c) {
109
108
  if (c.on && c.brightness === -1 && this.brightness < 10) {
110
109
  c.brightness = 10;
111
110
  }
112
- this.log(models_1.LogLevel.Debug, c.logMessage);
111
+ this.log(models_1.LogLevel.Debug, c.logMessage, log_service_1.LogDebugType.SetActuator);
113
112
  const formattedColor = utils_1.Utils.formatHex(c.color);
114
113
  if (formattedColor !== null) {
115
114
  this.setColor(c.color);
@@ -118,10 +117,15 @@ class OwnGoveeDevice {
118
117
  if (devices_1.LampUtils.checkBlockActive(this, c)) {
119
118
  return;
120
119
  }
121
- this.log(models_1.LogLevel.Debug, `Set Light Acutator to "${c.on}" with brightness ${c.brightness}`, log_service_1.LogDebugType.SetActuator);
120
+ if (devices_1.LampUtils.checkDimmerUnchanged(this, c)) {
121
+ return;
122
+ }
123
+ if (c.isAutomaticAction) {
124
+ // Preserve the target state for the automatic handler, as
125
+ this.targetAutomaticState = c.on;
126
+ }
122
127
  if (c.brightness > -1 && c.on) {
123
128
  this.setBrightness(c.brightness, () => {
124
- this.log(models_1.LogLevel.Debug, `Brightness set to ${c.brightness}`);
125
129
  this.turnOn();
126
130
  });
127
131
  }
@@ -131,16 +135,15 @@ class OwnGoveeDevice {
131
135
  else {
132
136
  this.turnOff();
133
137
  }
134
- if (c.timeout > -1 && !dontBlock) {
135
- this.blockAutomationHandler.disableAutomatic(c.timeout, models_1.CollisionSolving.overrideIfGreater);
138
+ if (c.disableAutomaticCommand && !dontBlock) {
139
+ this.blockAutomationHandler.disableAutomatic(c.disableAutomaticCommand);
136
140
  }
137
141
  }
138
142
  setActuator(c) {
139
143
  this.setLight(new models_1.LedSetLightCommand(c, c.on, c.reason));
140
144
  }
141
145
  restoreTargetAutomaticValue(c) {
142
- this.log(models_1.LogLevel.Debug, `Restore Target Automatic value`);
143
- this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore Target Automatic value'));
146
+ this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState));
144
147
  }
145
148
  persist() {
146
149
  var _a;
@@ -165,7 +168,7 @@ class OwnGoveeDevice {
165
168
  }
166
169
  update(data) {
167
170
  this.queuedValue = null;
168
- this.on = data.onOff === 1;
171
+ this._on = data.onOff === 1;
169
172
  this.brightness = data.brightness;
170
173
  this._color = `#${data.color.r.toString(16)}${data.color.g.toString(16)}${data.color.b.toString(16)}`;
171
174
  this._colortemp = data.colorTemInKelvin;
@@ -196,12 +199,12 @@ class OwnGoveeDevice {
196
199
  }
197
200
  turnOn() {
198
201
  var _a;
199
- if (this.on) {
202
+ if (this._on) {
200
203
  return;
201
204
  }
202
205
  this.queuedValue = true;
203
206
  (_a = this.device) === null || _a === void 0 ? void 0 : _a.turnOn().then(() => {
204
- this.log(models_1.LogLevel.Debug, `Govee turned on`, log_service_1.LogDebugType.SetActuator);
207
+ this.log(models_1.LogLevel.Debug, 'Govee turned on', log_service_1.LogDebugType.SetActuator);
205
208
  }).catch((error) => {
206
209
  this.log(models_1.LogLevel.Error, `Govee turn on resulted in error: ${error}`);
207
210
  });
@@ -210,7 +213,7 @@ class OwnGoveeDevice {
210
213
  var _a;
211
214
  this.queuedValue = false;
212
215
  (_a = this.device) === null || _a === void 0 ? void 0 : _a.turnOff().then(() => {
213
- this.log(models_1.LogLevel.Debug, `Govee turned off`, log_service_1.LogDebugType.SetActuator);
216
+ this.log(models_1.LogLevel.Debug, 'Govee turned off', log_service_1.LogDebugType.SetActuator);
214
217
  }).catch((error) => {
215
218
  this.log(models_1.LogLevel.Error, `Govee turn off resulted in error: ${error}`);
216
219
  });
@@ -1,5 +1,8 @@
1
1
  import { OwnGoveeDevice } from './own-govee-device';
2
2
  export declare class OwnGoveeDevices {
3
+ /**
4
+ * A Dictionary of all own Govee devices
5
+ */
3
6
  static ownDevices: {
4
7
  [name: string]: OwnGoveeDevice;
5
8
  };
@@ -10,4 +10,7 @@ class OwnGoveeDevices {
10
10
  }
11
11
  }
12
12
  exports.OwnGoveeDevices = OwnGoveeDevices;
13
+ /**
14
+ * A Dictionary of all own Govee devices
15
+ */
13
16
  OwnGoveeDevices.ownDevices = {};
@@ -4,8 +4,9 @@ export declare class HTTPSService {
4
4
  /**
5
5
  * Downloads a file from a given url to the given location.
6
6
  * If the location doesn't exist, it will be created quietly.
7
- * @param url URL to download file from
8
- * @param filePath Path to save file to
7
+ * @param url - URL to download file from
8
+ * @param filePath - Path to save file to
9
+ * @returns A promise that resolves to true if the file was downloaded successfully, false otherwise
9
10
  */
10
11
  static downloadFile(url: string, filePath: string): Promise<boolean>;
11
12
  private static defaultCallback;
@@ -54,7 +54,7 @@ class HTTPSService {
54
54
  }, 100);
55
55
  }
56
56
  else {
57
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `HTTPS request failed after retries`);
57
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'HTTPS request failed after retries');
58
58
  }
59
59
  });
60
60
  if (postData !== '') {
@@ -65,8 +65,9 @@ class HTTPSService {
65
65
  /**
66
66
  * Downloads a file from a given url to the given location.
67
67
  * If the location doesn't exist, it will be created quietly.
68
- * @param url URL to download file from
69
- * @param filePath Path to save file to
68
+ * @param url - URL to download file from
69
+ * @param filePath - Path to save file to
70
+ * @returns A promise that resolves to true if the file was downloaded successfully, false otherwise
70
71
  */
71
72
  static async downloadFile(url, filePath) {
72
73
  return new Promise((resolve, reject) => {
@@ -19,3 +19,4 @@ export * from './ShutterService';
19
19
  export * from './tibber-service';
20
20
  export * from './victron/index';
21
21
  export * from './time-callback-service';
22
+ export { FileInfo } from './file-info';
@@ -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.FileInfo = void 0;
17
18
  __exportStar(require("./ac/index"), exports);
18
19
  __exportStar(require("./api/index"), exports);
19
20
  __exportStar(require("./calendar/index"), exports);
@@ -35,3 +36,5 @@ __exportStar(require("./ShutterService"), exports);
35
36
  __exportStar(require("./tibber-service"), exports);
36
37
  __exportStar(require("./victron/index"), exports);
37
38
  __exportStar(require("./time-callback-service"), exports);
39
+ var file_info_1 = require("./file-info");
40
+ Object.defineProperty(exports, "FileInfo", { enumerable: true, get: function () { return file_info_1.FileInfo; } });
@@ -1,3 +1,4 @@
1
1
  export * from './log-service';
2
2
  export * from './log-object';
3
3
  export * from './log-filter-data';
4
+ export { LogDebugType } from './log-debug-type';
@@ -14,6 +14,9 @@ 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.LogDebugType = void 0;
17
18
  __exportStar(require("./log-service"), exports);
18
19
  __exportStar(require("./log-object"), exports);
19
20
  __exportStar(require("./log-filter-data"), exports);
21
+ var log_debug_type_1 = require("./log-debug-type");
22
+ Object.defineProperty(exports, "LogDebugType", { enumerable: true, get: function () { return log_debug_type_1.LogDebugType; } });
@@ -0,0 +1,12 @@
1
+ export declare enum LogDebugType {
2
+ None = 0,
3
+ SkipUnchangedActuatorCommand = 1,
4
+ SkipUnchangedRolloPosition = 2,
5
+ SetActuator = 3,
6
+ ShutterPositionChange = 4,
7
+ NewMovementState = 5,
8
+ SkipUnchangedMovementState = 6,
9
+ DaikinSuccessfullControlInfo = 7,
10
+ EuroHeaterValveLogging = 8,
11
+ Trilateration = 9
12
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogDebugType = void 0;
4
+ var LogDebugType;
5
+ (function (LogDebugType) {
6
+ LogDebugType[LogDebugType["None"] = 0] = "None";
7
+ LogDebugType[LogDebugType["SkipUnchangedActuatorCommand"] = 1] = "SkipUnchangedActuatorCommand";
8
+ LogDebugType[LogDebugType["SkipUnchangedRolloPosition"] = 2] = "SkipUnchangedRolloPosition";
9
+ LogDebugType[LogDebugType["SetActuator"] = 3] = "SetActuator";
10
+ LogDebugType[LogDebugType["ShutterPositionChange"] = 4] = "ShutterPositionChange";
11
+ LogDebugType[LogDebugType["NewMovementState"] = 5] = "NewMovementState";
12
+ LogDebugType[LogDebugType["SkipUnchangedMovementState"] = 6] = "SkipUnchangedMovementState";
13
+ LogDebugType[LogDebugType["DaikinSuccessfullControlInfo"] = 7] = "DaikinSuccessfullControlInfo";
14
+ LogDebugType[LogDebugType["EuroHeaterValveLogging"] = 8] = "EuroHeaterValveLogging";
15
+ LogDebugType[LogDebugType["Trilateration"] = 9] = "Trilateration";
16
+ })(LogDebugType || (exports.LogDebugType = LogDebugType = {}));
@@ -1,21 +1,30 @@
1
1
  import { LogSource } from '../../../models/logSource';
2
- export declare enum LogDebugType {
3
- None = 0,
4
- SkipUnchangedActuatorCommand = 1,
5
- SkipUnchangedRolloPosition = 2,
6
- SetActuator = 3,
7
- ShutterPositionChange = 4,
8
- NewMovementState = 5,
9
- SkipUnchangedMovementState = 6,
10
- DaikinSuccessfullControlInfo = 7,
11
- EuroHeaterValveLogging = 8,
12
- Trilateration = 9
13
- }
2
+ import { LogDebugType } from './log-debug-type';
14
3
  export declare class LogFilterData {
4
+ /**
5
+ * If given, the room this log-item is related to
6
+ */
15
7
  room?: string;
8
+ /**
9
+ * If given, the device this log-item is related to identified by its ID
10
+ */
16
11
  deviceId?: string;
12
+ /**
13
+ * If given, the name of the device this log-item is related to
14
+ */
17
15
  deviceName?: string;
16
+ /**
17
+ * If given, the group this log-item can be associated with
18
+ * @example WindowGroup
19
+ */
18
20
  groupType?: string;
21
+ /**
22
+ * If given, a source identifying the origin of the log-item
23
+ * TODO: Add further sources
24
+ */
19
25
  source?: LogSource;
26
+ /**
27
+ * If given, the debug-type which in accordance to {@link iLogSettings} might result in this being filtered out
28
+ */
20
29
  debugType?: LogDebugType;
21
30
  }
@@ -1,22 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogFilterData = exports.LogDebugType = void 0;
4
- var LogDebugType;
5
- (function (LogDebugType) {
6
- LogDebugType[LogDebugType["None"] = 0] = "None";
7
- LogDebugType[LogDebugType["SkipUnchangedActuatorCommand"] = 1] = "SkipUnchangedActuatorCommand";
8
- LogDebugType[LogDebugType["SkipUnchangedRolloPosition"] = 2] = "SkipUnchangedRolloPosition";
9
- LogDebugType[LogDebugType["SetActuator"] = 3] = "SetActuator";
10
- LogDebugType[LogDebugType["ShutterPositionChange"] = 4] = "ShutterPositionChange";
11
- LogDebugType[LogDebugType["NewMovementState"] = 5] = "NewMovementState";
12
- LogDebugType[LogDebugType["SkipUnchangedMovementState"] = 6] = "SkipUnchangedMovementState";
13
- LogDebugType[LogDebugType["DaikinSuccessfullControlInfo"] = 7] = "DaikinSuccessfullControlInfo";
14
- LogDebugType[LogDebugType["EuroHeaterValveLogging"] = 8] = "EuroHeaterValveLogging";
15
- LogDebugType[LogDebugType["Trilateration"] = 9] = "Trilateration";
16
- })(LogDebugType || (exports.LogDebugType = LogDebugType = {}));
3
+ exports.LogFilterData = void 0;
4
+ const log_debug_type_1 = require("./log-debug-type");
17
5
  class LogFilterData {
18
6
  constructor() {
19
- this.debugType = LogDebugType.None;
7
+ /**
8
+ * If given, the debug-type which in accordance to {@link iLogSettings} might result in this being filtered out
9
+ */
10
+ this.debugType = log_debug_type_1.LogDebugType.None;
20
11
  }
21
12
  }
22
13
  exports.LogFilterData = LogFilterData;
@@ -1,13 +1,26 @@
1
1
  import { LogLevel } from '../../../models';
2
2
  import { DeviceType } from '../../devices';
3
3
  import { iLogSettings } from '../../config';
4
- import { ringStorage } from '../utils';
4
+ import { RingStorage } from '../utils';
5
5
  import { LogObject } from './log-object';
6
6
  import { LogFilterData } from './log-filter-data';
7
7
  export declare class ServerLogService {
8
+ /**
9
+ * The level at which messages are sent to telegram
10
+ * @remarks defined at {@link iConfig.telegram.logLevel}
11
+ */
8
12
  static telegramLevel: number;
13
+ /**
14
+ * The threshold above which messages are stored in the ring-storage to be retrieved e.g. using {@link API.getLog}
15
+ */
9
16
  static storageLevel: number;
10
- static storage: ringStorage<LogObject>;
17
+ /**
18
+ * The storage for the log messages
19
+ */
20
+ static storage: RingStorage<LogObject>;
21
+ /**
22
+ * The settings for the logging system.
23
+ */
11
24
  static settings: iLogSettings;
12
25
  static getLog(amount?: number): LogObject[];
13
26
  static initialize(logSettings: iLogSettings): void;
@@ -17,8 +30,8 @@ export declare class ServerLogService {
17
30
  static missingRoomIndexHandling(pRoomName: string, pIndex: number, pDeviceType: DeviceType): void;
18
31
  /**
19
32
  * Checks if this message is of a debugtype which should be skipped according to settings
20
- * @param {LogDebugType} debugType
21
- * @returns {boolean} If the Message should be skipped
33
+ * @param debugType - {LogDebugType}
34
+ * @returns If the Message should be skipped
22
35
  */
23
36
  private static checkDebugLogSkip;
24
37
  }
@@ -6,9 +6,9 @@ const models_1 = require("../../../models");
6
6
  const devices_1 = require("../../devices");
7
7
  const utils_1 = require("../utils");
8
8
  const log_object_1 = require("./log-object");
9
- const log_filter_data_1 = require("./log-filter-data");
10
9
  const logSource_1 = require("../../../models/logSource");
11
10
  const settings_service_1 = require("../settings-service");
11
+ const log_debug_type_1 = require("./log-debug-type");
12
12
  class ServerLogService {
13
13
  static getLog(amount = 5000) {
14
14
  return this.storage.readAmount(amount);
@@ -44,7 +44,7 @@ class ServerLogService {
44
44
  console.log(message);
45
45
  if (pLevel <= ServerLogService.telegramLevel) {
46
46
  const title = models_1.LogLevel[pLevel];
47
- Telegram_1.TelegramService.sendMessage(Telegram_1.TelegramService.subscribedIDs, `${title}: ${message}`);
47
+ Telegram_1.TelegramService.sendMessageToSubscriber(`${title}: ${message}`);
48
48
  }
49
49
  }
50
50
  }
@@ -60,55 +60,55 @@ class ServerLogService {
60
60
  }
61
61
  /**
62
62
  * Checks if this message is of a debugtype which should be skipped according to settings
63
- * @param {LogDebugType} debugType
64
- * @returns {boolean} If the Message should be skipped
63
+ * @param debugType - {LogDebugType}
64
+ * @returns If the Message should be skipped
65
65
  */
66
66
  static checkDebugLogSkip(debugType) {
67
67
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
68
68
  switch (debugType) {
69
- case log_filter_data_1.LogDebugType.None:
69
+ case log_debug_type_1.LogDebugType.None:
70
70
  return false;
71
- case log_filter_data_1.LogDebugType.SkipUnchangedActuatorCommand:
71
+ case log_debug_type_1.LogDebugType.SkipUnchangedActuatorCommand:
72
72
  if (((_a = settings_service_1.SettingsService.settings.logSettings) === null || _a === void 0 ? void 0 : _a.debugUnchangedActuator) === true) {
73
73
  return false;
74
74
  }
75
75
  break;
76
- case log_filter_data_1.LogDebugType.SkipUnchangedRolloPosition:
76
+ case log_debug_type_1.LogDebugType.SkipUnchangedRolloPosition:
77
77
  if (((_b = settings_service_1.SettingsService.settings.logSettings) === null || _b === void 0 ? void 0 : _b.debugUchangedShutterPosition) === true) {
78
78
  return false;
79
79
  }
80
80
  break;
81
- case log_filter_data_1.LogDebugType.SetActuator:
81
+ case log_debug_type_1.LogDebugType.SetActuator:
82
82
  if (((_c = settings_service_1.SettingsService.settings.logSettings) === null || _c === void 0 ? void 0 : _c.debugActuatorChange) === true) {
83
83
  return false;
84
84
  }
85
85
  break;
86
- case log_filter_data_1.LogDebugType.ShutterPositionChange:
86
+ case log_debug_type_1.LogDebugType.ShutterPositionChange:
87
87
  if (((_d = settings_service_1.SettingsService.settings.logSettings) === null || _d === void 0 ? void 0 : _d.debugShutterPositionChange) === true) {
88
88
  return false;
89
89
  }
90
90
  break;
91
- case log_filter_data_1.LogDebugType.NewMovementState:
91
+ case log_debug_type_1.LogDebugType.NewMovementState:
92
92
  if (((_e = settings_service_1.SettingsService.settings.logSettings) === null || _e === void 0 ? void 0 : _e.debugNewMovementState) === true) {
93
93
  return false;
94
94
  }
95
95
  break;
96
- case log_filter_data_1.LogDebugType.SkipUnchangedMovementState:
96
+ case log_debug_type_1.LogDebugType.SkipUnchangedMovementState:
97
97
  if (((_f = settings_service_1.SettingsService.settings.logSettings) === null || _f === void 0 ? void 0 : _f.debugNewMovementState) === true) {
98
98
  return false;
99
99
  }
100
100
  break;
101
- case log_filter_data_1.LogDebugType.DaikinSuccessfullControlInfo:
101
+ case log_debug_type_1.LogDebugType.DaikinSuccessfullControlInfo:
102
102
  if (((_g = settings_service_1.SettingsService.settings.logSettings) === null || _g === void 0 ? void 0 : _g.debugDaikinSuccessfullControlInfo) === true) {
103
103
  return false;
104
104
  }
105
105
  break;
106
- case log_filter_data_1.LogDebugType.EuroHeaterValveLogging:
106
+ case log_debug_type_1.LogDebugType.EuroHeaterValveLogging:
107
107
  if (((_h = settings_service_1.SettingsService.settings.logSettings) === null || _h === void 0 ? void 0 : _h.debugEuroHeaterValve) === true) {
108
108
  return false;
109
109
  }
110
110
  break;
111
- case log_filter_data_1.LogDebugType.Trilateration:
111
+ case log_debug_type_1.LogDebugType.Trilateration:
112
112
  if (((_j = settings_service_1.SettingsService.settings.logSettings) === null || _j === void 0 ? void 0 : _j.debugTrilateration) === true) {
113
113
  return false;
114
114
  }
@@ -118,10 +118,23 @@ class ServerLogService {
118
118
  }
119
119
  }
120
120
  exports.ServerLogService = ServerLogService;
121
+ /**
122
+ * The level at which messages are sent to telegram
123
+ * @remarks defined at {@link iConfig.telegram.logLevel}
124
+ */
121
125
  ServerLogService.telegramLevel = -1; // Controlled from within Config File
122
- ServerLogService.storageLevel = 5; // Controlled from within Config File
123
- ServerLogService.storage = new utils_1.ringStorage(10000);
126
+ /**
127
+ * The threshold above which messages are stored in the ring-storage to be retrieved e.g. using {@link API.getLog}
128
+ */
129
+ ServerLogService.storageLevel = models_1.LogLevel.Trace; // Controlled from within Config File
130
+ /**
131
+ * The storage for the log messages
132
+ */
133
+ ServerLogService.storage = new utils_1.RingStorage(10000);
134
+ /**
135
+ * The settings for the logging system.
136
+ */
124
137
  ServerLogService.settings = {
125
- logLevel: 4,
138
+ logLevel: models_1.LogLevel.Debug,
126
139
  useTimestamp: false,
127
140
  };
@@ -1,6 +1,9 @@
1
1
  import { iNewsSettings } from '../config';
2
2
  import { iSpeaker } from '../devices';
3
3
  export declare class NewsService {
4
+ /**
5
+ * Path to the most recently downloaded news audio file
6
+ */
4
7
  static lastNewsAudioFile: string;
5
8
  private static readonly newsFilePrefix;
6
9
  private static interval;
@@ -11,7 +14,7 @@ export declare class NewsService {
11
14
  static initialize(config?: Partial<iNewsSettings>): void;
12
15
  /**
13
16
  * Stops the regular check for new news feed items.
14
- * @deprecated Use stopInterval instead
17
+ * @deprecated Use {@link stopInterval} instead
15
18
  */
16
19
  static stopHourlyInterval(): void;
17
20
  static startInterval(): void;
@@ -25,17 +28,16 @@ export declare class NewsService {
25
28
  static getLatestNews(): void;
26
29
  /**
27
30
  * Plays the latest news on a sonos device
28
- * @param speaker Sonos device to play from
29
- * @param volume volume to play at
30
- * @param retries Number of times playing should be tried if there is currently no audio file available
31
+ * @param speaker - Sonos device to play from
32
+ * @param volume - volume to play at
33
+ * @param retries - Number of times playing should be tried if there is currently no audio file available
31
34
  */
32
35
  static playLastNews(speaker: iSpeaker, volume?: number, retries?: number): void;
33
36
  private static downloadLatestFileFromFeed;
34
37
  /**
35
38
  * Deletes all files in the given directory that are older than the given age.
36
- * @param rootDir Directory to search in
37
- * @param keepMaxAge Maximum age in minutes until a file gets deleted
38
- * @private
39
+ * @param rootDir - Directory to search in
40
+ * @param keepMaxAge - Maximum age in minutes until a file gets deleted
39
41
  */
40
42
  private static cleanOldFiles;
41
43
  }
@@ -41,7 +41,7 @@ class NewsService {
41
41
  static initialize(config) {
42
42
  var _a, _b;
43
43
  if (config === undefined) {
44
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Service disabled.`, { source: logSource_1.LogSource.News });
44
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Service disabled.', { source: logSource_1.LogSource.News });
45
45
  return;
46
46
  }
47
47
  NewsService.keepMaxAge = (_a = config.keepMaxAge) !== null && _a !== void 0 ? _a : 120;
@@ -51,7 +51,7 @@ class NewsService {
51
51
  }
52
52
  /**
53
53
  * Stops the regular check for new news feed items.
54
- * @deprecated Use stopInterval instead
54
+ * @deprecated Use {@link stopInterval} instead
55
55
  */
56
56
  static stopHourlyInterval() {
57
57
  NewsService.stopInterval();
@@ -80,14 +80,14 @@ class NewsService {
80
80
  */
81
81
  static getLatestNews() {
82
82
  if (settings_service_1.SettingsService.settings.mp3Server === undefined) {
83
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Not checking for newest news file, no download directory defined.`, {
83
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Not checking for newest news file, no download directory defined.', {
84
84
  source: logSource_1.LogSource.News,
85
85
  });
86
86
  return;
87
87
  }
88
88
  NewsService.cleanOldFiles(settings_service_1.SettingsService.settings.mp3Server.path, NewsService.keepMaxAge);
89
89
  if (NewsService.rssUrl === undefined) {
90
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `No rss feed set, not searching for new news.`, {
90
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'No rss feed set, not searching for new news.', {
91
91
  source: logSource_1.LogSource.News,
92
92
  });
93
93
  return;
@@ -96,9 +96,9 @@ class NewsService {
96
96
  }
97
97
  /**
98
98
  * Plays the latest news on a sonos device
99
- * @param speaker Sonos device to play from
100
- * @param volume volume to play at
101
- * @param retries Number of times playing should be tried if there is currently no audio file available
99
+ * @param speaker - Sonos device to play from
100
+ * @param volume - volume to play at
101
+ * @param retries - Number of times playing should be tried if there is currently no audio file available
102
102
  */
103
103
  static playLastNews(speaker, volume = 30, retries = 5) {
104
104
  if (!NewsService.lastNewsAudioFile) {
@@ -111,7 +111,7 @@ class NewsService {
111
111
  }, 1000);
112
112
  }
113
113
  else {
114
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `Service not ready despite waiting --> Abort.`, {
114
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'Service not ready despite waiting --> Abort.', {
115
115
  source: logSource_1.LogSource.News,
116
116
  });
117
117
  }
@@ -128,7 +128,7 @@ class NewsService {
128
128
  const currentFeedItem = feed.items[0];
129
129
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Most recent news on ${feed.title} is "${currentFeedItem.title}"`);
130
130
  if (currentFeedItem.enclosure === undefined) {
131
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Couldn't find audio in last item of the rss feed.`, {
131
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, "Couldn't find audio in last item of the rss feed.", {
132
132
  source: logSource_1.LogSource.News,
133
133
  });
134
134
  return;
@@ -137,14 +137,14 @@ class NewsService {
137
137
  // check for both path and pubdate in case the file name is always the same one
138
138
  if (fs.existsSync(filePath) && NewsService.lastFetchedPubDate == currentFeedItem.pubDate) {
139
139
  NewsService.lastNewsAudioFile = path_1.default.basename(filePath);
140
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Newest file already downloaded.`, { source: logSource_1.LogSource.News });
140
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, 'Newest file already downloaded.', { source: logSource_1.LogSource.News });
141
141
  return;
142
142
  }
143
143
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Current news download Link: "${currentFeedItem.enclosure.url}"`);
144
144
  https_service_1.HTTPSService.downloadFile(currentFeedItem.enclosure.url, filePath)
145
145
  .then((success) => {
146
146
  if (!success) {
147
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Error while downloading audio file.`, {
147
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, 'Error while downloading audio file.', {
148
148
  source: logSource_1.LogSource.News,
149
149
  });
150
150
  return;
@@ -167,9 +167,8 @@ class NewsService {
167
167
  }
168
168
  /**
169
169
  * Deletes all files in the given directory that are older than the given age.
170
- * @param rootDir Directory to search in
171
- * @param keepMaxAge Maximum age in minutes until a file gets deleted
172
- * @private
170
+ * @param rootDir - Directory to search in
171
+ * @param keepMaxAge - Maximum age in minutes until a file gets deleted
173
172
  */
174
173
  static cleanOldFiles(rootDir, keepMaxAge) {
175
174
  let deleteCount = 0;
@@ -205,4 +204,4 @@ class NewsService {
205
204
  }
206
205
  exports.NewsService = NewsService;
207
206
  // prefix for all downloaded files of the news service
208
- NewsService.newsFilePrefix = `news$`;
207
+ NewsService.newsFilePrefix = 'news$';