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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/lib/index.d.ts +5 -1
  2. package/lib/index.js +28 -25
  3. package/lib/liquid-pid.d.ts +2 -5
  4. package/lib/liquid-pid.js +3 -5
  5. package/lib/models/action/baseAction.d.ts +4 -0
  6. package/lib/models/action/baseAction.js +10 -0
  7. package/lib/models/action/batteryLevelChangeAction.d.ts +13 -0
  8. package/lib/models/action/batteryLevelChangeAction.js +14 -0
  9. package/lib/models/action/humiditySensorChangeAction.d.ts +16 -0
  10. package/lib/models/action/humiditySensorChangeAction.js +15 -0
  11. package/lib/models/action/index.d.ts +8 -0
  12. package/lib/models/action/index.js +27 -0
  13. package/lib/models/action/motionSensorAction.d.ts +16 -0
  14. package/lib/models/action/motionSensorAction.js +15 -0
  15. package/lib/models/action/presenceGroupFirstEnterAction.d.ts +7 -0
  16. package/lib/models/action/presenceGroupFirstEnterAction.js +13 -0
  17. package/lib/models/action/presenceGroupLastLeftAction.d.ts +7 -0
  18. package/lib/models/action/presenceGroupLastLeftAction.js +13 -0
  19. package/lib/models/action/shutterPositionChangedAction.d.ts +13 -0
  20. package/lib/models/action/shutterPositionChangedAction.js +15 -0
  21. package/lib/models/action/temperatureSensorChangeAction.d.ts +16 -0
  22. package/lib/models/action/temperatureSensorChangeAction.js +15 -0
  23. package/lib/models/blockAutomaticSettings.d.ts +23 -0
  24. package/lib/models/blockAutomaticSettings.js +19 -0
  25. package/lib/models/command/ShutterSetLevelCommand.d.ts +9 -1
  26. package/lib/models/command/ShutterSetLevelCommand.js +9 -1
  27. package/lib/models/command/WindowRestoreDesiredPositionCommand.d.ts +7 -1
  28. package/lib/models/command/WindowRestoreDesiredPositionCommand.js +7 -1
  29. package/lib/models/command/WindowSetDesiredPositionCommand.d.ts +8 -1
  30. package/lib/models/command/WindowSetDesiredPositionCommand.js +8 -1
  31. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.d.ts +7 -1
  32. package/lib/models/command/WindowSetRolloByWeatherStatusCommand.js +7 -1
  33. package/lib/models/command/actuatorSetStateCommand.d.ts +18 -3
  34. package/lib/models/command/actuatorSetStateCommand.js +15 -6
  35. package/lib/models/command/actuatorToggleCommand.d.ts +7 -2
  36. package/lib/models/command/actuatorToggleCommand.js +7 -4
  37. package/lib/models/command/actuatorWriteStateToDeviceCommand.d.ts +8 -1
  38. package/lib/models/command/actuatorWriteStateToDeviceCommand.js +12 -1
  39. package/lib/models/command/baseCommand.d.ts +23 -2
  40. package/lib/models/command/baseCommand.js +41 -1
  41. package/lib/models/command/blockAutomaticCommand.d.ts +32 -0
  42. package/lib/models/command/blockAutomaticCommand.js +40 -0
  43. package/lib/models/command/blockAutomaticLiftBlockCommand.d.ts +18 -0
  44. package/lib/models/command/blockAutomaticLiftBlockCommand.js +23 -0
  45. package/lib/models/command/blockAutomaticUntilCommand.d.ts +27 -0
  46. package/lib/models/command/blockAutomaticUntilCommand.js +32 -0
  47. package/lib/models/command/commandSource.d.ts +19 -0
  48. package/lib/models/command/commandSource.js +20 -0
  49. package/lib/models/command/commandType.d.ts +10 -0
  50. package/lib/models/command/commandType.js +10 -0
  51. package/lib/models/command/dimmerSetLightCommand.d.ts +13 -8
  52. package/lib/models/command/dimmerSetLightCommand.js +20 -14
  53. package/lib/models/command/floorSetAllShuttersCommand.d.ts +6 -5
  54. package/lib/models/command/floorSetAllShuttersCommand.js +6 -5
  55. package/lib/models/command/index.d.ts +3 -0
  56. package/lib/models/command/index.js +7 -1
  57. package/lib/models/command/lampSetLightCommand.d.ts +13 -2
  58. package/lib/models/command/lampSetLightCommand.js +15 -4
  59. package/lib/models/command/lampSetTimeBasedCommand.d.ts +15 -8
  60. package/lib/models/command/lampSetTimeBasedCommand.js +9 -11
  61. package/lib/models/command/lampToggleLightCommand.d.ts +7 -6
  62. package/lib/models/command/lampToggleLightCommand.js +7 -6
  63. package/lib/models/command/ledSetLightCommand.d.ts +21 -11
  64. package/lib/models/command/ledSetLightCommand.js +27 -17
  65. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.d.ts +8 -1
  66. package/lib/models/command/lightGroupSwitchTimeConditionalCommand.js +8 -1
  67. package/lib/models/command/restoreTargetAutomaticValueCommand.d.ts +7 -2
  68. package/lib/models/command/restoreTargetAutomaticValueCommand.js +7 -4
  69. package/lib/models/command/roomRestoreLightCommand.d.ts +7 -1
  70. package/lib/models/command/roomRestoreLightCommand.js +7 -1
  71. package/lib/models/command/roomRestoreShutterPositionCommand.d.ts +8 -1
  72. package/lib/models/command/roomRestoreShutterPositionCommand.js +8 -1
  73. package/lib/models/command/roomSetLightTimeBasedCommand.d.ts +5 -4
  74. package/lib/models/command/roomSetLightTimeBasedCommand.js +5 -4
  75. package/lib/models/command/shutterSunriseUpCommand.d.ts +7 -1
  76. package/lib/models/command/shutterSunriseUpCommand.js +7 -1
  77. package/lib/models/command/shutterSunsetDownCommand.d.ts +7 -1
  78. package/lib/models/command/shutterSunsetDownCommand.js +7 -1
  79. package/lib/models/command/wledSetLightCommand.d.ts +16 -2
  80. package/lib/models/command/wledSetLightCommand.js +23 -7
  81. package/lib/models/connectionCallbacks.d.ts +4 -4
  82. package/lib/models/connectionCallbacks.js +1 -0
  83. package/lib/models/deviceConfig.d.ts +3 -3
  84. package/lib/models/deviceSettings/acSettings.d.ts +19 -5
  85. package/lib/models/deviceSettings/acSettings.js +23 -8
  86. package/lib/models/deviceSettings/actuatorSettings.d.ts +13 -4
  87. package/lib/models/deviceSettings/actuatorSettings.js +19 -9
  88. package/lib/models/deviceSettings/cameraSettings.d.ts +12 -0
  89. package/lib/models/deviceSettings/cameraSettings.js +12 -0
  90. package/lib/models/deviceSettings/dachsSettings.d.ts +11 -0
  91. package/lib/models/deviceSettings/dachsSettings.js +13 -1
  92. package/lib/models/deviceSettings/deviceSettings.d.ts +10 -0
  93. package/lib/models/deviceSettings/deviceSettings.js +16 -0
  94. package/lib/models/deviceSettings/dimmerSettings.d.ts +20 -0
  95. package/lib/models/deviceSettings/dimmerSettings.js +20 -0
  96. package/lib/models/deviceSettings/garageDoorOpenerSettings.d.ts +0 -1
  97. package/lib/models/deviceSettings/garageDoorOpenerSettings.js +0 -1
  98. package/lib/models/deviceSettings/handleSettings.d.ts +9 -0
  99. package/lib/models/deviceSettings/handleSettings.js +9 -0
  100. package/lib/models/deviceSettings/heaterSettings.d.ts +21 -9
  101. package/lib/models/deviceSettings/heaterSettings.js +21 -9
  102. package/lib/models/deviceSettings/ledSettings.d.ts +66 -0
  103. package/lib/models/deviceSettings/ledSettings.js +76 -18
  104. package/lib/models/deviceSettings/motionSensorSettings.d.ts +5 -1
  105. package/lib/models/deviceSettings/motionSensorSettings.js +5 -1
  106. package/lib/models/deviceSettings/sceneSettings.d.ts +4 -0
  107. package/lib/models/deviceSettings/shutterSettings.d.ts +11 -3
  108. package/lib/models/deviceSettings/shutterSettings.js +11 -3
  109. package/lib/models/deviceSettings/sonosDeviceSettings.d.ts +4 -0
  110. package/lib/models/deviceSettings/sonosDeviceSettings.js +4 -0
  111. package/lib/models/deviceSettings/tvSettings.d.ts +4 -0
  112. package/lib/models/deviceSettings/victronDeviceSettings.d.ts +34 -0
  113. package/lib/models/deviceSettings/victronDeviceSettings.js +34 -0
  114. package/lib/models/deviceSettings/wledSettings.d.ts +48 -0
  115. package/lib/models/deviceSettings/wledSettings.js +37 -13
  116. package/lib/models/groupSettings/heatGroupSettings.d.ts +12 -1
  117. package/lib/models/groupSettings/heatGroupSettings.js +12 -1
  118. package/lib/models/iIdHolder.d.ts +18 -0
  119. package/lib/models/index.d.ts +2 -1
  120. package/lib/models/index.js +4 -1
  121. package/lib/models/objectSettings.d.ts +5 -2
  122. package/lib/models/objectSettings.js +2 -2
  123. package/lib/models/persistence/EnergyCalculation.d.ts +27 -0
  124. package/lib/models/persistence/EnergyCalculation.js +30 -4
  125. package/lib/models/persistence/index.d.ts +0 -2
  126. package/lib/models/persistence/index.js +0 -2
  127. package/lib/models/rooms/RoomBase.d.ts +12 -1
  128. package/lib/models/rooms/RoomBase.js +16 -7
  129. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -1
  130. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.js +2 -2
  131. package/lib/models/rooms/RoomSettings/RoomSettingsController.d.ts +10 -1
  132. package/lib/models/rooms/RoomSettings/RoomSettingsController.js +2 -2
  133. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +53 -3
  134. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +10 -1
  135. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +4 -1
  136. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +3 -0
  137. package/lib/models/rooms/RoomSettings/roomSettings.d.ts +55 -0
  138. package/lib/models/rooms/RoomSettings/roomSettings.js +55 -0
  139. package/lib/models/rooms/iRoomBase.d.ts +39 -0
  140. package/lib/models/rooms/iRoomImportEnforcer.d.ts +8 -0
  141. package/lib/models/timeCallback.d.ts +7 -0
  142. package/lib/models/timeCallback.js +16 -6
  143. package/lib/server/config/heatingMode.d.ts +2 -1
  144. package/lib/server/config/heatingMode.js +2 -1
  145. package/lib/server/config/iAsusConfig.d.ts +15 -0
  146. package/lib/server/config/iBlockAutomaticHandlerDefaults.d.ts +23 -0
  147. package/lib/server/config/iBlueIrisSettings.d.ts +14 -0
  148. package/lib/server/config/iBluetoothTrackingSettings.d.ts +9 -0
  149. package/lib/server/config/iConfig.d.ts +94 -6
  150. package/lib/server/config/iDachsSettings.d.ts +16 -0
  151. package/lib/server/config/iDaikinSettings.d.ts +17 -0
  152. package/lib/server/config/iEnergyManagerSettings.d.ts +13 -0
  153. package/lib/server/config/iEspresenseSettings.d.ts +10 -0
  154. package/lib/server/config/iGoveeSettings.d.ts +9 -0
  155. package/lib/server/config/iGoveeSettings.js +2 -0
  156. package/lib/server/config/iHeaterSettings.d.ts +8 -0
  157. package/lib/server/config/iIobrokerSettigns.d.ts +8 -0
  158. package/lib/server/config/iLogSettings.d.ts +40 -1
  159. package/lib/server/config/iMp3Settings.d.ts +10 -0
  160. package/lib/server/config/iMuellSettings.d.ts +7 -0
  161. package/lib/server/config/iNewsSettings.d.ts +13 -0
  162. package/lib/server/config/iPersistenceSettings.d.ts +10 -0
  163. package/lib/server/config/iPollySettings.d.ts +22 -0
  164. package/lib/server/config/iRestSettings.d.ts +10 -0
  165. package/lib/server/config/iSonosSettings.d.ts +10 -0
  166. package/lib/server/config/iTelegramSettings.d.ts +17 -0
  167. package/lib/server/config/iTibberSettings.d.ts +10 -0
  168. package/lib/server/config/iTimePair.d.ts +9 -0
  169. package/lib/server/config/iTimeSettings.d.ts +9 -0
  170. package/lib/server/config/iTranslationSettings.d.ts +10 -0
  171. package/lib/server/config/iUnifiConnectionOptions.d.ts +31 -0
  172. package/lib/server/config/iUnifiSettings.d.ts +8 -0
  173. package/lib/server/config/iVictronSettings.d.ts +14 -0
  174. package/lib/server/config/iWeatherSettings.d.ts +13 -0
  175. package/lib/server/config/index.d.ts +2 -0
  176. package/lib/server/devices/DeviceCapability.d.ts +1 -0
  177. package/lib/server/devices/DeviceCapability.js +1 -0
  178. package/lib/server/devices/DeviceInfo.d.ts +9 -0
  179. package/lib/server/devices/DeviceInfo.js +6 -0
  180. package/lib/server/devices/Griffe.js +1 -2
  181. package/lib/server/devices/Heizgruppen.js +2 -2
  182. package/lib/server/devices/IoBrokerBaseDevice.d.ts +34 -18
  183. package/lib/server/devices/IoBrokerBaseDevice.js +37 -21
  184. package/lib/server/devices/IoBrokerDeviceInfo.d.ts +2 -2
  185. package/lib/server/devices/IoBrokerDeviceInfo.js +6 -4
  186. package/lib/server/devices/baseDeviceInterfaces/iAcDevice.d.ts +41 -3
  187. package/lib/server/devices/baseDeviceInterfaces/iActuator.d.ts +18 -0
  188. package/lib/server/devices/baseDeviceInterfaces/iBaseDevice.d.ts +26 -1
  189. package/lib/server/devices/baseDeviceInterfaces/iBatteryDevice.d.ts +21 -4
  190. package/lib/server/devices/baseDeviceInterfaces/iBluetoothDetector.d.ts +15 -7
  191. package/lib/server/devices/baseDeviceInterfaces/iButtonSwitch.d.ts +42 -0
  192. package/lib/server/devices/baseDeviceInterfaces/iCameraDevice.d.ts +46 -3
  193. package/lib/server/devices/baseDeviceInterfaces/iDimmableLamp.d.ts +17 -2
  194. package/lib/server/devices/baseDeviceInterfaces/iEnergyManager.d.ts +36 -2
  195. package/lib/server/devices/baseDeviceInterfaces/iExcessEnergyConsumer.d.ts +30 -2
  196. package/lib/server/devices/baseDeviceInterfaces/iGarageDoorOpener.d.ts +21 -0
  197. package/lib/server/devices/baseDeviceInterfaces/iHandleSensor.d.ts +24 -0
  198. package/lib/server/devices/baseDeviceInterfaces/iHeater.d.ts +40 -4
  199. package/lib/server/devices/baseDeviceInterfaces/iHumiditySensor.d.ts +21 -1
  200. package/lib/server/devices/baseDeviceInterfaces/iIlluminationSensor.d.ts +11 -0
  201. package/lib/server/devices/baseDeviceInterfaces/iLamp.d.ts +7 -2
  202. package/lib/server/devices/baseDeviceInterfaces/iLedRgbCct.d.ts +20 -0
  203. package/lib/server/devices/baseDeviceInterfaces/iLoadMeter.d.ts +5 -0
  204. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.d.ts +31 -0
  205. package/lib/server/devices/baseDeviceInterfaces/iMagnetSensor.js +2 -0
  206. package/lib/server/devices/baseDeviceInterfaces/iMotionSensor.d.ts +23 -3
  207. package/lib/server/devices/baseDeviceInterfaces/iRoomDevice.d.ts +6 -0
  208. package/lib/server/devices/baseDeviceInterfaces/iScene.d.ts +31 -1
  209. package/lib/server/devices/baseDeviceInterfaces/iShutter.d.ts +25 -1
  210. package/lib/server/devices/baseDeviceInterfaces/iSmokeDetectorDevice.d.ts +12 -0
  211. package/lib/server/devices/baseDeviceInterfaces/iSpeaker.d.ts +30 -0
  212. package/lib/server/devices/baseDeviceInterfaces/iTemperatureSensor.d.ts +32 -2
  213. package/lib/server/devices/baseDeviceInterfaces/iTemporaryDisableAutomatic.d.ts +13 -0
  214. package/lib/server/devices/baseDeviceInterfaces/iTvDevice.d.ts +20 -0
  215. package/lib/server/devices/baseDeviceInterfaces/iVibrationSensor.d.ts +24 -5
  216. package/lib/server/devices/baseDeviceInterfaces/index.d.ts +1 -0
  217. package/lib/server/devices/blueIris/cameraDevice.d.ts +49 -34
  218. package/lib/server/devices/blueIris/cameraDevice.js +75 -75
  219. package/lib/server/devices/button/button.d.ts +0 -1
  220. package/lib/server/devices/button/button.js +0 -4
  221. package/lib/server/devices/button/buttonCallback.d.ts +5 -0
  222. package/lib/server/devices/button/buttonCallback.js +10 -0
  223. package/lib/server/devices/button/buttonCapabilities.d.ts +12 -0
  224. package/lib/server/devices/button/buttonCapabilities.js +12 -0
  225. package/lib/server/devices/button/index.d.ts +1 -0
  226. package/lib/server/devices/button/index.js +3 -0
  227. package/lib/server/devices/dachs/dachs.d.ts +37 -11
  228. package/lib/server/devices/dachs/dachs.js +49 -22
  229. package/lib/server/devices/dachs/dachsTemperatureSensor.d.ts +22 -3
  230. package/lib/server/devices/dachs/dachsTemperatureSensor.js +23 -5
  231. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +30 -0
  232. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +0 -8
  233. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +0 -8
  234. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +12 -0
  235. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +21 -1
  236. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +5 -2
  237. package/lib/server/devices/dachs/lib/dachsHttpClient.js +5 -4
  238. package/lib/server/devices/device-cluster.d.ts +3 -0
  239. package/lib/server/devices/device-cluster.js +1 -1
  240. package/lib/server/devices/deviceUpdater.d.ts +0 -3
  241. package/lib/server/devices/deviceUpdater.js +1 -4
  242. package/lib/server/devices/devices.d.ts +43 -7
  243. package/lib/server/devices/devices.js +42 -6
  244. package/lib/server/devices/espresense/detectedBluetoothDevice.d.ts +13 -0
  245. package/lib/server/devices/espresense/detectedBluetoothDevice.js +14 -1
  246. package/lib/server/devices/espresense/espresenseDevice.d.ts +31 -1
  247. package/lib/server/devices/espresense/espresenseDevice.js +28 -4
  248. package/lib/server/devices/espresense/trackedDistanceData.d.ts +12 -0
  249. package/lib/server/devices/espresense/trackedDistanceData.js +3 -0
  250. package/lib/server/devices/espresense/trilateration.d.ts +7 -0
  251. package/lib/server/devices/espresense/trilateration.js +7 -0
  252. package/lib/server/devices/espresense/trilaterationBasePoint.d.ts +6 -0
  253. package/lib/server/devices/espresense/trilaterationBasePoint.js +3 -0
  254. package/lib/server/devices/espresense/trilaterationPoint.d.ts +1 -1
  255. package/lib/server/devices/espresense/trilaterationPoint.js +3 -1
  256. package/lib/server/devices/groups/Window.d.ts +9 -3
  257. package/lib/server/devices/groups/Window.js +19 -11
  258. package/lib/server/devices/groups/base-group.d.ts +4 -0
  259. package/lib/server/devices/groups/base-group.js +3 -0
  260. package/lib/server/devices/groups/heatGroup.d.ts +8 -6
  261. package/lib/server/devices/groups/heatGroup.js +11 -11
  262. package/lib/server/devices/groups/lightGroup.d.ts +10 -2
  263. package/lib/server/devices/groups/lightGroup.js +18 -37
  264. package/lib/server/devices/groups/presenceGroup.d.ts +11 -4
  265. package/lib/server/devices/groups/presenceGroup.js +57 -64
  266. package/lib/server/devices/groups/tasterGroup.js +6 -6
  267. package/lib/server/devices/groups/windowGroup.d.ts +11 -1
  268. package/lib/server/devices/groups/windowGroup.js +6 -6
  269. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.d.ts +1 -0
  270. package/lib/server/devices/hmIPDevices/hmIpAccessPoint.js +1 -0
  271. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +9 -6
  272. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +10 -11
  273. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +1 -2
  274. package/lib/server/devices/hmIPDevices/hmIpDevice.js +2 -3
  275. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +36 -5
  276. package/lib/server/devices/hmIPDevices/hmIpGriff.js +76 -33
  277. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +25 -5
  278. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +27 -14
  279. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +13 -3
  280. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +33 -12
  281. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +7 -1
  282. package/lib/server/devices/hmIPDevices/hmIpLampe.js +11 -7
  283. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +19 -9
  284. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +33 -11
  285. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +4 -2
  286. package/lib/server/devices/hmIPDevices/hmIpRoll.js +25 -23
  287. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +28 -4
  288. package/lib/server/devices/hmIPDevices/hmIpTaster.js +37 -8
  289. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +11 -1
  290. package/lib/server/devices/hmIPDevices/hmIpTherm.js +26 -5
  291. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +9 -1
  292. package/lib/server/devices/hmIPDevices/hmIpTuer.js +17 -4
  293. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +27 -0
  294. package/lib/server/devices/hmIPDevices/hmIpWippe.js +3 -0
  295. package/lib/server/devices/iDeviceUpdater.d.ts +14 -0
  296. package/lib/server/devices/index.d.ts +5 -2
  297. package/lib/server/devices/index.js +8 -2
  298. package/lib/server/devices/jsObject/jsObjectEnergyManager.d.ts +5 -1
  299. package/lib/server/devices/jsObject/jsObjectEnergyManager.js +9 -3
  300. package/lib/server/devices/nameAmountValuePair.d.ts +5 -0
  301. package/lib/server/devices/nameAmountValuePair.js +10 -0
  302. package/lib/server/devices/scene/room-scene.d.ts +23 -6
  303. package/lib/server/devices/scene/room-scene.js +18 -4
  304. package/lib/server/devices/sharedFunctions/lampUtils.d.ts +11 -2
  305. package/lib/server/devices/sharedFunctions/lampUtils.js +79 -25
  306. package/lib/server/devices/shelly/shellyDevice.d.ts +2 -1
  307. package/lib/server/devices/shelly/shellyDevice.js +2 -1
  308. package/lib/server/devices/shelly/shellyTrv.d.ts +37 -17
  309. package/lib/server/devices/shelly/shellyTrv.js +66 -45
  310. package/lib/server/devices/tuya/tuyaDevice.d.ts +2 -1
  311. package/lib/server/devices/tuya/tuyaDevice.js +2 -1
  312. package/lib/server/devices/tuya/tuyaGarageOpener.d.ts +3 -0
  313. package/lib/server/devices/tuya/tuyaGarageOpener.js +3 -0
  314. package/lib/server/devices/tv/samsungTv.d.ts +1 -0
  315. package/lib/server/devices/tv/samsungTv.js +1 -0
  316. package/lib/server/devices/tv/tvDevice.d.ts +7 -1
  317. package/lib/server/devices/tv/tvDevice.js +4 -3
  318. package/lib/server/devices/wledDevice.d.ts +15 -3
  319. package/lib/server/devices/wledDevice.js +42 -16
  320. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.d.ts +17 -4
  321. package/lib/server/devices/zigbee/BaseDevices/ZigbeeActuator.js +30 -15
  322. package/lib/server/devices/zigbee/BaseDevices/index.d.ts +1 -0
  323. package/lib/server/devices/zigbee/BaseDevices/index.js +3 -0
  324. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.d.ts +4 -5
  325. package/lib/server/devices/zigbee/BaseDevices/zigbeeDevice.js +15 -22
  326. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.d.ts +10 -25
  327. package/lib/server/devices/zigbee/BaseDevices/zigbeeDimmer.js +27 -62
  328. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.d.ts +34 -13
  329. package/lib/server/devices/zigbee/BaseDevices/zigbeeHeater.js +60 -34
  330. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.d.ts +16 -0
  331. package/lib/server/devices/zigbee/BaseDevices/zigbeeLamp.js +35 -0
  332. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.d.ts +9 -8
  333. package/lib/server/devices/zigbee/BaseDevices/zigbeeLedRGBCCT.js +16 -13
  334. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.d.ts +26 -7
  335. package/lib/server/devices/zigbee/BaseDevices/zigbeeMagnetContact.js +52 -22
  336. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.d.ts +30 -14
  337. package/lib/server/devices/zigbee/BaseDevices/zigbeeMotionSensor.js +62 -38
  338. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.d.ts +12 -3
  339. package/lib/server/devices/zigbee/BaseDevices/zigbeeShutter.js +28 -19
  340. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.d.ts +9 -1
  341. package/lib/server/devices/zigbee/BaseDevices/zigbeeSwitch.js +8 -1
  342. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.d.ts +1 -0
  343. package/lib/server/devices/zigbee/zigbeeAqaraMagnetContact.js +1 -0
  344. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.d.ts +16 -0
  345. package/lib/server/devices/zigbee/zigbeeAqaraOpple3Switch.js +16 -0
  346. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +6 -0
  347. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +7 -3
  348. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +58 -11
  349. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +115 -27
  350. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +28 -8
  351. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +54 -30
  352. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +15 -5
  353. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +22 -14
  354. package/lib/server/devices/zigbee/zigbeeEuroHeater.d.ts +10 -4
  355. package/lib/server/devices/zigbee/zigbeeEuroHeater.js +16 -10
  356. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +34 -7
  357. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +58 -20
  358. package/lib/server/devices/zigbee/zigbeeIkeaShutter.d.ts +1 -0
  359. package/lib/server/devices/zigbee/zigbeeIkeaShutter.js +2 -1
  360. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +2 -0
  361. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +3 -1
  362. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +1 -2
  363. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -11
  364. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +1 -1
  365. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +1 -1
  366. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +3 -10
  367. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +3 -32
  368. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +1 -1
  369. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +1 -1
  370. package/lib/server/devices/zigbee/zigbeeIlluShutter.d.ts +1 -0
  371. package/lib/server/devices/zigbee/zigbeeIlluShutter.js +5 -4
  372. package/lib/server/devices/zigbee/zigbeeInnr142C.d.ts +1 -1
  373. package/lib/server/devices/zigbee/zigbeeInnr142C.js +1 -1
  374. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.d.ts +1 -1
  375. package/lib/server/devices/zigbee/zigbeeLinkindLedRgbCct.js +1 -1
  376. package/lib/server/devices/zigbee/zigbeeOsramDimmer.d.ts +1 -1
  377. package/lib/server/devices/zigbee/zigbeeOsramDimmer.js +1 -1
  378. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.d.ts +1 -0
  379. package/lib/server/devices/zigbee/zigbeeSMaBiTMagnetContact.js +1 -0
  380. package/lib/server/devices/zigbee/zigbeeSonoffMotion.d.ts +1 -0
  381. package/lib/server/devices/zigbee/zigbeeSonoffMotion.js +1 -0
  382. package/lib/server/devices/zigbee/zigbeeSonoffTemp.d.ts +34 -8
  383. package/lib/server/devices/zigbee/zigbeeSonoffTemp.js +50 -13
  384. package/lib/server/devices/zigbee/zigbeeTuyaValve.d.ts +10 -3
  385. package/lib/server/devices/zigbee/zigbeeTuyaValve.js +11 -6
  386. package/lib/server/devices/zigbee/zigbeeUbisysActuator.d.ts +9 -2
  387. package/lib/server/devices/zigbee/zigbeeUbisysActuator.js +10 -8
  388. package/lib/server/devices/zigbee/zigbeeUbisysLampe.d.ts +8 -9
  389. package/lib/server/devices/zigbee/zigbeeUbisysLampe.js +14 -24
  390. package/lib/server/devices/zigbee/zigbeeUbisysShutter.d.ts +1 -0
  391. package/lib/server/devices/zigbee/zigbeeUbisysShutter.js +2 -1
  392. package/lib/server/ioBroker/connection.d.ts +21 -20
  393. package/lib/server/ioBroker/connection.js +37 -28
  394. package/lib/server/ioBroker/ioBroker.main.d.ts +3 -0
  395. package/lib/server/ioBroker/ioBroker.main.js +4 -3
  396. package/lib/server/ioBroker/iobrokerConnectionLogging.d.ts +3 -0
  397. package/lib/server/ioBroker/iobrokerConnectionLogging.js +4 -0
  398. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +2 -2
  399. package/lib/server/ioBroker/socketIOConnectOptions.js +1 -0
  400. package/lib/server/ioBroker/socketIOVisCommand.d.ts +5 -1
  401. package/lib/server/ioBroker/socketIOVisCommand.js +1 -0
  402. package/lib/server/services/ShutterService.js +6 -6
  403. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +3 -0
  404. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  405. package/lib/server/services/Sonos/mp3-server.d.ts +3 -1
  406. package/lib/server/services/Sonos/mp3-server.js +3 -1
  407. package/lib/server/services/Sonos/own-sonos-device.d.ts +4 -1
  408. package/lib/server/services/Sonos/own-sonos-device.js +4 -4
  409. package/lib/server/services/Sonos/polly-service.d.ts +7 -1
  410. package/lib/server/services/Sonos/polly-service.js +10 -8
  411. package/lib/server/services/Sonos/sonos-service.d.ts +0 -5
  412. package/lib/server/services/Sonos/sonos-service.js +6 -10
  413. package/lib/server/services/Telegram/telegram-Commands.js +5 -5
  414. package/lib/server/services/Telegram/telegram-service.d.ts +2 -1
  415. package/lib/server/services/Telegram/telegram-service.js +8 -3
  416. package/lib/server/services/Translation/IRessourceObject.d.ts +13 -0
  417. package/lib/server/services/Translation/IRessourceObject.js +2 -0
  418. package/lib/server/services/Translation/iRessources.d.ts +1 -4
  419. package/lib/server/services/Translation/index.d.ts +1 -0
  420. package/lib/server/services/Translation/res.d.ts +34 -19
  421. package/lib/server/services/Translation/res.js +34 -19
  422. package/lib/server/services/ac/ac-device.d.ts +48 -6
  423. package/lib/server/services/ac/ac-device.js +91 -36
  424. package/lib/server/services/ac/daikin-service.js +4 -3
  425. package/lib/server/services/ac/own-ac-devices.d.ts +3 -0
  426. package/lib/server/services/ac/own-ac-devices.js +3 -0
  427. package/lib/server/services/ac/own-daikin-device.d.ts +25 -0
  428. package/lib/server/services/ac/own-daikin-device.js +40 -7
  429. package/lib/server/services/api/api-service.d.ts +118 -53
  430. package/lib/server/services/api/api-service.js +170 -80
  431. package/lib/server/services/blockAutomaticHandler.d.ts +13 -8
  432. package/lib/server/services/blockAutomaticHandler.js +34 -15
  433. package/lib/server/services/calendar/index.d.ts +1 -0
  434. package/lib/server/services/calendar/index.js +3 -0
  435. package/lib/server/services/calendar/muell-tonne.d.ts +11 -1
  436. package/lib/server/services/calendar/muell-tonne.js +10 -0
  437. package/lib/server/services/calendar/m/303/274ll-service.d.ts +23 -8
  438. package/lib/server/services/calendar/m/303/274ll-service.js +11 -5
  439. package/lib/server/services/calendar/name-date-pair.d.ts +5 -0
  440. package/lib/server/services/calendar/name-date-pair.js +10 -0
  441. package/lib/server/services/dbo/iPersist.d.ts +103 -0
  442. package/lib/server/services/dbo/postgreSqlPersist.d.ts +23 -0
  443. package/lib/server/services/dbo/postgreSqlPersist.js +28 -5
  444. package/lib/server/services/file-info.d.ts +5 -0
  445. package/lib/server/services/file-info.js +10 -0
  446. package/lib/server/services/govee/govee-device-data.d.ts +25 -0
  447. package/lib/server/services/govee/govee-device-data.js +2 -0
  448. package/lib/server/services/govee/govee-service.d.ts +7 -9
  449. package/lib/server/services/govee/govee-service.js +73 -48
  450. package/lib/server/services/govee/own-govee-device.d.ts +19 -17
  451. package/lib/server/services/govee/own-govee-device.js +57 -56
  452. package/lib/server/services/govee/own-govee-devices.d.ts +3 -0
  453. package/lib/server/services/govee/own-govee-devices.js +3 -0
  454. package/lib/server/services/https-service.d.ts +3 -2
  455. package/lib/server/services/https-service.js +4 -3
  456. package/lib/server/services/index.d.ts +1 -0
  457. package/lib/server/services/index.js +3 -0
  458. package/lib/server/services/log-service/index.d.ts +1 -0
  459. package/lib/server/services/log-service/index.js +3 -0
  460. package/lib/server/services/log-service/log-debug-type.d.ts +13 -0
  461. package/lib/server/services/log-service/log-debug-type.js +17 -0
  462. package/lib/server/services/log-service/log-filter-data.d.ts +21 -12
  463. package/lib/server/services/log-service/log-filter-data.js +6 -15
  464. package/lib/server/services/log-service/log-service.d.ts +17 -4
  465. package/lib/server/services/log-service/log-service.js +30 -17
  466. package/lib/server/services/news-service.d.ts +9 -7
  467. package/lib/server/services/news-service.js +14 -15
  468. package/lib/server/services/room-service/room-service.d.ts +20 -4
  469. package/lib/server/services/room-service/room-service.js +26 -10
  470. package/lib/server/services/settings-service.d.ts +6 -2
  471. package/lib/server/services/settings-service.js +3 -2
  472. package/lib/server/services/time-callback-service.js +1 -1
  473. package/lib/server/services/utils/RGB.d.ts +6 -0
  474. package/lib/server/services/utils/RGB.js +11 -0
  475. package/lib/server/services/utils/catchEmResult.d.ts +5 -0
  476. package/lib/server/services/utils/catchEmResult.js +10 -0
  477. package/lib/server/services/utils/energy-consumer-state-change.d.ts +6 -0
  478. package/lib/server/services/utils/energy-consumer-state-change.js +10 -0
  479. package/lib/server/services/utils/energy-manager-utils.d.ts +3 -14
  480. package/lib/server/services/utils/energy-manager-utils.js +2 -2
  481. package/lib/server/services/utils/iDisposeable.d.ts +6 -0
  482. package/lib/server/services/utils/index.d.ts +4 -1
  483. package/lib/server/services/utils/index.js +8 -1
  484. package/lib/server/services/utils/{ringstorage.d.ts → ringStorage.d.ts} +1 -1
  485. package/lib/server/services/utils/{ringstorage.js → ringStorage.js} +3 -3
  486. package/lib/server/services/utils/utils.d.ts +9 -13
  487. package/lib/server/services/victron/victron-device.d.ts +27 -10
  488. package/lib/server/services/victron/victron-device.js +92 -25
  489. package/lib/server/services/weather/index.d.ts +2 -0
  490. package/lib/server/services/weather/index.js +3 -0
  491. package/lib/server/services/weather/rain-next-minutes-info.d.ts +5 -0
  492. package/lib/server/services/weather/rain-next-minutes-info.js +10 -0
  493. package/lib/server/services/weather/weather-current.d.ts +0 -2
  494. package/lib/server/services/weather/weather-feelsLike.d.ts +15 -0
  495. package/lib/server/services/weather/weather-response.d.ts +16 -0
  496. package/lib/server/services/weather/weather-response.js +2 -0
  497. package/lib/server/services/weather/weather-service.d.ts +15 -18
  498. package/lib/server/services/weather/weather-service.js +32 -22
  499. package/lib/server/services/weather/weather-temp.d.ts +21 -0
  500. package/lib/tsconfig.tsbuildinfo +1 -1
  501. package/package.json +6 -8
  502. package/lib/models/iTemperaturDataPoint.d.ts +0 -9
  503. package/lib/models/persistence/RoomDetailInfo.d.ts +0 -6
  504. package/lib/models/persistence/RoomDetailInfo.js +0 -11
  505. package/lib/models/persistence/temperaturDataPoint.d.ts +0 -10
  506. package/lib/models/persistence/temperaturDataPoint.js +0 -14
  507. /package/lib/{models/iTemperaturDataPoint.js → server/config/iBlockAutomaticHandlerDefaults.js} +0 -0
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Dachs = void 0;
7
7
  const devices_1 = require("../../devices");
8
8
  const models_1 = require("../../../models");
9
- const DeviceCapability_1 = require("../DeviceCapability");
10
9
  const services_1 = require("../../services");
11
10
  const lodash_1 = __importDefault(require("lodash"));
12
11
  const dachsSettings_1 = require("../../../models/deviceSettings/dachsSettings");
@@ -14,30 +13,32 @@ const lib_1 = require("./lib");
14
13
  const dachsTemperatureSensor_1 = require("./dachsTemperatureSensor");
15
14
  const blockAutomaticHandler_1 = require("../../services/blockAutomaticHandler");
16
15
  class Dachs {
16
+ /** @inheritDoc */
17
17
  get customName() {
18
18
  return this.info.customName;
19
19
  }
20
+ /** @inheritDoc */
20
21
  get actuatorOn() {
21
22
  return this._dachsOn;
22
23
  }
23
- get tempWarmWater() {
24
- return this._tempWarmWater;
25
- }
26
- get tempHeatStorage() {
27
- return this._tempHeatStorage;
28
- }
29
24
  constructor(options) {
25
+ var _a, _b;
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
- this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
39
+ this.deviceCapabilities.push(devices_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;
@@ -52,32 +53,38 @@ class Dachs {
52
53
  flatten: true,
53
54
  };
54
55
  this.config = modifiedOptions;
55
- this.client = new lib_1.DachsHttpClient(this.config.connectionOptions);
56
+ this.client = new lib_1.DachsHttpClient(this.config.connectionOptions, this.log.bind(this));
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));
61
+ if ((_b = (_a = devices_1.Devices.energymanager) === null || _a === void 0 ? void 0 : _a.deviceCapabilities) === null || _b === void 0 ? void 0 : _b.includes(devices_1.DeviceCapability.batteryDriven)) {
62
+ const energyManager = devices_1.Devices.energymanager;
63
+ energyManager.addBatteryLevelCallback(this.onBatteryLevelChange.bind(this));
64
+ }
64
65
  }
66
+ /** @inheritDoc */
65
67
  get info() {
66
68
  return this._info;
67
69
  }
68
- set info(info) {
69
- this._info = info;
70
- }
70
+ /** @inheritDoc */
71
71
  get id() {
72
72
  var _a;
73
73
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `sonos-${this.info.room}-${this.info.customName}`;
74
74
  }
75
+ /** @inheritDoc */
76
+ get room() {
77
+ return services_1.API.getRoom(this.info.room);
78
+ }
75
79
  get name() {
76
80
  return this.info.customName;
77
81
  }
78
- get room() {
79
- return services_1.API.getRoom(this.info.room);
82
+ /** @inheritDoc */
83
+ restoreTargetAutomaticValue(c) {
84
+ this.log(models_1.LogLevel.Debug, 'Restore Target Automatic value');
85
+ this.setActuator(new models_1.ActuatorSetStateCommand(c, this.targetAutomaticState, 'Restore Target Automatic value'));
80
86
  }
87
+ /** @inheritDoc */
81
88
  log(level, message, debugType = services_1.LogDebugType.None) {
82
89
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
83
90
  debugType: debugType,
@@ -86,15 +93,18 @@ class Dachs {
86
93
  deviceName: this.name,
87
94
  });
88
95
  }
96
+ /** @inheritDoc */
89
97
  toJSON() {
90
98
  return services_1.Utils.jsonFilter(lodash_1.default.omit(this, ['room', 'client', 'config', '_influxClient', 'warmWaterSensor', 'heatStorageTempSensor']));
91
99
  }
100
+ /** @inheritDoc */
92
101
  persistDeviceInfo() {
93
102
  services_1.Utils.guardedTimeout(() => {
94
103
  var _a;
95
104
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
96
105
  }, 5000, this);
97
106
  }
107
+ /** @inheritDoc */
98
108
  loadDeviceSettings() {
99
109
  this.settings.initializeFromDb(this);
100
110
  }
@@ -125,21 +135,25 @@ class Dachs {
125
135
  this.persist();
126
136
  })
127
137
  .catch((error) => {
128
- this.log(models_1.LogLevel.Error, `Error while fetching data: ${error}`);
138
+ this.log(models_1.LogLevel.Error, `Error while fetching data: ${error}`, services_1.LogDebugType.DachsUnreach);
129
139
  });
130
140
  }
141
+ /** @inheritDoc */
131
142
  persist() {
132
143
  var _a;
133
144
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
134
145
  }
146
+ /** @inheritDoc */
135
147
  setActuator(c) {
136
148
  devices_1.LampUtils.setActuator(this, c);
137
149
  }
150
+ /** @inheritDoc */
138
151
  toggleActuator(c) {
139
152
  const setActuatorCommand = models_1.ActuatorSetStateCommand.byActuatorAndToggleCommand(this, c);
140
153
  this.setActuator(setActuatorCommand);
141
154
  return setActuatorCommand.on;
142
155
  }
156
+ /** @inheritDoc */
143
157
  writeActuatorStateToDevice(c) {
144
158
  this.log(models_1.LogLevel.Debug, c.logMessage, services_1.LogDebugType.SetActuator);
145
159
  if (!c.stateValue) {
@@ -167,5 +181,18 @@ class Dachs {
167
181
  this.log(models_1.LogLevel.Error, `Error while turning on Dachs: ${error}`);
168
182
  });
169
183
  }
184
+ /**
185
+ * Reacts on level Changes of a Energymanager with battery
186
+ * @param {BatteryLevelChangeAction} action - The action containing the new level
187
+ */
188
+ onBatteryLevelChange(action) {
189
+ if (this._dachsOn || this.settings.batteryLevelTurnOnThreshold < action.newLevel) {
190
+ // We are already running, or battery level is high enough.
191
+ return;
192
+ }
193
+ const setStateCommand = new models_1.ActuatorSetStateCommand(action, true, 'Energy Level of battery dropped to critical level', null);
194
+ setStateCommand.overrideCommandSource = models_1.CommandSource.Force;
195
+ this.setActuator(setStateCommand);
196
+ }
170
197
  }
171
198
  exports.Dachs = Dachs;
@@ -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
  }
@@ -11,11 +11,16 @@ const deviceType_1 = require("../deviceType");
11
11
  const DeviceInfo_1 = require("../DeviceInfo");
12
12
  const devices_1 = require("../devices");
13
13
  const lodash_1 = __importDefault(require("lodash"));
14
+ const models_1 = require("../../../models");
14
15
  class DachsTemperatureSensor {
15
16
  constructor(roomName, shortKey, longKey) {
17
+ /** @inheritDoc */
16
18
  this.settings = undefined;
19
+ /** @inheritDoc */
17
20
  this.deviceType = deviceType_1.DeviceType.DachsWarmWaterTemperature;
21
+ /** @inheritDoc */
18
22
  this.deviceCapabilities = [];
23
+ /** @inheritDoc */
19
24
  this.persistTemperatureSensorInterval = services_1.Utils.guardedInterval(() => {
20
25
  this.persistTemperaturSensor();
21
26
  }, 5 * 60 * 1000, this, false);
@@ -33,15 +38,15 @@ class DachsTemperatureSensor {
33
38
  this.persistDeviceInfo();
34
39
  services_1.Utils.guardedTimeout(this.loadDeviceSettings, 200, this);
35
40
  }
41
+ /** @inheritDoc */
36
42
  get customName() {
37
43
  return this.info.customName;
38
44
  }
45
+ /** @inheritDoc */
39
46
  get info() {
40
47
  return this._info;
41
48
  }
42
- set info(info) {
43
- this._info = info;
44
- }
49
+ /** @inheritDoc */
45
50
  get id() {
46
51
  var _a;
47
52
  return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `dachs-${this.info.room}-${this.info.customName}`;
@@ -49,43 +54,52 @@ class DachsTemperatureSensor {
49
54
  get name() {
50
55
  return this.info.customName;
51
56
  }
57
+ /** @inheritDoc */
52
58
  get room() {
53
59
  return services_1.API.getRoom(this.info.room);
54
60
  }
61
+ /** @inheritDoc */
55
62
  get roomTemperature() {
56
63
  return this._roomTemperature;
57
64
  }
65
+ /** @inheritDoc */
58
66
  set roomTemperature(value) {
59
67
  this._roomTemperature = value;
60
68
  }
69
+ /** @inheritDoc */
61
70
  get iTemperature() {
62
71
  return this._temperature;
63
72
  }
73
+ /** @inheritDoc */
64
74
  get sTemperature() {
65
75
  return `${this._temperature}°C`;
66
76
  }
67
77
  set temperature(val) {
68
78
  this._temperature = val;
69
79
  for (const cb of this._temperaturCallbacks) {
70
- cb(val);
80
+ cb(new models_1.TemperatureSensorChangeAction(this, val));
71
81
  }
72
82
  }
73
83
  update(newTemp) {
74
84
  this.temperature = newTemp;
75
85
  }
86
+ /** @inheritDoc */
76
87
  addTempChangeCallback(pCallback) {
77
88
  this._temperaturCallbacks.push(pCallback);
78
89
  if (this._temperature > baseDeviceInterfaces_1.UNDEFINED_TEMP_VALUE) {
79
- pCallback(this._temperature);
90
+ pCallback(new models_1.TemperatureSensorChangeAction(this, this._temperature));
80
91
  }
81
92
  }
93
+ /** @inheritDoc */
82
94
  onTemperaturChange(newTemperatur) {
83
95
  this.roomTemperature = newTemperatur;
84
96
  }
97
+ /** @inheritDoc */
85
98
  persistTemperaturSensor() {
86
99
  var _a;
87
100
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistTemperatureSensor(this);
88
101
  }
102
+ /** @inheritDoc */
89
103
  log(level, message, debugType = services_1.LogDebugType.None) {
90
104
  services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
91
105
  debugType: debugType,
@@ -94,19 +108,23 @@ class DachsTemperatureSensor {
94
108
  deviceName: this.name,
95
109
  });
96
110
  }
111
+ /** @inheritDoc */
97
112
  toJSON() {
98
113
  return services_1.Utils.jsonFilter(lodash_1.default.omit(this, ['room', 'client', 'config', '_influxClient']));
99
114
  }
115
+ /** @inheritDoc */
100
116
  persistDeviceInfo() {
101
117
  services_1.Utils.guardedTimeout(() => {
102
118
  var _a;
103
119
  (_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
104
120
  }, 5000, this);
105
121
  }
122
+ /** @inheritDoc */
106
123
  loadDeviceSettings() {
107
124
  var _a;
108
125
  (_a = this.settings) === null || _a === void 0 ? void 0 : _a.initializeFromDb(this);
109
126
  }
127
+ /** @inheritDoc */
110
128
  dispose() {
111
129
  if (this.persistTemperatureSensorInterval) {
112
130
  clearInterval(this.persistTemperatureSensorInterval);
@@ -1,12 +1,42 @@
1
+ /**
2
+ * Options to connect to a Dachs CHP device
3
+ */
1
4
  export interface DachsClientOptions {
5
+ /**
6
+ * The hostname or IP address of the Dachs device
7
+ */
2
8
  host: string;
9
+ /**
10
+ * The protocol to use
11
+ */
3
12
  protocol?: 'http' | 'https';
13
+ /**
14
+ * The port to use
15
+ */
4
16
  port?: number;
17
+ /**
18
+ * The username to use for authentication
19
+ */
5
20
  username?: string;
21
+ /**
22
+ * The password to use for authentication
23
+ */
6
24
  password?: string;
25
+ /**
26
+ * Settings to define the result of requests
27
+ */
7
28
  resultConfig?: {
29
+ /**
30
+ * Whether to add the raw value to the result
31
+ */
8
32
  addRawValue?: boolean;
33
+ /**
34
+ * Whether to add the key object to the result
35
+ */
9
36
  addKeyObject?: boolean;
37
+ /**
38
+ * Whether to flatten the result
39
+ */
10
40
  flatten?: boolean;
11
41
  };
12
42
  }
@@ -8,11 +8,3 @@ export interface KeyListEntityResponse<V> {
8
8
  rawValue?: string;
9
9
  value: V;
10
10
  }
11
- /**
12
-
13
- "key": "",
14
- "doc": "",
15
- "unit": Number
16
-
17
-
18
- */
@@ -1,10 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
-
5
- "key": "",
6
- "doc": "",
7
- "unit": Number
8
-
9
-
10
- */
@@ -1,6 +1,18 @@
1
+ /**
2
+ * Represents a data point that can be written to the persistence layer
3
+ */
1
4
  export interface DachsInfluxDataPoint {
5
+ /**
6
+ * The timestamp of the data point
7
+ */
2
8
  timestamp: Date;
9
+ /**
10
+ * The measurement of the data point
11
+ */
3
12
  measurement: string;
13
+ /**
14
+ * The fields of the data point
15
+ */
4
16
  fields: {
5
17
  [key: string]: string | number | boolean;
6
18
  };
@@ -1,9 +1,29 @@
1
+ /**
2
+ * The options needed for connecting to an InfluxDB database
3
+ */
1
4
  export interface InfluxDbConnectionOptions {
5
+ /**
6
+ * The host address of the InfluxDB server (or its ip address)
7
+ */
2
8
  host: string;
9
+ /**
10
+ * The port of the InfluxDB server
11
+ */
3
12
  port: number;
13
+ /**
14
+ * The name of the database to connect to
15
+ */
4
16
  database: string;
17
+ /**
18
+ * The username to use for authentication
19
+ */
5
20
  username: string;
21
+ /**
22
+ * The password to use for authentication
23
+ */
6
24
  password: string;
25
+ /**
26
+ * The retention policy to use for writing data (if not specified, the default retention policy is used)
27
+ */
7
28
  retentionPolicy?: string;
8
- batchIntervalSeconds?: number;
9
29
  }
@@ -1,5 +1,7 @@
1
1
  import { AxiosResponse } from 'axios';
2
2
  import { DachsClientOptions, iFlattenedCompleteResponse, KeyListEntityResponse } from '../interfaces';
3
+ import { LogDebugType } from '../../../services';
4
+ import { LogLevel } from '../../../../models';
3
5
  /**
4
6
  * axios HTTP Client Class
5
7
  * - with some prepared fetch functions for data
@@ -8,10 +10,11 @@ import { DachsClientOptions, iFlattenedCompleteResponse, KeyListEntityResponse }
8
10
  * @class
9
11
  */
10
12
  export declare class DachsHttpClient {
13
+ private readonly _logger;
11
14
  private options;
12
- private url;
15
+ private readonly url;
13
16
  private axiosInstance;
14
- constructor(options: DachsClientOptions);
17
+ constructor(options: DachsClientOptions, _logger: (level: LogLevel, message: string, logDebugType?: LogDebugType) => void);
15
18
  /**
16
19
  * Takes every key and add the key to the get parameter list
17
20
  * @param {string[]} keys - Array of request keys
@@ -41,8 +41,9 @@ const models_1 = require("../../../../models");
41
41
  * @class
42
42
  */
43
43
  class DachsHttpClient {
44
- constructor(options) {
44
+ constructor(options, _logger) {
45
45
  var _a;
46
+ this._logger = _logger;
46
47
  this.options = options;
47
48
  //combine parameter to baseUrl
48
49
  //check http prefix
@@ -61,7 +62,7 @@ class DachsHttpClient {
61
62
  this.axiosInstance.interceptors.response.use((response) => {
62
63
  return response;
63
64
  }, (error) => {
64
- services_1.ServerLogService.writeLog(models_1.LogLevel.Error, `DachsHttpClient: ${error.message}`);
65
+ this._logger(models_1.LogLevel.Error, `DachsHttpClient: ${error.message}`, services_1.LogDebugType.DachsUnreach);
65
66
  });
66
67
  }
67
68
  /**
@@ -89,7 +90,7 @@ class DachsHttpClient {
89
90
  fetchByKeys(...keys) {
90
91
  return new Promise((resolve, reject) => {
91
92
  this.axiosInstance
92
- .get(`/getKey` + this.urlBuilder(keys))
93
+ .get('/getKey' + this.urlBuilder(keys))
93
94
  .then((res) => {
94
95
  if (!res.data)
95
96
  reject('No data received');
@@ -117,7 +118,7 @@ class DachsHttpClient {
117
118
  setKeys(data) {
118
119
  return new Promise((resolve, reject) => {
119
120
  this.axiosInstance
120
- .post(`/setKeys`, Object.entries(data)
121
+ .post('/setKeys', Object.entries(data)
121
122
  .map(([key, value]) => `${key}=${value}`)
122
123
  .join('&'))
123
124
  .then((res) => {
@@ -10,6 +10,9 @@ export declare class DeviceCluster {
10
10
  addByDeviceType(device: iBaseDevice): void;
11
11
  addToList(type: DeviceClusterType, device: iBaseDevice): void;
12
12
  toJSON(): Partial<DeviceCluster & {
13
+ /**
14
+ * Dictionary representation of the normal device map
15
+ */
13
16
  deviceDict?: {
14
17
  [p: string]: DeviceList;
15
18
  };
@@ -11,7 +11,7 @@ class DeviceCluster {
11
11
  }
12
12
  getIoBrokerDevicesByType(type) {
13
13
  if (type === device_cluster_type_1.DeviceClusterType.Speaker) {
14
- throw new Error(`This is no IoBroker Device`);
14
+ throw new Error('This is no IoBroker Device');
15
15
  }
16
16
  return this.getDevicesByType(type);
17
17
  }
@@ -1,8 +1,5 @@
1
1
  import { IDeviceUpdater } from './iDeviceUpdater';
2
- import { Devices } from './devices';
3
2
  export declare class DeviceUpdater implements IDeviceUpdater {
4
- devices: Devices;
5
- constructor(pDevices: Devices);
6
3
  updateObject(pId: string, pObj: ioBroker.Object): void;
7
4
  updateState(id: string, state: ioBroker.State, initial?: boolean): void;
8
5
  }
@@ -7,9 +7,6 @@ const devices_1 = require("./devices");
7
7
  const mqtt_1 = require("./mqtt");
8
8
  const IoBrokerDeviceInfo_1 = require("./IoBrokerDeviceInfo");
9
9
  class DeviceUpdater {
10
- constructor(pDevices) {
11
- this.devices = pDevices;
12
- }
13
10
  updateObject(pId, pObj) {
14
11
  const idSplit = IoBrokerDeviceInfo_1.IoBrokerDeviceInfo.idSplitter(pId);
15
12
  if (idSplit.length < 2)
@@ -40,7 +37,7 @@ class DeviceUpdater {
40
37
  classifier = devices_1.Devices.IDENTIFIER_ZIGBEE;
41
38
  devId = idSplit[2].substring(2);
42
39
  }
43
- const device = devices_1.Devices.alLDevices[`${classifier}-${devId}`];
40
+ const device = services_1.API.getDevice(`${classifier}-${devId}`, false);
44
41
  if (typeof device === 'undefined' || device.update === undefined) {
45
42
  return;
46
43
  }
@@ -3,18 +3,54 @@ import { iBaseDevice, iEnergyManager, iTemperatureSensor } from './baseDeviceInt
3
3
  import { Dachs } from './dachs';
4
4
  import { iConfig } from '../config';
5
5
  export declare class Devices {
6
- static IDENTIFIER_HOMEMATIC: string;
7
- static IDENTIFIER_JS: string;
8
- static IDENTIFIER_Shelly: string;
9
- static IDENTIFIER_TUYA: string;
10
- static IDENTIFIER_ZIGBEE: string;
11
- static IDENTIFIER_ZIGBEE2MQTT: string;
12
- static IDENTIFIER_WLED: string;
6
+ /**
7
+ * A constant for the identifier of HM-IP Adapter devices
8
+ */
9
+ static readonly IDENTIFIER_HOMEMATIC: string;
10
+ /**
11
+ * A constant for the identifier of JavaScript Adapter devices
12
+ */
13
+ static readonly IDENTIFIER_JS: string;
14
+ /**
15
+ * A constant for the identifier of Shelly Adapter devices
16
+ */
17
+ static readonly IDENTIFIER_Shelly: string;
18
+ /**
19
+ * A constant for the identifier of Tuya Adapter devices
20
+ */
21
+ static readonly IDENTIFIER_TUYA: string;
22
+ /**
23
+ * A constant for the identifier of Zigbee Adapter devices
24
+ */
25
+ static readonly IDENTIFIER_ZIGBEE: string;
26
+ /**
27
+ * A constant for the identifier of Zigbee2Mqtt Adapter devices
28
+ */
29
+ static readonly IDENTIFIER_ZIGBEE2MQTT: string;
30
+ /**
31
+ * A constant for the identifier of WLED Adapter devices
32
+ */
33
+ static readonly IDENTIFIER_WLED: string;
34
+ /**
35
+ * A Map containing all devices
36
+ */
13
37
  static alLDevices: {
14
38
  [id: string]: iBaseDevice;
15
39
  };
40
+ /**
41
+ * A reference to globally active energy manager
42
+ * @default undefined (no Energy-Manager)
43
+ */
16
44
  static energymanager?: iEnergyManager;
45
+ /**
46
+ * A reference to the Dachs device
47
+ * @default undefined (no Dachs CHP)
48
+ */
17
49
  static dachs?: Dachs;
50
+ /**
51
+ * A reference to the temperature sensor measuring the warm water temperature
52
+ * @default undefined (no warm water temperature sensor)
53
+ */
18
54
  static temperatureWarmWater?: iTemperatureSensor;
19
55
  constructor(pDeviceData: {
20
56
  [id: string]: deviceConfig;