hoffmation-base 3.0.0-alpha.6 → 3.0.0-alpha.60

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