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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +28 -25
  3. package/lib/liquid-pid.d.ts +2 -5
  4. package/lib/liquid-pid.js +3 -5
  5. package/lib/models/action/baseAction.d.ts +4 -0
  6. package/lib/models/action/baseAction.js +10 -0
  7. package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
  8. package/lib/models/action/batteryLevelChangeAction.js +14 -0
  9. package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
  10. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  11. package/lib/models/action/index.d.ts +8 -0
  12. package/lib/models/action/index.js +27 -0
  13. package/lib/models/action/motionSensorAction.d.ts +16 -0
  14. package/lib/models/action/motionSensorAction.js +15 -0
  15. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  17. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  18. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  19. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  20. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  21. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  22. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  23. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  24. package/lib/models/blockAutomaticSettings.js +19 -0
  25. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  26. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  27. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  28. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  29. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  30. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  31. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  32. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  33. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  34. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  35. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  36. package/lib/models/command/actuatorToggleCommand.js +7 -4
  37. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  38. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  39. package/lib/models/command/baseCommand.d.ts +23 -2
  40. package/lib/models/command/baseCommand.js +41 -1
  41. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  42. package/lib/models/command/blockAutomaticCommand.js +40 -0
  43. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  44. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  45. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  46. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  47. package/lib/models/command/commandSource.d.ts +19 -0
  48. package/lib/models/command/commandSource.js +20 -0
  49. package/lib/models/command/commandType.d.ts +10 -0
  50. package/lib/models/command/commandType.js +10 -0
  51. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  52. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  53. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  54. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  55. package/lib/models/command/index.d.ts +3 -0
  56. package/lib/models/command/index.js +7 -1
  57. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  58. package/lib/models/command/lampSetLightCommand.js +15 -4
  59. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  60. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  61. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  62. package/lib/models/command/lampToggleLightCommand.js +7 -6
  63. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  64. package/lib/models/command/ledSetLightCommand.js +27 -17
  65. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  66. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  67. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  68. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  69. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  70. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  71. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  72. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  73. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  74. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  75. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  77. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  78. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  79. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  80. package/lib/models/command/wledSetLightCommand.js +23 -7
  81. package/lib/models/connectionCallbacks.d.ts +4 -4
  82. package/lib/models/connectionCallbacks.js +1 -0
  83. package/lib/models/deviceConfig.d.ts +3 -3
  84. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  85. package/lib/models/deviceSettings/acSettings.js +23 -8
  86. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  87. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  88. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  89. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  90. package/lib/models/deviceSettings/dachsSettings.d.ts +11 -0
  91. package/lib/models/deviceSettings/dachsSettings.js +13 -1
  92. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  93. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  94. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  95. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  96. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  97. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  98. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  99. package/lib/models/deviceSettings/handleSettings.js +9 -0
  100. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  101. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  102. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  103. package/lib/models/deviceSettings/ledSettings.js +76 -18
  104. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  105. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  106. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  107. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  108. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  109. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  111. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  112. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  113. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  114. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  115. package/lib/models/deviceSettings/wledSettings.js +37 -13
  116. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  117. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  118. package/lib/models/iIdHolder.d.ts +18 -0
  119. package/lib/models/index.d.ts +2 -1
  120. package/lib/models/index.js +4 -1
  121. package/lib/models/objectSettings.d.ts +5 -2
  122. package/lib/models/objectSettings.js +2 -2
  123. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  124. package/lib/models/persistence/EnergyCalculation.js +30 -4
  125. package/lib/models/persistence/index.d.ts +0 -2
  126. package/lib/models/persistence/index.js +0 -2
  127. package/lib/models/rooms/RoomBase.d.ts +12 -1
  128. package/lib/models/rooms/RoomBase.js +16 -7
  129. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  130. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  131. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  132. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  133. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  134. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  135. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  136. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  137. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  138. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  139. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  140. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  141. package/lib/models/timeCallback.d.ts +7 -0
  142. package/lib/models/timeCallback.js +16 -6
  143. package/lib/server/config/heatingMode.d.ts +2 -1
  144. package/lib/server/config/heatingMode.js +2 -1
  145. package/lib/server/config/iAsusConfig.d.ts +15 -0
  146. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  147. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  148. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  149. package/lib/server/config/iConfig.d.ts +94 -6
  150. package/lib/server/config/iDachsSettings.d.ts +16 -0
  151. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  152. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  153. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  154. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  155. package/lib/server/config/iGoveeSettings.js +2 -0
  156. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  157. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  158. package/lib/server/config/iLogSettings.d.ts +40 -1
  159. package/lib/server/config/iMp3Settings.d.ts +10 -0
  160. package/lib/server/config/iMuellSettings.d.ts +7 -0
  161. package/lib/server/config/iNewsSettings.d.ts +13 -0
  162. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  163. package/lib/server/config/iPollySettings.d.ts +22 -0
  164. package/lib/server/config/iRestSettings.d.ts +10 -0
  165. package/lib/server/config/iSonosSettings.d.ts +10 -0
  166. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  167. package/lib/server/config/iTibberSettings.d.ts +10 -0
  168. package/lib/server/config/iTimePair.d.ts +9 -0
  169. package/lib/server/config/iTimeSettings.d.ts +9 -0
  170. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  171. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  172. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  173. package/lib/server/config/iVictronSettings.d.ts +14 -0
  174. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  175. package/lib/server/config/index.d.ts +2 -0
  176. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  177. package/lib/server/devices/DeviceCapability.js +1 -0
  178. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  179. package/lib/server/devices/DeviceInfo.js +6 -0
  180. package/lib/server/devices/Griffe.js +1 -2
  181. package/lib/server/devices/Heizgruppen.js +2 -2
  182. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  183. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  184. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  185. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  186. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  187. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  189. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
  190. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  191. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  192. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  193. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  194. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  195. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  196. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  198. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  199. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  200. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  202. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  205. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  207. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  209. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  210. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  212. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  213. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  214. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  215. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  216. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  217. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  218. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  219. package/lib/server/devices/button/button.d.ts +0 -1
  220. package/lib/server/devices/button/button.js +0 -4
  221. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  222. package/lib/server/devices/button/buttonCallback.js +10 -0
  223. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  224. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  225. package/lib/server/devices/button/index.d.ts +1 -0
  226. package/lib/server/devices/button/index.js +3 -0
  227. package/lib/server/devices/dachs/dachs.d.ts +37 -11
  228. package/lib/server/devices/dachs/dachs.js +49 -22
  229. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  230. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  231. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  232. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  233. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  234. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  235. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  236. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  237. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  238. package/lib/server/devices/device-cluster.d.ts +3 -0
  239. package/lib/server/devices/device-cluster.js +1 -1
  240. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  241. package/lib/server/devices/deviceUpdater.js +1 -4
  242. package/lib/server/devices/devices.d.ts +43 -7
  243. package/lib/server/devices/devices.js +42 -6
  244. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  245. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  246. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  247. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  248. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  249. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  250. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  251. package/lib/server/devices/espresense/trilateration.js +7 -0
  252. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  253. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  254. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  255. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  256. package/lib/server/devices/groups/Window.d.ts +9 -3
  257. package/lib/server/devices/groups/Window.js +19 -11
  258. package/lib/server/devices/groups/base-group.d.ts +4 -0
  259. package/lib/server/devices/groups/base-group.js +3 -0
  260. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  261. package/lib/server/devices/groups/heatGroup.js +11 -11
  262. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  263. package/lib/server/devices/groups/lightGroup.js +18 -37
  264. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  265. package/lib/server/devices/groups/presenceGroup.js +57 -64
  266. package/lib/server/devices/groups/tasterGroup.js +6 -6
  267. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  268. package/lib/server/devices/groups/windowGroup.js +6 -6
  269. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  270. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  271. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  272. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  273. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  274. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  275. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
  276. package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
  277. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  278. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  279. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
  280. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
  281. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  282. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  283. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
  284. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
  285. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  286. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  287. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
  288. package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
  289. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
  290. package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
  291. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  292. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  293. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  294. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  295. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  296. package/lib/server/devices/index.d.ts +5 -2
  297. package/lib/server/devices/index.js +8 -2
  298. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  299. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  300. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  301. package/lib/server/devices/nameAmountValuePair.js +10 -0
  302. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  303. package/lib/server/devices/scene/room-scene.js +18 -4
  304. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  305. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  306. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  307. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  308. package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
  309. package/lib/server/devices/shelly/shellyTrv.js +66 -45
  310. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  311. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  312. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  313. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  314. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  315. package/lib/server/devices/tv/samsungTv.js +1 -0
  316. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  317. package/lib/server/devices/tv/tvDevice.js +4 -3
  318. package/lib/server/devices/wledDevice.d.ts +15 -3
  319. package/lib/server/devices/wledDevice.js +42 -16
  320. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  321. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  322. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  323. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
  338. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  339. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  340. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  341. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  342. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  343. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  344. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  345. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  346. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  347. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  348. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
  349. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
  350. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
  351. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
  352. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  353. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  354. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  355. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  356. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
  357. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
  358. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  359. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  360. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  361. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  363. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  364. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  367. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  368. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  371. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  372. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  375. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  376. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  377. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  378. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  379. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  380. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  381. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  382. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
  383. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
  384. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  385. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  386. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  387. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  388. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  389. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  390. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  391. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  392. package/lib/server/ioBroker/connection.d.ts +21 -20
  393. package/lib/server/ioBroker/connection.js +37 -28
  394. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  395. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  396. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  397. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  398. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  399. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  400. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  401. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  402. package/lib/server/services/ShutterService.js +6 -6
  403. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  404. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  405. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  406. package/lib/server/services/Sonos/mp3-server.js +3 -1
  407. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  408. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  409. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  410. package/lib/server/services/Sonos/polly-service.js +10 -8
  411. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  412. package/lib/server/services/Sonos/sonos-service.js +6 -10
  413. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  414. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  415. package/lib/server/services/Telegram/telegram-service.js +8 -3
  416. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  417. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  418. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  419. package/lib/server/services/Translation/index.d.ts +1 -0
  420. package/lib/server/services/Translation/res.d.ts +34 -19
  421. package/lib/server/services/Translation/res.js +34 -19
  422. package/lib/server/services/ac/ac-device.d.ts +48 -6
  423. package/lib/server/services/ac/ac-device.js +91 -36
  424. package/lib/server/services/ac/daikin-service.js +4 -3
  425. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  426. package/lib/server/services/ac/own-ac-devices.js +3 -0
  427. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  428. package/lib/server/services/ac/own-daikin-device.js +40 -7
  429. package/lib/server/services/api/api-service.d.ts +118 -53
  430. package/lib/server/services/api/api-service.js +170 -80
  431. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  432. package/lib/server/services/blockAutomaticHandler.js +34 -15
  433. package/lib/server/services/calendar/index.d.ts +1 -0
  434. package/lib/server/services/calendar/index.js +3 -0
  435. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  436. package/lib/server/services/calendar/muell-tonne.js +10 -0
  437. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  438. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  439. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  440. package/lib/server/services/calendar/name-date-pair.js +10 -0
  441. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  442. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  443. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  444. package/lib/server/services/file-info.d.ts +5 -0
  445. package/lib/server/services/file-info.js +10 -0
  446. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  447. package/lib/server/services/govee/govee-device-data.js +2 -0
  448. package/lib/server/services/govee/govee-service.d.ts +7 -9
  449. package/lib/server/services/govee/govee-service.js +73 -48
  450. package/lib/server/services/govee/own-govee-device.d.ts +19 -17
  451. package/lib/server/services/govee/own-govee-device.js +57 -56
  452. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  453. package/lib/server/services/govee/own-govee-devices.js +3 -0
  454. package/lib/server/services/https-service.d.ts +3 -2
  455. package/lib/server/services/https-service.js +4 -3
  456. package/lib/server/services/index.d.ts +1 -0
  457. package/lib/server/services/index.js +3 -0
  458. package/lib/server/services/log-service/index.d.ts +1 -0
  459. package/lib/server/services/log-service/index.js +3 -0
  460. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  461. package/lib/server/services/log-service/log-debug-type.js +17 -0
  462. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  463. package/lib/server/services/log-service/log-filter-data.js +6 -15
  464. package/lib/server/services/log-service/log-service.d.ts +17 -4
  465. package/lib/server/services/log-service/log-service.js +30 -17
  466. package/lib/server/services/news-service.d.ts +9 -7
  467. package/lib/server/services/news-service.js +14 -15
  468. package/lib/server/services/room-service/room-service.d.ts +20 -4
  469. package/lib/server/services/room-service/room-service.js +26 -10
  470. package/lib/server/services/settings-service.d.ts +6 -2
  471. package/lib/server/services/settings-service.js +3 -2
  472. package/lib/server/services/time-callback-service.js +1 -1
  473. package/lib/server/services/utils/RGB.d.ts +6 -0
  474. package/lib/server/services/utils/RGB.js +11 -0
  475. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  476. package/lib/server/services/utils/catchEmResult.js +10 -0
  477. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  478. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  479. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  480. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  481. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  482. package/lib/server/services/utils/index.d.ts +4 -1
  483. package/lib/server/services/utils/index.js +8 -1
  484. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  485. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  486. package/lib/server/services/utils/utils.d.ts +9 -13
  487. package/lib/server/services/victron/victron-device.d.ts +27 -10
  488. package/lib/server/services/victron/victron-device.js +92 -25
  489. package/lib/server/services/weather/index.d.ts +2 -0
  490. package/lib/server/services/weather/index.js +3 -0
  491. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  492. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  493. package/lib/server/services/weather/weather-current.d.ts +0 -2
  494. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  495. package/lib/server/services/weather/weather-response.d.ts +16 -0
  496. package/lib/server/services/weather/weather-response.js +2 -0
  497. package/lib/server/services/weather/weather-service.d.ts +15 -18
  498. package/lib/server/services/weather/weather-service.js +32 -22
  499. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  500. package/lib/tsconfig.tsbuildinfo +1 -1
  501. package/package.json +6 -8
  502. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  503. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  504. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  505. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  506. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  507. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -15,32 +15,62 @@ const settings_service_1 = require("../settings-service");
15
15
  const config_1 = require("../../config");
16
16
  const blockAutomaticHandler_1 = require("../blockAutomaticHandler");
17
17
  class AcDevice {
18
+ /**
19
+ * Whether the AC is allowed to cool (depends on the season
20
+ * @returns {boolean} True if the AC is allowed to cool
21
+ */
22
+ get coolingAllowed() {
23
+ var _a, _b;
24
+ if (settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer) {
25
+ return false;
26
+ }
27
+ if (this.settings.noCoolingOnMovement && ((_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.anyPresent())) {
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+ /**
33
+ * Whether the AC is allowed to heat (depends on the season and the settings)
34
+ * @returns {boolean} True if the AC is allowed to heat
35
+ */
36
+ get heatingAllowed() {
37
+ return settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Summer && this.settings.heatingAllowed;
38
+ }
39
+ /** @inheritDoc */
18
40
  get temperature() {
19
41
  return this._roomTemperature;
20
42
  }
43
+ /** @inheritDoc */
21
44
  get customName() {
22
45
  return this.info.customName;
23
46
  }
47
+ /** @inheritDoc */
24
48
  get room() {
25
49
  return this._room;
26
50
  }
51
+ /** @inheritDoc */
27
52
  set room(room) {
28
53
  var _a, _b;
29
54
  this._room = room;
30
55
  if (room !== undefined && !this._movementCallbackAdded) {
31
56
  this._movementCallbackAdded = true;
57
+ // TODO: Maybe change to any Movement
32
58
  (_a = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _a === void 0 ? void 0 : _a.addFirstEnterCallback(this.onRoomFirstEnter.bind(this));
33
59
  (_b = room === null || room === void 0 ? void 0 : room.PraesenzGroup) === null || _b === void 0 ? void 0 : _b.addLastLeftCallback(this.onRoomLastLeave.bind(this));
34
60
  }
35
61
  }
62
+ /** @inheritDoc */
36
63
  get mode() {
37
64
  return this._mode;
38
65
  }
39
66
  constructor(name, roomName, ip, acDeviceType) {
40
67
  this.ip = ip;
41
68
  this.acDeviceType = acDeviceType;
69
+ /** @inheritDoc */
42
70
  this.currentConsumption = -1;
71
+ /** @inheritDoc */
43
72
  this.settings = new models_1.AcSettings();
73
+ /** @inheritDoc */
44
74
  this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.ac, DeviceCapability_1.DeviceCapability.blockAutomatic];
45
75
  this._activatedByExcessEnergy = false;
46
76
  this._desiredTemperatur = devices_1.UNDEFINED_TEMP_VALUE;
@@ -52,40 +82,48 @@ class AcDevice {
52
82
  this._info.customName = `${roomName} ${name}`;
53
83
  this._info.room = roomName;
54
84
  this._info.allDevicesKey = `ac-${roomName}-${name}`;
55
- utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this, true);
85
+ utils_1.Utils.guardedInterval(this.automaticCheck, 5 * 60 * 1000, this, false);
56
86
  utils_1.Utils.guardedInterval(this.persist, 15 * 60 * 1000, this, true);
57
87
  this.persistDeviceInfo();
58
88
  this.loadDeviceSettings();
59
- this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
89
+ this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
60
90
  }
91
+ /** @inheritDoc */
61
92
  get energySettings() {
62
93
  return this.settings.energySettings;
63
94
  }
95
+ /** @inheritDoc */
64
96
  get roomTemperature() {
65
97
  return this._roomTemperature;
66
98
  }
99
+ /** @inheritDoc */
67
100
  get info() {
68
101
  return this._info;
69
102
  }
70
103
  set roomTemperatur(val) {
71
104
  this._roomTemperature = val;
72
105
  }
73
- set info(info) {
74
- this._info = info;
75
- }
106
+ /**
107
+ * The name of this device
108
+ * @returns The human readable name of this device
109
+ */
76
110
  get name() {
77
111
  return this.info.customName;
78
112
  }
113
+ /** @inheritDoc */
79
114
  get id() {
80
115
  var _a;
81
116
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `ac-${this.info.room}-${this.info.customName}`;
82
117
  }
118
+ /** @inheritDoc */
83
119
  restoreTargetAutomaticValue() {
84
- this.log(models_1.LogLevel.Debug, `Restore Target Automatic value`);
120
+ this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
85
121
  this.automaticCheck();
86
122
  }
123
+ /** @inheritDoc */
87
124
  isAvailableForExcessEnergy() {
88
- if (this.settings.useOwnTemperatureAndAutomatic) {
125
+ var _a, _b;
126
+ if (this.settings.useAutomatic || (((_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup) === null || _b === void 0 ? void 0 : _b.settings.automaticMode) && this.settings.heatingAllowed)) {
89
127
  return false;
90
128
  }
91
129
  if (this.blockAutomationHandler.automaticBlockActive) {
@@ -96,46 +134,55 @@ class AcDevice {
96
134
  }
97
135
  return this.calculateDesiredMode() !== ac_mode_1.AcMode.Off;
98
136
  }
137
+ /** @inheritDoc */
99
138
  calculateDesiredMode() {
100
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
139
+ var _a, _b, _c, _d;
101
140
  const acOn = this.on;
102
- this._desiredTemperatur = (_c = (_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup) === null || _b === void 0 ? void 0 : _b.desiredTemp) !== null && _c !== void 0 ? _c : 0;
141
+ const heatGroup = (_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup;
142
+ if (!heatGroup) {
143
+ this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
144
+ return ac_mode_1.AcMode.Off;
145
+ }
146
+ this._desiredTemperatur = heatGroup.desiredTemp;
103
147
  if (this.settings.manualDisabled) {
104
- acOn && this.log(models_1.LogLevel.Info, `We should turn off now, as manual disable force is set.`);
148
+ acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as manual disable force is set.');
149
+ return ac_mode_1.AcMode.Off;
150
+ }
151
+ if ((_b = devices_1.Devices.energymanager) === null || _b === void 0 ? void 0 : _b.acBlocked) {
152
+ acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, as energy-manager demands off.');
105
153
  return ac_mode_1.AcMode.Off;
106
154
  }
107
155
  // Check Turn Off Time
108
156
  if (!utils_1.Utils.timeWithinBorders(this.settings.minimumHours, this.settings.minimumMinutes, this.settings.maximumHours, this.settings.maximumMinutes)) {
109
- acOn && this.log(models_1.LogLevel.Info, `We should turn off now, to respect night settings.`);
157
+ acOn && this.log(models_1.LogLevel.Info, 'We should turn off now, to respect night settings.');
110
158
  return ac_mode_1.AcMode.Off;
111
159
  }
112
- const heatGroup = (_d = this.room) === null || _d === void 0 ? void 0 : _d.HeatGroup;
113
- if (this.settings.useOwnTemperatureAndAutomatic) {
160
+ if (this.settings.useOwnTemperature) {
114
161
  // Device is in automatic mode so ignore energy and room temperature
115
- if ((heatGroup === null || heatGroup === void 0 ? void 0 : heatGroup.settings.automaticMode) === false) {
162
+ if (this.settings.useAutomatic) {
116
163
  return ac_mode_1.AcMode.Auto;
117
164
  }
118
- if (settings_service_1.SettingsService.heatMode !== config_1.HeatingMode.Sommer && this.settings.heatingAllowed) {
165
+ if (this.heatingAllowed) {
119
166
  return ac_mode_1.AcMode.Heating;
120
167
  }
121
- if (!this.settings.noCoolingOnMovement || ((_f = (_e = this.room) === null || _e === void 0 ? void 0 : _e.PraesenzGroup) === null || _f === void 0 ? void 0 : _f.anyPresent()) !== true) {
168
+ else if (this.coolingAllowed) {
122
169
  return ac_mode_1.AcMode.Cooling;
123
170
  }
124
171
  return ac_mode_1.AcMode.Off;
125
172
  }
126
173
  const temp = this.roomTemperature;
127
174
  if (temp === undefined || temp === devices_1.UNDEFINED_TEMP_VALUE) {
128
- this.log(models_1.LogLevel.Warn, `Can't calculate AC Mode as we have no room temperature`);
175
+ this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no room temperature");
129
176
  return ac_mode_1.AcMode.Off;
130
177
  }
131
178
  if (!heatGroup) {
132
- this.log(models_1.LogLevel.Warn, `Can't calculate AC Mode as we have no heat group`);
179
+ this.log(models_1.LogLevel.Warn, "Can't calculate AC Mode as we have no heat group");
133
180
  return ac_mode_1.AcMode.Off;
134
181
  }
135
182
  let threshold = acOn ? 0.5 : 1.5;
136
183
  let thresholdHeating = acOn ? 0.5 : 1.5;
137
184
  let desiredMode = ac_mode_1.AcMode.Off;
138
- const excessEnergy = (_h = (_g = devices_1.Devices.energymanager) === null || _g === void 0 ? void 0 : _g.excessEnergy) !== null && _h !== void 0 ? _h : -1;
185
+ const excessEnergy = (_d = (_c = devices_1.Devices.energymanager) === null || _c === void 0 ? void 0 : _c.excessEnergy) !== null && _d !== void 0 ? _d : -1;
139
186
  if ((acOn ? 200 : 1000) < excessEnergy) {
140
187
  // As there is plenty of energy to spare we plan to overshoot the target by 1 degree
141
188
  threshold = -0.5;
@@ -144,13 +191,10 @@ class AcDevice {
144
191
  const targetTemp = heatGroup.desiredTemp;
145
192
  const coolUntil = targetTemp + threshold;
146
193
  const heatUntil = targetTemp - thresholdHeating;
147
- if (temp > coolUntil && settings_service_1.SettingsService.heatMode === config_1.HeatingMode.Sommer) {
194
+ if (temp > coolUntil && this.coolingAllowed) {
148
195
  desiredMode = ac_mode_1.AcMode.Cooling;
149
- if (this.settings.noCoolingOnMovement && ((_k = (_j = this.room) === null || _j === void 0 ? void 0 : _j.PraesenzGroup) === null || _k === void 0 ? void 0 : _k.anyPresent()) === true) {
150
- return ac_mode_1.AcMode.Off;
151
- }
152
196
  }
153
- else if (temp < heatUntil && this.settings.heatingAllowed && settings_service_1.SettingsService.heatMode === config_1.HeatingMode.Winter) {
197
+ else if (temp < heatUntil && this.heatingAllowed) {
154
198
  desiredMode = ac_mode_1.AcMode.Heating;
155
199
  }
156
200
  if (acOn ? desiredMode === ac_mode_1.AcMode.Off : desiredMode !== ac_mode_1.AcMode.Off) {
@@ -158,16 +202,13 @@ class AcDevice {
158
202
  }
159
203
  return desiredMode;
160
204
  }
161
- /**
162
- * Disable automatic Turn-On and Turn-Off for given amount of ms.
163
- * @param {number} timeout
164
- */
165
- deactivateAutomaticChange(timeout = 60 * 60 * 1000) {
166
- this.blockAutomationHandler.disableAutomatic(timeout);
167
- }
205
+ /** @inheritDoc */
168
206
  onTemperaturChange(newTemperatur) {
169
207
  this.roomTemperatur = newTemperatur;
170
208
  }
209
+ /**
210
+ * Persists the current AC-Information to the database
211
+ */
171
212
  persist() {
172
213
  var _a;
173
214
  if (!utils_1.Utils.anyDboActive || this.on === undefined) {
@@ -175,6 +216,7 @@ class AcDevice {
175
216
  }
176
217
  (_a = utils_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistAC(this);
177
218
  }
219
+ /** @inheritDoc */
178
220
  turnOnForExcessEnergy() {
179
221
  if (this.blockAutomationHandler.automaticBlockActive) {
180
222
  return;
@@ -183,11 +225,19 @@ class AcDevice {
183
225
  this.setDesiredMode(this.calculateDesiredMode(), false);
184
226
  this.turnOn();
185
227
  }
228
+ /** @inheritDoc */
186
229
  turnOffDueToMissingEnergy() {
187
230
  this.turnOff();
188
231
  }
232
+ /**
233
+ * Sets the state of the AC
234
+ * TODO: Migrate to new command system
235
+ * @param mode - The desired mode
236
+ * @param desiredTemp - The desired temperature (if unset it will be calculated)
237
+ * @param forceTime - The time in ms to force the AC to stay in this state (default 1h)
238
+ */
189
239
  setState(mode, desiredTemp, forceTime = 60 * 60 * 1000) {
190
- this.blockAutomationHandler.disableAutomatic(forceTime);
240
+ this.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, forceTime));
191
241
  this._mode = mode;
192
242
  if (mode == ac_mode_1.AcMode.Off) {
193
243
  this.turnOff();
@@ -196,6 +246,7 @@ class AcDevice {
196
246
  this.setDesiredMode(mode, false, desiredTemp);
197
247
  this.turnOn();
198
248
  }
249
+ /** @inheritDoc */
199
250
  log(level, message, debugType = log_service_1.LogDebugType.None) {
200
251
  var _a, _b;
201
252
  log_service_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
@@ -205,12 +256,15 @@ class AcDevice {
205
256
  deviceName: this.name,
206
257
  });
207
258
  }
259
+ /** @inheritDoc */
208
260
  wasActivatedByExcessEnergy() {
209
261
  return this._activatedByExcessEnergy;
210
262
  }
263
+ /** @inheritDoc */
211
264
  loadDeviceSettings() {
212
265
  this.settings.initializeFromDb(this);
213
266
  }
267
+ /** @inheritDoc */
214
268
  persistDeviceInfo() {
215
269
  utils_1.Utils.guardedTimeout(() => {
216
270
  var _a;
@@ -234,20 +288,21 @@ class AcDevice {
234
288
  }
235
289
  this.turnOn();
236
290
  }
237
- onRoomFirstEnter() {
291
+ onRoomFirstEnter(_action) {
238
292
  if (!this.settings.noCoolingOnMovement || !this.on || this.mode === ac_mode_1.AcMode.Heating) {
239
293
  return;
240
294
  }
241
- this.log(models_1.LogLevel.Info, `Someone entered the room. Turning off AC`);
295
+ this.log(models_1.LogLevel.Info, 'Someone entered the room. Turning off AC');
242
296
  this.turnOff();
243
297
  }
244
- onRoomLastLeave() {
298
+ onRoomLastLeave(action) {
245
299
  if (!this.settings.noCoolingOnMovement) {
246
300
  return;
247
301
  }
248
- this.log(models_1.LogLevel.Info, `Last person left the room. Checking if we should turn on AC`);
302
+ this.log(models_1.LogLevel.Info, `Last person left the room (${action.reasonTrace}). Checking if we should turn on AC`);
249
303
  this.restoreTargetAutomaticValue();
250
304
  }
305
+ /** @inheritDoc */
251
306
  toJSON() {
252
307
  // eslint-disable-next-line
253
308
  const result = lodash_1.default.omit(this, ['room', '_room']);
@@ -41,14 +41,14 @@ class DaikinService {
41
41
  DaikinService.setAll(true);
42
42
  Telegram_1.TelegramService.sendMessage([m.chat.id], 'Command executed');
43
43
  return true;
44
- }, `Turns all Ac's on without changing any settings`));
44
+ }, "Turns all Ac's on without changing any settings"));
45
45
  Telegram_1.TelegramService.addMessageCallback(new Telegram_1.TelegramMessageCallback('AcOff', /\/ac_off/, async (m) => {
46
46
  if (m.from === undefined)
47
47
  return false;
48
48
  DaikinService.setAll(false, true);
49
49
  Telegram_1.TelegramService.sendMessage([m.chat.id], 'Command executed');
50
50
  return true;
51
- }, `Turns all Ac's off without changing any settings`));
51
+ }, "Turns all Ac's off without changing any settings"));
52
52
  return new Promise((res, _rej) => {
53
53
  var _a, _b;
54
54
  this._daikinManager = new daikin_controller_1.DaikinManager({
@@ -68,6 +68,7 @@ class DaikinService {
68
68
  });
69
69
  });
70
70
  }
71
+ // TODO: Migrate to new command system
71
72
  static setAll(on, force = false) {
72
73
  if (!this.isInitialized) {
73
74
  return;
@@ -81,7 +82,7 @@ class DaikinService {
81
82
  dev.turnOff();
82
83
  }
83
84
  if (force) {
84
- dev.deactivateAutomaticChange(180 * 60 * 1000);
85
+ dev.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(models_1.CommandSource.Unknown, 180 * 60 * 1000));
85
86
  }
86
87
  }
87
88
  }
@@ -1,5 +1,8 @@
1
1
  import { AcDevice } from './ac-device';
2
2
  export declare class OwnAcDevices {
3
+ /**
4
+ * A dict containing the AC-Devices
5
+ */
3
6
  static ownDevices: {
4
7
  [name: string]: AcDevice;
5
8
  };
@@ -12,4 +12,7 @@ class OwnAcDevices {
12
12
  }
13
13
  }
14
14
  exports.OwnAcDevices = OwnAcDevices;
15
+ /**
16
+ * A dict containing the AC-Devices
17
+ */
15
18
  OwnAcDevices.ownDevices = {};
@@ -5,22 +5,47 @@ import { DeviceType } from '../../devices';
5
5
  export declare class OwnDaikinDevice extends AcDevice {
6
6
  private _device;
7
7
  private _mac;
8
+ /**
9
+ * The desired state of the device
10
+ */
8
11
  desiredState: boolean;
12
+ /**
13
+ * The desired humidity-state of the device
14
+ * @default 'AUTO'
15
+ */
9
16
  desiredHum: number | 'AUTO';
17
+ /**
18
+ * The desired mode of the device
19
+ * @default Mode.COLD
20
+ */
10
21
  desiredMode: number;
22
+ /** @inheritDoc */
11
23
  deviceType: DeviceType;
12
24
  private _on;
13
25
  constructor(name: string, roomName: string, ip: string, _device: DaikinAC | undefined, _mac?: string | undefined);
14
26
  get device(): DaikinAC | undefined;
27
+ /** @inheritDoc */
15
28
  get on(): boolean;
16
29
  set device(device: DaikinAC | undefined);
30
+ /** @inheritDoc */
17
31
  setDesiredMode(mode: AcMode, writeToDevice?: boolean, desiredTemp?: number): void;
32
+ /** @inheritDoc */
18
33
  turnOn(): void;
34
+ /** @inheritDoc */
19
35
  turnOff(): void;
20
36
  protected automaticCheck(): void;
21
37
  private setDesiredInfo;
22
38
  private updateInfo;
39
+ /**
40
+ * Handles the situation when the device is unreachable, attempts to reconnect and log the outcome.
41
+ *
42
+ * This function logs a warning message indicating that the device is unreachable,
43
+ * then attempts to reconnect using the `DaikinService.reconnect` method.
44
+ * If the reconnection is successful, it sets the desired information and schedules a timeout of 5000ms.
45
+ * If the reconnection fails, it logs an error message with the reason for the failure.
46
+ */
23
47
  private handleDeviceUnreach;
24
48
  private handleParamNg;
49
+ /** @inheritDoc */
25
50
  toJSON(): Partial<OwnDaikinDevice>;
26
51
  }
@@ -20,15 +20,28 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
20
20
  super(name, roomName, ip, acDeviceType_1.AcDeviceType.Daikin);
21
21
  this._device = _device;
22
22
  this._mac = _mac;
23
+ /**
24
+ * The desired state of the device
25
+ */
23
26
  this.desiredState = daikin_controller_1.Power.OFF;
27
+ /**
28
+ * The desired humidity-state of the device
29
+ * @default 'AUTO'
30
+ */
24
31
  this.desiredHum = 'AUTO';
32
+ /**
33
+ * The desired mode of the device
34
+ * @default Mode.COLD
35
+ */
25
36
  this.desiredMode = daikin_controller_1.Mode.COLD;
37
+ /** @inheritDoc */
26
38
  this.deviceType = devices_1.DeviceType.Daikin;
27
39
  this._on = false;
28
40
  }
29
41
  get device() {
30
42
  return this._device;
31
43
  }
44
+ /** @inheritDoc */
32
45
  get on() {
33
46
  return this._on;
34
47
  }
@@ -45,6 +58,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
45
58
  }
46
59
  void this.updateInfo();
47
60
  }
61
+ /** @inheritDoc */
48
62
  setDesiredMode(mode, writeToDevice = true, desiredTemp) {
49
63
  let newMode = -1;
50
64
  switch (mode) {
@@ -67,13 +81,15 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
67
81
  this.setDesiredInfo(false, desiredTemp);
68
82
  }
69
83
  }
84
+ /** @inheritDoc */
70
85
  turnOn() {
71
- this.log(models_1.LogLevel.Info, `Turning on`);
86
+ this.log(models_1.LogLevel.Info, 'Turning on');
72
87
  this.desiredState = daikin_controller_1.Power.ON;
73
88
  this.setDesiredInfo();
74
89
  }
90
+ /** @inheritDoc */
75
91
  turnOff() {
76
- this.log(models_1.LogLevel.Info, `Turning off`);
92
+ this.log(models_1.LogLevel.Info, 'Turning off');
77
93
  this._activatedByExcessEnergy = false;
78
94
  this.desiredState = daikin_controller_1.Power.OFF;
79
95
  this._mode = ac_mode_1.AcMode.Off;
@@ -86,13 +102,21 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
86
102
  });
87
103
  }
88
104
  setDesiredInfo(retry = false, forceTemp) {
89
- var _a;
105
+ var _a, _b;
106
+ if (this._desiredTemperatur === devices_1.UNDEFINED_TEMP_VALUE) {
107
+ if (((_a = this.room) === null || _a === void 0 ? void 0 : _a.HeatGroup) === undefined) {
108
+ this.log(models_1.LogLevel.Error, `Neither desired temperature nor HeatGroup is set for ${this.name}(${this.ip})`);
109
+ return;
110
+ }
111
+ this._desiredTemperatur = this.room.HeatGroup.desiredTemp;
112
+ return;
113
+ }
90
114
  let targetTemp = this._desiredTemperatur;
91
115
  if (this.desiredMode == daikin_controller_1.Mode.HOT) {
92
- targetTemp = this.settings.useOwnTemperatureAndAutomatic ? targetTemp + 1 : 29;
116
+ targetTemp = this.settings.useOwnTemperature ? targetTemp : 29;
93
117
  }
94
118
  else if (this.desiredMode == daikin_controller_1.Mode.COLD) {
95
- targetTemp = this.settings.useOwnTemperatureAndAutomatic ? targetTemp - 1 : 16;
119
+ targetTemp = this.settings.useOwnTemperature ? targetTemp : 16;
96
120
  }
97
121
  const changeObject = {
98
122
  power: this.desiredState,
@@ -100,7 +124,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
100
124
  targetHumidity: this.desiredHum,
101
125
  targetTemperature: forceTemp !== null && forceTemp !== void 0 ? forceTemp : targetTemp,
102
126
  };
103
- (_a = this.device) === null || _a === void 0 ? void 0 : _a.setACControlInfo(changeObject, (err, res) => {
127
+ (_b = this.device) === null || _b === void 0 ? void 0 : _b.setACControlInfo(changeObject, (err, res) => {
104
128
  var _a;
105
129
  if (err !== null) {
106
130
  log_service_1.ServerLogService.writeLog(models_1.LogLevel.Warn, `Setting Ac Info for ${this.name} failed: ${err} `);
@@ -120,7 +144,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
120
144
  this.persist();
121
145
  }
122
146
  else {
123
- this.log(models_1.LogLevel.Warn, `No Error, but also no response...`);
147
+ this.log(models_1.LogLevel.Warn, 'No Error, but also no response...');
124
148
  }
125
149
  });
126
150
  }
@@ -137,6 +161,14 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
137
161
  });
138
162
  });
139
163
  }
164
+ /**
165
+ * Handles the situation when the device is unreachable, attempts to reconnect and log the outcome.
166
+ *
167
+ * This function logs a warning message indicating that the device is unreachable,
168
+ * then attempts to reconnect using the `DaikinService.reconnect` method.
169
+ * If the reconnection is successful, it sets the desired information and schedules a timeout of 5000ms.
170
+ * If the reconnection fails, it logs an error message with the reason for the failure.
171
+ */
140
172
  handleDeviceUnreach() {
141
173
  this.log(models_1.LogLevel.Warn, `Detected EHOSTUNREACH for ${this.name}(${this.ip}), will try reconecting`);
142
174
  daikin_service_1.DaikinService.reconnect(this.name, this.ip, this._mac)
@@ -161,6 +193,7 @@ class OwnDaikinDevice extends ac_device_1.AcDevice {
161
193
  }
162
194
  });
163
195
  }
196
+ /** @inheritDoc */
164
197
  toJSON() {
165
198
  // eslint-disable-next-line
166
199
  const result = lodash_1.default.omit(this, ['room', '_room', 'device', '_device']);