hoffmation-base 3.0.0-alpha.23 → 3.0.0-alpha.25

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 (439) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +20 -20
  3. package/lib/liquid-pid.js +1 -0
  4. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  5. package/lib/models/blockAutomaticSettings.js +19 -0
  6. package/lib/models/command/ShutterSetLevelCommand.d.ts +1 -0
  7. package/lib/models/command/ShutterSetLevelCommand.js +1 -0
  8. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +1 -0
  9. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +1 -0
  10. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +1 -0
  11. package/lib/models/command/WindowSetDesiredPositionCommand.js +1 -0
  12. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +1 -0
  13. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +1 -0
  14. package/lib/models/command/actuatorSetStateCommand.d.ts +11 -3
  15. package/lib/models/command/actuatorSetStateCommand.js +8 -6
  16. package/lib/models/command/actuatorToggleCommand.d.ts +1 -1
  17. package/lib/models/command/actuatorToggleCommand.js +1 -3
  18. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +1 -0
  19. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +1 -0
  20. package/lib/models/command/baseCommand.d.ts +8 -0
  21. package/lib/models/command/blockAutomaticCommand.d.ts +20 -5
  22. package/lib/models/command/blockAutomaticCommand.js +23 -5
  23. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +7 -1
  24. package/lib/models/command/blockAutomaticLiftBlockCommand.js +7 -1
  25. package/lib/models/command/blockAutomaticUntilCommand.d.ts +12 -3
  26. package/lib/models/command/blockAutomaticUntilCommand.js +10 -3
  27. package/lib/models/command/dimmerSetLightCommand.d.ts +6 -2
  28. package/lib/models/command/dimmerSetLightCommand.js +12 -8
  29. package/lib/models/command/floorSetAllShuttersCommand.d.ts +1 -0
  30. package/lib/models/command/floorSetAllShuttersCommand.js +1 -0
  31. package/lib/models/command/lampSetLightCommand.d.ts +6 -2
  32. package/lib/models/command/lampSetLightCommand.js +8 -4
  33. package/lib/models/command/lampSetTimeBasedCommand.d.ts +11 -4
  34. package/lib/models/command/lampSetTimeBasedCommand.js +5 -7
  35. package/lib/models/command/lampToggleLightCommand.d.ts +1 -0
  36. package/lib/models/command/lampToggleLightCommand.js +1 -0
  37. package/lib/models/command/ledSetLightCommand.d.ts +6 -2
  38. package/lib/models/command/ledSetLightCommand.js +12 -8
  39. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +1 -0
  40. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +1 -0
  41. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +1 -1
  42. package/lib/models/command/restoreTargetAutomaticValueCommand.js +1 -3
  43. package/lib/models/command/roomRestoreLightCommand.d.ts +1 -0
  44. package/lib/models/command/roomRestoreLightCommand.js +1 -0
  45. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +1 -0
  46. package/lib/models/command/roomRestoreShutterPositionCommand.js +1 -0
  47. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +1 -0
  48. package/lib/models/command/roomSetLightTimeBasedCommand.js +1 -0
  49. package/lib/models/command/shutterSunriseUpCommand.d.ts +1 -0
  50. package/lib/models/command/shutterSunriseUpCommand.js +1 -0
  51. package/lib/models/command/shutterSunsetDownCommand.d.ts +1 -0
  52. package/lib/models/command/shutterSunsetDownCommand.js +1 -0
  53. package/lib/models/command/wledSetLightCommand.d.ts +5 -2
  54. package/lib/models/command/wledSetLightCommand.js +11 -8
  55. package/lib/models/connectionCallbacks.js +1 -0
  56. package/lib/models/deviceSettings/acSettings.d.ts +14 -1
  57. package/lib/models/deviceSettings/acSettings.js +14 -1
  58. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  59. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  60. package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
  61. package/lib/models/deviceSettings/dachsSettings.js +3 -0
  62. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  63. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  64. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  65. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  66. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  67. package/lib/models/deviceSettings/handleSettings.js +9 -0
  68. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -3
  69. package/lib/models/deviceSettings/heaterSettings.js +21 -3
  70. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  71. package/lib/models/deviceSettings/ledSettings.js +66 -0
  72. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -0
  73. package/lib/models/deviceSettings/motionSensorSettings.js +5 -0
  74. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  75. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -0
  76. package/lib/models/deviceSettings/shutterSettings.js +11 -0
  77. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  78. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  79. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  80. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  81. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  82. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  83. package/lib/models/deviceSettings/wledSettings.js +32 -0
  84. package/lib/models/groupSettings/heatGroupSettings.d.ts +9 -0
  85. package/lib/models/groupSettings/heatGroupSettings.js +9 -0
  86. package/lib/models/iIdHolder.d.ts +15 -3
  87. package/lib/models/index.d.ts +1 -1
  88. package/lib/models/index.js +3 -1
  89. package/lib/models/objectSettings.d.ts +3 -0
  90. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  91. package/lib/models/persistence/EnergyCalculation.js +30 -4
  92. package/lib/models/persistence/index.d.ts +0 -2
  93. package/lib/models/persistence/index.js +0 -2
  94. package/lib/models/rooms/RoomBase.d.ts +10 -0
  95. package/lib/models/rooms/RoomBase.js +1 -0
  96. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  97. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  98. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +9 -0
  99. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +1 -1
  100. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  101. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  102. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  103. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  104. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  105. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  106. package/lib/models/rooms/iRoomBase.d.ts +24 -2
  107. package/lib/models/rooms/iRoomImportEnforcer.d.ts +4 -0
  108. package/lib/models/timeCallback.d.ts +7 -0
  109. package/lib/models/timeCallback.js +4 -1
  110. package/lib/server/config/iAsusConfig.d.ts +15 -0
  111. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  112. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  113. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  114. package/lib/server/config/iConfig.d.ts +92 -5
  115. package/lib/server/config/iDachsSettings.d.ts +16 -0
  116. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  117. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  118. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  119. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  120. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  121. package/lib/server/config/iLogSettings.d.ts +36 -1
  122. package/lib/server/config/iMp3Settings.d.ts +10 -0
  123. package/lib/server/config/iMuellSettings.d.ts +7 -0
  124. package/lib/server/config/iNewsSettings.d.ts +13 -0
  125. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  126. package/lib/server/config/iPollySettings.d.ts +22 -0
  127. package/lib/server/config/iRestSettings.d.ts +10 -0
  128. package/lib/server/config/iSonosSettings.d.ts +10 -0
  129. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  130. package/lib/server/config/iTibberSettings.d.ts +10 -0
  131. package/lib/server/config/iTimePair.d.ts +9 -0
  132. package/lib/server/config/iTimeSettings.d.ts +9 -0
  133. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  134. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  135. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  136. package/lib/server/config/iVictronSettings.d.ts +14 -0
  137. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  138. package/lib/server/config/index.d.ts +1 -0
  139. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  140. package/lib/server/devices/DeviceCapability.js +1 -0
  141. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  142. package/lib/server/devices/DeviceInfo.js +6 -0
  143. package/lib/server/devices/Griffe.js +1 -1
  144. package/lib/server/devices/Heizgruppen.js +2 -2
  145. package/lib/server/devices/IoBrokerBaseDevice.d.ts +23 -2
  146. package/lib/server/devices/IoBrokerBaseDevice.js +16 -4
  147. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +14 -3
  148. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +2 -0
  149. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +1 -1
  150. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +2 -0
  151. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  152. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +33 -4
  153. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +38 -5
  154. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +10 -2
  155. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +19 -0
  156. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +16 -2
  157. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +11 -0
  158. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +15 -3
  159. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +28 -2
  160. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +13 -1
  161. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  162. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +6 -1
  163. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +16 -1
  164. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  165. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  166. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  167. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +14 -0
  168. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  169. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +25 -2
  170. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +18 -1
  171. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +6 -1
  172. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +15 -10
  173. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +21 -3
  174. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +7 -1
  175. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +8 -0
  176. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -4
  177. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  178. package/lib/server/devices/blueIris/cameraDevice.d.ts +47 -31
  179. package/lib/server/devices/blueIris/cameraDevice.js +75 -74
  180. package/lib/server/devices/button/button.d.ts +0 -1
  181. package/lib/server/devices/button/button.js +0 -4
  182. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  183. package/lib/server/devices/button/buttonCallback.js +10 -0
  184. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  185. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  186. package/lib/server/devices/button/index.d.ts +1 -0
  187. package/lib/server/devices/button/index.js +3 -0
  188. package/lib/server/devices/dachs/dachs.d.ts +31 -9
  189. package/lib/server/devices/dachs/dachs.js +27 -17
  190. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +20 -1
  191. package/lib/server/devices/dachs/dachsTemperatureSensor.js +20 -3
  192. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  193. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  194. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  195. package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
  196. package/lib/server/devices/device-cluster.d.ts +3 -0
  197. package/lib/server/devices/device-cluster.js +1 -1
  198. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  199. package/lib/server/devices/deviceUpdater.js +1 -4
  200. package/lib/server/devices/devices.d.ts +43 -7
  201. package/lib/server/devices/devices.js +42 -6
  202. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  203. package/lib/server/devices/espresense/detectedBluetoothDevice.js +13 -0
  204. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  205. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  206. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  207. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  208. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  209. package/lib/server/devices/espresense/trilateration.js +7 -0
  210. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  211. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  212. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  213. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  214. package/lib/server/devices/groups/Window.d.ts +6 -1
  215. package/lib/server/devices/groups/Window.js +15 -8
  216. package/lib/server/devices/groups/base-group.d.ts +4 -0
  217. package/lib/server/devices/groups/base-group.js +3 -0
  218. package/lib/server/devices/groups/heatGroup.d.ts +1 -0
  219. package/lib/server/devices/groups/heatGroup.js +3 -2
  220. package/lib/server/devices/groups/lightGroup.d.ts +8 -0
  221. package/lib/server/devices/groups/lightGroup.js +4 -4
  222. package/lib/server/devices/groups/tasterGroup.js +6 -6
  223. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  224. package/lib/server/devices/groups/windowGroup.js +2 -2
  225. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  226. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  227. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +7 -4
  228. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +9 -10
  229. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  230. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  231. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +27 -5
  232. package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
  233. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +22 -1
  234. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +23 -4
  235. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
  236. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
  237. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +6 -0
  238. package/lib/server/devices/hmIPDevices/hmIpLampe.js +6 -1
  239. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +3 -1
  240. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +4 -2
  241. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +2 -0
  242. package/lib/server/devices/hmIPDevices/hmIpRoll.js +5 -3
  243. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
  244. package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
  245. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
  246. package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
  247. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  248. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  249. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  250. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  251. package/lib/server/devices/iDeviceUpdater.d.ts +3 -0
  252. package/lib/server/devices/index.d.ts +1 -0
  253. package/lib/server/devices/index.js +3 -0
  254. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +2 -0
  255. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +4 -2
  256. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  257. package/lib/server/devices/nameAmountValuePair.js +10 -0
  258. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  259. package/lib/server/devices/scene/room-scene.js +18 -4
  260. package/lib/server/devices/sharedFunctions/lampUtils.js +11 -7
  261. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  262. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  263. package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
  264. package/lib/server/devices/shelly/shellyTrv.js +46 -45
  265. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  266. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  267. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  268. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  269. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  270. package/lib/server/devices/tv/samsungTv.js +1 -0
  271. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  272. package/lib/server/devices/tv/tvDevice.js +4 -3
  273. package/lib/server/devices/wledDevice.d.ts +15 -2
  274. package/lib/server/devices/wledDevice.js +21 -5
  275. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +11 -0
  276. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +13 -3
  277. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -3
  278. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +7 -5
  279. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +16 -4
  280. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -13
  281. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
  282. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
  283. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
  284. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +10 -10
  285. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
  286. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
  287. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +19 -11
  288. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +44 -40
  289. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +10 -0
  290. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +13 -3
  291. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +8 -0
  292. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  293. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  294. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  295. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  296. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  297. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  298. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  299. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +49 -11
  300. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
  301. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
  302. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
  303. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +14 -5
  304. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +20 -13
  305. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +8 -1
  306. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +14 -7
  307. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
  308. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
  309. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  310. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +1 -0
  311. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +1 -0
  312. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +1 -0
  313. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -1
  314. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +1 -3
  315. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +5 -0
  316. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +6 -1
  317. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  318. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +1 -0
  319. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  320. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  321. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  322. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  323. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +17 -0
  324. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +18 -1
  325. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  326. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  327. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +7 -1
  328. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +7 -3
  329. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +5 -0
  330. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +6 -1
  331. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  332. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +1 -0
  333. package/lib/server/ioBroker/connection.d.ts +1 -0
  334. package/lib/server/ioBroker/connection.js +8 -7
  335. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  336. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  337. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  338. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  339. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  340. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  341. package/lib/server/services/ShutterService.js +3 -3
  342. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  343. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  344. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  345. package/lib/server/services/Sonos/mp3-server.js +3 -1
  346. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  347. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  348. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  349. package/lib/server/services/Sonos/polly-service.js +9 -6
  350. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  351. package/lib/server/services/Sonos/sonos-service.js +6 -10
  352. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  353. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  354. package/lib/server/services/Telegram/telegram-service.js +8 -3
  355. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  356. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  357. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  358. package/lib/server/services/Translation/index.d.ts +1 -0
  359. package/lib/server/services/ac/ac-device.d.ts +38 -1
  360. package/lib/server/services/ac/ac-device.js +45 -12
  361. package/lib/server/services/ac/daikin-service.js +2 -2
  362. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  363. package/lib/server/services/ac/own-ac-devices.js +3 -0
  364. package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
  365. package/lib/server/services/ac/own-daikin-device.js +20 -3
  366. package/lib/server/services/api/api-service.d.ts +8 -8
  367. package/lib/server/services/api/api-service.js +26 -26
  368. package/lib/server/services/blockAutomaticHandler.d.ts +5 -0
  369. package/lib/server/services/blockAutomaticHandler.js +20 -8
  370. package/lib/server/services/calendar/index.d.ts +1 -0
  371. package/lib/server/services/calendar/index.js +3 -0
  372. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  373. package/lib/server/services/calendar/muell-tonne.js +10 -0
  374. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  375. package/lib/server/services/calendar/m/303/274ll-service.js +10 -4
  376. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  377. package/lib/server/services/calendar/name-date-pair.js +10 -0
  378. package/lib/server/services/dbo/iPersist.d.ts +37 -30
  379. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  380. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  381. package/lib/server/services/file-info.d.ts +5 -0
  382. package/lib/server/services/file-info.js +10 -0
  383. package/lib/server/services/govee/govee-service.d.ts +1 -5
  384. package/lib/server/services/govee/govee-service.js +3 -5
  385. package/lib/server/services/govee/own-govee-device.d.ts +17 -12
  386. package/lib/server/services/govee/own-govee-device.js +17 -18
  387. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  388. package/lib/server/services/govee/own-govee-devices.js +3 -0
  389. package/lib/server/services/https-service.js +1 -1
  390. package/lib/server/services/index.d.ts +1 -0
  391. package/lib/server/services/index.js +3 -0
  392. package/lib/server/services/log-service/index.d.ts +1 -0
  393. package/lib/server/services/log-service/index.js +3 -0
  394. package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
  395. package/lib/server/services/log-service/log-debug-type.js +16 -0
  396. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  397. package/lib/server/services/log-service/log-filter-data.js +6 -15
  398. package/lib/server/services/log-service/log-service.d.ts +15 -2
  399. package/lib/server/services/log-service/log-service.js +28 -15
  400. package/lib/server/services/news-service.d.ts +4 -1
  401. package/lib/server/services/news-service.js +9 -9
  402. package/lib/server/services/room-service/room-service.d.ts +17 -2
  403. package/lib/server/services/room-service/room-service.js +23 -8
  404. package/lib/server/services/settings-service.d.ts +3 -0
  405. package/lib/server/services/time-callback-service.js +1 -1
  406. package/lib/server/services/utils/RGB.d.ts +6 -0
  407. package/lib/server/services/utils/RGB.js +11 -0
  408. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  409. package/lib/server/services/utils/catchEmResult.js +10 -0
  410. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  411. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  412. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  413. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  414. package/lib/server/services/utils/iDisposeable.d.ts +3 -0
  415. package/lib/server/services/utils/index.d.ts +4 -1
  416. package/lib/server/services/utils/index.js +8 -1
  417. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  418. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  419. package/lib/server/services/utils/utils.d.ts +9 -13
  420. package/lib/server/services/victron/victron-device.d.ts +4 -0
  421. package/lib/server/services/victron/victron-device.js +10 -7
  422. package/lib/server/services/weather/index.d.ts +2 -0
  423. package/lib/server/services/weather/index.js +3 -0
  424. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  425. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  426. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  427. package/lib/server/services/weather/weather-response.d.ts +16 -0
  428. package/lib/server/services/weather/weather-response.js +2 -0
  429. package/lib/server/services/weather/weather-service.d.ts +11 -17
  430. package/lib/server/services/weather/weather-service.js +28 -22
  431. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  432. package/lib/tsconfig.tsbuildinfo +1 -1
  433. package/package.json +1 -3
  434. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  435. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  436. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  437. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  438. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  439. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -7,6 +7,10 @@ exports.BlockAutomaticHandler = void 0;
7
7
  const models_1 = require("../../models");
8
8
  const utils_1 = require("./utils");
9
9
  const lodash_1 = __importDefault(require("lodash"));
10
+ /**
11
+ * This class is responsible for blocking automatic actions for a specific duration.
12
+ * It also provides the possibility to lift the block before the duration is over {@link BlockAutomaticLiftBlockCommand}.
13
+ */
10
14
  class BlockAutomaticHandler {
11
15
  constructor(restoreAutomaticCb) {
12
16
  this._automaticBlockedUntil = new Date(0);
@@ -23,7 +27,7 @@ class BlockAutomaticHandler {
23
27
  return this._automaticBlockedUntil > new Date();
24
28
  }
25
29
  disableAutomatic(c) {
26
- this.disableAutomaticUntil(new models_1.BlockAutomaticUntilCommand(c, new Date(utils_1.Utils.nowMS() + c.durationMS), '', c.onCollideAction));
30
+ this.disableAutomaticUntil(new models_1.BlockAutomaticUntilCommand(c, new Date(utils_1.Utils.nowMS() + c.durationMS), '', c.onCollideAction, c.revertToAutomaticAtBlockLift));
27
31
  }
28
32
  disableAutomaticUntil(c) {
29
33
  const now = new Date();
@@ -33,20 +37,28 @@ class BlockAutomaticHandler {
33
37
  return;
34
38
  }
35
39
  this.automaticBlockedUntil = c.targetDate;
36
- this.updateRestoreTimeout(new models_1.RestoreTargetAutomaticValueCommand(c, 'Restore to automatic state after block.'));
40
+ if (c.revertToAutomaticAtBlockLift) {
41
+ this.updateRestoreTimeout(new models_1.RestoreTargetAutomaticValueCommand(c, 'Restore to automatic state after block.'));
42
+ }
43
+ else {
44
+ this.removeRestoreTimeout();
45
+ }
37
46
  }
38
47
  liftAutomaticBlock(c) {
39
- if (this._restoreAutomaticStateTimeout !== null) {
40
- clearTimeout(this._restoreAutomaticStateTimeout);
41
- }
42
- this._restoreAutomaticStateTimeout = null;
48
+ this.removeRestoreTimeout();
43
49
  this.automaticBlockedUntil = new Date(0);
44
- this._restoreAutomatic(new models_1.RestoreTargetAutomaticValueCommand(c));
50
+ if (c.revertToAutomatic) {
51
+ this._restoreAutomatic(new models_1.RestoreTargetAutomaticValueCommand(c));
52
+ }
45
53
  }
46
- updateRestoreTimeout(c) {
54
+ removeRestoreTimeout() {
47
55
  if (this._restoreAutomaticStateTimeout !== null) {
48
56
  clearTimeout(this._restoreAutomaticStateTimeout);
57
+ this._restoreAutomaticStateTimeout = null;
49
58
  }
59
+ }
60
+ updateRestoreTimeout(c) {
61
+ this.removeRestoreTimeout();
50
62
  this._restoreAutomaticStateTimeout = utils_1.Utils.guardedTimeout(() => {
51
63
  this._restoreAutomatic(c);
52
64
  }, this._automaticBlockedUntil.getTime() - utils_1.Utils.nowMS() + 500, this);
@@ -1,2 +1,3 @@
1
1
  export * from './muell-tonne';
2
2
  export * from './müll-service';
3
+ export { NameDatePair } from './name-date-pair';
@@ -14,5 +14,8 @@ 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.NameDatePair = void 0;
17
18
  __exportStar(require("./muell-tonne"), exports);
18
19
  __exportStar(require("./m\u00FCll-service"), exports);
20
+ var name_date_pair_1 = require("./name-date-pair");
21
+ Object.defineProperty(exports, "NameDatePair", { enumerable: true, get: function () { return name_date_pair_1.NameDatePair; } });
@@ -2,8 +2,18 @@ import { iSpeaker } from '../../devices';
2
2
  export declare class MuellTonne {
3
3
  name: string;
4
4
  ownSpeaker?: iSpeaker | undefined;
5
- static oneDay: number;
5
+ /**
6
+ * The duration of a signle day in milliseconds (used for date calculations)
7
+ */
8
+ private static readonly oneDay;
9
+ /**
10
+ * The next date this bin will be emptied
11
+ */
6
12
  nextDate: Date | undefined;
13
+ /**
14
+ * All dates this bin will be emptied
15
+ * After a date has passed it will be removed
16
+ */
7
17
  dates: Date[];
8
18
  constructor(name: string, ownSpeaker?: iSpeaker | undefined);
9
19
  sortDates(): void;
@@ -8,7 +8,14 @@ class MuellTonne {
8
8
  constructor(name, ownSpeaker) {
9
9
  this.name = name;
10
10
  this.ownSpeaker = ownSpeaker;
11
+ /**
12
+ * The next date this bin will be emptied
13
+ */
11
14
  this.nextDate = undefined;
15
+ /**
16
+ * All dates this bin will be emptied
17
+ * After a date has passed it will be removed
18
+ */
12
19
  this.dates = [];
13
20
  }
14
21
  sortDates() {
@@ -65,4 +72,7 @@ class MuellTonne {
65
72
  }
66
73
  }
67
74
  exports.MuellTonne = MuellTonne;
75
+ /**
76
+ * The duration of a signle day in milliseconds (used for date calculations)
77
+ */
68
78
  MuellTonne.oneDay = 1000 * 60 * 60 * 24;
@@ -1,20 +1,35 @@
1
- import { TimeCallback } from '../../../models';
2
1
  import { iMuellSettings } from '../../config';
3
2
  import { MuellTonne } from './muell-tonne';
4
3
  import { iSpeaker } from '../../devices';
4
+ import { NameDatePair } from './name-date-pair';
5
5
  export declare class MuellService {
6
- static alleTonnen: Array<{
7
- name: string;
8
- date: Date;
9
- }>;
6
+ /**
7
+ * A list of all trash bins
8
+ */
9
+ static alleTonnen: NameDatePair[];
10
+ /**
11
+ * The blue trash bin (normally being used for paper)
12
+ */
10
13
  static blaueTonne: MuellTonne;
14
+ /**
15
+ * The grey trash bin (normally being used for general waste)
16
+ */
11
17
  static graueTonne: MuellTonne;
18
+ /**
19
+ * The yellow trash bin (normally being used for plastic)
20
+ */
12
21
  static gelbeTonne: MuellTonne;
22
+ /**
23
+ * The brown trash bin (normally being used for organic waste)
24
+ */
13
25
  static brauneTonne: MuellTonne;
26
+ /**
27
+ * Whether the loading of the calendar is still pending
28
+ */
14
29
  static loadingPending: boolean;
15
- static updateTimeCallback: TimeCallback;
16
- static checkTimeCallback: TimeCallback;
17
- static months: string[];
30
+ private static updateTimeCallback;
31
+ private static checkTimeCallback;
32
+ private static months;
18
33
  private static lastCheck;
19
34
  private static _calendarURL;
20
35
  private static _active;
@@ -23,7 +23,7 @@ class MuellService {
23
23
  this.updateCalendar();
24
24
  }
25
25
  static updateCalendar(checkAfterwards = true) {
26
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Muell Service wird nun initialisiert`);
26
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, 'Muell Service wird nun initialisiert');
27
27
  node_ical_1.async
28
28
  .fromURL(this._calendarURL)
29
29
  .then((data) => {
@@ -84,18 +84,18 @@ class MuellService {
84
84
  }
85
85
  const now = new Date();
86
86
  if (now.getTime() - this.lastCheck.getTime() < 60000 && now.getDate() === this.lastCheck.getDate()) {
87
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, `MüllService.checkAll: Skipped weil wir gerade erst geprüft hatten.`);
87
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Trace, 'MüllService.checkAll: Skipped weil wir gerade erst geprüft hatten.');
88
88
  return;
89
89
  }
90
90
  if (this.gelbeTonne === undefined) {
91
91
  if (pRetries > 0) {
92
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Der Müllservice ist noch nicht bereit --> warten`);
92
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Der Müllservice ist noch nicht bereit --> warten');
93
93
  utils_1.Utils.guardedTimeout(() => {
94
94
  MuellService.checkAll(pRetries - 1);
95
95
  }, 1000);
96
96
  }
97
97
  else {
98
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `Der Müllservice ist trotz Warten nicht bereit --> Abbruch`);
98
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'Der Müllservice ist trotz Warten nicht bereit --> Abbruch');
99
99
  }
100
100
  return;
101
101
  }
@@ -107,7 +107,13 @@ class MuellService {
107
107
  }
108
108
  }
109
109
  exports.MuellService = MuellService;
110
+ /**
111
+ * A list of all trash bins
112
+ */
110
113
  MuellService.alleTonnen = [];
114
+ /**
115
+ * Whether the loading of the calendar is still pending
116
+ */
111
117
  MuellService.loadingPending = true;
112
118
  MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
113
119
  MuellService.lastCheck = new Date(0);
@@ -0,0 +1,5 @@
1
+ export declare class NameDatePair {
2
+ name: string;
3
+ date: Date;
4
+ constructor(name: string, date: Date);
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NameDatePair = void 0;
4
+ class NameDatePair {
5
+ constructor(name, date) {
6
+ this.name = name;
7
+ this.date = date;
8
+ }
9
+ }
10
+ exports.NameDatePair = NameDatePair;
@@ -1,123 +1,130 @@
1
1
  import { ButtonPressType, iAcDevice, iActuator, iBaseDevice, iBatteryDevice, iButtonSwitch, iHandleSensor, iHeater, iHumiditySensor, iIlluminationSensor, iMotionSensor, iShutter, iTemperatureSensor, ZigbeeDevice } from '../../devices';
2
2
  import { CountToday, DesiredShutterPosition, EnergyCalculation, RoomBase, ShutterCalibration } from '../../../models';
3
+ /**
4
+ * The interface to interact with the persistence layer.
5
+ * In the past there was a mongo-db implementation, but this is now replaced by currently only postgresSql.
6
+ */
3
7
  export interface iPersist {
8
+ /**
9
+ * Whether persistence is properly initialized
10
+ */
4
11
  initialized: boolean;
5
12
  /**
6
13
  * Adds a room to the database
7
- * @param {RoomBase} room - The room to add
14
+ * @param room - The room to add
8
15
  */
9
16
  addRoom(room: RoomBase): void;
10
17
  /**
11
18
  * Adds a device to the database
12
- * @param {iBaseDevice} device - The device to add
19
+ * @param device - The device to add
13
20
  */
14
21
  addDevice(device: iBaseDevice): void;
15
22
  /**
16
23
  * Gets the count of the motion sensor today
17
- * @param {iMotionSensor} device - The device to get the count for
18
- * @returns {Promise<CountToday>} - The count of the motion sensor today
24
+ * @param device - The device to get the count for
25
+ * @returns - The count of the motion sensor today
19
26
  */
20
27
  motionSensorTodayCount(device: iMotionSensor): Promise<CountToday>;
21
28
  /**
22
29
  * Gets the last desired position of the shutter
23
- * @param {iShutter} device - The device to get the last desired position for
24
- * @returns {Promise<DesiredShutterPosition>} - The last desired position of the shutter
30
+ * @param device - The device to get the last desired position for
31
+ * @returns - The last desired position of the shutter
25
32
  */
26
33
  getLastDesiredPosition(device: iShutter): Promise<DesiredShutterPosition>;
27
34
  /**
28
35
  * Gets the shutter calibration
29
- * @param {iShutter} device - The device to get the shutter calibration for
30
- * @returns {Promise<ShutterCalibration>} - The shutter calibration
36
+ * @param device - The device to get the shutter calibration for
37
+ * @returns - The shutter calibration
31
38
  */
32
39
  getShutterCalibration(device: iShutter): Promise<ShutterCalibration>;
33
40
  /**
34
41
  * Initializes the database-connection and prepares the database
35
- * @returns {Promise<void>} - The promise that resolves when the database is initialized
42
+ * @returns - The promise that resolves when the database is initialized
36
43
  */
37
44
  initialize(): Promise<void>;
38
45
  /**
39
46
  * Persists the shutter calibration
40
- * @param {ShutterCalibration} data - The shutter calibration data to persist
47
+ * @param data - The shutter calibration data to persist
41
48
  */
42
49
  persistShutterCalibration(data: ShutterCalibration): void;
43
50
  /**
44
51
  * Persists data for an illumination sensor
45
- * @param {iIlluminationSensor} device - The device to persist data for
52
+ * @param device - The device to persist data for
46
53
  */
47
54
  persistIlluminationSensor(device: iIlluminationSensor): void;
48
55
  /**
49
56
  * Persists data for an energy manager
50
- * @param {EnergyCalculation} energyData - The energy data to persist
57
+ * @param energyData - The energy data to persist
51
58
  */
52
59
  persistEnergyManager(energyData: EnergyCalculation): void;
53
60
  /**
54
61
  * Persists data of an AC device
55
- * @param {iAcDevice} device - The device to persist data for
62
+ * @param device - The device to persist data for
56
63
  */
57
64
  persistAC(device: iAcDevice): void;
58
65
  /**
59
66
  * Persists data of an actuator
60
- * @param {iActuator} device - The device to persist data for
67
+ * @param device - The device to persist data for
61
68
  */
62
69
  persistActuator(device: iActuator): void;
63
70
  /**
64
71
  * Persists data of a heater
65
- * @param {iHeater} device - The device to persist data for
72
+ * @param device - The device to persist data for
66
73
  */
67
74
  persistHeater(device: iHeater): void;
68
75
  /**
69
76
  * Persists data of a motion sensor
70
- * @param {iMotionSensor} device - The device to persist data for
77
+ * @param device - The device to persist data for
71
78
  */
72
79
  persistMotionSensor(device: iMotionSensor): void;
73
80
  /**
74
81
  * Persists data of a button switch action
75
- * @param {iButtonSwitch} device - The device to persist data for
76
- * @param {ButtonPressType} pressType - The type of button press
77
- * @param {string} buttonName - The name of the button
82
+ * @param device - The device to persist data for
83
+ * @param pressType - The type of button press
84
+ * @param buttonName - The name of the button
78
85
  */
79
86
  persistSwitchInput(device: iButtonSwitch, pressType: ButtonPressType, buttonName: string): void;
80
87
  /**
81
88
  * Persists data of a shutter
82
- * @param {iShutter} device - The device to persist data for
89
+ * @param device - The device to persist data for
83
90
  */
84
91
  persistShutter(device: iShutter): void;
85
92
  /**
86
93
  * Persists data of a temperature sensor
87
- * @param {iTemperatureSensor} device - The device to persist data for
94
+ * @param device - The device to persist data for
88
95
  */
89
96
  persistTemperatureSensor(device: iTemperatureSensor): void;
90
97
  /**
91
98
  * Persists data of a humidity sensor
92
- * @param {iHumiditySensor} device - The device to persist data for
99
+ * @param device - The device to persist data for
93
100
  */
94
101
  persistHumiditySensor(device: iHumiditySensor): void;
95
102
  /**
96
103
  * Persists data of a handle sensor
97
- * @param {iHandleSensor} device - The device to persist data for
104
+ * @param device - The device to persist data for
98
105
  */
99
106
  persistHandleSensor(device: iHandleSensor): void;
100
107
  /**
101
108
  * Persists data of a battery device
102
- * @param {iBatteryDevice} device - The device to persist data for
109
+ * @param device - The device to persist data for
103
110
  */
104
111
  persistBatteryDevice(device: iBatteryDevice): void;
105
112
  /**
106
113
  * Persists data of a Zigbee device
107
- * @param {ZigbeeDevice} device - The device to persist data for
114
+ * @param device - The device to persist data for
108
115
  */
109
116
  persistZigbeeDevice(device: ZigbeeDevice): void;
110
117
  /**
111
118
  * Persists settings for the given id
112
- * @param {string} id - The id to persist settings for
113
- * @param {string} settings - The settings to persist (as JSON string)
114
- * @param {string} customname - The custom name of the device/object
119
+ * @param id - The id to persist settings for
120
+ * @param settings - The settings to persist (as JSON string)
121
+ * @param customname - The custom name of the device/object
115
122
  */
116
123
  persistSettings(id: string, settings: string, customname: string): void;
117
124
  /**
118
125
  * Loads settings for the given id
119
- * @param {string} id - The id of the object/device to load settings for
120
- * @returns {Promise<string | undefined>} - The settings as JSON string or undefined if not found
126
+ * @param id - The id of the object/device to load settings for
127
+ * @returns - The settings as JSON string or undefined if not found
121
128
  */
122
129
  loadSettings(id: string): Promise<string | undefined>;
123
130
  }
@@ -3,31 +3,54 @@ import { CountToday, DesiredShutterPosition, EnergyCalculation, RoomBase, Shutte
3
3
  import { ButtonPressType, iAcDevice, iActuator, iBaseDevice, iBatteryDevice, iButtonSwitch, iHandleSensor, iHeater, iHumiditySensor, iIlluminationSensor, iMotionSensor, iShutter, iTemperatureSensor, ZigbeeDevice } from '../../devices';
4
4
  import { PoolConfig } from 'pg';
5
5
  export declare class PostgreSqlPersist implements iPersist {
6
+ /** @inheritDoc */
6
7
  initialized: boolean;
7
8
  private readonly psql;
8
9
  private readonly config;
9
10
  constructor(conf: PoolConfig);
11
+ /** @inheritDoc */
10
12
  addRoom(room: RoomBase): void;
13
+ /** @inheritDoc */
11
14
  addDevice(device: iBaseDevice): void;
15
+ /** @inheritDoc */
12
16
  getLastDesiredPosition(device: iShutter): Promise<DesiredShutterPosition>;
17
+ /** @inheritDoc */
13
18
  motionSensorTodayCount(device: iMotionSensor): Promise<CountToday>;
19
+ /** @inheritDoc */
14
20
  getShutterCalibration(_device: iShutter): Promise<ShutterCalibration>;
21
+ /** @inheritDoc */
15
22
  initialize(): Promise<void>;
23
+ /** @inheritDoc */
16
24
  persistAC(device: iAcDevice): void;
25
+ /** @inheritDoc */
17
26
  persistActuator(device: iActuator): void;
27
+ /** @inheritDoc */
18
28
  persistHeater(device: iHeater): void;
29
+ /** @inheritDoc */
19
30
  persistHandleSensor(device: iHandleSensor): void;
31
+ /** @inheritDoc */
20
32
  persistSwitchInput(device: iButtonSwitch, pressType: ButtonPressType, buttonName: string): void;
33
+ /** @inheritDoc */
21
34
  persistMotionSensor(device: iMotionSensor): void;
35
+ /** @inheritDoc */
22
36
  persistShutter(device: iShutter): void;
37
+ /** @inheritDoc */
23
38
  persistTemperatureSensor(device: iTemperatureSensor): void;
39
+ /** @inheritDoc */
24
40
  persistHumiditySensor(device: iHumiditySensor): void;
41
+ /** @inheritDoc */
25
42
  persistBatteryDevice(device: iBatteryDevice): void;
43
+ /** @inheritDoc */
26
44
  persistZigbeeDevice(device: ZigbeeDevice): void;
45
+ /** @inheritDoc */
27
46
  persistIlluminationSensor(device: iIlluminationSensor): void;
47
+ /** @inheritDoc */
28
48
  persistShutterCalibration(_data: ShutterCalibration): void;
49
+ /** @inheritDoc */
29
50
  persistEnergyManager(calc: EnergyCalculation): void;
51
+ /** @inheritDoc */
30
52
  persistSettings(id: string, settings: string, customName: string): void;
53
+ /** @inheritDoc */
31
54
  loadSettings(id: string): Promise<string | undefined>;
32
55
  private query;
33
56
  private isPsqlReady;
@@ -9,10 +9,12 @@ const DeviceCapability_1 = require("../../devices/DeviceCapability");
9
9
  const utils_1 = require("../utils");
10
10
  class PostgreSqlPersist {
11
11
  constructor(conf) {
12
+ /** @inheritDoc */
12
13
  this.initialized = false;
13
14
  this.config = conf;
14
15
  this.psql = new pg_1.Pool(this.config);
15
16
  }
17
+ /** @inheritDoc */
16
18
  addRoom(room) {
17
19
  this.query(`
18
20
  insert into hoffmation_schema."BasicRooms" (name, etage)
@@ -23,6 +25,7 @@ values ('${room.roomName}',${room.etage})
23
25
  ;
24
26
  `);
25
27
  }
28
+ /** @inheritDoc */
26
29
  addDevice(device) {
27
30
  this.query(`
28
31
  insert into hoffmation_schema."DeviceInfo" ("deviceid", "roomname", "alldeviceskey", "customname", "devtype")
@@ -36,6 +39,7 @@ values ('${device.id}','${device.info.room}','${device.info.allDevicesKey}','${d
36
39
  ;
37
40
  `);
38
41
  }
42
+ /** @inheritDoc */
39
43
  async getLastDesiredPosition(device) {
40
44
  const dbResult = await this.query(`SELECT position
41
45
  from hoffmation_schema."ShutterDeviceData"
@@ -49,6 +53,7 @@ Limit 1`);
49
53
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Es gibt noch keine persistierten Bewegungen für ${device.info.fullName}`);
50
54
  return new models_1.DesiredShutterPosition(-1);
51
55
  }
56
+ /** @inheritDoc */
52
57
  async motionSensorTodayCount(device) {
53
58
  const dbResult = await this.query(`SELECT Count(*)
54
59
  from hoffmation_schema."MotionSensorDeviceData"
@@ -61,12 +66,14 @@ WHERE "deviceID" = '${device.id}' and "movementDetected" and date >= CURRENT_DAT
61
66
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Debug, `Es gibt noch keine persistierten Bewegungen für ${device.info.fullName}`);
62
67
  return new models_1.CountToday(0);
63
68
  }
69
+ /** @inheritDoc */
64
70
  getShutterCalibration(_device) {
65
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Postgres doesn't support Shutter Calibration yet.`);
71
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, "Postgres doesn't support Shutter Calibration yet.");
66
72
  return new Promise((_res, reject) => {
67
73
  reject('Not Implemented');
68
74
  });
69
75
  }
76
+ /** @inheritDoc */
70
77
  async initialize() {
71
78
  await this.psql.connect();
72
79
  // Execute BasicRoomsDDL
@@ -338,14 +345,16 @@ BEGIN
338
345
  END
339
346
  $$;`);
340
347
  this.initialized = true;
341
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Postgres DB initialized`);
348
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Info, 'Postgres DB initialized');
342
349
  }
350
+ /** @inheritDoc */
343
351
  persistAC(device) {
344
352
  this.query(`
345
353
  insert into hoffmation_schema."AcDeviceData" ("deviceID", "on", "date", "roomTemperature")
346
354
  values ('${device.id}', ${device.on}, '${new Date().toISOString()}', ${device.temperature});
347
355
  `);
348
356
  }
357
+ /** @inheritDoc */
349
358
  persistActuator(device) {
350
359
  let percentage = undefined;
351
360
  if (device.deviceCapabilities.includes(DeviceCapability_1.DeviceCapability.dimmablelamp)) {
@@ -356,6 +365,7 @@ insert into hoffmation_schema."ActuatorDeviceData" ("deviceID", "on", "date", "p
356
365
  values ('${device.id}', ${device.actuatorOn}, '${new Date().toISOString()}', ${percentage !== null && percentage !== void 0 ? percentage : 'null'});
357
366
  `);
358
367
  }
368
+ /** @inheritDoc */
359
369
  persistHeater(device) {
360
370
  let roomTemp = device.roomTemperature;
361
371
  let desiredTemperature = device.desiredTemperature;
@@ -370,6 +380,7 @@ insert into hoffmation_schema."HeaterDeviceData" ("deviceID", "level", "date", "
370
380
  values ('${device.id}', ${device.iLevel}, '${new Date().toISOString()}', ${roomTemp !== null && roomTemp !== void 0 ? roomTemp : 'null'}, ${desiredTemperature !== null && desiredTemperature !== void 0 ? desiredTemperature : 'null'}, ${device.seasonTurnOff});
371
381
  `);
372
382
  }
383
+ /** @inheritDoc */
373
384
  persistHandleSensor(device) {
374
385
  const currentPos = device.position;
375
386
  this.query(`
@@ -377,18 +388,21 @@ insert into hoffmation_schema."HandleDeviceData" ("deviceID", "position", "date"
377
388
  values ('${device.id}', ${currentPos}, '${new Date().toISOString()}');
378
389
  `);
379
390
  }
391
+ /** @inheritDoc */
380
392
  persistSwitchInput(device, pressType, buttonName) {
381
393
  this.query(`
382
394
  insert into hoffmation_schema."ButtonSwitchPresses" ("deviceID", "pressType", "buttonName", "date")
383
395
  values ('${device.id}', ${pressType}, '${buttonName}', '${new Date().toISOString()}');
384
396
  `);
385
397
  }
398
+ /** @inheritDoc */
386
399
  persistMotionSensor(device) {
387
400
  this.query(`
388
401
  insert into hoffmation_schema."MotionSensorDeviceData" ("deviceID", "movementDetected", "date")
389
402
  values ('${device.id}', ${device.movementDetected}, '${new Date().toISOString()}');
390
403
  `);
391
404
  }
405
+ /** @inheritDoc */
392
406
  persistShutter(device) {
393
407
  const currentLevel = device.currentLevel >= 0 ? device.currentLevel : null;
394
408
  const desiredLevel = device.desiredWindowShutterLevel >= 0 ? device.desiredWindowShutterLevel : null;
@@ -397,6 +411,7 @@ insert into hoffmation_schema."ShutterDeviceData" ("deviceID", "position", "date
397
411
  values ('${device.id}', ${currentLevel}, '${new Date().toISOString()}', ${desiredLevel});
398
412
  `);
399
413
  }
414
+ /** @inheritDoc */
400
415
  persistTemperatureSensor(device) {
401
416
  let roomTemp = device.roomTemperature;
402
417
  if (roomTemp === devices_1.UNDEFINED_TEMP_VALUE) {
@@ -407,18 +422,21 @@ insert into hoffmation_schema."TemperatureSensorDeviceData" ("deviceID", "temper
407
422
  values ('${device.id}', ${device.iTemperature}, '${new Date().toISOString()}', ${roomTemp !== null && roomTemp !== void 0 ? roomTemp : 'null'});
408
423
  `);
409
424
  }
425
+ /** @inheritDoc */
410
426
  persistHumiditySensor(device) {
411
427
  this.query(`
412
428
  insert into hoffmation_schema."HumiditySensorDeviceData" ("deviceID", "humidity", "date")
413
429
  values ('${device.id}', ${device.humidity}, '${new Date().toISOString()}');
414
430
  `);
415
431
  }
432
+ /** @inheritDoc */
416
433
  persistBatteryDevice(device) {
417
434
  this.query(`
418
435
  insert into hoffmation_schema."BatteryDeviceData" ("deviceID", "battery", "date")
419
436
  values ('${device.id}', ${utils_1.Utils.round(device.battery, 1)}, '${new Date().toISOString()}');
420
437
  `);
421
438
  }
439
+ /** @inheritDoc */
422
440
  persistZigbeeDevice(device) {
423
441
  const dateValue = device.lastUpdate.getTime() > 0 ? `'${device.lastUpdate.toISOString()}'` : 'null';
424
442
  this.query(`
@@ -426,14 +444,17 @@ insert into hoffmation_schema."ZigbeeDeviceData" ("deviceID", "date", "available
426
444
  values ('${device.id}', '${new Date().toISOString()}', ${device.available}, ${device.linkQuality}, ${dateValue});
427
445
  `);
428
446
  }
447
+ /** @inheritDoc */
429
448
  persistIlluminationSensor(device) {
430
449
  this.query(`
431
450
  insert into hoffmation_schema."IlluminationSensorDeviceData" ("deviceID", "illumination", "date")
432
451
  values ('${device.id}', ${device.currentIllumination}, '${new Date().toISOString()}');`);
433
452
  }
453
+ /** @inheritDoc */
434
454
  persistShutterCalibration(_data) {
435
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Postgres doesn't support Shutter Calibration yet.`);
455
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, "Postgres doesn't support Shutter Calibration yet.");
436
456
  }
457
+ /** @inheritDoc */
437
458
  persistEnergyManager(calc) {
438
459
  this.query(`
439
460
  insert into hoffmation_schema."EnergyCalculation" ("startDate", "endDate", "selfConsumedKwH", "injectedKwH",
@@ -442,6 +463,7 @@ values ('${new Date(calc.startMs).toISOString()}','${new Date(calc.endMs).toISOS
442
463
  ${calc.selfConsumedKwH}, ${calc.injectedKwH}, ${calc.drawnKwH}, ${calc.batteryStoredKwH}, ${calc.batteryLevel});
443
464
  `);
444
465
  }
466
+ /** @inheritDoc */
445
467
  persistSettings(id, settings, customName) {
446
468
  this.query(`
447
469
  insert into hoffmation_schema."Settings" (id, settings, customname, date)
@@ -453,6 +475,7 @@ values ('${id}','${settings}','${customName}', '${new Date().toISOString()}')
453
475
  ;
454
476
  `);
455
477
  }
478
+ /** @inheritDoc */
456
479
  async loadSettings(id) {
457
480
  const dbResult = await this.query(`SELECT settings, id, date
458
481
  from hoffmation_schema."Settings"
@@ -484,11 +507,11 @@ LIMIT 1`);
484
507
  }
485
508
  isPsqlReady() {
486
509
  if (!this.initialized) {
487
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Db is not yet initialized`);
510
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, 'Db is not yet initialized');
488
511
  return false;
489
512
  }
490
513
  if (!this.psql) {
491
- log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, `PSQL client missing`);
514
+ log_service_1.ServerLogService.writeLog(models_1.LogLevel.Error, 'PSQL client missing');
492
515
  return false;
493
516
  }
494
517
  return true;
@@ -0,0 +1,5 @@
1
+ export declare class FileInfo {
2
+ readonly mime: string;
3
+ readonly size: number;
4
+ constructor(mime: string, size: number);
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileInfo = void 0;
4
+ class FileInfo {
5
+ constructor(mime, size) {
6
+ this.mime = mime;
7
+ this.size = size;
8
+ }
9
+ }
10
+ exports.FileInfo = FileInfo;
@@ -1,10 +1,6 @@
1
1
  import { OwnGoveeDevice } from './own-govee-device';
2
- import { Device as GoveeDevice } from '@j3lte/govee-lan-controller';
3
2
  export declare class GooveeService {
4
- static all: GoveeDevice[];
5
- static devicesDict: {
6
- [name: string]: GoveeDevice;
7
- };
3
+ private static devicesDict;
8
4
  private static goveeApi;
9
5
  private static ownDevices;
10
6
  static addOwnDevices(gvDevice: {