hoffmation-base 3.0.0-alpha.23 → 3.0.0-alpha.24

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 (440) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +20 -20
  3. package/lib/liquid-pid.js +1 -0
  4. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  5. package/lib/models/blockAutomaticSettings.js +19 -0
  6. package/lib/models/command/ShutterSetLevelCommand.d.ts +1 -0
  7. package/lib/models/command/ShutterSetLevelCommand.js +1 -0
  8. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +1 -0
  9. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +1 -0
  10. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +1 -0
  11. package/lib/models/command/WindowSetDesiredPositionCommand.js +1 -0
  12. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +1 -0
  13. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +1 -0
  14. package/lib/models/command/actuatorSetStateCommand.d.ts +11 -3
  15. package/lib/models/command/actuatorSetStateCommand.js +8 -6
  16. package/lib/models/command/actuatorToggleCommand.d.ts +1 -1
  17. package/lib/models/command/actuatorToggleCommand.js +1 -3
  18. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +1 -0
  19. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +1 -0
  20. package/lib/models/command/baseCommand.d.ts +8 -0
  21. package/lib/models/command/blockAutomaticCommand.d.ts +20 -5
  22. package/lib/models/command/blockAutomaticCommand.js +23 -5
  23. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +7 -1
  24. package/lib/models/command/blockAutomaticLiftBlockCommand.js +7 -1
  25. package/lib/models/command/blockAutomaticUntilCommand.d.ts +12 -3
  26. package/lib/models/command/blockAutomaticUntilCommand.js +10 -3
  27. package/lib/models/command/dimmerSetLightCommand.d.ts +6 -2
  28. package/lib/models/command/dimmerSetLightCommand.js +12 -8
  29. package/lib/models/command/floorSetAllShuttersCommand.d.ts +1 -0
  30. package/lib/models/command/floorSetAllShuttersCommand.js +1 -0
  31. package/lib/models/command/lampSetLightCommand.d.ts +6 -2
  32. package/lib/models/command/lampSetLightCommand.js +8 -4
  33. package/lib/models/command/lampSetTimeBasedCommand.d.ts +11 -4
  34. package/lib/models/command/lampSetTimeBasedCommand.js +5 -7
  35. package/lib/models/command/lampToggleLightCommand.d.ts +1 -0
  36. package/lib/models/command/lampToggleLightCommand.js +1 -0
  37. package/lib/models/command/ledSetLightCommand.d.ts +6 -2
  38. package/lib/models/command/ledSetLightCommand.js +12 -8
  39. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +1 -0
  40. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +1 -0
  41. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +1 -1
  42. package/lib/models/command/restoreTargetAutomaticValueCommand.js +1 -3
  43. package/lib/models/command/roomRestoreLightCommand.d.ts +1 -0
  44. package/lib/models/command/roomRestoreLightCommand.js +1 -0
  45. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +1 -0
  46. package/lib/models/command/roomRestoreShutterPositionCommand.js +1 -0
  47. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +1 -0
  48. package/lib/models/command/roomSetLightTimeBasedCommand.js +1 -0
  49. package/lib/models/command/shutterSunriseUpCommand.d.ts +1 -0
  50. package/lib/models/command/shutterSunriseUpCommand.js +1 -0
  51. package/lib/models/command/shutterSunsetDownCommand.d.ts +1 -0
  52. package/lib/models/command/shutterSunsetDownCommand.js +1 -0
  53. package/lib/models/command/wledSetLightCommand.d.ts +5 -2
  54. package/lib/models/command/wledSetLightCommand.js +11 -8
  55. package/lib/models/connectionCallbacks.js +1 -0
  56. package/lib/models/deviceSettings/acSettings.d.ts +14 -1
  57. package/lib/models/deviceSettings/acSettings.js +14 -1
  58. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  59. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  60. package/lib/models/deviceSettings/dachsSettings.d.ts +3 -0
  61. package/lib/models/deviceSettings/dachsSettings.js +3 -0
  62. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  63. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  64. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  65. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  66. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  67. package/lib/models/deviceSettings/handleSettings.js +9 -0
  68. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -3
  69. package/lib/models/deviceSettings/heaterSettings.js +21 -3
  70. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  71. package/lib/models/deviceSettings/ledSettings.js +66 -0
  72. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -0
  73. package/lib/models/deviceSettings/motionSensorSettings.js +5 -0
  74. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  75. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -0
  76. package/lib/models/deviceSettings/shutterSettings.js +11 -0
  77. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  78. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  79. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  80. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  81. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  82. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  83. package/lib/models/deviceSettings/wledSettings.js +32 -0
  84. package/lib/models/groupSettings/heatGroupSettings.d.ts +9 -0
  85. package/lib/models/groupSettings/heatGroupSettings.js +9 -0
  86. package/lib/models/iIdHolder.d.ts +15 -3
  87. package/lib/models/index.d.ts +1 -1
  88. package/lib/models/index.js +3 -1
  89. package/lib/models/objectSettings.d.ts +3 -0
  90. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  91. package/lib/models/persistence/EnergyCalculation.js +30 -4
  92. package/lib/models/persistence/index.d.ts +0 -2
  93. package/lib/models/persistence/index.js +0 -2
  94. package/lib/models/rooms/RoomBase.d.ts +10 -0
  95. package/lib/models/rooms/RoomBase.js +1 -0
  96. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  97. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  98. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +9 -0
  99. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +1 -1
  100. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  101. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  102. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  103. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  104. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  105. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  106. package/lib/models/rooms/iRoomBase.d.ts +24 -2
  107. package/lib/models/rooms/iRoomImportEnforcer.d.ts +4 -0
  108. package/lib/models/timeCallback.d.ts +7 -0
  109. package/lib/models/timeCallback.js +4 -1
  110. package/lib/server/config/iAsusConfig.d.ts +15 -0
  111. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  112. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  113. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  114. package/lib/server/config/iConfig.d.ts +88 -6
  115. package/lib/server/config/iDachsSettings.d.ts +16 -0
  116. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  117. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  118. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  119. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  120. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  121. package/lib/server/config/iLogSettings.d.ts +36 -1
  122. package/lib/server/config/iMp3Settings.d.ts +10 -0
  123. package/lib/server/config/iMuellSettings.d.ts +7 -0
  124. package/lib/server/config/iNewsSettings.d.ts +13 -0
  125. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  126. package/lib/server/config/iPollySettings.d.ts +22 -0
  127. package/lib/server/config/iSonosSettings.d.ts +10 -0
  128. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  129. package/lib/server/config/iTibberSettings.d.ts +10 -0
  130. package/lib/server/config/iTimePair.d.ts +9 -0
  131. package/lib/server/config/iTimeSettings.d.ts +9 -0
  132. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  133. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  134. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  135. package/lib/server/config/iVictronSettings.d.ts +14 -0
  136. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  137. package/lib/server/config/index.d.ts +1 -1
  138. package/lib/server/config/index.js +0 -1
  139. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  140. package/lib/server/devices/DeviceCapability.js +1 -0
  141. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  142. package/lib/server/devices/DeviceInfo.js +6 -0
  143. package/lib/server/devices/Griffe.js +1 -1
  144. package/lib/server/devices/Heizgruppen.js +2 -2
  145. package/lib/server/devices/IoBrokerBaseDevice.d.ts +23 -2
  146. package/lib/server/devices/IoBrokerBaseDevice.js +16 -4
  147. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +14 -3
  148. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +2 -0
  149. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +1 -1
  150. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +2 -0
  151. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  152. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +33 -4
  153. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +38 -5
  154. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +10 -2
  155. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +19 -0
  156. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +16 -2
  157. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +11 -0
  158. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +15 -3
  159. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +28 -2
  160. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +13 -1
  161. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  162. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +6 -1
  163. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +16 -1
  164. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  165. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  166. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +14 -0
  167. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  168. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +25 -2
  169. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +18 -1
  170. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +6 -1
  171. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +15 -10
  172. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +21 -3
  173. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +7 -1
  174. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +8 -0
  175. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -4
  176. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  177. package/lib/server/devices/blueIris/cameraDevice.d.ts +47 -31
  178. package/lib/server/devices/blueIris/cameraDevice.js +75 -74
  179. package/lib/server/devices/button/button.d.ts +0 -1
  180. package/lib/server/devices/button/button.js +0 -4
  181. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  182. package/lib/server/devices/button/buttonCallback.js +10 -0
  183. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  184. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  185. package/lib/server/devices/button/index.d.ts +1 -0
  186. package/lib/server/devices/button/index.js +3 -0
  187. package/lib/server/devices/dachs/dachs.d.ts +31 -9
  188. package/lib/server/devices/dachs/dachs.js +27 -17
  189. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +20 -1
  190. package/lib/server/devices/dachs/dachsTemperatureSensor.js +20 -3
  191. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  192. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  193. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  194. package/lib/server/devices/dachs/lib/dachsHttpClient.js +2 -2
  195. package/lib/server/devices/device-cluster.d.ts +3 -0
  196. package/lib/server/devices/device-cluster.js +1 -1
  197. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  198. package/lib/server/devices/deviceUpdater.js +1 -4
  199. package/lib/server/devices/devices.d.ts +43 -7
  200. package/lib/server/devices/devices.js +42 -6
  201. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  202. package/lib/server/devices/espresense/detectedBluetoothDevice.js +13 -0
  203. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  204. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  205. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  206. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  207. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  208. package/lib/server/devices/espresense/trilateration.js +7 -0
  209. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  210. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  211. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  212. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  213. package/lib/server/devices/groups/Window.d.ts +6 -1
  214. package/lib/server/devices/groups/Window.js +15 -8
  215. package/lib/server/devices/groups/base-group.d.ts +4 -0
  216. package/lib/server/devices/groups/base-group.js +3 -0
  217. package/lib/server/devices/groups/heatGroup.d.ts +1 -0
  218. package/lib/server/devices/groups/heatGroup.js +3 -2
  219. package/lib/server/devices/groups/lightGroup.d.ts +8 -0
  220. package/lib/server/devices/groups/lightGroup.js +4 -4
  221. package/lib/server/devices/groups/tasterGroup.js +6 -6
  222. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  223. package/lib/server/devices/groups/windowGroup.js +2 -2
  224. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  225. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  226. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +7 -4
  227. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +9 -10
  228. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  229. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  230. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +27 -5
  231. package/lib/server/devices/hmIPDevices/hmIpGriff.js +59 -37
  232. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +22 -1
  233. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +23 -4
  234. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +1 -0
  235. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +1 -0
  236. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +6 -0
  237. package/lib/server/devices/hmIPDevices/hmIpLampe.js +6 -1
  238. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +3 -1
  239. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +4 -2
  240. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +2 -0
  241. package/lib/server/devices/hmIPDevices/hmIpRoll.js +5 -3
  242. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +15 -0
  243. package/lib/server/devices/hmIPDevices/hmIpTaster.js +9 -0
  244. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +1 -0
  245. package/lib/server/devices/hmIPDevices/hmIpTherm.js +1 -0
  246. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  247. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  248. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  249. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  250. package/lib/server/devices/iDeviceUpdater.d.ts +3 -0
  251. package/lib/server/devices/index.d.ts +1 -0
  252. package/lib/server/devices/index.js +3 -0
  253. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +2 -0
  254. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +4 -2
  255. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  256. package/lib/server/devices/nameAmountValuePair.js +10 -0
  257. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  258. package/lib/server/devices/scene/room-scene.js +18 -4
  259. package/lib/server/devices/sharedFunctions/lampUtils.js +11 -7
  260. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  261. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  262. package/lib/server/devices/shelly/shellyTrv.d.ts +28 -16
  263. package/lib/server/devices/shelly/shellyTrv.js +46 -45
  264. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  265. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  266. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  267. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  268. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  269. package/lib/server/devices/tv/samsungTv.js +1 -0
  270. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  271. package/lib/server/devices/tv/tvDevice.js +4 -3
  272. package/lib/server/devices/wledDevice.d.ts +15 -2
  273. package/lib/server/devices/wledDevice.js +21 -5
  274. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +11 -0
  275. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +13 -3
  276. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -3
  277. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +7 -5
  278. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +16 -4
  279. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +25 -13
  280. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +17 -4
  281. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +17 -11
  282. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +7 -7
  283. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +10 -10
  284. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +12 -2
  285. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +11 -1
  286. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +19 -11
  287. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +44 -40
  288. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +10 -0
  289. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +13 -3
  290. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +8 -0
  291. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  292. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  293. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  294. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  295. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  296. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  297. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  298. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +49 -11
  299. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +98 -30
  300. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +12 -1
  301. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +15 -11
  302. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +14 -5
  303. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +20 -13
  304. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +8 -1
  305. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +14 -7
  306. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +19 -1
  307. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +25 -7
  308. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  309. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +1 -0
  310. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +1 -0
  311. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +1 -0
  312. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -1
  313. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +1 -3
  314. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +5 -0
  315. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +6 -1
  316. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  317. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +1 -0
  318. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  319. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  320. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  321. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  322. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +17 -0
  323. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +18 -1
  324. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  325. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  326. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +7 -1
  327. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +7 -3
  328. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +5 -0
  329. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +6 -1
  330. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  331. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +1 -0
  332. package/lib/server/ioBroker/connection.d.ts +1 -0
  333. package/lib/server/ioBroker/connection.js +8 -7
  334. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  335. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  336. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  337. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  338. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  339. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  340. package/lib/server/services/ShutterService.js +3 -3
  341. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  342. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  343. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  344. package/lib/server/services/Sonos/mp3-server.js +3 -1
  345. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  346. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  347. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  348. package/lib/server/services/Sonos/polly-service.js +9 -6
  349. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  350. package/lib/server/services/Sonos/sonos-service.js +6 -10
  351. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  352. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  353. package/lib/server/services/Telegram/telegram-service.js +8 -3
  354. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  355. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  356. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  357. package/lib/server/services/Translation/index.d.ts +1 -0
  358. package/lib/server/services/ac/ac-device.d.ts +38 -1
  359. package/lib/server/services/ac/ac-device.js +45 -12
  360. package/lib/server/services/ac/daikin-service.js +2 -2
  361. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  362. package/lib/server/services/ac/own-ac-devices.js +3 -0
  363. package/lib/server/services/ac/own-daikin-device.d.ts +17 -0
  364. package/lib/server/services/ac/own-daikin-device.js +20 -3
  365. package/lib/server/services/api/api-service.d.ts +8 -8
  366. package/lib/server/services/api/api-service.js +26 -26
  367. package/lib/server/services/blockAutomaticHandler.d.ts +5 -0
  368. package/lib/server/services/blockAutomaticHandler.js +20 -8
  369. package/lib/server/services/calendar/index.d.ts +1 -0
  370. package/lib/server/services/calendar/index.js +3 -0
  371. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  372. package/lib/server/services/calendar/muell-tonne.js +10 -0
  373. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  374. package/lib/server/services/calendar/m/303/274ll-service.js +10 -4
  375. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  376. package/lib/server/services/calendar/name-date-pair.js +10 -0
  377. package/lib/server/services/dbo/iPersist.d.ts +37 -30
  378. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  379. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  380. package/lib/server/services/file-info.d.ts +5 -0
  381. package/lib/server/services/file-info.js +10 -0
  382. package/lib/server/services/govee/govee-service.d.ts +1 -5
  383. package/lib/server/services/govee/govee-service.js +3 -5
  384. package/lib/server/services/govee/own-govee-device.d.ts +17 -12
  385. package/lib/server/services/govee/own-govee-device.js +17 -18
  386. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  387. package/lib/server/services/govee/own-govee-devices.js +3 -0
  388. package/lib/server/services/https-service.js +1 -1
  389. package/lib/server/services/index.d.ts +1 -0
  390. package/lib/server/services/index.js +3 -0
  391. package/lib/server/services/log-service/index.d.ts +1 -0
  392. package/lib/server/services/log-service/index.js +3 -0
  393. package/lib/server/services/log-service/log-debug-type.d.ts +12 -0
  394. package/lib/server/services/log-service/log-debug-type.js +16 -0
  395. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  396. package/lib/server/services/log-service/log-filter-data.js +6 -15
  397. package/lib/server/services/log-service/log-service.d.ts +15 -2
  398. package/lib/server/services/log-service/log-service.js +28 -15
  399. package/lib/server/services/news-service.d.ts +4 -1
  400. package/lib/server/services/news-service.js +9 -9
  401. package/lib/server/services/room-service/room-service.d.ts +17 -2
  402. package/lib/server/services/room-service/room-service.js +23 -8
  403. package/lib/server/services/settings-service.d.ts +3 -0
  404. package/lib/server/services/time-callback-service.js +1 -1
  405. package/lib/server/services/utils/RGB.d.ts +6 -0
  406. package/lib/server/services/utils/RGB.js +11 -0
  407. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  408. package/lib/server/services/utils/catchEmResult.js +10 -0
  409. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  410. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  411. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  412. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  413. package/lib/server/services/utils/iDisposeable.d.ts +3 -0
  414. package/lib/server/services/utils/index.d.ts +4 -1
  415. package/lib/server/services/utils/index.js +8 -1
  416. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  417. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  418. package/lib/server/services/utils/utils.d.ts +9 -13
  419. package/lib/server/services/victron/victron-device.d.ts +4 -0
  420. package/lib/server/services/victron/victron-device.js +10 -7
  421. package/lib/server/services/weather/index.d.ts +2 -0
  422. package/lib/server/services/weather/index.js +3 -0
  423. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  424. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  425. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  426. package/lib/server/services/weather/weather-response.d.ts +16 -0
  427. package/lib/server/services/weather/weather-response.js +2 -0
  428. package/lib/server/services/weather/weather-service.d.ts +11 -17
  429. package/lib/server/services/weather/weather-service.js +28 -22
  430. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  431. package/lib/tsconfig.tsbuildinfo +1 -1
  432. package/package.json +1 -3
  433. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  434. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  435. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  436. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  437. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  438. package/lib/server/config/iRestSettings.d.ts +0 -4
  439. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
  440. /package/lib/server/{config/iRestSettings.js → devices/baseDeviceInterfaces/iMagnetSensor.js} +0 -0
@@ -1,67 +1,83 @@
1
- import { iCameraDevice, iRoomDevice } from '../baseDeviceInterfaces';
1
+ import { iBaseDevice, iCameraDevice, iRoomDevice } from '../baseDeviceInterfaces';
2
2
  import { CameraSettings, LogLevel, RoomBase } from '../../../models';
3
3
  import { LogDebugType } from '../../services';
4
4
  import { DeviceInfo } from '../DeviceInfo';
5
5
  import { DeviceCapability } from '../DeviceCapability';
6
6
  import { DeviceType } from '../deviceType';
7
7
  export declare class CameraDevice implements iCameraDevice {
8
+ /**
9
+ * The name of the camera in BlueIris
10
+ */
8
11
  readonly blueIrisName: string;
12
+ /** @inheritDoc */
13
+ settings: CameraSettings;
14
+ /** @inheritDoc */
15
+ readonly deviceCapabilities: DeviceCapability[];
16
+ /** @inheritDoc */
17
+ deviceType: DeviceType;
18
+ /**
19
+ * The human readable name of this device
20
+ */
21
+ readonly name: string;
22
+ /** @inheritDoc */
23
+ readonly mpegStreamLink: string;
24
+ /** @inheritDoc */
25
+ readonly h264IosStreamLink: string;
26
+ /** @inheritDoc */
27
+ readonly rtspStreamLink: string;
28
+ /** @inheritDoc */
29
+ readonly currentImageLink: string;
30
+ /** @inheritDoc */
31
+ detectionsToday: number;
32
+ protected _lastMotion: number;
9
33
  private _personDetectFallbackTimeout;
10
34
  private _movementDetectFallbackTimeout;
11
35
  private _dogDetectFallbackTimeout;
12
36
  private _personDetectedStateId;
13
37
  private _dogDetectedStateId;
14
38
  private _movementDetectedStateId;
15
- get lastImage(): string;
16
- settings: CameraSettings;
17
- readonly deviceCapabilities: DeviceCapability[];
18
- deviceType: DeviceType;
19
- readonly name: string;
20
- protected _lastMotion: number;
21
39
  private _initialized;
22
40
  private _movementDetectedCallback;
23
41
  private _lastImage;
24
42
  private _personDetected;
25
43
  private _dogDetected;
26
- private _alarmGriffBlockCount;
27
- private _alarmBlockedByGriffTimeStamp;
28
- readonly mpegStreamLink: string;
29
- readonly h264IosStreamLink: string;
30
- readonly rtspStreamLink: string;
31
- readonly currentImageLink: string;
44
+ private _devicesBlockingAlarmMap;
45
+ private _movementDetected;
46
+ private _info;
47
+ constructor(mqttName: string, roomName: string, blueIrisName: string);
48
+ /** @inheritDoc */
49
+ get lastImage(): string;
50
+ /** @inheritDoc */
32
51
  get dogDetected(): boolean;
52
+ /** @inheritDoc */
33
53
  get personDetected(): boolean;
34
- get alarmBlockedByGriffTimeStamp(): number;
35
- get alarmBlockedByGriff(): boolean;
36
- constructor(mqttName: string, roomName: string, blueIrisName: string);
37
- private _detectionsToday;
38
- get detectionsToday(): number;
39
- set detectionsToday(pVal: number);
40
- private _movementDetected;
54
+ /** @inheritDoc */
55
+ get alarmBlockedByDevices(): boolean;
56
+ /** @inheritDoc */
41
57
  get movementDetected(): boolean;
42
- private _info;
58
+ /** @inheritDoc */
43
59
  get info(): DeviceInfo;
44
- set info(info: DeviceInfo);
45
- /**
46
- * @inheritDoc
47
- */
60
+ /** @inheritDoc */
48
61
  get timeSinceLastMotion(): number;
62
+ /** @inheritDoc */
49
63
  get customName(): string;
64
+ /** @inheritDoc */
50
65
  get id(): string;
66
+ /** @inheritDoc */
51
67
  get room(): RoomBase | undefined;
52
- /**
53
- * Adds a callback for when a motion state has changed.
54
- * @param pCallback - Function that accepts the new state as parameter
55
- */
68
+ /** @inheritDoc */
56
69
  addMovementCallback(pCallback: (newState: boolean) => void): void;
57
- onGriffUpdate(open: boolean): void;
70
+ /** @inheritDoc */
71
+ blockForDevice(device: iBaseDevice, block: boolean): void;
72
+ /** @inheritDoc */
58
73
  persistMotionSensor(): void;
74
+ /** @inheritDoc */
59
75
  update(idSplit: string[], state: ioBroker.State): void;
60
- updateMovement(newState: boolean): void;
61
76
  log(level: LogLevel, message: string, debugType?: LogDebugType): void;
62
77
  toJSON(): Partial<iRoomDevice>;
63
78
  persistDeviceInfo(): void;
64
79
  loadDeviceSettings(): void;
80
+ private updateMovement;
65
81
  private resetPersonDetectFallbackTimer;
66
82
  private resetDogDetectFallbackTimer;
67
83
  private resetMovementFallbackTimer;
@@ -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,58 +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;
92
85
  }
93
- set detectionsToday(pVal) {
94
- this._detectionsToday = pVal;
86
+ /** @inheritDoc */
87
+ get dogDetected() {
88
+ return this._dogDetected;
95
89
  }
90
+ /** @inheritDoc */
91
+ get personDetected() {
92
+ return this._personDetected;
93
+ }
94
+ /** @inheritDoc */
95
+ get alarmBlockedByDevices() {
96
+ return this._devicesBlockingAlarmMap.size > 0;
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
- * @inheritDoc
107
- */
106
+ /** @inheritDoc */
108
107
  get timeSinceLastMotion() {
109
108
  return Math.round((services_1.Utils.nowMS() - this._lastMotion) / 1000);
110
109
  }
110
+ /** @inheritDoc */
111
111
  get customName() {
112
112
  return this.info.customName;
113
113
  }
114
+ /** @inheritDoc */
114
115
  get id() {
115
116
  var _a;
116
117
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `camera-${this.info.room}-${this.info.customName}`;
117
118
  }
119
+ /** @inheritDoc */
118
120
  get room() {
119
121
  return services_1.API.getRoom(this.info.room);
120
122
  }
121
- /**
122
- * Adds a callback for when a motion state has changed.
123
- * @param pCallback - Function that accepts the new state as parameter
124
- */
123
+ /** @inheritDoc */
125
124
  addMovementCallback(pCallback) {
126
125
  this._movementDetectedCallback.push(pCallback);
127
126
  }
128
- onGriffUpdate(open) {
129
- this._alarmGriffBlockCount += open ? 1 : -1;
130
- if (this._alarmGriffBlockCount < 0) {
131
- this._alarmGriffBlockCount = 0;
127
+ /** @inheritDoc */
128
+ blockForDevice(device, block) {
129
+ if (block) {
130
+ this._devicesBlockingAlarmMap.set(device.id, device);
132
131
  }
133
- if (this._alarmGriffBlockCount == 1) {
134
- this._alarmBlockedByGriffTimeStamp = new Date().getTime();
132
+ else {
133
+ this._devicesBlockingAlarmMap.delete(device.id);
135
134
  }
136
- 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}`);
137
136
  }
137
+ /** @inheritDoc */
138
138
  persistMotionSensor() {
139
139
  var _a;
140
140
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistMotionSensor(this);
141
141
  }
142
+ /** @inheritDoc */
142
143
  update(idSplit, state) {
143
144
  const stateName = idSplit[4];
144
145
  switch (stateName) {
@@ -159,7 +160,7 @@ class CameraDevice {
159
160
  const newValue = state.val === 1;
160
161
  this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
161
162
  if (newValue) {
162
- this.log(models_1.LogLevel.Info, `Person Detected`);
163
+ this.log(models_1.LogLevel.Info, 'Person Detected');
163
164
  this.resetPersonDetectFallbackTimer();
164
165
  }
165
166
  this._personDetected = newValue;
@@ -172,7 +173,7 @@ class CameraDevice {
172
173
  const newDogDetectionVal = state.val === 1;
173
174
  this.log(models_1.LogLevel.Debug, `Update for "${stateName}" to value: ${state.val}`);
174
175
  if (newDogDetectionVal) {
175
- this.log(models_1.LogLevel.Info, `Dog Detected`);
176
+ this.log(models_1.LogLevel.Info, 'Dog Detected');
176
177
  this.resetDogDetectFallbackTimer();
177
178
  }
178
179
  this._dogDetected = newDogDetectionVal;
@@ -184,36 +185,12 @@ class CameraDevice {
184
185
  this._lastImage = state.val;
185
186
  services_1.Utils.guardedTimeout(() => {
186
187
  // Give Person Detected Update some time, as otherwise personDetected might still be false
187
- if (this.settings.alertPersonOnTelegram && this._personDetected && !this.alarmBlockedByGriff) {
188
+ if (this.settings.alertPersonOnTelegram && this._personDetected && !this.alarmBlockedByDevices) {
188
189
  services_1.TelegramService.sendImage(`${this.name} detected Person`, new models_1.Base64Image(this._lastImage, 'person_alert'));
189
190
  }
190
191
  }, 1000);
191
192
  }
192
193
  }
193
- updateMovement(newState) {
194
- if (!this._initialized && newState) {
195
- this.log(models_1.LogLevel.Trace, `Movement recognized, but database initialization has not finished yet --> delay.`);
196
- services_1.Utils.guardedTimeout(() => {
197
- this.updateMovement(newState);
198
- }, 1000, this);
199
- return;
200
- }
201
- if (newState === this.movementDetected) {
202
- this.log(models_1.LogLevel.Debug, `Skip movement because state is already ${newState}`, services_1.LogDebugType.SkipUnchangedMovementState);
203
- return;
204
- }
205
- this._lastMotion = services_1.Utils.nowMS();
206
- this._movementDetected = newState;
207
- this.persistMotionSensor();
208
- this.log(models_1.LogLevel.Debug, `New movement state: ${newState}`, services_1.LogDebugType.NewMovementState);
209
- if (newState) {
210
- this.detectionsToday++;
211
- this.log(models_1.LogLevel.Trace, `This is movement no. ${this.detectionsToday}`);
212
- }
213
- for (const c of this._movementDetectedCallback) {
214
- c(newState);
215
- }
216
- }
217
194
  log(level, message, debugType = services_1.LogDebugType.None) {
218
195
  var _a, _b;
219
196
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
@@ -239,6 +216,30 @@ class CameraDevice {
239
216
  var _a;
240
217
  (_a = this.settings) === null || _a === void 0 ? void 0 : _a.initializeFromDb(this);
241
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(newState);
241
+ }
242
+ }
242
243
  resetPersonDetectFallbackTimer() {
243
244
  if (this._personDetectFallbackTimeout !== null) {
244
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;
@@ -58,26 +59,28 @@ class Dachs {
58
59
  services_1.Utils.guardedInterval(this.loadData, this.config.refreshInterval, this);
59
60
  this.blockAutomationHandler = new blockAutomaticHandler_1.BlockAutomaticHandler(this.restoreTargetAutomaticValue.bind(this));
60
61
  }
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'));
64
- }
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) {