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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +28 -25
  3. package/lib/liquid-pid.d.ts +2 -5
  4. package/lib/liquid-pid.js +3 -5
  5. package/lib/models/action/baseAction.d.ts +4 -0
  6. package/lib/models/action/baseAction.js +10 -0
  7. package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
  8. package/lib/models/action/batteryLevelChangeAction.js +14 -0
  9. package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
  10. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  11. package/lib/models/action/index.d.ts +8 -0
  12. package/lib/models/action/index.js +27 -0
  13. package/lib/models/action/motionSensorAction.d.ts +16 -0
  14. package/lib/models/action/motionSensorAction.js +15 -0
  15. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  17. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  18. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  19. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  20. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  21. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  22. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  23. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  24. package/lib/models/blockAutomaticSettings.js +19 -0
  25. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  26. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  27. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  28. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  29. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  30. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  31. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  32. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  33. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  34. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  35. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  36. package/lib/models/command/actuatorToggleCommand.js +7 -4
  37. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  38. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  39. package/lib/models/command/baseCommand.d.ts +23 -2
  40. package/lib/models/command/baseCommand.js +41 -1
  41. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  42. package/lib/models/command/blockAutomaticCommand.js +40 -0
  43. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  44. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  45. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  46. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  47. package/lib/models/command/commandSource.d.ts +19 -0
  48. package/lib/models/command/commandSource.js +20 -0
  49. package/lib/models/command/commandType.d.ts +10 -0
  50. package/lib/models/command/commandType.js +10 -0
  51. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  52. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  53. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  54. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  55. package/lib/models/command/index.d.ts +3 -0
  56. package/lib/models/command/index.js +7 -1
  57. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  58. package/lib/models/command/lampSetLightCommand.js +15 -4
  59. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  60. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  61. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  62. package/lib/models/command/lampToggleLightCommand.js +7 -6
  63. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  64. package/lib/models/command/ledSetLightCommand.js +27 -17
  65. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  66. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  67. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  68. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  69. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  70. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  71. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  72. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  73. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  74. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  75. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  77. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  78. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  79. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  80. package/lib/models/command/wledSetLightCommand.js +23 -7
  81. package/lib/models/connectionCallbacks.d.ts +4 -4
  82. package/lib/models/connectionCallbacks.js +1 -0
  83. package/lib/models/deviceConfig.d.ts +3 -3
  84. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  85. package/lib/models/deviceSettings/acSettings.js +23 -8
  86. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  87. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  88. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  89. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  90. package/lib/models/deviceSettings/dachsSettings.d.ts +11 -0
  91. package/lib/models/deviceSettings/dachsSettings.js +13 -1
  92. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  93. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  94. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  95. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  96. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  97. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  98. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  99. package/lib/models/deviceSettings/handleSettings.js +9 -0
  100. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  101. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  102. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  103. package/lib/models/deviceSettings/ledSettings.js +76 -18
  104. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  105. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  106. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  107. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  108. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  109. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  111. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  112. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  113. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  114. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  115. package/lib/models/deviceSettings/wledSettings.js +37 -13
  116. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  117. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  118. package/lib/models/iIdHolder.d.ts +18 -0
  119. package/lib/models/index.d.ts +2 -1
  120. package/lib/models/index.js +4 -1
  121. package/lib/models/objectSettings.d.ts +5 -2
  122. package/lib/models/objectSettings.js +2 -2
  123. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  124. package/lib/models/persistence/EnergyCalculation.js +30 -4
  125. package/lib/models/persistence/index.d.ts +0 -2
  126. package/lib/models/persistence/index.js +0 -2
  127. package/lib/models/rooms/RoomBase.d.ts +12 -1
  128. package/lib/models/rooms/RoomBase.js +16 -7
  129. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  130. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  131. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  132. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  133. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  134. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  135. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  136. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  137. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  138. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  139. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  140. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  141. package/lib/models/timeCallback.d.ts +7 -0
  142. package/lib/models/timeCallback.js +16 -6
  143. package/lib/server/config/heatingMode.d.ts +2 -1
  144. package/lib/server/config/heatingMode.js +2 -1
  145. package/lib/server/config/iAsusConfig.d.ts +15 -0
  146. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  147. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  148. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  149. package/lib/server/config/iConfig.d.ts +94 -6
  150. package/lib/server/config/iDachsSettings.d.ts +16 -0
  151. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  152. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  153. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  154. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  155. package/lib/server/config/iGoveeSettings.js +2 -0
  156. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  157. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  158. package/lib/server/config/iLogSettings.d.ts +40 -1
  159. package/lib/server/config/iMp3Settings.d.ts +10 -0
  160. package/lib/server/config/iMuellSettings.d.ts +7 -0
  161. package/lib/server/config/iNewsSettings.d.ts +13 -0
  162. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  163. package/lib/server/config/iPollySettings.d.ts +22 -0
  164. package/lib/server/config/iRestSettings.d.ts +10 -0
  165. package/lib/server/config/iSonosSettings.d.ts +10 -0
  166. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  167. package/lib/server/config/iTibberSettings.d.ts +10 -0
  168. package/lib/server/config/iTimePair.d.ts +9 -0
  169. package/lib/server/config/iTimeSettings.d.ts +9 -0
  170. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  171. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  172. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  173. package/lib/server/config/iVictronSettings.d.ts +14 -0
  174. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  175. package/lib/server/config/index.d.ts +2 -0
  176. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  177. package/lib/server/devices/DeviceCapability.js +1 -0
  178. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  179. package/lib/server/devices/DeviceInfo.js +6 -0
  180. package/lib/server/devices/Griffe.js +1 -2
  181. package/lib/server/devices/Heizgruppen.js +2 -2
  182. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  183. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  184. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  185. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  186. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  187. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  189. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
  190. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  191. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  192. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  193. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  194. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  195. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  196. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  198. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  199. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  200. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  202. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  205. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  207. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  209. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  210. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  212. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  213. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  214. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  215. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  216. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  217. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  218. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  219. package/lib/server/devices/button/button.d.ts +0 -1
  220. package/lib/server/devices/button/button.js +0 -4
  221. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  222. package/lib/server/devices/button/buttonCallback.js +10 -0
  223. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  224. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  225. package/lib/server/devices/button/index.d.ts +1 -0
  226. package/lib/server/devices/button/index.js +3 -0
  227. package/lib/server/devices/dachs/dachs.d.ts +37 -11
  228. package/lib/server/devices/dachs/dachs.js +49 -22
  229. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  230. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  231. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  232. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  233. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  234. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  235. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  236. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  237. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  238. package/lib/server/devices/device-cluster.d.ts +3 -0
  239. package/lib/server/devices/device-cluster.js +1 -1
  240. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  241. package/lib/server/devices/deviceUpdater.js +1 -4
  242. package/lib/server/devices/devices.d.ts +43 -7
  243. package/lib/server/devices/devices.js +42 -6
  244. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  245. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  246. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  247. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  248. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  249. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  250. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  251. package/lib/server/devices/espresense/trilateration.js +7 -0
  252. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  253. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  254. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  255. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  256. package/lib/server/devices/groups/Window.d.ts +9 -3
  257. package/lib/server/devices/groups/Window.js +19 -11
  258. package/lib/server/devices/groups/base-group.d.ts +4 -0
  259. package/lib/server/devices/groups/base-group.js +3 -0
  260. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  261. package/lib/server/devices/groups/heatGroup.js +11 -11
  262. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  263. package/lib/server/devices/groups/lightGroup.js +18 -37
  264. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  265. package/lib/server/devices/groups/presenceGroup.js +57 -64
  266. package/lib/server/devices/groups/tasterGroup.js +6 -6
  267. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  268. package/lib/server/devices/groups/windowGroup.js +6 -6
  269. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  270. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  271. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  272. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  273. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  274. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  275. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
  276. package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
  277. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  278. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  279. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
  280. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
  281. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  282. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  283. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
  284. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
  285. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  286. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  287. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
  288. package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
  289. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
  290. package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
  291. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  292. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  293. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  294. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  295. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  296. package/lib/server/devices/index.d.ts +5 -2
  297. package/lib/server/devices/index.js +8 -2
  298. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  299. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  300. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  301. package/lib/server/devices/nameAmountValuePair.js +10 -0
  302. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  303. package/lib/server/devices/scene/room-scene.js +18 -4
  304. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  305. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  306. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  307. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  308. package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
  309. package/lib/server/devices/shelly/shellyTrv.js +66 -45
  310. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  311. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  312. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  313. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  314. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  315. package/lib/server/devices/tv/samsungTv.js +1 -0
  316. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  317. package/lib/server/devices/tv/tvDevice.js +4 -3
  318. package/lib/server/devices/wledDevice.d.ts +15 -3
  319. package/lib/server/devices/wledDevice.js +42 -16
  320. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  321. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  322. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  323. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
  338. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  339. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  340. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  341. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  342. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  343. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  344. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  345. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  346. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  347. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  348. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
  349. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
  350. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
  351. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
  352. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  353. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  354. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  355. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  356. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
  357. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
  358. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  359. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  360. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  361. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  363. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  364. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  367. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  368. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  371. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  372. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  375. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  376. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  377. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  378. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  379. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  380. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  381. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  382. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
  383. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
  384. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  385. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  386. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  387. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  388. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  389. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  390. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  391. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  392. package/lib/server/ioBroker/connection.d.ts +21 -20
  393. package/lib/server/ioBroker/connection.js +37 -28
  394. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  395. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  396. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  397. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  398. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  399. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  400. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  401. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  402. package/lib/server/services/ShutterService.js +6 -6
  403. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  404. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  405. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  406. package/lib/server/services/Sonos/mp3-server.js +3 -1
  407. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  408. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  409. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  410. package/lib/server/services/Sonos/polly-service.js +10 -8
  411. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  412. package/lib/server/services/Sonos/sonos-service.js +6 -10
  413. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  414. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  415. package/lib/server/services/Telegram/telegram-service.js +8 -3
  416. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  417. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  418. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  419. package/lib/server/services/Translation/index.d.ts +1 -0
  420. package/lib/server/services/Translation/res.d.ts +34 -19
  421. package/lib/server/services/Translation/res.js +34 -19
  422. package/lib/server/services/ac/ac-device.d.ts +48 -6
  423. package/lib/server/services/ac/ac-device.js +91 -36
  424. package/lib/server/services/ac/daikin-service.js +4 -3
  425. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  426. package/lib/server/services/ac/own-ac-devices.js +3 -0
  427. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  428. package/lib/server/services/ac/own-daikin-device.js +40 -7
  429. package/lib/server/services/api/api-service.d.ts +118 -53
  430. package/lib/server/services/api/api-service.js +170 -80
  431. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  432. package/lib/server/services/blockAutomaticHandler.js +34 -15
  433. package/lib/server/services/calendar/index.d.ts +1 -0
  434. package/lib/server/services/calendar/index.js +3 -0
  435. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  436. package/lib/server/services/calendar/muell-tonne.js +10 -0
  437. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  438. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  439. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  440. package/lib/server/services/calendar/name-date-pair.js +10 -0
  441. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  442. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  443. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  444. package/lib/server/services/file-info.d.ts +5 -0
  445. package/lib/server/services/file-info.js +10 -0
  446. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  447. package/lib/server/services/govee/govee-device-data.js +2 -0
  448. package/lib/server/services/govee/govee-service.d.ts +7 -9
  449. package/lib/server/services/govee/govee-service.js +73 -48
  450. package/lib/server/services/govee/own-govee-device.d.ts +19 -17
  451. package/lib/server/services/govee/own-govee-device.js +57 -56
  452. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  453. package/lib/server/services/govee/own-govee-devices.js +3 -0
  454. package/lib/server/services/https-service.d.ts +3 -2
  455. package/lib/server/services/https-service.js +4 -3
  456. package/lib/server/services/index.d.ts +1 -0
  457. package/lib/server/services/index.js +3 -0
  458. package/lib/server/services/log-service/index.d.ts +1 -0
  459. package/lib/server/services/log-service/index.js +3 -0
  460. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  461. package/lib/server/services/log-service/log-debug-type.js +17 -0
  462. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  463. package/lib/server/services/log-service/log-filter-data.js +6 -15
  464. package/lib/server/services/log-service/log-service.d.ts +17 -4
  465. package/lib/server/services/log-service/log-service.js +30 -17
  466. package/lib/server/services/news-service.d.ts +9 -7
  467. package/lib/server/services/news-service.js +14 -15
  468. package/lib/server/services/room-service/room-service.d.ts +20 -4
  469. package/lib/server/services/room-service/room-service.js +26 -10
  470. package/lib/server/services/settings-service.d.ts +6 -2
  471. package/lib/server/services/settings-service.js +3 -2
  472. package/lib/server/services/time-callback-service.js +1 -1
  473. package/lib/server/services/utils/RGB.d.ts +6 -0
  474. package/lib/server/services/utils/RGB.js +11 -0
  475. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  476. package/lib/server/services/utils/catchEmResult.js +10 -0
  477. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  478. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  479. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  480. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  481. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  482. package/lib/server/services/utils/index.d.ts +4 -1
  483. package/lib/server/services/utils/index.js +8 -1
  484. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  485. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  486. package/lib/server/services/utils/utils.d.ts +9 -13
  487. package/lib/server/services/victron/victron-device.d.ts +27 -10
  488. package/lib/server/services/victron/victron-device.js +94 -25
  489. package/lib/server/services/weather/index.d.ts +2 -0
  490. package/lib/server/services/weather/index.js +3 -0
  491. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  492. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  493. package/lib/server/services/weather/weather-current.d.ts +0 -2
  494. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  495. package/lib/server/services/weather/weather-response.d.ts +16 -0
  496. package/lib/server/services/weather/weather-response.js +2 -0
  497. package/lib/server/services/weather/weather-service.d.ts +15 -18
  498. package/lib/server/services/weather/weather-service.js +32 -22
  499. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  500. package/lib/tsconfig.tsbuildinfo +1 -1
  501. package/package.json +6 -8
  502. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  503. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  504. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  505. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  506. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  507. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -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,14 +51,13 @@ 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;
@@ -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(models_1.CommandSource.Automatic, 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(models_1.CommandSource.Automatic, 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(models_1.CommandSource.Automatic, 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,7 +194,7 @@ 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
199
  if (((_a = this.getRoom().PraesenzGroup) === null || _a === void 0 ? void 0 : _a.anyPresent()) !== true) {
219
200
  this.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Ambient Light End Callback'));
@@ -1,3 +1,4 @@
1
+ import { PresenceGroupFirstEnterAction, PresenceGroupLastLeftAction } from '../../../models';
1
2
  import { BaseGroup } from './base-group';
2
3
  import { iMotionSensor } from '../baseDeviceInterfaces';
3
4
  export declare class PresenceGroup extends BaseGroup {
@@ -9,15 +10,21 @@ export declare class PresenceGroup extends BaseGroup {
9
10
  getMotionDetector(): Array<iMotionSensor>;
10
11
  initCallbacks(): void;
11
12
  presentAmount(): number;
13
+ addLastLeftCallback(cb: (action: PresenceGroupLastLeftAction) => void): void;
12
14
  anyPresent(): boolean;
13
- addLastLeftCallback(cb: () => void): void;
14
- addFirstEnterCallback(cb: () => void): void;
15
+ private fireFistEnterCBs;
16
+ addFirstEnterCallback(cb: (action: PresenceGroupFirstEnterAction) => void): void;
17
+ private motionSensorOnAnyMovement;
15
18
  private motionSensorOnLastLeft;
19
+ /**
20
+ * Calculates whether we are after (negative if before) the time the movement
21
+ * reset timer should have reset the movement.
22
+ * @returns The time in milliseconds after the reset time.
23
+ */
24
+ private getTimeAfterReset;
16
25
  /**
17
26
  * In case of an existing delayed last left callback timeout, this removes it.
18
- * @private
19
27
  */
20
28
  private resetLastLeftTimeout;
21
- private motionSensorOnFirstEnter;
22
29
  private executeLastLeftCbs;
23
30
  }
@@ -21,113 +21,106 @@ class PresenceGroup extends base_group_1.BaseGroup {
21
21
  }
22
22
  initCallbacks() {
23
23
  this.getMotionDetector().forEach((b) => {
24
- b.addMovementCallback((val) => {
25
- var _a;
26
- if (!val) {
24
+ b.addMovementCallback((action) => {
25
+ if (!action.motionDetected && !this.anyPresent()) {
26
+ this.motionSensorOnLastLeft(action);
27
27
  return;
28
28
  }
29
- if (services_1.RoomService.awayModeActive || (services_1.RoomService.nightAlarmActive && !b.settings.excludeFromNightAlarm)) {
30
- services_1.RoomService.startIntrusionAlarm(this.getRoom(), b);
29
+ if (!action.motionDetected && this.anyPresent()) {
30
+ this.resetLastLeftTimeout();
31
+ return;
31
32
  }
32
- if (!b.settings.seesWindow) {
33
- (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(true);
33
+ // At this Point we can be certain about motion being detected.
34
+ this.log(models_1.LogLevel.Debug, `New Motion detected, present Amount: ${this.presentAmount()}`, services_1.LogDebugType.NewMovementState);
35
+ this.motionSensorOnAnyMovement(action);
36
+ if (this.presentAmount() === 1 && this._lastLeftTimeout === null) {
37
+ this.fireFistEnterCBs(action);
34
38
  }
35
- services_1.RoomService.movementHistory.add(`${services_1.Utils.nowString()}: Raum "${this.roomName}" Gerät "${b.info.fullName}"`);
39
+ this.resetLastLeftTimeout();
36
40
  });
37
41
  });
38
- this.addLastLeftCallback(() => {
42
+ this.addLastLeftCallback((action) => {
39
43
  var _a, _b;
40
44
  (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(false);
41
- (_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Automatic, false, 'Presence Group LastLeftCallback'));
45
+ (_b = this.getRoom().LightGroup) === null || _b === void 0 ? void 0 : _b.switchAll(new models_1.ActuatorSetStateCommand(action, false, 'Presence Group LastLeftCallback'));
42
46
  });
43
- this.addFirstEnterCallback(() => {
47
+ this.addFirstEnterCallback((action) => {
44
48
  if (!this.getRoom().settings.lampenBeiBewegung) {
45
49
  return;
46
50
  }
47
51
  this.log(models_1.LogLevel.DeepTrace, `Bewegung im Raum ${this.roomName} festgestellt --> Licht einschalten`);
48
- this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(models_1.CommandSource.Automatic, true, 'Motion detected'));
49
- });
50
- this.getMotionDetector().forEach((b) => {
51
- b.addMovementCallback((val) => {
52
- this.motionSensorOnFirstEnter(val);
53
- });
54
- });
55
- this.getMotionDetector().forEach((b) => {
56
- b.addMovementCallback((val) => {
57
- this.motionSensorOnLastLeft(val);
58
- });
52
+ this.getRoom().setLightTimeBased(new models_1.RoomSetLightTimeBasedCommand(action, true));
59
53
  });
60
54
  }
61
55
  presentAmount() {
62
- let count = 0;
63
- for (let i = 0; i < this.getMotionDetector().length; i++) {
64
- if (this.getMotionDetector()[i].movementDetected) {
65
- count++;
66
- }
67
- }
68
- return count;
69
- }
70
- anyPresent() {
71
- for (let i = 0; i < this.getMotionDetector().length; i++) {
72
- if (this.getMotionDetector()[i].movementDetected) {
73
- return true;
74
- }
75
- }
76
- return false;
56
+ return this.getMotionDetector().filter((b) => b.movementDetected).length;
77
57
  }
78
58
  addLastLeftCallback(cb) {
79
59
  this._lastLeftCbs.push(cb);
80
60
  }
61
+ anyPresent() {
62
+ return this.getMotionDetector().find((b) => b.movementDetected) !== undefined;
63
+ }
64
+ fireFistEnterCBs(action) {
65
+ for (const cb of this._firstEnterCbs) {
66
+ cb(new models_1.PresenceGroupFirstEnterAction(action));
67
+ }
68
+ }
81
69
  addFirstEnterCallback(cb) {
82
70
  this._firstEnterCbs.push(cb);
83
71
  }
84
- motionSensorOnLastLeft(val) {
85
- if (val || this.anyPresent()) {
86
- this.resetLastLeftTimeout();
87
- return;
72
+ motionSensorOnAnyMovement(action) {
73
+ var _a;
74
+ this._lastMovement = new Date();
75
+ if (services_1.RoomService.awayModeActive || (services_1.RoomService.nightAlarmActive && !action.sensor.settings.excludeFromNightAlarm)) {
76
+ services_1.RoomService.startIntrusionAlarm(this.getRoom(), action.sensor);
77
+ }
78
+ if (!action.sensor.settings.seesWindow) {
79
+ (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.changeVibrationMotionBlock(true);
88
80
  }
89
- let timeAfterReset = services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
81
+ services_1.RoomService.movementHistory.add(`${services_1.Utils.nowString()}: Raum "${this.roomName}" Gerät "${action.sensor.info.fullName}"`);
82
+ }
83
+ motionSensorOnLastLeft(action) {
84
+ let timeAfterReset = this.getTimeAfterReset();
90
85
  if (timeAfterReset > 0) {
91
86
  this.log(models_1.LogLevel.Debug, `Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
92
- this.executeLastLeftCbs();
87
+ this.executeLastLeftCbs(new models_1.PresenceGroupLastLeftAction(action));
93
88
  return;
94
89
  }
95
- this.log(models_1.LogLevel.Debug, `Movement reset in ${this.roomName} delayed.`);
90
+ const newResetTime = new Date(services_1.Utils.nowMS() + Math.abs(timeAfterReset));
91
+ this.log(models_1.LogLevel.Debug, `Movement reset in ${this.roomName} delayed to ${newResetTime.toLocaleTimeString('de-DE')}.`);
96
92
  this.resetLastLeftTimeout();
97
93
  this._lastLeftTimeout = services_1.Utils.guardedTimeout(() => {
98
- timeAfterReset =
99
- services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
94
+ this._lastLeftTimeout = null;
95
+ timeAfterReset = this.getTimeAfterReset();
100
96
  const presentAmount = this.presentAmount();
101
- this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${this.presentAmount()}\tTime after Last Movement including Reset: ${timeAfterReset}`);
97
+ this.log(models_1.LogLevel.Debug, `Delayed Movement reset. Active Motions: ${presentAmount}\tTime after Last Movement including Reset: ${timeAfterReset}, action: ${action.reasonTrace}`);
102
98
  if (presentAmount <= 0 && timeAfterReset > 0) {
103
- this.executeLastLeftCbs();
99
+ this.executeLastLeftCbs(new models_1.PresenceGroupLastLeftAction(action));
104
100
  }
105
101
  }, Math.abs(timeAfterReset) + 500, this);
106
102
  }
103
+ /**
104
+ * Calculates whether we are after (negative if before) the time the movement
105
+ * reset timer should have reset the movement.
106
+ * @returns The time in milliseconds after the reset time.
107
+ */
108
+ getTimeAfterReset() {
109
+ return services_1.Utils.nowMS() - this._lastMovement.getTime() - this.getRoom().settings.movementResetTimer * 1000;
110
+ }
107
111
  /**
108
112
  * In case of an existing delayed last left callback timeout, this removes it.
109
- * @private
110
113
  */
111
114
  resetLastLeftTimeout() {
112
- if (this._lastLeftTimeout !== null) {
113
- clearTimeout(this._lastLeftTimeout);
114
- }
115
- }
116
- motionSensorOnFirstEnter(val) {
117
- if (!val) {
118
- return;
119
- }
120
- this._lastMovement = new Date();
121
- if (this.presentAmount() > 1) {
115
+ if (this._lastLeftTimeout === null) {
122
116
  return;
123
117
  }
124
- for (const cb of this._firstEnterCbs) {
125
- cb();
126
- }
118
+ clearTimeout(this._lastLeftTimeout);
119
+ this._lastLeftTimeout = null;
127
120
  }
128
- executeLastLeftCbs() {
121
+ executeLastLeftCbs(action) {
129
122
  for (const cb of this._lastLeftCbs) {
130
- cb();
123
+ cb(action);
131
124
  }
132
125
  }
133
126
  }
@@ -25,42 +25,42 @@ class TasterGroup extends base_group_1.BaseGroup {
25
25
  return;
26
26
  }
27
27
  (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 0, 'Button Top Left pressed long'));
28
- }, `Close all Rollos in this room`);
28
+ }, 'Close all Rollos in this room');
29
29
  (_b = t.buttonTopLeft) === null || _b === void 0 ? void 0 : _b.addCb(button_1.ButtonPressType.short, (pValue) => {
30
30
  var _a;
31
31
  if (!pValue) {
32
32
  return;
33
33
  }
34
34
  (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 25, 'Button Top Left pressed short'));
35
- }, `Nearly closes all Rollos in this room`);
35
+ }, 'Nearly closes all Rollos in this room');
36
36
  (_c = t.buttonTopRight) === null || _c === void 0 ? void 0 : _c.addCb(button_1.ButtonPressType.long, (pValue) => {
37
37
  var _a;
38
38
  if (!pValue) {
39
39
  return;
40
40
  }
41
41
  (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 100, 'Button Top Right pressed long'));
42
- }, `Open all Rollos in this room`);
42
+ }, 'Open all Rollos in this room');
43
43
  (_d = t.buttonTopRight) === null || _d === void 0 ? void 0 : _d.addCb(button_1.ButtonPressType.short, (pValue) => {
44
44
  var _a;
45
45
  if (!pValue) {
46
46
  return;
47
47
  }
48
48
  (_a = this.getRoom().WindowGroup) === null || _a === void 0 ? void 0 : _a.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(models_1.CommandSource.Manual, 50, 'Button Top Right pressed short'));
49
- }, `All Rollos in this room to middle`);
49
+ }, 'All Rollos in this room to middle');
50
50
  (_e = t.buttonMidLeft) === null || _e === void 0 ? void 0 : _e.addCb(button_1.ButtonPressType.long, (pValue) => {
51
51
  var _a;
52
52
  if (!pValue) {
53
53
  return;
54
54
  }
55
55
  (_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, true, 'Button press to turn all lights on'));
56
- }, `Turn all Lights in this room on`);
56
+ }, 'Turn all Lights in this room on');
57
57
  (_f = t.buttonMidRight) === null || _f === void 0 ? void 0 : _f.addCb(button_1.ButtonPressType.long, (pValue) => {
58
58
  var _a;
59
59
  if (!pValue) {
60
60
  return;
61
61
  }
62
62
  (_a = this.getRoom().LightGroup) === null || _a === void 0 ? void 0 : _a.switchAll(new models_1.ActuatorSetStateCommand(models_1.CommandSource.Manual, false, 'Button press to turn all lights off'));
63
- }, `Turn all Lights in this room off`);
63
+ }, 'Turn all Lights in this room off');
64
64
  if (((_g = services_1.SettingsService.settings.sonos) === null || _g === void 0 ? void 0 : _g.buttonBotRightForRadio) === true) {
65
65
  const sonosGroup = this.getRoom().SonosGroup;
66
66
  if (sonosGroup !== undefined && sonosGroup.getOwnSonosDevices().length > 0) {
@@ -3,7 +3,17 @@ import { Window } from './Window';
3
3
  import { BaseGroup } from './base-group';
4
4
  export declare class WindowGroup extends BaseGroup {
5
5
  windows: Window[];
6
+ /**
7
+ * Timecallback for sunrise-shutter actions
8
+ * @remarks This callback is only set if needed and already calculated.
9
+ * @warning Manual setting of this callback is not recommended. Prefer {@link recalcTimeCallbacks} after changing settings.
10
+ */
6
11
  sunriseShutterCallback: TimeCallback | undefined;
12
+ /**
13
+ * Timecallback for sunset-shutter actions
14
+ * @remarks This callback is only set if needed and already calculated.
15
+ * @warning Manual setting of this callback is not recommended. Prefer {@link recalcTimeCallbacks} after changing settings.
16
+ */
7
17
  sunsetShutterCallback: TimeCallback | undefined;
8
18
  constructor(roomName: string, windows: Window[]);
9
19
  setDesiredPosition(c: WindowSetDesiredPositionCommand): void;
@@ -11,7 +21,7 @@ export declare class WindowGroup extends BaseGroup {
11
21
  recalcTimeCallbacks(): void;
12
22
  setRolloByWeatherStatus(c: WindowSetRolloByWeatherStatusCommand): void;
13
23
  sunriseUp(c: ShutterSunriseUpCommand): void;
14
- restoreRolloPosition(c: RoomRestoreShutterPositionCommand): void;
24
+ restoreShutterPosition(c: RoomRestoreShutterPositionCommand): void;
15
25
  changeVibrationMotionBlock(block: boolean): void;
16
26
  private sunsetDown;
17
27
  private reconfigureSunsetShutterCallback;
@@ -62,7 +62,7 @@ class WindowGroup extends base_group_1.BaseGroup {
62
62
  return;
63
63
  }
64
64
  if (darkOutside) {
65
- f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c, `It's dark outside.`));
65
+ f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c, "It's dark outside."));
66
66
  return;
67
67
  }
68
68
  let desiredPos = f.desiredPosition;
@@ -79,14 +79,14 @@ class WindowGroup extends base_group_1.BaseGroup {
79
79
  });
80
80
  }
81
81
  sunriseUp(c) {
82
- this.windows.forEach((f) => {
83
- if (!this.getRoom().settings.sonnenAufgangRollos || f.getShutter().length === 0) {
82
+ this.windows.forEach((w) => {
83
+ if (!this.getRoom().settings.sonnenAufgangRollos || w.getShutter().length === 0) {
84
84
  return;
85
85
  }
86
- f.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(c, 100));
86
+ w.setDesiredPosition(new models_1.WindowSetDesiredPositionCommand(c, 100));
87
87
  });
88
88
  }
89
- restoreRolloPosition(c) {
89
+ restoreShutterPosition(c) {
90
90
  if (!c.recalc) {
91
91
  this.windows.forEach((f) => {
92
92
  f.restoreDesiredPosition(new models_1.WindowRestoreDesiredPositionCommand(c));
@@ -164,7 +164,7 @@ class WindowGroup extends base_group_1.BaseGroup {
164
164
  }
165
165
  if (this.sunriseShutterCallback === undefined) {
166
166
  this.log(models_1.LogLevel.Debug, `Add Sunrise shutter TimeCallback for ${this.roomName}`);
167
- this.sunriseShutterCallback = new models_1.TimeCallback(`${this.roomName} Sonnenaufgang Rollos`, models_1.TimeCallbackType.Sunrise, () => {
167
+ this.sunriseShutterCallback = new models_1.TimeCallback(`${this.roomName} Sunrise Shutter`, models_1.TimeCallbackType.Sunrise, () => {
168
168
  if (room.skipNextRolloUp) {
169
169
  this.log(models_1.LogLevel.Info, `${this.roomName} skipped sunrise up due to room.skipNextRolloUp`);
170
170
  room.skipNextRolloUp = false;
@@ -4,6 +4,7 @@ export declare class HmIpAccessPoint extends HmIPDevice {
4
4
  constructor(pInfo: IoBrokerDeviceInfo);
5
5
  private _ip;
6
6
  get ip(): string;
7
+ /** @inheritDoc */
7
8
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
8
9
  private updateBaseInformation;
9
10
  }
@@ -12,6 +12,7 @@ class HmIpAccessPoint extends hmIpDevice_1.HmIPDevice {
12
12
  get ip() {
13
13
  return this._ip;
14
14
  }
15
+ /** @inheritDoc */
15
16
  update(idSplit, state, initial = false) {
16
17
  this.log(models_1.LogLevel.DeepTrace, `AP Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
17
18
  super.update(idSplit, state, initial, true);
@@ -1,26 +1,29 @@
1
1
  import { HmIPDevice } from './hmIpDevice';
2
- import { MotionSensorSettings } from '../../../models';
2
+ import { MotionSensorAction, MotionSensorSettings } from '../../../models';
3
3
  import { iIlluminationSensor, iMotionSensor } from '../baseDeviceInterfaces';
4
4
  import { IoBrokerDeviceInfo } from '../IoBrokerDeviceInfo';
5
5
  export declare class HmIpBewegung extends HmIPDevice implements iIlluminationSensor, iMotionSensor {
6
6
  private static MOVEMENT_DETECTION;
7
7
  private static CURRENT_ILLUMINATION;
8
+ /** @inheritDoc */
8
9
  settings: MotionSensorSettings;
10
+ /** @inheritDoc */
9
11
  movementDetected: boolean;
12
+ /** @inheritDoc */
13
+ detectionsToday: number;
10
14
  private _movementDetectedCallback;
11
15
  private initialized;
12
16
  private _fallBackTimeout;
13
17
  private _lastMotionTime;
18
+ private _currentIllumination;
14
19
  constructor(pInfo: IoBrokerDeviceInfo);
20
+ /** @inheritDoc */
15
21
  get timeSinceLastMotion(): number;
16
- private _detectionsToday;
17
- get detectionsToday(): number;
18
- set detectionsToday(pVal: number);
19
- private _currentIllumination;
20
22
  get currentIllumination(): number;
21
23
  private set currentIllumination(value);
22
- addMovementCallback(pCallback: (pValue: boolean) => void): void;
24
+ addMovementCallback(pCallback: (action: MotionSensorAction) => void): void;
23
25
  persistMotionSensor(): void;
26
+ /** @inheritDoc */
24
27
  update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
25
28
  updateMovement(pVal: boolean): void;
26
29
  private resetFallbackTimeout;