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

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