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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +20 -20
  3. package/lib/liquid-pid.d.ts +2 -5
  4. package/lib/liquid-pid.js +3 -5
  5. package/lib/models/action/baseAction.d.ts +4 -0
  6. package/lib/models/action/baseAction.js +10 -0
  7. package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
  8. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  9. package/lib/models/action/index.d.ts +7 -0
  10. package/lib/models/action/index.js +25 -0
  11. package/lib/models/action/motionSensorAction.d.ts +16 -0
  12. package/lib/models/action/motionSensorAction.js +15 -0
  13. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  14. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  15. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  17. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  18. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  19. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  20. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  21. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  22. package/lib/models/blockAutomaticSettings.js +19 -0
  23. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  24. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  25. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  26. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  27. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  28. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  29. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  30. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  31. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  32. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  33. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  34. package/lib/models/command/actuatorToggleCommand.js +7 -4
  35. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +9 -2
  36. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +13 -2
  37. package/lib/models/command/baseCommand.d.ts +23 -2
  38. package/lib/models/command/baseCommand.js +41 -1
  39. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  40. package/lib/models/command/blockAutomaticCommand.js +40 -0
  41. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  42. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  43. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  44. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  45. package/lib/models/command/commandSource.d.ts +19 -0
  46. package/lib/models/command/commandSource.js +20 -0
  47. package/lib/models/command/commandType.d.ts +9 -0
  48. package/lib/models/command/commandType.js +9 -0
  49. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  50. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  51. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  52. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  53. package/lib/models/command/index.d.ts +3 -0
  54. package/lib/models/command/index.js +7 -1
  55. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  56. package/lib/models/command/lampSetLightCommand.js +15 -4
  57. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  58. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  59. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  60. package/lib/models/command/lampToggleLightCommand.js +7 -6
  61. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  62. package/lib/models/command/ledSetLightCommand.js +27 -17
  63. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  64. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  65. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  66. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  67. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  68. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  69. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  70. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  71. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  72. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  73. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  74. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  75. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  77. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  78. package/lib/models/command/wledSetLightCommand.js +23 -7
  79. package/lib/models/connectionCallbacks.d.ts +4 -4
  80. package/lib/models/connectionCallbacks.js +1 -0
  81. package/lib/models/deviceConfig.d.ts +3 -3
  82. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  83. package/lib/models/deviceSettings/acSettings.js +23 -8
  84. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  85. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  86. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  87. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  88. package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
  89. package/lib/models/deviceSettings/dachsSettings.js +3 -0
  90. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  91. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  92. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  93. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  94. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  95. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  96. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  97. package/lib/models/deviceSettings/handleSettings.js +9 -0
  98. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  99. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  100. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  101. package/lib/models/deviceSettings/ledSettings.js +76 -18
  102. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  103. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  104. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  105. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  106. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  107. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  108. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  109. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  111. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  112. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  113. package/lib/models/deviceSettings/wledSettings.js +37 -13
  114. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  115. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  116. package/lib/models/iIdHolder.d.ts +18 -0
  117. package/lib/models/index.d.ts +2 -1
  118. package/lib/models/index.js +4 -1
  119. package/lib/models/objectSettings.d.ts +5 -2
  120. package/lib/models/objectSettings.js +2 -2
  121. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  122. package/lib/models/persistence/EnergyCalculation.js +30 -4
  123. package/lib/models/persistence/index.d.ts +0 -2
  124. package/lib/models/persistence/index.js +0 -2
  125. package/lib/models/rooms/RoomBase.d.ts +12 -1
  126. package/lib/models/rooms/RoomBase.js +17 -8
  127. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  128. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  129. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  130. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  131. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  132. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  133. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  134. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  135. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  136. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  137. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  138. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  139. package/lib/models/timeCallback.d.ts +7 -0
  140. package/lib/models/timeCallback.js +16 -6
  141. package/lib/server/config/heatingMode.d.ts +2 -1
  142. package/lib/server/config/heatingMode.js +2 -1
  143. package/lib/server/config/iAsusConfig.d.ts +15 -0
  144. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  145. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  146. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  147. package/lib/server/config/iConfig.d.ts +92 -5
  148. package/lib/server/config/iDachsSettings.d.ts +16 -0
  149. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  150. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  151. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  152. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  153. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  154. package/lib/server/config/iLogSettings.d.ts +36 -1
  155. package/lib/server/config/iMp3Settings.d.ts +10 -0
  156. package/lib/server/config/iMuellSettings.d.ts +7 -0
  157. package/lib/server/config/iNewsSettings.d.ts +13 -0
  158. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  159. package/lib/server/config/iPollySettings.d.ts +22 -0
  160. package/lib/server/config/iRestSettings.d.ts +10 -0
  161. package/lib/server/config/iSonosSettings.d.ts +10 -0
  162. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  163. package/lib/server/config/iTibberSettings.d.ts +10 -0
  164. package/lib/server/config/iTimePair.d.ts +9 -0
  165. package/lib/server/config/iTimeSettings.d.ts +9 -0
  166. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  167. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  168. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  169. package/lib/server/config/iVictronSettings.d.ts +14 -0
  170. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  171. package/lib/server/config/index.d.ts +1 -0
  172. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  173. package/lib/server/devices/DeviceCapability.js +1 -0
  174. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  175. package/lib/server/devices/DeviceInfo.js +6 -0
  176. package/lib/server/devices/Griffe.js +1 -2
  177. package/lib/server/devices/Heizgruppen.js +2 -2
  178. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  179. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  180. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  181. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  182. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  183. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  184. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  185. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +12 -1
  186. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  187. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  189. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  190. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +32 -2
  191. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  192. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  193. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  194. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  195. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  196. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  198. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  199. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  200. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  202. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  203. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  205. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  206. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  207. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  209. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  210. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  212. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  213. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  214. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  215. package/lib/server/devices/button/button.d.ts +0 -1
  216. package/lib/server/devices/button/button.js +0 -4
  217. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  218. package/lib/server/devices/button/buttonCallback.js +10 -0
  219. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  220. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  221. package/lib/server/devices/button/index.d.ts +1 -0
  222. package/lib/server/devices/button/index.js +3 -0
  223. package/lib/server/devices/dachs/dachs.d.ts +31 -9
  224. package/lib/server/devices/dachs/dachs.js +28 -18
  225. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  226. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  227. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  228. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  229. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  230. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  231. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  232. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +1 -1
  233. package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
  234. package/lib/server/devices/device-cluster.d.ts +3 -0
  235. package/lib/server/devices/device-cluster.js +1 -1
  236. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  237. package/lib/server/devices/deviceUpdater.js +1 -4
  238. package/lib/server/devices/devices.d.ts +43 -7
  239. package/lib/server/devices/devices.js +42 -6
  240. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  241. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  242. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  243. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  244. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  245. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  246. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  247. package/lib/server/devices/espresense/trilateration.js +7 -0
  248. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  249. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  250. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  251. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  252. package/lib/server/devices/groups/Window.d.ts +9 -3
  253. package/lib/server/devices/groups/Window.js +19 -11
  254. package/lib/server/devices/groups/base-group.d.ts +4 -0
  255. package/lib/server/devices/groups/base-group.js +3 -0
  256. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  257. package/lib/server/devices/groups/heatGroup.js +11 -11
  258. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  259. package/lib/server/devices/groups/lightGroup.js +16 -34
  260. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  261. package/lib/server/devices/groups/presenceGroup.js +53 -64
  262. package/lib/server/devices/groups/tasterGroup.js +6 -6
  263. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  264. package/lib/server/devices/groups/windowGroup.js +6 -6
  265. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  266. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  267. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  268. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  269. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  270. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  271. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +27 -5
  272. package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
  273. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  274. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  275. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
  276. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
  277. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  278. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  279. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +11 -9
  280. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +13 -11
  281. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  282. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  283. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
  284. package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
  285. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
  286. package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
  287. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  288. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  289. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  290. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  291. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  292. package/lib/server/devices/index.d.ts +5 -2
  293. package/lib/server/devices/index.js +8 -2
  294. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +3 -1
  295. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +5 -3
  296. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  297. package/lib/server/devices/nameAmountValuePair.js +10 -0
  298. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  299. package/lib/server/devices/scene/room-scene.js +18 -4
  300. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  301. package/lib/server/devices/sharedFunctions/lampUtils.js +80 -26
  302. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  303. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  304. package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
  305. package/lib/server/devices/shelly/shellyTrv.js +46 -45
  306. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  307. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  308. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  309. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  310. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  311. package/lib/server/devices/tv/samsungTv.js +1 -0
  312. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  313. package/lib/server/devices/tv/tvDevice.js +4 -3
  314. package/lib/server/devices/wledDevice.d.ts +15 -3
  315. package/lib/server/devices/wledDevice.js +42 -16
  316. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  317. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  318. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  319. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  320. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  321. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  322. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  323. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +30 -65
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -14
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +22 -14
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +46 -42
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  338. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  339. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  340. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  341. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  342. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  343. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  344. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +49 -11
  345. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
  346. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
  347. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
  348. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  349. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  350. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  351. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  352. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
  353. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
  354. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  355. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  356. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  357. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  358. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  359. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  360. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  361. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  363. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  364. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  367. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  368. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  371. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  372. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  375. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  376. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  377. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  378. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +20 -2
  379. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +22 -5
  380. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  381. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  382. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  383. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  384. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  385. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  386. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  387. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  388. package/lib/server/ioBroker/connection.d.ts +21 -20
  389. package/lib/server/ioBroker/connection.js +37 -28
  390. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  391. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  392. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  393. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  394. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  395. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  396. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  397. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  398. package/lib/server/services/ShutterService.js +6 -6
  399. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  400. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  401. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  402. package/lib/server/services/Sonos/mp3-server.js +3 -1
  403. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  404. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  405. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  406. package/lib/server/services/Sonos/polly-service.js +10 -8
  407. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  408. package/lib/server/services/Sonos/sonos-service.js +6 -10
  409. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  410. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  411. package/lib/server/services/Telegram/telegram-service.js +8 -3
  412. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  413. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  414. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  415. package/lib/server/services/Translation/index.d.ts +1 -0
  416. package/lib/server/services/Translation/res.d.ts +34 -19
  417. package/lib/server/services/Translation/res.js +34 -19
  418. package/lib/server/services/ac/ac-device.d.ts +48 -6
  419. package/lib/server/services/ac/ac-device.js +86 -36
  420. package/lib/server/services/ac/daikin-service.js +4 -3
  421. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  422. package/lib/server/services/ac/own-ac-devices.js +3 -0
  423. package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
  424. package/lib/server/services/ac/own-daikin-device.js +32 -7
  425. package/lib/server/services/api/api-service.d.ts +118 -53
  426. package/lib/server/services/api/api-service.js +170 -80
  427. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  428. package/lib/server/services/blockAutomaticHandler.js +34 -15
  429. package/lib/server/services/calendar/index.d.ts +1 -0
  430. package/lib/server/services/calendar/index.js +3 -0
  431. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  432. package/lib/server/services/calendar/muell-tonne.js +10 -0
  433. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  434. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  435. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  436. package/lib/server/services/calendar/name-date-pair.js +10 -0
  437. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  438. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  439. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  440. package/lib/server/services/file-info.d.ts +5 -0
  441. package/lib/server/services/file-info.js +10 -0
  442. package/lib/server/services/govee/govee-service.d.ts +1 -5
  443. package/lib/server/services/govee/govee-service.js +3 -5
  444. package/lib/server/services/govee/own-govee-device.d.ts +17 -13
  445. package/lib/server/services/govee/own-govee-device.js +27 -27
  446. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  447. package/lib/server/services/govee/own-govee-devices.js +3 -0
  448. package/lib/server/services/https-service.d.ts +3 -2
  449. package/lib/server/services/https-service.js +4 -3
  450. package/lib/server/services/index.d.ts +1 -0
  451. package/lib/server/services/index.js +3 -0
  452. package/lib/server/services/log-service/index.d.ts +1 -0
  453. package/lib/server/services/log-service/index.js +3 -0
  454. package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
  455. package/lib/server/services/log-service/log-debug-type.js +16 -0
  456. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  457. package/lib/server/services/log-service/log-filter-data.js +6 -15
  458. package/lib/server/services/log-service/log-service.d.ts +17 -4
  459. package/lib/server/services/log-service/log-service.js +30 -17
  460. package/lib/server/services/news-service.d.ts +9 -7
  461. package/lib/server/services/news-service.js +14 -15
  462. package/lib/server/services/room-service/room-service.d.ts +20 -4
  463. package/lib/server/services/room-service/room-service.js +26 -10
  464. package/lib/server/services/settings-service.d.ts +6 -2
  465. package/lib/server/services/settings-service.js +3 -2
  466. package/lib/server/services/time-callback-service.js +1 -1
  467. package/lib/server/services/utils/RGB.d.ts +6 -0
  468. package/lib/server/services/utils/RGB.js +11 -0
  469. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  470. package/lib/server/services/utils/catchEmResult.js +10 -0
  471. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  472. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  473. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  474. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  475. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  476. package/lib/server/services/utils/index.d.ts +4 -1
  477. package/lib/server/services/utils/index.js +8 -1
  478. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  479. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  480. package/lib/server/services/utils/utils.d.ts +9 -13
  481. package/lib/server/services/victron/victron-device.d.ts +6 -2
  482. package/lib/server/services/victron/victron-device.js +12 -9
  483. package/lib/server/services/weather/index.d.ts +2 -0
  484. package/lib/server/services/weather/index.js +3 -0
  485. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  486. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  487. package/lib/server/services/weather/weather-current.d.ts +0 -2
  488. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  489. package/lib/server/services/weather/weather-response.d.ts +16 -0
  490. package/lib/server/services/weather/weather-response.js +2 -0
  491. package/lib/server/services/weather/weather-service.d.ts +15 -18
  492. package/lib/server/services/weather/weather-service.js +32 -22
  493. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  494. package/lib/tsconfig.tsbuildinfo +1 -1
  495. package/package.json +6 -7
  496. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  497. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  498. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  499. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  500. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  501. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -14,45 +14,37 @@ const DeviceCapability_1 = require("../DeviceCapability");
14
14
  const deviceType_1 = require("../deviceType");
15
15
  const ioBroker_1 = require("../../ioBroker");
16
16
  class CameraDevice {
17
- get lastImage() {
18
- return this._lastImage;
19
- }
20
- get dogDetected() {
21
- return this._dogDetected;
22
- }
23
- get personDetected() {
24
- return this._personDetected;
25
- }
26
- get alarmBlockedByGriffTimeStamp() {
27
- return this._alarmBlockedByGriffTimeStamp;
28
- }
29
- get alarmBlockedByGriff() {
30
- return this._alarmGriffBlockCount > 0;
31
- }
32
17
  constructor(mqttName, roomName, blueIrisName) {
33
18
  var _a;
19
+ /** @inheritDoc */
20
+ this.settings = new models_1.CameraSettings();
21
+ /** @inheritDoc */
22
+ this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.camera, DeviceCapability_1.DeviceCapability.motionSensor];
23
+ /** @inheritDoc */
24
+ this.deviceType = deviceType_1.DeviceType.Camera;
25
+ /** @inheritDoc */
26
+ this.mpegStreamLink = '';
27
+ /** @inheritDoc */
28
+ this.h264IosStreamLink = '';
29
+ /** @inheritDoc */
30
+ this.rtspStreamLink = '';
31
+ /** @inheritDoc */
32
+ this.currentImageLink = '';
33
+ /** @inheritDoc */
34
+ this.detectionsToday = 0;
35
+ this._lastMotion = 0;
34
36
  this._personDetectFallbackTimeout = null;
35
37
  this._movementDetectFallbackTimeout = null;
36
38
  this._dogDetectFallbackTimeout = null;
37
39
  this._personDetectedStateId = undefined;
38
40
  this._dogDetectedStateId = undefined;
39
41
  this._movementDetectedStateId = undefined;
40
- this.settings = new models_1.CameraSettings();
41
- this.deviceCapabilities = [DeviceCapability_1.DeviceCapability.camera, DeviceCapability_1.DeviceCapability.motionSensor];
42
- this.deviceType = deviceType_1.DeviceType.Camera;
43
- this._lastMotion = 0;
44
42
  this._initialized = false;
45
43
  this._movementDetectedCallback = [];
46
44
  this._lastImage = '';
47
45
  this._personDetected = false;
48
46
  this._dogDetected = false;
49
- this._alarmGriffBlockCount = 0;
50
- this._alarmBlockedByGriffTimeStamp = 0;
51
- this.mpegStreamLink = '';
52
- this.h264IosStreamLink = '';
53
- this.rtspStreamLink = '';
54
- this.currentImageLink = '';
55
- this._detectionsToday = 0;
47
+ this._devicesBlockingAlarmMap = new Map();
56
48
  this._movementDetected = false;
57
49
  this.blueIrisName = blueIrisName;
58
50
  this.name = mqttName;
@@ -87,59 +79,67 @@ class CameraDevice {
87
79
  });
88
80
  }
89
81
  }
90
- get detectionsToday() {
91
- return this._detectionsToday;
82
+ /** @inheritDoc */
83
+ get lastImage() {
84
+ return this._lastImage;
85
+ }
86
+ /** @inheritDoc */
87
+ get dogDetected() {
88
+ return this._dogDetected;
89
+ }
90
+ /** @inheritDoc */
91
+ get personDetected() {
92
+ return this._personDetected;
92
93
  }
93
- set detectionsToday(pVal) {
94
- this._detectionsToday = pVal;
94
+ /** @inheritDoc */
95
+ get alarmBlockedByDevices() {
96
+ return this._devicesBlockingAlarmMap.size > 0;
95
97
  }
98
+ /** @inheritDoc */
96
99
  get movementDetected() {
97
100
  return this._movementDetected;
98
101
  }
102
+ /** @inheritDoc */
99
103
  get info() {
100
104
  return this._info;
101
105
  }
102
- set info(info) {
103
- this._info = info;
104
- }
105
- /**
106
- * Time since Last Motion in seconds
107
- * @returns {number}
108
- */
106
+ /** @inheritDoc */
109
107
  get timeSinceLastMotion() {
110
108
  return Math.round((services_1.Utils.nowMS() - this._lastMotion) / 1000);
111
109
  }
110
+ /** @inheritDoc */
112
111
  get customName() {
113
112
  return this.info.customName;
114
113
  }
114
+ /** @inheritDoc */
115
115
  get id() {
116
116
  var _a;
117
117
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `camera-${this.info.room}-${this.info.customName}`;
118
118
  }
119
+ /** @inheritDoc */
119
120
  get room() {
120
121
  return services_1.API.getRoom(this.info.room);
121
122
  }
122
- /**
123
- * Adds a callback for when a motion state has changed.
124
- * @param pCallback Function that accepts the new state as parameter
125
- */
123
+ /** @inheritDoc */
126
124
  addMovementCallback(pCallback) {
127
125
  this._movementDetectedCallback.push(pCallback);
128
126
  }
129
- onGriffUpdate(open) {
130
- this._alarmGriffBlockCount += open ? 1 : -1;
131
- if (this._alarmGriffBlockCount < 0) {
132
- this._alarmGriffBlockCount = 0;
127
+ /** @inheritDoc */
128
+ blockForDevice(device, block) {
129
+ if (block) {
130
+ this._devicesBlockingAlarmMap.set(device.id, device);
133
131
  }
134
- if (this._alarmGriffBlockCount == 1) {
135
- this._alarmBlockedByGriffTimeStamp = new Date().getTime();
132
+ else {
133
+ this._devicesBlockingAlarmMap.delete(device.id);
136
134
  }
137
- this.log(models_1.LogLevel.Debug, `Handle change to open (${open}), new open amount: ${this._alarmGriffBlockCount}`);
135
+ this.log(models_1.LogLevel.Debug, `Handle device ${block ? 'block' : 'unblock'}, new blocking amount: ${this._devicesBlockingAlarmMap.size}`);
138
136
  }
137
+ /** @inheritDoc */
139
138
  persistMotionSensor() {
140
139
  var _a;
141
140
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistMotionSensor(this);
142
141
  }
142
+ /** @inheritDoc */
143
143
  update(idSplit, state) {
144
144
  const stateName = idSplit[4];
145
145
  switch (stateName) {
@@ -160,7 +160,7 @@ class CameraDevice {
160
160
  const newValue = state.val === 1;
161
161
  this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
162
162
  if (newValue) {
163
- this.log(models_1.LogLevel.Info, `Person Detected`);
163
+ this.log(models_1.LogLevel.Info, 'Person Detected');
164
164
  this.resetPersonDetectFallbackTimer();
165
165
  }
166
166
  this._personDetected = newValue;
@@ -173,7 +173,7 @@ class CameraDevice {
173
173
  const newDogDetectionVal = state.val === 1;
174
174
  this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
175
175
  if (newDogDetectionVal) {
176
- this.log(models_1.LogLevel.Info, `Dog Detected`);
176
+ this.log(models_1.LogLevel.Info, 'Dog Detected');
177
177
  this.resetDogDetectFallbackTimer();
178
178
  }
179
179
  this._dogDetected = newDogDetectionVal;
@@ -185,36 +185,12 @@ class CameraDevice {
185
185
  this._lastImage = state.val;
186
186
  services_1.Utils.guardedTimeout(() => {
187
187
  // Give Person Detected Update some time, as otherwise personDetected might still be false
188
- if (this.settings.alertPersonOnTelegram && this._personDetected && !this.alarmBlockedByGriff) {
188
+ if (this.settings.alertPersonOnTelegram && this._personDetected && !this.alarmBlockedByDevices) {
189
189
  services_1.TelegramService.sendImage(`${this.name} detected Person`, new models_1.Base64Image(this._lastImage, 'person_alert'));
190
190
  }
191
191
  }, 1000);
192
192
  }
193
193
  }
194
- updateMovement(newState) {
195
- if (!this._initialized && newState) {
196
- this.log(models_1.LogLevel.Trace, `Movement recognized, but database initialization has not finished yet --> delay.`);
197
- services_1.Utils.guardedTimeout(() => {
198
- this.updateMovement(newState);
199
- }, 1000, this);
200
- return;
201
- }
202
- if (newState === this.movementDetected) {
203
- this.log(models_1.LogLevel.Debug, `Skip movement because state is already ${newState}`, services_1.LogDebugType.SkipUnchangedMovementState);
204
- return;
205
- }
206
- this._lastMotion = services_1.Utils.nowMS();
207
- this._movementDetected = newState;
208
- this.persistMotionSensor();
209
- this.log(models_1.LogLevel.Debug, `New movement state: ${newState}`, services_1.LogDebugType.NewMovementState);
210
- if (newState) {
211
- this.detectionsToday++;
212
- this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
213
- }
214
- for (const c of this._movementDetectedCallback) {
215
- c(newState);
216
- }
217
- }
218
194
  log(level, message, debugType = services_1.LogDebugType.None) {
219
195
  var _a, _b;
220
196
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
@@ -240,6 +216,30 @@ class CameraDevice {
240
216
  var _a;
241
217
  (_a = this.settings) === null || _a === void 0 ? void 0 : _a.initializeFromDb(this);
242
218
  }
219
+ updateMovement(newState) {
220
+ if (!this._initialized && newState) {
221
+ this.log(models_1.LogLevel.Trace, 'Movement recognized, but database initialization has not finished yet --> delay.');
222
+ services_1.Utils.guardedTimeout(() => {
223
+ this.updateMovement(newState);
224
+ }, 1000, this);
225
+ return;
226
+ }
227
+ if (newState === this.movementDetected) {
228
+ this.log(models_1.LogLevel.Debug, `Skip movement because state is already ${newState}`, services_1.LogDebugType.SkipUnchangedMovementState);
229
+ return;
230
+ }
231
+ this._lastMotion = services_1.Utils.nowMS();
232
+ this._movementDetected = newState;
233
+ this.persistMotionSensor();
234
+ this.log(models_1.LogLevel.Debug, `New movement state: ${newState}`, services_1.LogDebugType.NewMovementState);
235
+ if (newState) {
236
+ this.detectionsToday++;
237
+ this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
238
+ }
239
+ for (const c of this._movementDetectedCallback) {
240
+ c(new models_1.MotionSensorAction(this));
241
+ }
242
+ }
243
243
  resetPersonDetectFallbackTimer() {
244
244
  if (this._personDetectFallbackTimeout !== null) {
245
245
  clearTimeout(this._personDetectFallbackTimeout);
@@ -7,7 +7,6 @@ export declare class Button {
7
7
  private _callbacksMap;
8
8
  private _timeouts;
9
9
  constructor(name: string, buttonCapabilities: ButtonCapabilities);
10
- getState(type: ButtonPressType): boolean;
11
10
  addCb(buttonType: ButtonPressType, pCallback: (pValue: boolean) => void, description?: string): void;
12
11
  isPressActive(type: ButtonPressType): boolean | undefined;
13
12
  getDescription(): string;
@@ -32,10 +32,6 @@ class Button {
32
32
  this._statesMap.set(buttonPressType_1.ButtonPressType.triple, false);
33
33
  }
34
34
  }
35
- getState(type) {
36
- var _a;
37
- return (_a = this._statesMap.get(type)) !== null && _a !== void 0 ? _a : false;
38
- }
39
35
  addCb(buttonType, pCallback, description = 'Not described') {
40
36
  const cbArr = this._callbacksMap.get(buttonType);
41
37
  if (cbArr === undefined) {
@@ -0,0 +1,5 @@
1
+ export declare class ButtonCallback {
2
+ readonly cb: (pValue: boolean) => void;
3
+ readonly description: string;
4
+ constructor(cb: (pValue: boolean) => void, description: string);
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonCallback = void 0;
4
+ class ButtonCallback {
5
+ constructor(cb, description) {
6
+ this.cb = cb;
7
+ this.description = description;
8
+ }
9
+ }
10
+ exports.ButtonCallback = ButtonCallback;
@@ -1,6 +1,18 @@
1
1
  export declare class ButtonCapabilities {
2
+ /**
3
+ * Whether the button supports short press
4
+ */
2
5
  shortPress: boolean;
6
+ /**
7
+ * Whether the button supports double press
8
+ */
3
9
  doublePress: boolean;
10
+ /**
11
+ * Whether the button supports triple press
12
+ */
4
13
  triplePress: boolean;
14
+ /**
15
+ * Whether the button supports long press
16
+ */
5
17
  longPress: boolean;
6
18
  }
@@ -3,9 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ButtonCapabilities = void 0;
4
4
  class ButtonCapabilities {
5
5
  constructor() {
6
+ /**
7
+ * Whether the button supports short press
8
+ */
6
9
  this.shortPress = true;
10
+ /**
11
+ * Whether the button supports double press
12
+ */
7
13
  this.doublePress = true;
14
+ /**
15
+ * Whether the button supports triple press
16
+ */
8
17
  this.triplePress = true;
18
+ /**
19
+ * Whether the button supports long press
20
+ */
9
21
  this.longPress = true;
10
22
  }
11
23
  }
@@ -2,3 +2,4 @@ export * from './button';
2
2
  export * from './buttonCapabilities';
3
3
  export * from './buttonPressType';
4
4
  export * from './buttonPosition';
5
+ export { ButtonCallback } from './buttonCallback';
@@ -14,7 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ButtonCallback = void 0;
17
18
  __exportStar(require("./button"), exports);
18
19
  __exportStar(require("./buttonCapabilities"), exports);
19
20
  __exportStar(require("./buttonPressType"), exports);
20
21
  __exportStar(require("./buttonPosition"), exports);
22
+ var buttonCallback_1 = require("./buttonCallback");
23
+ Object.defineProperty(exports, "ButtonCallback", { enumerable: true, get: function () { return buttonCallback_1.ButtonCallback; } });
@@ -4,44 +4,66 @@ import { DeviceCapability } from '../DeviceCapability';
4
4
  import { LogDebugType, OwnSonosDevice } from '../../services';
5
5
  import { iDachsSettings } from '../../config/iDachsSettings';
6
6
  import { DachsDeviceSettings } from '../../../models/deviceSettings/dachsSettings';
7
- import { iFlattenedCompleteResponse } from './interfaces';
8
7
  import { DachsTemperatureSensor } from './dachsTemperatureSensor';
9
8
  import { BlockAutomaticHandler } from '../../services/blockAutomaticHandler';
10
9
  export declare class Dachs implements iBaseDevice, iActuator {
10
+ /** @inheritDoc */
11
11
  settings: DachsDeviceSettings;
12
+ /** @inheritDoc */
12
13
  readonly blockAutomationHandler: BlockAutomaticHandler;
14
+ /** @inheritDoc */
13
15
  readonly deviceType: DeviceType;
16
+ /** @inheritDoc */
14
17
  readonly deviceCapabilities: DeviceCapability[];
18
+ /**
19
+ * A reference to the Temperature measuring warm water temperature
20
+ */
15
21
  readonly warmWaterSensor: DachsTemperatureSensor;
22
+ /**
23
+ * A reference to the Temperature measuring heat storage temperature
24
+ */
16
25
  readonly heatStorageTempSensor: DachsTemperatureSensor;
17
26
  private readonly client;
18
27
  private readonly config;
19
- fetchedData: iFlattenedCompleteResponse | undefined;
28
+ /** @inheritDoc */
20
29
  queuedValue: boolean | null;
30
+ /** @inheritDoc */
31
+ targetAutomaticState: boolean;
21
32
  private readonly _influxClient;
22
33
  private _dachsOn;
23
34
  private _tempWarmWater;
24
35
  private _tempHeatStorage;
25
- targetAutomaticState: boolean;
36
+ private fetchedData;
37
+ /** @inheritDoc */
26
38
  get customName(): string;
39
+ /** @inheritDoc */
27
40
  get actuatorOn(): boolean;
28
- get tempWarmWater(): number;
29
- get tempHeatStorage(): number;
30
41
  constructor(options: iDachsSettings);
31
- restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
32
- protected _info: DeviceInfo;
42
+ /** @inheritDoc */
33
43
  get info(): DeviceInfo;
34
- set info(info: DeviceInfo);
44
+ protected _info: DeviceInfo;
45
+ /** @inheritDoc */
35
46
  get id(): string;
36
- get name(): string;
47
+ /** @inheritDoc */
37
48
  get room(): RoomBase | undefined;
49
+ get name(): string;
50
+ /** @inheritDoc */
51
+ restoreTargetAutomaticValue(c: RestoreTargetAutomaticValueCommand): void;
52
+ /** @inheritDoc */
38
53
  log(level: LogLevel, message: string, debugType?: LogDebugType): void;
54
+ /** @inheritDoc */
39
55
  toJSON(): Partial<OwnSonosDevice>;
56
+ /** @inheritDoc */
40
57
  persistDeviceInfo(): void;
58
+ /** @inheritDoc */
41
59
  loadDeviceSettings(): void;
42
60
  private loadData;
61
+ /** @inheritDoc */
43
62
  persist(): void;
63
+ /** @inheritDoc */
44
64
  setActuator(c: ActuatorSetStateCommand): void;
65
+ /** @inheritDoc */
45
66
  toggleActuator(c: ActuatorToggleCommand): boolean;
67
+ /** @inheritDoc */
46
68
  writeActuatorStateToDevice(c: ActuatorWriteStateToDeviceCommand): void;
47
69
  }
@@ -14,30 +14,31 @@ const lib_1 = require("./lib");
14
14
  const dachsTemperatureSensor_1 = require("./dachsTemperatureSensor");
15
15
  const blockAutomaticHandler_1 = require("../../services/blockAutomaticHandler");
16
16
  class Dachs {
17
+ /** @inheritDoc */
17
18
  get customName() {
18
19
  return this.info.customName;
19
20
  }
21
+ /** @inheritDoc */
20
22
  get actuatorOn() {
21
23
  return this._dachsOn;
22
24
  }
23
- get tempWarmWater() {
24
- return this._tempWarmWater;
25
- }
26
- get tempHeatStorage() {
27
- return this._tempHeatStorage;
28
- }
29
25
  constructor(options) {
26
+ /** @inheritDoc */
30
27
  this.settings = new dachsSettings_1.DachsDeviceSettings();
28
+ /** @inheritDoc */
31
29
  this.deviceType = devices_1.DeviceType.Dachs;
30
+ /** @inheritDoc */
32
31
  this.deviceCapabilities = [];
32
+ /** @inheritDoc */
33
33
  this.queuedValue = null;
34
+ /** @inheritDoc */
35
+ this.targetAutomaticState = false;
34
36
  this._dachsOn = false;
35
37
  this._tempWarmWater = 0;
36
38
  this._tempHeatStorage = 0;
37
- this.targetAutomaticState = false;
38
39
  this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
39
40
  this._info = new devices_1.DeviceInfo();
40
- this._info.fullName = `Dachs`;
41
+ this._info.fullName = 'Dachs';
41
42
  this._info.customName = `Dachs ${options.roomName}`;
42
43
  this._info.allDevicesKey = `dachs-${options.roomName}`;
43
44
  this._info.room = options.roomName;
@@ -56,28 +57,30 @@ class Dachs {
56
57
  this.warmWaterSensor = new dachsTemperatureSensor_1.DachsTemperatureSensor(this.config.roomName, 'ww', 'Water Temperature');
57
58
  this.heatStorageTempSensor = new dachsTemperatureSensor_1.DachsTemperatureSensor(this.config.roomName, 'hs', 'Heat Storage Temperature');
58
59
  services_1.Utils.guardedInterval(this.loadData, this.config.refreshInterval, this);
59
- this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
60
- }
61
- restoreTargetAutomaticValue(c) {
62
- this.log(models_1.LogLevel.Debug, `Restore Target Automatic value`);
63
- this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore Target Automatic value'));
60
+ this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this), this.log.bind(this));
64
61
  }
62
+ /** @inheritDoc */
65
63
  get info() {
66
64
  return this._info;
67
65
  }
68
- set info(info) {
69
- this._info = info;
70
- }
66
+ /** @inheritDoc */
71
67
  get id() {
72
68
  var _a;
73
69
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `sonos-${this.info.room}-${this.info.customName}`;
74
70
  }
71
+ /** @inheritDoc */
72
+ get room() {
73
+ return services_1.API.getRoom(this.info.room);
74
+ }
75
75
  get name() {
76
76
  return this.info.customName;
77
77
  }
78
- get room() {
79
- return services_1.API.getRoom(this.info.room);
78
+ /** @inheritDoc */
79
+ restoreTargetAutomaticValue(c) {
80
+ this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
81
+ this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore Target Automatic value'));
80
82
  }
83
+ /** @inheritDoc */
81
84
  log(level, message, debugType = services_1.LogDebugType.None) {
82
85
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
83
86
  debugType: debugType,
@@ -86,15 +89,18 @@ class Dachs {
86
89
  deviceName: this.name,
87
90
  });
88
91
  }
92
+ /** @inheritDoc */
89
93
  toJSON() {
90
94
  return services_1.Utils.jsonFilter(lodash_1.default.omit(this, ['room', 'client', 'config', '_influxClient', 'warmWaterSensor', 'heatStorageTempSensor']));
91
95
  }
96
+ /** @inheritDoc */
92
97
  persistDeviceInfo() {
93
98
  services_1.Utils.guardedTimeout(() => {
94
99
  var _a;
95
100
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
96
101
  }, 5000, this);
97
102
  }
103
+ /** @inheritDoc */
98
104
  loadDeviceSettings() {
99
105
  this.settings.initializeFromDb(this);
100
106
  }
@@ -128,18 +134,22 @@ class Dachs {
128
134
  this.log(models_1.LogLevel.Error, `Error while fetching data: ${error}`);
129
135
  });
130
136
  }
137
+ /** @inheritDoc */
131
138
  persist() {
132
139
  var _a;
133
140
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
134
141
  }
142
+ /** @inheritDoc */
135
143
  setActuator(c) {
136
144
  devices_1.LampUtils.setActuator(this, c);
137
145
  }
146
+ /** @inheritDoc */
138
147
  toggleActuator(c) {
139
148
  const setActuatorCommand = models_1.ActuatorSetStateCommand.byActuatorAndToggleCommand(this, c);
140
149
  this.setActuator(setActuatorCommand);
141
150
  return setActuatorCommand.on;
142
151
  }
152
+ /** @inheritDoc */
143
153
  writeActuatorStateToDevice(c) {
144
154
  this.log(models_1.LogLevel.Debug, c.logMessage, services_1.LogDebugType.SetActuator);
145
155
  if (!c.stateValue) {
@@ -4,35 +4,54 @@ import { LogDebugType, OwnSonosDevice } from '../../services';
4
4
  import { DeviceCapability } from '../DeviceCapability';
5
5
  import { DeviceType } from '../deviceType';
6
6
  import { DeviceInfo } from '../DeviceInfo';
7
- import { DeviceSettings, LogLevel, RoomBase } from '../../../models';
7
+ import { DeviceSettings, LogLevel, RoomBase, TemperatureSensorChangeAction } from '../../../models';
8
8
  export declare class DachsTemperatureSensor implements iTemperatureSensor {
9
+ /** @inheritDoc */
9
10
  settings: DeviceSettings | undefined;
11
+ /** @inheritDoc */
10
12
  readonly deviceType: DeviceType;
13
+ /** @inheritDoc */
11
14
  readonly deviceCapabilities: DeviceCapability[];
15
+ /** @inheritDoc */
12
16
  readonly persistTemperatureSensorInterval: NodeJS.Timeout;
13
17
  private _temperaturCallbacks;
14
18
  private _roomTemperature;
15
19
  protected _info: DeviceInfo;
16
20
  constructor(roomName: string, shortKey: string, longKey: string);
21
+ /** @inheritDoc */
17
22
  get customName(): string;
23
+ /** @inheritDoc */
18
24
  get info(): DeviceInfo;
19
- set info(info: DeviceInfo);
25
+ /** @inheritDoc */
20
26
  get id(): string;
21
27
  get name(): string;
28
+ /** @inheritDoc */
22
29
  get room(): RoomBase | undefined;
30
+ /** @inheritDoc */
23
31
  get roomTemperature(): number;
32
+ /** @inheritDoc */
24
33
  set roomTemperature(value: number);
34
+ /** @inheritDoc */
25
35
  get iTemperature(): number;
36
+ /** @inheritDoc */
26
37
  get sTemperature(): string;
27
38
  private _temperature;
28
39
  private set temperature(value);
29
40
  update(newTemp: number): void;
30
- addTempChangeCallback(pCallback: (pValue: number) => void): void;
41
+ /** @inheritDoc */
42
+ addTempChangeCallback(pCallback: (action: TemperatureSensorChangeAction) => void): void;
43
+ /** @inheritDoc */
31
44
  onTemperaturChange(newTemperatur: number): void;
45
+ /** @inheritDoc */
32
46
  persistTemperaturSensor(): void;
47
+ /** @inheritDoc */
33
48
  log(level: LogLevel, message: string, debugType?: LogDebugType): void;
49
+ /** @inheritDoc */
34
50
  toJSON(): Partial<OwnSonosDevice>;
51
+ /** @inheritDoc */
35
52
  persistDeviceInfo(): void;
53
+ /** @inheritDoc */
36
54
  loadDeviceSettings(): void;
55
+ /** @inheritDoc */
37
56
  dispose(): void;
38
57
  }