hoffmation-base 3.0.0-alpha.9 → 3.0.0-alpha.90

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 (561) 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/base64Image.d.ts +0 -1
  26. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  27. package/lib/models/blockAutomaticSettings.js +19 -0
  28. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  29. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  30. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  31. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  32. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +11 -2
  33. package/lib/models/command/WindowSetDesiredPositionCommand.js +11 -2
  34. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  35. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  36. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  37. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  38. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  39. package/lib/models/command/actuatorToggleCommand.js +7 -4
  40. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  41. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  42. package/lib/models/command/baseCommand.d.ts +23 -2
  43. package/lib/models/command/baseCommand.js +41 -1
  44. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  45. package/lib/models/command/blockAutomaticCommand.js +40 -0
  46. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  47. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  48. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  49. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  50. package/lib/models/command/commandSource.d.ts +19 -0
  51. package/lib/models/command/commandSource.js +20 -0
  52. package/lib/models/command/commandType.d.ts +11 -0
  53. package/lib/models/command/commandType.js +11 -0
  54. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  55. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  56. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  57. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  58. package/lib/models/command/index.d.ts +3 -0
  59. package/lib/models/command/index.js +7 -1
  60. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  61. package/lib/models/command/lampSetLightCommand.js +15 -4
  62. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  63. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  64. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  65. package/lib/models/command/lampToggleLightCommand.js +7 -6
  66. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  67. package/lib/models/command/ledSetLightCommand.js +27 -17
  68. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  69. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  70. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  71. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  72. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  73. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  74. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  75. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  76. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  77. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  78. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  79. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  80. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  81. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  82. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  83. package/lib/models/command/wledSetLightCommand.js +23 -7
  84. package/lib/models/connectionCallbacks.d.ts +4 -4
  85. package/lib/models/connectionCallbacks.js +1 -0
  86. package/lib/models/deviceConfig.d.ts +3 -3
  87. package/lib/models/deviceSettings/acSettings.d.ts +23 -5
  88. package/lib/models/deviceSettings/acSettings.js +28 -8
  89. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  90. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  91. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  92. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  93. package/lib/models/deviceSettings/dachsSettings.d.ts +37 -1
  94. package/lib/models/deviceSettings/dachsSettings.js +47 -3
  95. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  96. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  97. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  98. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  99. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  100. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  101. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  102. package/lib/models/deviceSettings/handleSettings.js +9 -0
  103. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  104. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  105. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  106. package/lib/models/deviceSettings/ledSettings.js +76 -18
  107. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  108. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  109. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  111. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  112. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  113. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  114. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  115. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +51 -0
  116. package/lib/models/deviceSettings/victronDeviceSettings.js +65 -9
  117. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  118. package/lib/models/deviceSettings/wledSettings.js +37 -13
  119. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  120. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  121. package/lib/models/iIdHolder.d.ts +18 -0
  122. package/lib/models/iJsonOmitKeys.d.ts +9 -0
  123. package/lib/models/index.d.ts +3 -1
  124. package/lib/models/index.js +4 -1
  125. package/lib/models/objectSettings.d.ts +5 -2
  126. package/lib/models/objectSettings.js +2 -2
  127. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  128. package/lib/models/persistence/EnergyCalculation.js +30 -4
  129. package/lib/models/persistence/index.d.ts +0 -2
  130. package/lib/models/persistence/index.js +0 -2
  131. package/lib/models/rooms/RoomBase.d.ts +12 -1
  132. package/lib/models/rooms/RoomBase.js +17 -8
  133. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  134. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  135. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  136. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  137. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  138. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  139. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  140. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  141. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  142. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  143. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  144. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  145. package/lib/models/timeCallback.d.ts +7 -0
  146. package/lib/models/timeCallback.js +16 -6
  147. package/lib/server/config/heatingMode.d.ts +2 -1
  148. package/lib/server/config/heatingMode.js +2 -1
  149. package/lib/server/config/iAsusConfig.d.ts +15 -0
  150. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  151. package/lib/server/config/iBlockAutomaticHandlerDefaults.js +2 -0
  152. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  153. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  154. package/lib/server/config/iConfig.d.ts +94 -6
  155. package/lib/server/config/iDachsSettings.d.ts +16 -0
  156. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  157. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  158. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  159. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  160. package/lib/server/config/iGoveeSettings.js +2 -0
  161. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  162. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  163. package/lib/server/config/iLogSettings.d.ts +40 -1
  164. package/lib/server/config/iMp3Settings.d.ts +10 -0
  165. package/lib/server/config/iMuellSettings.d.ts +7 -0
  166. package/lib/server/config/iNewsSettings.d.ts +13 -0
  167. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  168. package/lib/server/config/iPollySettings.d.ts +22 -0
  169. package/lib/server/config/iRestSettings.d.ts +10 -0
  170. package/lib/server/config/iSonosSettings.d.ts +14 -0
  171. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  172. package/lib/server/config/iTibberSettings.d.ts +10 -0
  173. package/lib/server/config/iTimePair.d.ts +9 -0
  174. package/lib/server/config/iTimeSettings.d.ts +9 -0
  175. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  176. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  177. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  178. package/lib/server/config/iVictronSettings.d.ts +14 -0
  179. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  180. package/lib/server/config/index.d.ts +2 -0
  181. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  182. package/lib/server/devices/DeviceCapability.js +1 -0
  183. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  184. package/lib/server/devices/DeviceInfo.js +6 -0
  185. package/lib/server/devices/Griffe.js +1 -2
  186. package/lib/server/devices/Heizgruppen.js +2 -2
  187. package/lib/server/devices/IoBrokerBaseDevice.d.ts +38 -20
  188. package/lib/server/devices/IoBrokerBaseDevice.js +40 -22
  189. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +8 -6
  190. package/lib/server/devices/IoBrokerDeviceInfo.js +50 -46
  191. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  192. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  193. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  194. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +15 -7
  195. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  196. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  198. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  199. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  200. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  201. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  202. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +34 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -5
  204. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +19 -4
  205. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  207. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  209. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  210. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  212. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  213. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -2
  214. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  215. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  216. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  217. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +30 -5
  218. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  219. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  220. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  221. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  222. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  223. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  224. package/lib/server/devices/button/button.d.ts +0 -1
  225. package/lib/server/devices/button/button.js +0 -4
  226. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  227. package/lib/server/devices/button/buttonCallback.js +10 -0
  228. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  229. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  230. package/lib/server/devices/button/index.d.ts +1 -0
  231. package/lib/server/devices/button/index.js +3 -0
  232. package/lib/server/devices/dachs/dachs.d.ts +51 -11
  233. package/lib/server/devices/dachs/dachs.js +136 -23
  234. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +23 -10
  235. package/lib/server/devices/dachs/dachsTemperatureSensor.js +28 -32
  236. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  237. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  238. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  239. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  240. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  241. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  242. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  243. package/lib/server/devices/device-cluster.d.ts +4 -1
  244. package/lib/server/devices/device-cluster.js +9 -4
  245. package/lib/server/devices/deviceType.d.ts +6 -0
  246. package/lib/server/devices/deviceType.js +6 -0
  247. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  248. package/lib/server/devices/deviceUpdater.js +26 -4
  249. package/lib/server/devices/devices.d.ts +53 -7
  250. package/lib/server/devices/devices.js +83 -19
  251. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  252. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  253. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  254. package/lib/server/devices/espresense/espresenseDevice.js +29 -5
  255. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  256. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  257. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  258. package/lib/server/devices/espresense/trilateration.js +7 -0
  259. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  260. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  261. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  262. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  263. package/lib/server/devices/groups/Window.d.ts +16 -6
  264. package/lib/server/devices/groups/Window.js +31 -14
  265. package/lib/server/devices/groups/base-group.d.ts +4 -0
  266. package/lib/server/devices/groups/base-group.js +3 -0
  267. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  268. package/lib/server/devices/groups/heatGroup.js +11 -11
  269. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  270. package/lib/server/devices/groups/lightGroup.js +20 -39
  271. package/lib/server/devices/groups/presenceGroup.d.ts +17 -6
  272. package/lib/server/devices/groups/presenceGroup.js +73 -63
  273. package/lib/server/devices/groups/tasterGroup.js +18 -9
  274. package/lib/server/devices/groups/windowGroup.d.ts +16 -1
  275. package/lib/server/devices/groups/windowGroup.js +24 -9
  276. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  277. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  278. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  279. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  280. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  281. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  282. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +23 -18
  283. package/lib/server/devices/hmIPDevices/hmIpGriff.js +39 -140
  284. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +29 -18
  285. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +51 -74
  286. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +6 -6
  287. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +8 -20
  288. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  289. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  290. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -10
  291. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +12 -22
  292. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  293. package/lib/server/devices/hmIPDevices/hmIpRoll.js +27 -25
  294. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +19 -5
  295. package/lib/server/devices/hmIPDevices/hmIpTaster.js +16 -19
  296. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +5 -5
  297. package/lib/server/devices/hmIPDevices/hmIpTherm.js +8 -20
  298. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  299. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  300. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  301. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  302. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  303. package/lib/server/devices/index.d.ts +8 -2
  304. package/lib/server/devices/index.js +11 -2
  305. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  306. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  307. package/lib/server/devices/models/WindowPosition.d.ts +3 -3
  308. package/lib/server/devices/models/WindowPosition.js +3 -3
  309. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  310. package/lib/server/devices/nameAmountValuePair.js +10 -0
  311. package/lib/server/devices/scene/room-scene.d.ts +23 -7
  312. package/lib/server/devices/scene/room-scene.js +18 -4
  313. package/lib/server/devices/sharedFunctions/battery.d.ts +31 -0
  314. package/lib/server/devices/sharedFunctions/battery.js +65 -0
  315. package/lib/server/devices/sharedFunctions/handleSensor.d.ts +45 -0
  316. package/lib/server/devices/sharedFunctions/handleSensor.js +150 -0
  317. package/lib/server/devices/sharedFunctions/humiditySensor.d.ts +18 -0
  318. package/lib/server/devices/sharedFunctions/humiditySensor.js +46 -0
  319. package/lib/server/devices/sharedFunctions/index.d.ts +4 -0
  320. package/lib/server/devices/sharedFunctions/index.js +4 -0
  321. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  322. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  323. package/lib/server/devices/sharedFunctions/temperatureSensor.d.ts +31 -0
  324. package/lib/server/devices/sharedFunctions/temperatureSensor.js +57 -0
  325. package/lib/server/devices/shelly/index.d.ts +1 -0
  326. package/lib/server/devices/shelly/index.js +3 -1
  327. package/lib/server/devices/shelly/shellyActuator.d.ts +33 -0
  328. package/lib/server/devices/shelly/shellyActuator.js +84 -0
  329. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  330. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  331. package/lib/server/devices/shelly/shellyTrv.d.ts +27 -19
  332. package/lib/server/devices/shelly/shellyTrv.js +39 -52
  333. package/lib/server/devices/smartGarden/index.d.ts +6 -0
  334. package/lib/server/devices/smartGarden/index.js +22 -0
  335. package/lib/server/devices/smartGarden/smartGardenDevice.d.ts +21 -0
  336. package/lib/server/devices/smartGarden/smartGardenDevice.js +63 -0
  337. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.d.ts +9 -0
  338. package/lib/server/devices/smartGarden/smartGardenDeviceRegistrationInfo.js +13 -0
  339. package/lib/server/devices/smartGarden/smartGardenMower.d.ts +35 -0
  340. package/lib/server/devices/smartGarden/smartGardenMower.js +107 -0
  341. package/lib/server/devices/smartGarden/smartGardenSensor.d.ts +32 -0
  342. package/lib/server/devices/smartGarden/smartGardenSensor.js +76 -0
  343. package/lib/server/devices/smartGarden/smartGardenService.d.ts +7 -0
  344. package/lib/server/devices/smartGarden/smartGardenService.js +52 -0
  345. package/lib/server/devices/smartGarden/smartGardenValve.d.ts +36 -0
  346. package/lib/server/devices/smartGarden/smartGardenValve.js +105 -0
  347. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  348. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  349. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  350. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  351. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  352. package/lib/server/devices/tv/samsungTv.js +1 -0
  353. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  354. package/lib/server/devices/tv/tvDevice.js +4 -3
  355. package/lib/server/devices/velux/index.d.ts +4 -0
  356. package/lib/server/devices/velux/index.js +11 -0
  357. package/lib/server/devices/velux/veluxDevice.d.ts +13 -0
  358. package/lib/server/devices/velux/veluxDevice.js +43 -0
  359. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.d.ts +9 -0
  360. package/lib/server/devices/velux/veluxDeviceRegistrationInfo.js +13 -0
  361. package/lib/server/devices/velux/veluxService.d.ts +7 -0
  362. package/lib/server/devices/velux/veluxService.js +44 -0
  363. package/lib/server/devices/velux/veluxShutter.d.ts +27 -0
  364. package/lib/server/devices/velux/veluxShutter.js +124 -0
  365. package/lib/server/devices/wledDevice.d.ts +15 -3
  366. package/lib/server/devices/wledDevice.js +42 -16
  367. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  368. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  369. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +2 -0
  370. package/lib/server/devices/zigbee/BaseDevices/index.js +5 -0
  371. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  372. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +8 -17
  373. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  374. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -60
  375. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +23 -13
  376. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +34 -41
  377. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  378. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  379. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
  380. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +14 -14
  381. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +16 -8
  382. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +25 -28
  383. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +20 -16
  384. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +35 -45
  385. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -4
  386. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +30 -21
  387. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  388. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  389. package/lib/server/devices/zigbee/BaseDevices/zigbeeWindowHandle.d.ts +36 -0
  390. package/lib/server/devices/zigbee/BaseDevices/zigbeeWindowHandle.js +82 -0
  391. package/lib/server/devices/zigbee/index.d.ts +1 -0
  392. package/lib/server/devices/zigbee/index.js +1 -0
  393. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  394. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  395. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  396. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  397. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  398. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  399. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +47 -12
  400. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +87 -33
  401. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +16 -9
  402. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +27 -37
  403. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  404. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  405. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  406. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  407. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +24 -10
  408. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +33 -29
  409. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  410. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  411. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  412. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  413. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  414. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  415. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  416. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  417. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  418. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  419. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  420. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  421. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  422. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  423. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  424. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  425. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  426. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  427. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  428. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  429. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  430. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  431. package/lib/server/devices/zigbee/zigbeeSodaHandle.d.ts +34 -0
  432. package/lib/server/devices/zigbee/zigbeeSodaHandle.js +96 -0
  433. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  434. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  435. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +24 -19
  436. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +38 -74
  437. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  438. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  439. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  440. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  441. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  442. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  443. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  444. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  445. package/lib/server/ioBroker/connection.d.ts +21 -22
  446. package/lib/server/ioBroker/connection.js +50 -33
  447. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  448. package/lib/server/ioBroker/ioBroker.main.js +12 -5
  449. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  450. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  451. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  452. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  453. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  454. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  455. package/lib/server/services/ShutterService.js +7 -6
  456. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  457. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  458. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  459. package/lib/server/services/Sonos/mp3-server.js +3 -1
  460. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  461. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  462. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  463. package/lib/server/services/Sonos/polly-service.js +10 -8
  464. package/lib/server/services/Sonos/sonos-service.d.ts +1 -5
  465. package/lib/server/services/Sonos/sonos-service.js +19 -18
  466. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  467. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  468. package/lib/server/services/Telegram/telegram-service.js +8 -3
  469. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  470. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  471. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  472. package/lib/server/services/Translation/index.d.ts +1 -0
  473. package/lib/server/services/Translation/res.d.ts +34 -19
  474. package/lib/server/services/Translation/res.js +34 -19
  475. package/lib/server/services/ac/ac-device.d.ts +50 -9
  476. package/lib/server/services/ac/ac-device.js +121 -41
  477. package/lib/server/services/ac/daikin-service.js +4 -3
  478. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  479. package/lib/server/services/ac/own-ac-devices.js +3 -0
  480. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  481. package/lib/server/services/ac/own-daikin-device.js +40 -7
  482. package/lib/server/services/api/api-service.d.ts +118 -53
  483. package/lib/server/services/api/api-service.js +170 -80
  484. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  485. package/lib/server/services/blockAutomaticHandler.js +34 -15
  486. package/lib/server/services/calendar/index.d.ts +1 -0
  487. package/lib/server/services/calendar/index.js +3 -0
  488. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  489. package/lib/server/services/calendar/muell-tonne.js +10 -0
  490. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  491. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  492. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  493. package/lib/server/services/calendar/name-date-pair.js +10 -0
  494. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  495. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  496. package/lib/server/services/dbo/postgreSqlPersist.js +29 -6
  497. package/lib/server/services/file-info.d.ts +5 -0
  498. package/lib/server/services/file-info.js +10 -0
  499. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  500. package/lib/server/services/govee/govee-device-data.js +2 -0
  501. package/lib/server/services/govee/govee-service.d.ts +7 -9
  502. package/lib/server/services/govee/govee-service.js +73 -48
  503. package/lib/server/services/govee/own-govee-device.d.ts +20 -17
  504. package/lib/server/services/govee/own-govee-device.js +72 -58
  505. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  506. package/lib/server/services/govee/own-govee-devices.js +3 -0
  507. package/lib/server/services/https-service.d.ts +3 -2
  508. package/lib/server/services/https-service.js +4 -3
  509. package/lib/server/services/index.d.ts +1 -0
  510. package/lib/server/services/index.js +3 -0
  511. package/lib/server/services/log-service/index.d.ts +1 -0
  512. package/lib/server/services/log-service/index.js +3 -0
  513. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  514. package/lib/server/services/log-service/log-debug-type.js +17 -0
  515. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  516. package/lib/server/services/log-service/log-filter-data.js +6 -15
  517. package/lib/server/services/log-service/log-service.d.ts +17 -4
  518. package/lib/server/services/log-service/log-service.js +30 -17
  519. package/lib/server/services/news-service.d.ts +9 -7
  520. package/lib/server/services/news-service.js +14 -15
  521. package/lib/server/services/room-service/room-service.d.ts +20 -4
  522. package/lib/server/services/room-service/room-service.js +26 -10
  523. package/lib/server/services/settings-service.d.ts +6 -2
  524. package/lib/server/services/settings-service.js +3 -2
  525. package/lib/server/services/time-callback-service.js +1 -1
  526. package/lib/server/services/utils/RGB.d.ts +6 -0
  527. package/lib/server/services/utils/RGB.js +11 -0
  528. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  529. package/lib/server/services/utils/catchEmResult.js +10 -0
  530. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  531. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  532. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  533. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  534. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  535. package/lib/server/services/utils/index.d.ts +4 -1
  536. package/lib/server/services/utils/index.js +8 -1
  537. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  538. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  539. package/lib/server/services/utils/utils.d.ts +9 -14
  540. package/lib/server/services/utils/utils.js +5 -1
  541. package/lib/server/services/victron/victron-device.d.ts +21 -10
  542. package/lib/server/services/victron/victron-device.js +69 -25
  543. package/lib/server/services/weather/index.d.ts +2 -0
  544. package/lib/server/services/weather/index.js +3 -0
  545. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  546. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  547. package/lib/server/services/weather/weather-current.d.ts +0 -2
  548. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  549. package/lib/server/services/weather/weather-response.d.ts +16 -0
  550. package/lib/server/services/weather/weather-response.js +2 -0
  551. package/lib/server/services/weather/weather-service.d.ts +16 -18
  552. package/lib/server/services/weather/weather-service.js +39 -24
  553. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  554. package/lib/tsconfig.tsbuildinfo +1 -1
  555. package/package.json +31 -31
  556. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  557. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  558. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  559. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  560. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  561. /package/lib/models/{iTemperaturDataPoint.js → iJsonOmitKeys.js} +0 -0
@@ -12,9 +12,20 @@ const espresenseCoordinator_1 = require("./espresenseCoordinator");
12
12
  const trilaterationBasePoint_1 = require("./trilaterationBasePoint");
13
13
  const trilateration_1 = require("./trilateration");
14
14
  class EspresenseDevice {
15
+ /**
16
+ * Creates a new instance of the EspresenseDevice class
17
+ * @param name - The desired name of the device
18
+ * @param roomName - The name of the room this device is in {@link iRoomBase.roomName}
19
+ * @param x - The x coordinate of the device in the house
20
+ * @param y - The y coordinate of the device in the house
21
+ * @param z - The z coordinate of the device in the house
22
+ */
15
23
  constructor(name, roomName, x, y, z) {
24
+ /** @inheritDoc */
16
25
  this.settings = undefined;
26
+ /** @inheritDoc */
17
27
  this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.bluetoothDetector];
28
+ /** @inheritDoc */
18
29
  this.deviceType = deviceType_1.DeviceType.Espresense;
19
30
  this.deviceMap = new Map();
20
31
  this.proximityCallbackMap = new Map();
@@ -31,22 +42,24 @@ class EspresenseDevice {
31
42
  this.loadDeviceSettings();
32
43
  trilateration_1.Trilateration.basePoints.push(this.position);
33
44
  }
45
+ /** @inheritDoc */
34
46
  get customName() {
35
47
  return this.info.customName;
36
48
  }
49
+ /** @inheritDoc */
37
50
  get info() {
38
51
  return this._info;
39
52
  }
40
- set info(info) {
41
- this._info = info;
42
- }
53
+ /** @inheritDoc */
43
54
  get id() {
44
55
  var _a;
45
56
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `espresense-${this.info.room}-${this.info.customName}`;
46
57
  }
58
+ /** @inheritDoc */
47
59
  get room() {
48
60
  return services_1.API.getRoom(this.info.room);
49
61
  }
62
+ /** @inheritDoc */
50
63
  distanceOfDevice(deviceName, maxAge = 60) {
51
64
  var _a;
52
65
  for (const dev of this.deviceMap.values()) {
@@ -57,17 +70,23 @@ class EspresenseDevice {
57
70
  }
58
71
  return undefined;
59
72
  }
73
+ /** @inheritDoc */
60
74
  isDevicePresent(deviceName, maxDistance, maxAge = 60) {
61
75
  var _a;
62
76
  return ((_a = this.distanceOfDevice(deviceName, maxAge)) !== null && _a !== void 0 ? _a : 99) < maxDistance;
63
77
  }
78
+ /**
79
+ * Updates the device with the given state
80
+ * @param devName - The name of the bluetooth device
81
+ * @param state - The state containing the json-formatted distance data
82
+ */
64
83
  update(devName, state) {
65
84
  var _a, _b;
66
85
  let data = null;
67
86
  try {
68
87
  data = JSON.parse(state.val);
69
88
  }
70
- catch (e) {
89
+ catch (_e) {
71
90
  this.log(models_1.LogLevel.Error, `Recieved malformed update data: ${state.val}`);
72
91
  return;
73
92
  }
@@ -83,7 +102,7 @@ class EspresenseDevice {
83
102
  }
84
103
  const trackedDistance = dev.getDistance(this.id);
85
104
  if (trackedDistance === undefined) {
86
- this.log(models_1.LogLevel.Error, `TrackedDistance Undefined directly after update`);
105
+ this.log(models_1.LogLevel.Error, 'TrackedDistance Undefined directly after update');
87
106
  return;
88
107
  }
89
108
  const distance = trackedDistance.distance;
@@ -103,6 +122,7 @@ class EspresenseDevice {
103
122
  }
104
123
  }
105
124
  }
125
+ /** @inheritDoc */
106
126
  log(level, message, debugType = services_1.LogDebugType.None) {
107
127
  var _a, _b;
108
128
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
@@ -112,18 +132,22 @@ class EspresenseDevice {
112
132
  deviceName: this.name,
113
133
  });
114
134
  }
135
+ /** @inheritDoc */
115
136
  toJSON() {
116
137
  return services_1.Utils.jsonFilter(this);
117
138
  }
139
+ /** @inheritDoc */
118
140
  persistDeviceInfo() {
119
141
  services_1.Utils.guardedTimeout(() => {
120
142
  var _a;
121
143
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
122
144
  }, 5000, this);
123
145
  }
146
+ /** @inheritDoc */
124
147
  loadDeviceSettings() {
125
148
  // Nothing
126
149
  }
150
+ /** @inheritDoc */
127
151
  addProximityCallback(cb) {
128
152
  let currentValue = this.proximityCallbackMap.get(cb.deviceName);
129
153
  if (currentValue == undefined) {
@@ -1,8 +1,20 @@
1
1
  import { iBluetoothDetector } from '../baseDeviceInterfaces/iBluetoothDetector';
2
2
  export declare class TrackedDistanceData {
3
+ /**
4
+ * The name of the tracker who detected this device
5
+ */
3
6
  trackerName: string;
7
+ /**
8
+ * The distance to the tracker
9
+ */
4
10
  distance: number | undefined;
11
+ /**
12
+ * The time of the last update
13
+ */
5
14
  lastUpdate: number;
15
+ /**
16
+ * The distance to the tracker before the last update (if available) can be used to calculate certain movements
17
+ */
6
18
  previousDistance: number | undefined;
7
19
  constructor(tracker: iBluetoothDetector);
8
20
  update(distance: number): void;
@@ -4,6 +4,9 @@ exports.TrackedDistanceData = void 0;
4
4
  const services_1 = require("../../services");
5
5
  class TrackedDistanceData {
6
6
  constructor(tracker) {
7
+ /**
8
+ * The time of the last update
9
+ */
7
10
  this.lastUpdate = 0;
8
11
  this.trackerName = tracker.info.customName;
9
12
  }
@@ -3,7 +3,14 @@ import { TrilaterationPoint } from './trilaterationPoint';
3
3
  import { TrilaterationPointDistance } from './trilaterationPointDistance';
4
4
  import { RoomBase } from '../../../models';
5
5
  export declare class Trilateration {
6
+ /**
7
+ * A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
8
+ */
6
9
  static readonly basePoints: TrilaterationBasePoint[];
10
+ /**
11
+ * A list of all possible points for trilateration in this home, used for increased calculation speed
12
+ * This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
13
+ */
7
14
  static possiblePoints: TrilaterationPoint[];
8
15
  static addRoom(room: RoomBase, startPoint: TrilaterationPoint, endPoint: TrilaterationPoint): void;
9
16
  static initialize(): void;
@@ -104,5 +104,12 @@ class Trilateration {
104
104
  }
105
105
  }
106
106
  exports.Trilateration = Trilateration;
107
+ /**
108
+ * A list of all reference points for trilateration (e.g. Rooms, {@link iBluetoothDetector}s)
109
+ */
107
110
  Trilateration.basePoints = [];
111
+ /**
112
+ * A list of all possible points for trilateration in this home, used for increased calculation speed
113
+ * This list is filled mostly by {@link Trilateration.addRoom} thus resulting in the air outside the house not being included
114
+ */
108
115
  Trilateration.possiblePoints = [];
@@ -6,7 +6,13 @@ export declare class TrilaterationBasePoint {
6
6
  readonly z: number;
7
7
  readonly roomName: string;
8
8
  private readonly _maximumDistance;
9
+ /**
10
+ * The coordinates of this point in Space
11
+ */
9
12
  readonly ownPoint: TrilaterationPoint;
13
+ /**
14
+ * A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
15
+ */
10
16
  readonly precalculatedDistancesMap: Map<number, string[]>;
11
17
  constructor(x: number, y: number, z: number, roomName: string, _maximumDistance?: number);
12
18
  getRatedCoordinates(distance: number): TrilaterationRatedCoordinate[];
@@ -12,6 +12,9 @@ class TrilaterationBasePoint {
12
12
  this.z = z;
13
13
  this.roomName = roomName;
14
14
  this._maximumDistance = _maximumDistance;
15
+ /**
16
+ * A precalculated map of distances to all existing points in the home (@see {@link Trilateration.possiblePoints})
17
+ */
15
18
  this.precalculatedDistancesMap = new Map();
16
19
  this.ownPoint = new trilaterationPoint_1.TrilaterationPoint(x, y, z, roomName);
17
20
  }
@@ -4,8 +4,8 @@ export declare class TrilaterationPoint {
4
4
  z: number;
5
5
  roomName: string;
6
6
  static getPointsInRange(a: TrilaterationPoint, b: TrilaterationPoint, roomName?: string): TrilaterationPoint[];
7
- readonly coordinateName: string;
8
7
  constructor(x: number, y: number, z: number, roomName: string);
8
+ get coordinateName(): string;
9
9
  getDistance(other: TrilaterationPoint): number;
10
10
  getDot5Distance(other: TrilaterationPoint): number;
11
11
  }
@@ -22,7 +22,9 @@ class TrilaterationPoint {
22
22
  this.y = y;
23
23
  this.z = z;
24
24
  this.roomName = roomName;
25
- this.coordinateName = `${this.x}-${this.y}-${this.z}`;
25
+ }
26
+ get coordinateName() {
27
+ return `${this.x}-${this.y}-${this.z}`;
26
28
  }
27
29
  getDistance(other) {
28
30
  return Math.sqrt((this.x - other.x) ** 2 + (this.y - other.y) ** 2 + (this.z - other.z) ** 2);
@@ -1,7 +1,6 @@
1
- import { HmIpGriff } from '../hmIPDevices';
2
1
  import { WindowPosition } from '../models';
3
- import { WindowRestoreDesiredPositionCommand, WindowSetDesiredPositionCommand } from '../../../models';
4
- import { iShutter, iVibrationSensor } from '../baseDeviceInterfaces';
2
+ import { ShutterPositionChangedAction, WindowRestoreDesiredPositionCommand, WindowSetDesiredPositionCommand } from '../../../models';
3
+ import { iHandleSensor, iShutter, iVibrationSensor } from '../baseDeviceInterfaces';
5
4
  import { BaseGroup } from './base-group';
6
5
  import { ZigbeeMagnetContact } from '../zigbee';
7
6
  export declare class Window extends BaseGroup {
@@ -9,18 +8,29 @@ export declare class Window extends BaseGroup {
9
8
  readonly vibrationIds: string[];
10
9
  readonly shutterIds: string[];
11
10
  readonly magnetIds: string[];
12
- desiredPosition: number;
11
+ private _desiredPosition;
12
+ /**
13
+ * The desired shutter level for the window
14
+ * @returns {number} The level (0 closed, 100 open)
15
+ */
16
+ get desiredPosition(): number;
17
+ /**
18
+ * Checks if any shutter is down (0%)
19
+ * @returns {boolean} true if any shutter is down
20
+ */
21
+ get anyShutterDown(): boolean;
13
22
  constructor(roomName: string, handleIds?: string[], vibrationIds?: string[], shutterIds?: string[], magnetIds?: string[]);
14
23
  /**
15
24
  * sets the desired Pos and moves rollo to this level
25
+ * @param c - The command to execute
16
26
  */
17
27
  setDesiredPosition(c: WindowSetDesiredPositionCommand): void;
18
- getHandle(): HmIpGriff[];
28
+ getHandle(): iHandleSensor[];
19
29
  getMagnetContact(): ZigbeeMagnetContact[];
20
30
  getShutter(): iShutter[];
21
31
  getVibration(): iVibrationSensor[];
22
32
  griffeInPosition(pPosition: WindowPosition): number;
23
33
  initialize(): void;
24
- rolloPositionChange(pValue: number): void;
34
+ rolloPositionChange(action: ShutterPositionChangedAction): void;
25
35
  restoreDesiredPosition(c: WindowRestoreDesiredPositionCommand): void;
26
36
  }
@@ -9,13 +9,29 @@ const group_type_1 = require("./group-type");
9
9
  const device_cluster_type_1 = require("../device-cluster-type");
10
10
  const device_list_1 = require("../device-list");
11
11
  class Window extends base_group_1.BaseGroup {
12
+ /**
13
+ * The desired shutter level for the window
14
+ * @returns {number} The level (0 closed, 100 open)
15
+ */
16
+ get desiredPosition() {
17
+ return this._desiredPosition;
18
+ }
19
+ /**
20
+ * Checks if any shutter is down (0%)
21
+ * @returns {boolean} true if any shutter is down
22
+ */
23
+ get anyShutterDown() {
24
+ return this.getShutter().some((s) => {
25
+ return s.currentLevel === 0;
26
+ });
27
+ }
12
28
  constructor(roomName, handleIds = [], vibrationIds = [], shutterIds = [], magnetIds = []) {
13
29
  super(roomName, group_type_1.GroupType.Window);
14
30
  this.handleIds = handleIds;
15
31
  this.vibrationIds = vibrationIds;
16
32
  this.shutterIds = shutterIds;
17
33
  this.magnetIds = magnetIds;
18
- this.desiredPosition = 0;
34
+ this._desiredPosition = 0;
19
35
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Handle, new device_list_1.DeviceList(handleIds));
20
36
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Vibration, new device_list_1.DeviceList(vibrationIds));
21
37
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Shutter, new device_list_1.DeviceList(shutterIds));
@@ -23,9 +39,10 @@ class Window extends base_group_1.BaseGroup {
23
39
  }
24
40
  /**
25
41
  * sets the desired Pos and moves rollo to this level
42
+ * @param c - The command to execute
26
43
  */
27
44
  setDesiredPosition(c) {
28
- this.desiredPosition = c.position;
45
+ this._desiredPosition = c.position;
29
46
  this.restoreDesiredPosition(new models_2.WindowRestoreDesiredPositionCommand(c));
30
47
  }
31
48
  getHandle() {
@@ -52,11 +69,11 @@ class Window extends base_group_1.BaseGroup {
52
69
  initialize() {
53
70
  this.getHandle().forEach((griff) => {
54
71
  griff.addKippCallback((kipp) => {
55
- if (!(kipp && this.griffeInPosition(models_1.WindowPosition.offen) === 0)) {
72
+ if (!(kipp && this.griffeInPosition(models_1.WindowPosition.open) === 0)) {
56
73
  return;
57
74
  }
58
75
  this.getVibration().forEach((element) => {
59
- element.vibrationBlockedByGriff = true;
76
+ element.vibrationBlockedByHandle = true;
60
77
  });
61
78
  const timeOfDay = services_1.TimeCallbackService.dayType(this.getRoom().settings.rolloOffset);
62
79
  services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, services_1.TimeCallbackService.darkOutsideOrNight(timeOfDay) ? 50 : 100, 'Window ajar by handle'));
@@ -64,7 +81,7 @@ class Window extends base_group_1.BaseGroup {
64
81
  griff.addOffenCallback((offen) => {
65
82
  if (offen) {
66
83
  this.getVibration().forEach((element) => {
67
- element.vibrationBlockedByGriff = true;
84
+ element.vibrationBlockedByHandle = true;
68
85
  });
69
86
  services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(models_2.CommandSource.Automatic, 100, 'Window opened by handle'));
70
87
  return;
@@ -72,14 +89,14 @@ class Window extends base_group_1.BaseGroup {
72
89
  });
73
90
  griff.addClosedCallback((geschlossen) => {
74
91
  if (geschlossen &&
75
- this.griffeInPosition(models_1.WindowPosition.offen) === 0 &&
76
- this.griffeInPosition(models_1.WindowPosition.kipp) === 0) {
92
+ this.griffeInPosition(models_1.WindowPosition.open) === 0 &&
93
+ this.griffeInPosition(models_1.WindowPosition.tilted) === 0) {
77
94
  const now = new Date().getTime();
78
95
  this.getVibration().forEach((element) => {
79
96
  this.log(models_2.LogLevel.Debug, `Starte Timeout für Vibrationsdeaktivierung für ${element.info.customName}`);
80
97
  services_1.Utils.guardedTimeout(() => {
81
- if (element.vibrationBlockedByGriffTimeStamp < now) {
82
- element.vibrationBlockedByGriff = false;
98
+ if (element.vibrationBlockedByHandleTimeStamp < now) {
99
+ element.vibrationBlockedByHandle = false;
83
100
  }
84
101
  }, 12000);
85
102
  });
@@ -96,14 +113,14 @@ class Window extends base_group_1.BaseGroup {
96
113
  });
97
114
  }, 5, this);
98
115
  }
99
- rolloPositionChange(pValue) {
100
- this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName} to ${pValue}`, pValue == this.desiredPosition ? services_1.LogDebugType.None : services_1.LogDebugType.ShutterPositionChange);
101
- if (pValue === 0 || pValue === 100) {
102
- this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(models_2.CommandSource.Automatic, true, 'Window.rolloPositionChange'));
116
+ rolloPositionChange(action) {
117
+ this.log(models_2.LogLevel.Debug, `Rollo Position Change in ${this.roomName}: ${action.reasonTrace}`, action.newPosition == this._desiredPosition ? services_1.LogDebugType.None : services_1.LogDebugType.ShutterPositionChange);
118
+ if (action.newPosition === 0 || action.newPosition === 100) {
119
+ this.getRoom().setLightTimeBased(new models_2.RoomSetLightTimeBasedCommand(action, true));
103
120
  }
104
121
  }
105
122
  restoreDesiredPosition(c) {
106
- services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this.desiredPosition));
123
+ services_1.ShutterService.windowAllToPosition(this, new models_2.ShutterSetLevelCommand(c, this._desiredPosition));
107
124
  }
108
125
  }
109
126
  exports.Window = Window;
@@ -7,8 +7,12 @@ import { GroupSettings } from '../../../models/groupSettings/groupSettings';
7
7
  export declare class BaseGroup implements iIdHolder {
8
8
  roomName: string;
9
9
  type: GroupType;
10
+ /**
11
+ * The settings of the group
12
+ */
10
13
  settings: GroupSettings | undefined;
11
14
  get customName(): string;
15
+ /** @inheritDoc */
12
16
  id: string;
13
17
  constructor(roomName: string, type: GroupType);
14
18
  protected _deviceCluster: DeviceCluster;
@@ -11,6 +11,9 @@ class BaseGroup {
11
11
  constructor(roomName, type) {
12
12
  this.roomName = roomName;
13
13
  this.type = type;
14
+ /**
15
+ * The settings of the group
16
+ */
14
17
  this.settings = undefined;
15
18
  this._deviceCluster = new device_cluster_1.DeviceCluster();
16
19
  this.id = `${this.roomName}-${group_type_1.GroupType[this.type]}`;
@@ -4,16 +4,17 @@ import { AcDevice } from '../../services';
4
4
  import { HeatGroupSettings } from '../../../models/groupSettings/heatGroupSettings';
5
5
  import { TemperatureSettings } from '../../../models';
6
6
  export declare class HeatGroup extends BaseGroup {
7
+ /** @inheritDoc */
7
8
  settings: HeatGroupSettings;
8
9
  constructor(roomName: string, heaterIds: string[], tempSensorIds: string[], humiditySensorIds: string[], acIds: string[]);
9
10
  /**
10
- * The current measured temperature of the room in Celsius
11
- * @returns {number}
11
+ * Calculates the combined humidity Level in this room
12
+ * @returns The humidity in percent
12
13
  */
13
14
  get humidity(): number;
14
15
  /**
15
- * The current measured temperature of the room in Celsius
16
- * @returns {number}
16
+ * Calculates the temperature based on all available sensors.
17
+ * @returns The temperature in °C
17
18
  */
18
19
  get temperature(): number;
19
20
  get desiredTemp(): number;
@@ -25,8 +26,9 @@ export declare class HeatGroup extends BaseGroup {
25
26
  initialize(): void;
26
27
  /**
27
28
  * Sets all ACs to new desired Value
28
- * @param {boolean} newDesiredState
29
- * @param {boolean} force Whether this was a manual trigger, thus blocking automatic changes for 1 hour
29
+ * TODO: Migrate to new Command System
30
+ * @param newDesiredState - The new desired (on/off) state
31
+ * @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
30
32
  */
31
33
  setAc(newDesiredState: boolean, force?: boolean): void;
32
34
  deleteAutomaticPoint(name: string): void;
@@ -12,6 +12,7 @@ const models_1 = require("../../../models");
12
12
  class HeatGroup extends base_group_1.BaseGroup {
13
13
  constructor(roomName, heaterIds, tempSensorIds, humiditySensorIds, acIds) {
14
14
  super(roomName, group_type_1.GroupType.Heating);
15
+ /** @inheritDoc */
15
16
  this.settings = new heatGroupSettings_1.HeatGroupSettings();
16
17
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Heater, new device_list_1.DeviceList(heaterIds));
17
18
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.TemperaturSensor, new device_list_1.DeviceList(tempSensorIds));
@@ -19,8 +20,8 @@ class HeatGroup extends base_group_1.BaseGroup {
19
20
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.Ac, new device_list_1.DeviceList(acIds));
20
21
  }
21
22
  /**
22
- * The current measured temperature of the room in Celsius
23
- * @returns {number}
23
+ * Calculates the combined humidity Level in this room
24
+ * @returns The humidity in percent
24
25
  */
25
26
  get humidity() {
26
27
  let humidity = baseDeviceInterfaces_1.UNDEFINED_HUMIDITY_VALUE;
@@ -40,8 +41,8 @@ class HeatGroup extends base_group_1.BaseGroup {
40
41
  return humidity;
41
42
  }
42
43
  /**
43
- * The current measured temperature of the room in Celsius
44
- * @returns {number}
44
+ * Calculates the temperature based on all available sensors.
45
+ * @returns The temperature in °C
45
46
  */
46
47
  get temperature() {
47
48
  let temp = baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE;
@@ -93,8 +94,8 @@ class HeatGroup extends base_group_1.BaseGroup {
93
94
  rooms.sort((a, b) => {
94
95
  return a.roomName.localeCompare(b.roomName);
95
96
  });
96
- const response = [`Dies sind die aktuellen Informationen der Heizungen:`];
97
- response.push(`Name\t\tLuft Feuchtigkeit\t\tAktuelle Temperatur\t\tSoll Temperatur\t\tVentilstellung`);
97
+ const response = ['Dies sind die aktuellen Informationen der Heizungen:'];
98
+ response.push('Name\t\tLuft Feuchtigkeit\t\tAktuelle Temperatur\t\tSoll Temperatur\t\tVentilstellung');
98
99
  for (const r of rooms) {
99
100
  response.push(`${r.roomName}:\t\t${(_a = r.HeatGroup) === null || _a === void 0 ? void 0 : _a.humidity}%\t\t${(_b = r.HeatGroup) === null || _b === void 0 ? void 0 : _b.temperature}°C\t\t${(_c = r.HeatGroup) === null || _c === void 0 ? void 0 : _c.desiredTemp}°C`);
100
101
  }
@@ -127,8 +128,9 @@ class HeatGroup extends base_group_1.BaseGroup {
127
128
  }
128
129
  /**
129
130
  * Sets all ACs to new desired Value
130
- * @param {boolean} newDesiredState
131
- * @param {boolean} force Whether this was a manual trigger, thus blocking automatic changes for 1 hour
131
+ * TODO: Migrate to new Command System
132
+ * @param newDesiredState - The new desired (on/off) state
133
+ * @param force - Whether this was a manual trigger, thus blocking automatic changes for 1 hour
132
134
  */
133
135
  setAc(newDesiredState, force = false) {
134
136
  const devs = this.getOwnAcDevices();
@@ -139,9 +141,7 @@ class HeatGroup extends base_group_1.BaseGroup {
139
141
  continue;
140
142
  }
141
143
  dev.turnOff();
142
- if (force) {
143
- dev.deactivateAutomaticChange(60 * 60 * 1000);
144
- }
144
+ dev.blockAutomationHandler.disableAutomatic(new models_1.BlockAutomaticCommand(force ? models_1.CommandSource.Force : models_1.CommandSource.Unknown, 60 * 60 * 1000));
145
145
  }
146
146
  }
147
147
  deleteAutomaticPoint(name) {
@@ -1,10 +1,18 @@
1
1
  import { BaseGroup } from './base-group';
2
2
  import { iActuator, iLamp } from '../baseDeviceInterfaces';
3
- import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback, TimeOfDay, WledSetLightCommand } from '../../../models';
3
+ import { ActuatorSetStateCommand, LampSetLightCommand, LampSetTimeBasedCommand, LedSetLightCommand, LightGroupSwitchTimeConditionalCommand, TimeCallback, WledSetLightCommand } from '../../../models';
4
4
  import { WledDevice } from '../wledDevice';
5
5
  import { iLedRgbCct } from '../baseDeviceInterfaces/iLedRgbCct';
6
6
  export declare class LightGroup extends BaseGroup {
7
+ /**
8
+ * Time-Callback for the sunrise light off
9
+ * @remark This is undefined if the light should not be turned off at sunrise or no calculation has been done yet
10
+ */
7
11
  sonnenAufgangLichtCallback: TimeCallback | undefined;
12
+ /**
13
+ * Time-Callback for the sunset light on
14
+ * @remark This is undefined if the light should not be turned on at sunset or no calculation has been done yet
15
+ */
8
16
  sonnenUntergangLichtCallback: TimeCallback | undefined;
9
17
  private _ambientLightOn;
10
18
  constructor(roomName: string, lampenIds?: string[], steckerIds?: string[], ledIds?: string[], wledIds?: string[]);
@@ -20,7 +28,7 @@ export declare class LightGroup extends BaseGroup {
20
28
  setAllLampen(c: LampSetLightCommand): void;
21
29
  setAllLampenTimeBased(c: LampSetTimeBasedCommand): void;
22
30
  setAllOutlets(c: ActuatorSetStateCommand): void;
23
- setAllActuatorsTimeBased(time: TimeOfDay): void;
31
+ setAllActuatorsTimeBased(c: LampSetTimeBasedCommand): void;
24
32
  setAllLED(c: LedSetLightCommand): void;
25
33
  setAllWled(c: WledSetLightCommand): void;
26
34
  initialize(): void;
@@ -17,28 +17,9 @@ class LightGroup extends base_group_1.BaseGroup {
17
17
  this.deviceCluster.deviceMap.set(device_cluster_type_1.DeviceClusterType.WLED, new device_list_1.DeviceList(wledIds));
18
18
  }
19
19
  anyLightsOn() {
20
- let i;
21
- for (i = 0; i < this.getLights().length; i++) {
22
- if (this.getLights()[i].lightOn) {
23
- return true;
24
- }
25
- }
26
- for (i = 0; i < this.getLED().length; i++) {
27
- if (this.getLED()[i].actuatorOn) {
28
- return true;
29
- }
30
- }
31
- for (i = 0; i < this.getOutlets().length; i++) {
32
- if (this.getOutlets()[i].actuatorOn) {
33
- return true;
34
- }
35
- }
36
- for (i = 0; i < this.getWled().length; i++) {
37
- if (this.getWled()[i].on) {
38
- return true;
39
- }
40
- }
41
- return false;
20
+ return (this.getAllAsActuator().find((a) => {
21
+ return a.actuatorOn;
22
+ }) !== undefined);
42
23
  }
43
24
  getLights() {
44
25
  return this.deviceCluster.getDevicesByType(device_cluster_type_1.DeviceClusterType.Lamps);
@@ -70,18 +51,17 @@ class LightGroup extends base_group_1.BaseGroup {
70
51
  switchAll(c) {
71
52
  this.getAllAsActuator().forEach((a) => {
72
53
  if (a.settings.includeInAmbientLight && !c.isForceAction && !c.on && this._ambientLightOn) {
73
- a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}`);
54
+ a.log(models_1.LogLevel.Info, `Ambient light mode is active --> Skip non force light off command in ${this.roomName}; command: ${c.logMessage}`);
74
55
  return;
75
56
  }
76
57
  a.setActuator(c);
77
58
  });
78
59
  }
79
60
  switchTimeConditional(c) {
80
- const darkOutside = services_1.TimeCallbackService.darkOutsideOrNight(c.time);
81
61
  let resultLampen = false;
82
62
  let resultSteckdosen = false;
83
63
  let activatedGroups = 0;
84
- const command = new models_1.LampSetTimeBasedCommand(c, c.time, 'LightGroup switchTimeConditional');
64
+ const command = new models_1.LampSetTimeBasedCommand(c, c.time);
85
65
  if (this.getWled().length > 0) {
86
66
  activatedGroups++;
87
67
  this.log(models_1.LogLevel.Debug, `Set Wled time based for time "${models_1.TimeOfDay[c.time]}"`);
@@ -99,23 +79,23 @@ class LightGroup extends base_group_1.BaseGroup {
99
79
  if (this.getOutlets().length > 0) {
100
80
  activatedGroups++;
101
81
  this.log(models_1.LogLevel.Trace, `Set outlets time based for time "${models_1.TimeOfDay[c.time]}"`);
102
- resultSteckdosen = darkOutside;
82
+ resultSteckdosen = true;
103
83
  }
104
84
  if (activatedGroups === 0 || this.getRoom().settings.includeLampsInNormalMovementLightning) {
105
85
  this.log(models_1.LogLevel.Trace, `Set Lamps time based for time "${models_1.TimeOfDay[c.time]}"`);
106
- resultLampen = darkOutside;
86
+ resultLampen = true;
107
87
  }
108
88
  if (resultLampen) {
109
- this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time, 'LightGroup switchTimeConditional'));
89
+ this.setAllLampenTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
110
90
  }
111
91
  else {
112
- this.setAllLampen(new models_1.LampSetLightCommand(c, false, 'LightGroup switchTimeConditional --> off'));
92
+ this.setAllLampen(new models_1.LampSetLightCommand(c, false));
113
93
  }
114
94
  if (resultSteckdosen) {
115
- this.setAllActuatorsTimeBased(c.time);
95
+ this.setAllActuatorsTimeBased(new models_1.LampSetTimeBasedCommand(c, c.time));
116
96
  }
117
97
  else {
118
- this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false, 'LightGroup switchTimeConditional --> off'));
98
+ this.setAllOutlets(new models_1.ActuatorSetStateCommand(c, false));
119
99
  }
120
100
  }
121
101
  setAllLampen(c) {
@@ -133,12 +113,13 @@ class LightGroup extends base_group_1.BaseGroup {
133
113
  s.setActuator(c);
134
114
  });
135
115
  }
136
- setAllActuatorsTimeBased(time) {
116
+ setAllActuatorsTimeBased(c) {
137
117
  this.getOutlets().forEach((s) => {
138
- if ((time === models_1.TimeOfDay.Night && s.settings.nightOn) ||
139
- (time === models_1.TimeOfDay.BeforeSunrise && s.settings.dawnOn) ||
140
- (time === models_1.TimeOfDay.AfterSunset && s.settings.duskOn)) {
141
- s.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, `LightGroup setAllActuatorsTimeBased`));
118
+ if ((c.time === models_1.TimeOfDay.Daylight && s.settings.dayOn) ||
119
+ (c.time === models_1.TimeOfDay.Night && s.settings.nightOn) ||
120
+ (c.time === models_1.TimeOfDay.BeforeSunrise && s.settings.dawnOn) ||
121
+ (c.time === models_1.TimeOfDay.AfterSunset && s.settings.duskOn)) {
122
+ s.setActuator(new models_1.ActuatorSetStateCommand(c, true, 'LightGroup setAllActuatorsTimeBased', c.disableAutomaticCommand));
142
123
  }
143
124
  });
144
125
  }
@@ -205,7 +186,7 @@ class LightGroup extends base_group_1.BaseGroup {
205
186
  }
206
187
  ambientLightStartCallback() {
207
188
  this._ambientLightOn = true;
208
- this.log(models_1.LogLevel.Info, `Draußen wird es dunkel --> Aktiviere Ambientenbeleuchtung`);
189
+ this.log(models_1.LogLevel.Info, 'Draußen wird es dunkel --> Aktiviere Ambientenbeleuchtung');
209
190
  this.getAllAsActuator().forEach((a) => {
210
191
  if (a.settings.includeInAmbientLight) {
211
192
  a.setActuator(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, true, 'Ambient Light Start Callback'));
@@ -213,9 +194,9 @@ class LightGroup extends base_group_1.BaseGroup {
213
194
  });
214
195
  services_1.Utils.guardedTimeout(() => {
215
196
  var _a;
216
- this.log(models_1.LogLevel.Info, `Ambientenbeleuchtung um Mitternacht abschalten.`);
197
+ this.log(models_1.LogLevel.Info, 'Ambientenbeleuchtung um Mitternacht abschalten.');
217
198
  this._ambientLightOn = false;
218
- if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent()) !== true) {
199
+ if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent(true)) !== true) {
219
200
  this.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Ambient Light End Callback'));
220
201
  }
221
202
  }, services_1.Utils.timeTilMidnight, this);