hoffmation-base 0.1.14 → 0.1.18

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 (365) hide show
  1. package/lib/index.d.ts +2 -0
  2. package/lib/index.js +14 -0
  3. package/lib/models/actuatorSettings.d.ts +5 -0
  4. package/lib/models/actuatorSettings.js +11 -0
  5. package/lib/models/connectionCallbacks.d.ts +10 -0
  6. package/lib/models/connectionCallbacks.js +6 -0
  7. package/lib/models/daytime.d.ts +5 -0
  8. package/lib/models/daytime.js +10 -0
  9. package/lib/models/deviceConfig.d.ts +11 -0
  10. package/lib/models/deviceConfig.js +2 -0
  11. package/lib/models/dimmerSettings.d.ts +5 -0
  12. package/lib/models/dimmerSettings.js +11 -0
  13. package/lib/models/iTemperaturDataPoint.d.ts +9 -0
  14. package/lib/models/iTemperaturDataPoint.js +2 -0
  15. package/lib/models/index.d.ts +12 -0
  16. package/lib/models/index.js +24 -0
  17. package/lib/models/ledSettings.d.ts +19 -0
  18. package/lib/models/ledSettings.js +25 -0
  19. package/lib/models/logLevel.d.ts +9 -0
  20. package/lib/models/logLevel.js +13 -0
  21. package/lib/models/persistence/BasicRoomInfo.d.ts +5 -0
  22. package/lib/models/persistence/BasicRoomInfo.js +10 -0
  23. package/lib/models/persistence/CurrentIlluminationDataPoint.d.ts +8 -0
  24. package/lib/models/persistence/CurrentIlluminationDataPoint.js +13 -0
  25. package/lib/models/persistence/DailyMovementCount.d.ts +7 -0
  26. package/lib/models/persistence/DailyMovementCount.js +12 -0
  27. package/lib/models/persistence/RoomDetailInfo.d.ts +6 -0
  28. package/lib/models/persistence/RoomDetailInfo.js +11 -0
  29. package/lib/models/persistence/index.d.ts +6 -0
  30. package/lib/models/persistence/index.js +18 -0
  31. package/lib/models/persistence/temperaturDataPoint.d.ts +10 -0
  32. package/lib/models/persistence/temperaturDataPoint.js +14 -0
  33. package/lib/models/persistence/todaysCount.d.ts +5 -0
  34. package/lib/models/persistence/todaysCount.js +10 -0
  35. package/lib/models/rooms/RoomBase.d.ts +81 -0
  36. package/lib/models/rooms/RoomBase.js +309 -0
  37. package/lib/models/rooms/RoomSettings/RoomSettings.d.ts +57 -0
  38. package/lib/models/rooms/RoomSettings/RoomSettings.js +120 -0
  39. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.d.ts +17 -0
  40. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.js +51 -0
  41. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +16 -0
  42. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.js +2 -0
  43. package/lib/models/rooms/RoomSettings/index.d.ts +4 -0
  44. package/lib/models/rooms/RoomSettings/index.js +16 -0
  45. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.d.ts +17 -0
  46. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.js +51 -0
  47. package/{models/rooms/iRoomImportEnforcer.ts → lib/models/rooms/iRoomImportEnforcer.d.ts} +1 -1
  48. package/lib/models/rooms/iRoomImportEnforcer.js +2 -0
  49. package/lib/models/rooms/index.d.ts +3 -0
  50. package/lib/models/rooms/index.js +15 -0
  51. package/lib/models/temperaturSettings.d.ts +9 -0
  52. package/lib/models/temperaturSettings.js +21 -0
  53. package/lib/models/timeCallback.d.ts +19 -0
  54. package/lib/models/timeCallback.js +73 -0
  55. package/lib/server/config/iConfig.d.ts +45 -0
  56. package/lib/server/config/iConfig.js +2 -0
  57. package/lib/server/config/index.d.ts +1 -0
  58. package/lib/server/config/index.js +13 -0
  59. package/lib/server/devices/DeviceInfo.d.ts +17 -0
  60. package/lib/server/devices/DeviceInfo.js +48 -0
  61. package/lib/server/devices/Griffe.d.ts +5 -0
  62. package/lib/server/devices/Griffe.js +31 -0
  63. package/lib/server/devices/Heizgruppen.d.ts +8 -0
  64. package/lib/server/devices/Heizgruppen.js +78 -0
  65. package/lib/server/devices/Rollos.d.ts +5 -0
  66. package/lib/server/devices/Rollos.js +43 -0
  67. package/lib/server/devices/deviceUpdater.d.ts +13 -0
  68. package/lib/server/devices/deviceUpdater.js +64 -0
  69. package/lib/server/devices/devices.d.ts +21 -0
  70. package/lib/server/devices/devices.js +172 -0
  71. package/lib/server/devices/groups/fensterGroup.d.ts +15 -0
  72. package/lib/server/devices/groups/fensterGroup.js +138 -0
  73. package/lib/server/devices/groups/heatGroup.d.ts +9 -0
  74. package/lib/server/devices/groups/heatGroup.js +33 -0
  75. package/lib/server/devices/groups/index.d.ts +8 -0
  76. package/lib/server/devices/groups/index.js +20 -0
  77. package/lib/server/devices/groups/lampenGroup.d.ts +18 -0
  78. package/lib/server/devices/groups/lampenGroup.js +95 -0
  79. package/lib/server/devices/groups/praesenzGroup.d.ts +18 -0
  80. package/lib/server/devices/groups/praesenzGroup.js +145 -0
  81. package/lib/server/devices/groups/smokeGroup.d.ts +8 -0
  82. package/lib/server/devices/groups/smokeGroup.js +18 -0
  83. package/lib/server/devices/groups/sonosGroup.d.ts +11 -0
  84. package/lib/server/devices/groups/sonosGroup.js +38 -0
  85. package/lib/server/devices/groups/tasterGroup.d.ts +8 -0
  86. package/lib/server/devices/groups/tasterGroup.js +43 -0
  87. package/lib/server/devices/groups/waterGroup.d.ts +8 -0
  88. package/lib/server/devices/groups/waterGroup.js +18 -0
  89. package/lib/server/devices/hmIPDevices/Fenster.d.ts +22 -0
  90. package/lib/server/devices/hmIPDevices/Fenster.js +100 -0
  91. package/lib/server/devices/hmIPDevices/FensterPosition.d.ts +5 -0
  92. package/lib/server/devices/hmIPDevices/FensterPosition.js +9 -0
  93. package/lib/server/devices/hmIPDevices/TuerPosition.d.ts +4 -0
  94. package/lib/server/devices/hmIPDevices/TuerPosition.js +8 -0
  95. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +25 -0
  96. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +106 -0
  97. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +19 -0
  98. package/lib/server/devices/hmIPDevices/hmIpDevice.js +72 -0
  99. package/lib/server/devices/hmIPDevices/hmIpDeviceType.d.ts +14 -0
  100. package/lib/server/devices/hmIPDevices/hmIpDeviceType.js +18 -0
  101. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +22 -0
  102. package/lib/server/devices/hmIPDevices/hmIpGriff.js +117 -0
  103. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +34 -0
  104. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +143 -0
  105. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +15 -0
  106. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +54 -0
  107. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +27 -0
  108. package/lib/server/devices/hmIPDevices/hmIpLampe.js +96 -0
  109. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +22 -0
  110. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +89 -0
  111. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +22 -0
  112. package/lib/server/devices/hmIPDevices/hmIpRoll.js +105 -0
  113. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +13 -0
  114. package/lib/server/devices/hmIPDevices/hmIpTaster.js +78 -0
  115. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +7 -0
  116. package/lib/server/devices/hmIPDevices/hmIpTherm.js +17 -0
  117. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +16 -0
  118. package/lib/server/devices/hmIPDevices/hmIpTuer.js +94 -0
  119. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +12 -0
  120. package/lib/server/devices/hmIPDevices/hmIpWippe.js +50 -0
  121. package/lib/server/devices/hmIPDevices/index.d.ts +16 -0
  122. package/lib/server/devices/hmIPDevices/index.js +28 -0
  123. package/lib/server/devices/iDeviceUpdater.d.ts +5 -0
  124. package/lib/server/devices/iDeviceUpdater.js +2 -0
  125. package/{server/devices/iIlluminationSensor.ts → lib/server/devices/iIlluminationSensor.d.ts} +1 -1
  126. package/lib/server/devices/iIlluminationSensor.js +2 -0
  127. package/lib/server/devices/iIoBrokerDevice.d.ts +30 -0
  128. package/lib/server/devices/iIoBrokerDevice.js +37 -0
  129. package/lib/server/devices/iLamp.d.ts +8 -0
  130. package/lib/server/devices/iLamp.js +2 -0
  131. package/lib/server/devices/iTaster.d.ts +7 -0
  132. package/lib/server/devices/iTaster.js +2 -0
  133. package/lib/server/devices/index.d.ts +16 -0
  134. package/lib/server/devices/index.js +28 -0
  135. package/lib/server/devices/taste.d.ts +15 -0
  136. package/lib/server/devices/taste.js +64 -0
  137. package/lib/server/devices/wledDevice.d.ts +38 -0
  138. package/lib/server/devices/wledDevice.js +97 -0
  139. package/lib/server/devices/zigbee/ZigbeeActuator.d.ts +17 -0
  140. package/lib/server/devices/zigbee/ZigbeeActuator.js +83 -0
  141. package/lib/server/devices/zigbee/index.d.ts +13 -0
  142. package/lib/server/devices/zigbee/index.js +25 -0
  143. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +31 -0
  144. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +137 -0
  145. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +23 -0
  146. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +121 -0
  147. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +18 -0
  148. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +84 -0
  149. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +16 -0
  150. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +64 -0
  151. package/lib/server/devices/zigbee/zigbeeDevice.d.ts +20 -0
  152. package/lib/server/devices/zigbee/zigbeeDevice.js +83 -0
  153. package/lib/server/devices/zigbee/zigbeeDeviceType.d.ts +14 -0
  154. package/lib/server/devices/zigbee/zigbeeDeviceType.js +18 -0
  155. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +18 -0
  156. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +89 -0
  157. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +10 -0
  158. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +26 -0
  159. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +11 -0
  160. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +28 -0
  161. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +23 -0
  162. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +128 -0
  163. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +10 -0
  164. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +31 -0
  165. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +22 -0
  166. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +122 -0
  167. package/lib/server/index.d.ts +4 -0
  168. package/lib/server/index.js +16 -0
  169. package/lib/server/ioBroker/connection.d.ts +160 -0
  170. package/lib/server/ioBroker/connection.js +1419 -0
  171. package/lib/server/ioBroker/index.d.ts +6 -0
  172. package/lib/server/ioBroker/index.js +18 -0
  173. package/lib/server/ioBroker/ioBroker.main.d.ts +15 -0
  174. package/lib/server/ioBroker/ioBroker.main.js +85 -0
  175. package/lib/server/ioBroker/socketIOAuthInfo.d.ts +5 -0
  176. package/lib/server/ioBroker/socketIOAuthInfo.js +6 -0
  177. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +6 -0
  178. package/lib/server/ioBroker/socketIOConnectOptions.js +6 -0
  179. package/lib/server/ioBroker/socketIOLogging.d.ts +12 -0
  180. package/lib/server/ioBroker/socketIOLogging.js +32 -0
  181. package/lib/server/ioBroker/socketIOVisCommand.d.ts +6 -0
  182. package/lib/server/ioBroker/socketIOVisCommand.js +11 -0
  183. package/lib/server/services/HTTPSOptions.d.ts +12 -0
  184. package/lib/server/services/HTTPSOptions.js +16 -0
  185. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +7 -0
  186. package/lib/server/services/Sonos/OwnSonosDevices.js +10 -0
  187. package/lib/server/services/Sonos/index.d.ts +4 -0
  188. package/lib/server/services/Sonos/index.js +16 -0
  189. package/lib/server/services/Sonos/mp3-server.d.ts +7 -0
  190. package/lib/server/services/Sonos/mp3-server.js +90 -0
  191. package/lib/server/services/Sonos/polly-service.d.ts +12 -0
  192. package/lib/server/services/Sonos/polly-service.js +117 -0
  193. package/lib/server/services/Sonos/sonos-service.d.ts +30 -0
  194. package/lib/server/services/Sonos/sonos-service.js +140 -0
  195. package/lib/server/services/Telegram/index.d.ts +3 -0
  196. package/lib/server/services/Telegram/index.js +15 -0
  197. package/lib/server/services/Telegram/telegram-Commands.d.ts +3 -0
  198. package/lib/server/services/Telegram/telegram-Commands.js +128 -0
  199. package/lib/server/services/Telegram/telegram-service.d.ts +19 -0
  200. package/lib/server/services/Telegram/telegram-service.js +150 -0
  201. package/lib/server/services/Telegram/telegramMessageCalback.d.ts +9 -0
  202. package/lib/server/services/Telegram/telegramMessageCalback.js +13 -0
  203. package/lib/server/services/calendar/index.d.ts +2 -0
  204. package/lib/server/services/calendar/index.js +14 -0
  205. package/lib/server/services/calendar/muell-tonne.d.ts +12 -0
  206. package/lib/server/services/calendar/muell-tonne.js +73 -0
  207. package/lib/server/services/calendar/m/303/274ll-service.d.ts +24 -0
  208. package/lib/server/services/calendar/m/303/274ll-service.js +108 -0
  209. package/lib/server/services/dbo/index.d.ts +1 -0
  210. package/lib/server/services/dbo/index.js +13 -0
  211. package/lib/server/services/dbo/persist.d.ts +27 -0
  212. package/lib/server/services/dbo/persist.js +107 -0
  213. package/lib/server/services/https-service.d.ts +6 -0
  214. package/lib/server/services/https-service.js +87 -0
  215. package/lib/server/services/index.d.ts +12 -0
  216. package/lib/server/services/index.js +24 -0
  217. package/lib/server/services/log-service.d.ts +14 -0
  218. package/lib/server/services/log-service.js +41 -0
  219. package/lib/server/services/news-service.d.ts +10 -0
  220. package/lib/server/services/news-service.js +90 -0
  221. package/lib/server/services/settings-service.d.ts +6 -0
  222. package/lib/server/services/settings-service.js +19 -0
  223. package/lib/server/services/time-callback-service.d.ts +39 -0
  224. package/lib/server/services/time-callback-service.js +182 -0
  225. package/lib/server/services/utils/index.d.ts +2 -0
  226. package/lib/server/services/utils/index.js +14 -0
  227. package/lib/server/services/utils/ringstorage.d.ts +8 -0
  228. package/lib/server/services/utils/ringstorage.js +27 -0
  229. package/lib/server/services/utils/utils.d.ts +9 -0
  230. package/lib/server/services/utils/utils.js +44 -0
  231. package/lib/server/services/weather/index.d.ts +9 -0
  232. package/lib/server/services/weather/index.js +21 -0
  233. package/lib/server/services/weather/weather-alert.d.ts +7 -0
  234. package/lib/server/services/weather/weather-alert.js +2 -0
  235. package/lib/server/services/weather/weather-current.d.ts +25 -0
  236. package/lib/server/services/weather/weather-current.js +2 -0
  237. package/lib/server/services/weather/weather-daily.d.ts +21 -0
  238. package/lib/server/services/weather/weather-daily.js +2 -0
  239. package/lib/server/services/weather/weather-feelsLike.d.ts +6 -0
  240. package/lib/server/services/weather/weather-feelsLike.js +2 -0
  241. package/lib/server/services/weather/weather-hourly.d.ts +16 -0
  242. package/lib/server/services/weather/weather-hourly.js +2 -0
  243. package/lib/server/services/weather/weather-item.d.ts +6 -0
  244. package/lib/server/services/weather/weather-item.js +2 -0
  245. package/lib/server/services/weather/weather-minutes.d.ts +4 -0
  246. package/lib/server/services/weather/weather-minutes.js +2 -0
  247. package/lib/server/services/weather/weather-service.d.ts +37 -0
  248. package/lib/server/services/weather/weather-service.js +173 -0
  249. package/lib/server/services/weather/weather-temp.d.ts +8 -0
  250. package/lib/server/services/weather/weather-temp.js +2 -0
  251. package/lib/tsconfig.tsbuildinfo +1 -0
  252. package/package.json +21 -10
  253. package/.eslintrc.js +0 -27
  254. package/.github/workflows/npm-publish.yml +0 -33
  255. package/.prettierrc.js +0 -9
  256. package/index.js +0 -1
  257. package/models/actuatorSettings.ts +0 -5
  258. package/models/connectionCallbacks.ts +0 -13
  259. package/models/daytime.ts +0 -3
  260. package/models/deviceConfig.ts +0 -8
  261. package/models/dimmerSettings.ts +0 -5
  262. package/models/iTemperaturDataPoint.ts +0 -9
  263. package/models/ledSettings.ts +0 -19
  264. package/models/logLevel.ts +0 -9
  265. package/models/persistence/BasicRoomInfo.ts +0 -3
  266. package/models/persistence/CurrentIlluminationDataPoint.ts +0 -9
  267. package/models/persistence/DailyMovementCount.ts +0 -3
  268. package/models/persistence/RoomDetailInfo.ts +0 -4
  269. package/models/persistence/temperaturDataPoint.ts +0 -12
  270. package/models/persistence/todaysCount.ts +0 -3
  271. package/models/rooms/RoomBase.ts +0 -358
  272. package/models/rooms/RoomSettings/RoomSettings.ts +0 -159
  273. package/models/rooms/RoomSettings/hmIPRoomSettings.ts +0 -53
  274. package/models/rooms/RoomSettings/iRoomDefaultSettings.ts +0 -17
  275. package/models/rooms/RoomSettings/readme.md +0 -18
  276. package/models/rooms/RoomSettings/zigbeeRoomSettings.ts +0 -51
  277. package/models/rooms/readme.md +0 -11
  278. package/models/temperaturSettings.ts +0 -22
  279. package/models/timeCallback.ts +0 -90
  280. package/server/config/config-readme.md +0 -19
  281. package/server/config/iConfig.ts +0 -53
  282. package/server/config/private/mainConfig.json +0 -64
  283. package/server/devices/DeviceInfo.ts +0 -66
  284. package/server/devices/Griffe.ts +0 -31
  285. package/server/devices/Heizgruppen.ts +0 -91
  286. package/server/devices/Rollos.ts +0 -48
  287. package/server/devices/deviceUpdater.ts +0 -72
  288. package/server/devices/devices.ts +0 -193
  289. package/server/devices/groups/fensterGroup.ts +0 -175
  290. package/server/devices/groups/heatGroup.ts +0 -32
  291. package/server/devices/groups/lampenGroup.ts +0 -106
  292. package/server/devices/groups/praesenzGroup.ts +0 -187
  293. package/server/devices/groups/smokeGroup.ts +0 -16
  294. package/server/devices/groups/sonosGroup.ts +0 -33
  295. package/server/devices/groups/tasterGroup.ts +0 -48
  296. package/server/devices/groups/waterGroup.ts +0 -16
  297. package/server/devices/hmIPDevices/Fenster.ts +0 -114
  298. package/server/devices/hmIPDevices/FensterPosition.ts +0 -5
  299. package/server/devices/hmIPDevices/TuerPosition.ts +0 -4
  300. package/server/devices/hmIPDevices/hmIpBewegung.ts +0 -145
  301. package/server/devices/hmIPDevices/hmIpDevice.ts +0 -90
  302. package/server/devices/hmIPDevices/hmIpDeviceType.ts +0 -14
  303. package/server/devices/hmIPDevices/hmIpGriff.ts +0 -143
  304. package/server/devices/hmIPDevices/hmIpHeizgruppe.ts +0 -172
  305. package/server/devices/hmIPDevices/hmIpHeizung.ts +0 -69
  306. package/server/devices/hmIPDevices/hmIpLampe.ts +0 -120
  307. package/server/devices/hmIPDevices/hmIpPraezenz.ts +0 -117
  308. package/server/devices/hmIPDevices/hmIpRoll.ts +0 -133
  309. package/server/devices/hmIPDevices/hmIpTaster.ts +0 -82
  310. package/server/devices/hmIPDevices/hmIpTherm.ts +0 -19
  311. package/server/devices/hmIPDevices/hmIpTuer.ts +0 -115
  312. package/server/devices/hmIPDevices/hmIpWippe.ts +0 -55
  313. package/server/devices/iDeviceUpdater.ts +0 -4
  314. package/server/devices/iIoBrokerDevice.ts +0 -44
  315. package/server/devices/iLamp.ts +0 -10
  316. package/server/devices/iTaster.ts +0 -6
  317. package/server/devices/taste.ts +0 -84
  318. package/server/devices/wledDevice.ts +0 -124
  319. package/server/devices/zigbee/ZigbeeActuator.ts +0 -113
  320. package/server/devices/zigbee/zigbeeAquaraMotion.ts +0 -205
  321. package/server/devices/zigbee/zigbeeAquaraVibra.ts +0 -171
  322. package/server/devices/zigbee/zigbeeAquaraWater.ts +0 -94
  323. package/server/devices/zigbee/zigbeeBlitzShp.ts +0 -77
  324. package/server/devices/zigbee/zigbeeDevice.ts +0 -115
  325. package/server/devices/zigbee/zigbeeDeviceType.ts +0 -14
  326. package/server/devices/zigbee/zigbeeHeimanSmoke.ts +0 -99
  327. package/server/devices/zigbee/zigbeeIkeaSteckdose.ts +0 -31
  328. package/server/devices/zigbee/zigbeeIlluActuator.ts +0 -37
  329. package/server/devices/zigbee/zigbeeIlluDimmer.ts +0 -166
  330. package/server/devices/zigbee/zigbeeIlluLampe.ts +0 -33
  331. package/server/devices/zigbee/zigbeeIlluLedRGBCCT.ts +0 -137
  332. package/server/ioBroker/connection.ts +0 -1655
  333. package/server/ioBroker/ioBroker.main.ts +0 -99
  334. package/server/ioBroker/socketIOAuthInfo.ts +0 -5
  335. package/server/ioBroker/socketIOConnectOptions.ts +0 -6
  336. package/server/ioBroker/socketIOLogging.ts +0 -29
  337. package/server/ioBroker/socketIOVisCommand.ts +0 -11
  338. package/server/services/HTTPSOptions.ts +0 -14
  339. package/server/services/Sonos/OwnSonosDevices.ts +0 -9
  340. package/server/services/Sonos/mp3-server.ts +0 -75
  341. package/server/services/Sonos/polly-service.ts +0 -100
  342. package/server/services/Sonos/sonos-service.ts +0 -194
  343. package/server/services/Telegram/telegram-Commands.ts +0 -237
  344. package/server/services/Telegram/telegram-service.ts +0 -177
  345. package/server/services/Telegram/telegramMessageCalback.ts +0 -11
  346. package/server/services/calendar/muell-tonne.ts +0 -82
  347. package/server/services/calendar/m/303/274ll-service.ts +0 -147
  348. package/server/services/dbo/persist.ts +0 -142
  349. package/server/services/https-service.ts +0 -71
  350. package/server/services/log-service.ts +0 -69
  351. package/server/services/news-service.ts +0 -81
  352. package/server/services/settings-service.ts +0 -15
  353. package/server/services/time-callback-service.ts +0 -223
  354. package/server/services/utils/ringstorage.ts +0 -24
  355. package/server/services/utils/utils.ts +0 -52
  356. package/server/services/weather/weather-alert.ts +0 -7
  357. package/server/services/weather/weather-current.ts +0 -26
  358. package/server/services/weather/weather-daily.ts +0 -22
  359. package/server/services/weather/weather-feelsLike.ts +0 -6
  360. package/server/services/weather/weather-hourly.ts +0 -17
  361. package/server/services/weather/weather-item.ts +0 -6
  362. package/server/services/weather/weather-minutes.ts +0 -4
  363. package/server/services/weather/weather-service.ts +0 -277
  364. package/server/services/weather/weather-temp.ts +0 -8
  365. package/tsconfig.json +0 -58
@@ -1,16 +0,0 @@
1
- import { ZigbeeHeimanSmoke } from '../zigbee/zigbeeHeimanSmoke';
2
- import { RoomBase } from '../../../models/rooms/RoomBase';
3
-
4
- export class SmokeGroup {
5
- public constructor(private _room: RoomBase, public Rauchmelder: Array<ZigbeeHeimanSmoke>) {
6
- for (const s of [...this.Rauchmelder]) {
7
- s.room = this._room;
8
- }
9
- }
10
-
11
- public stopAlarm(): void {
12
- for (const d of this.Rauchmelder) {
13
- d.stopAlarm(true);
14
- }
15
- }
16
- }
@@ -1,33 +0,0 @@
1
- import { OwnSonosDevice } from '../../services/Sonos/sonos-service';
2
- import { Utils } from '../../services/utils/utils';
3
- import { RoomBase } from '../../../models/rooms/RoomBase';
4
-
5
- export class SonosGroup {
6
- private _playing: boolean = false;
7
- public constructor(private _room: RoomBase, public ownSonosDevices: OwnSonosDevice[]) {}
8
-
9
- public playRadio(radioUrl: string): void {
10
- this.ownSonosDevices.forEach((s) => {
11
- Utils.guardedTimeout(() => {
12
- s.device?.SetAVTransportURI(radioUrl);
13
- }, 1500);
14
- });
15
- this._playing = true;
16
- }
17
-
18
- public turnOff(): void {
19
- this.ownSonosDevices.forEach((s) => {
20
- s.device?.Stop();
21
- });
22
- this._playing = false;
23
- }
24
-
25
- public trigger(track: string): void {
26
- if (this._playing) {
27
- this.turnOff();
28
- return;
29
- }
30
-
31
- this.playRadio(track);
32
- }
33
- }
@@ -1,48 +0,0 @@
1
- import { HmIpTaster } from '../hmIPDevices/hmIpTaster';
2
- import { RoomBase } from '../../../models/rooms/RoomBase';
3
-
4
- export class TasterGroup {
5
- public constructor(private _room: RoomBase, public Taster: HmIpTaster[]) {
6
- for (const t of [...Taster]) {
7
- t.room = this._room;
8
- }
9
- }
10
-
11
- public initCallbacks(): void {
12
- this.Taster.forEach((t) => {
13
- t.tasten.ObenLinks.addLongCallback((pValue) => {
14
- pValue && this._room.FensterGroup.allRolloDown(false, true);
15
- }, `Close all Rollos in this room`);
16
-
17
- t.tasten.ObenLinks.addShortCallback((pValue) => {
18
- pValue && this._room.FensterGroup.allRolloToLevel(25, true);
19
- }, `Nearly closes all Rollos in this room`);
20
-
21
- t.tasten.ObenRechts.addLongCallback((pValue) => {
22
- if (!pValue) {
23
- return;
24
- }
25
-
26
- this._room.FensterGroup.allRolloUp(true);
27
- }, `Open all Rollos in this room`);
28
-
29
- t.tasten.ObenRechts.addShortCallback((pValue) => {
30
- pValue && this._room.FensterGroup.allRolloToLevel(50, true);
31
- }, `All Rollos in this room to middle`);
32
-
33
- t.tasten.MitteLinks.addLongCallback((pValue) => {
34
- pValue && this._room.LampenGroup.switchAll(true, true);
35
- }, `Turn all Lights in this room on`);
36
-
37
- t.tasten.MitteRechts.addLongCallback((pValue) => {
38
- pValue && this._room.LampenGroup.switchAll(false, true);
39
- }, `Turn all Lights in this room off`);
40
-
41
- if (this._room.SonosGroup.ownSonosDevices.length > 0) {
42
- t.tasten.UntenRechts.addLongCallback(() => {
43
- this._room.SonosGroup.trigger(this._room.Einstellungen.radioUrl);
44
- });
45
- }
46
- });
47
- }
48
- }
@@ -1,16 +0,0 @@
1
- import { ZigbeeAquaraWater } from '../zigbee/zigbeeAquaraWater';
2
- import { RoomBase } from '../../../models/rooms/RoomBase';
3
-
4
- export class WaterGroup {
5
- public constructor(private _room: RoomBase, public WaterDetectors: Array<ZigbeeAquaraWater>) {
6
- for (const w of [...WaterDetectors]) {
7
- w.room = this._room;
8
- }
9
- }
10
-
11
- public stopAlarm(): void {
12
- for (const d of this.WaterDetectors) {
13
- d.stopAlarm(true);
14
- }
15
- }
16
- }
@@ -1,114 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { ZigbeeAquaraVibra } from '../zigbee/zigbeeAquaraVibra';
3
- import { FensterPosition } from './FensterPosition';
4
- import { HmIpGriff } from './hmIpGriff';
5
- import { HmIpRoll } from './hmIpRoll';
6
- import { ServerLogService } from '../../services/log-service';
7
- import { TimeCallbackService, TimeOfDay } from '../../services/time-callback-service';
8
- import { Utils } from '../../services/utils/utils';
9
- import { RoomBase } from '../../../models/rooms/RoomBase';
10
-
11
- export class Fenster {
12
- public desiredPosition: number = 0;
13
-
14
- /**
15
- * sets the desired Pos and moves rollo to this level
16
- * @param {number} value
17
- */
18
- public setDesiredPosition(value: number) {
19
- this.desiredPosition = value;
20
- this.restoreDesiredPosition();
21
- }
22
-
23
- public constructor(
24
- public room: RoomBase,
25
- public griffe: HmIpGriff[],
26
- public vibration: ZigbeeAquaraVibra[],
27
- public rollo: HmIpRoll | undefined = undefined,
28
- public noRolloOnSunrise: boolean = false,
29
- ) {
30
- for (const griff of griffe) {
31
- griff.addKippCallback((kipp: boolean) => {
32
- if (kipp && this.griffeInPosition(FensterPosition.offen) === 0) {
33
- this.vibration.forEach((element) => {
34
- element.vibrationBlocked = true;
35
- });
36
- const timeOfDay: TimeOfDay = TimeCallbackService.dayType(this.room.Einstellungen.rolloOffset);
37
- if (TimeCallbackService.darkOutsideOrNight(timeOfDay)) {
38
- this.rollo?.setLevel(50);
39
- } else {
40
- this.rollo?.up();
41
- }
42
- }
43
- });
44
-
45
- griff.addOffenCallback((offen: boolean) => {
46
- if (offen) {
47
- this.vibration.forEach((element) => {
48
- element.vibrationBlocked = true;
49
- });
50
- this.rollo?.up();
51
- return;
52
- }
53
- });
54
-
55
- griff.addClosedCallback((geschlossen: boolean) => {
56
- if (
57
- geschlossen &&
58
- this.griffeInPosition(FensterPosition.offen) === 0 &&
59
- this.griffeInPosition(FensterPosition.kipp) === 0
60
- ) {
61
- const now = new Date().getTime();
62
- this.vibration.forEach((element) => {
63
- ServerLogService.writeLog(
64
- LogLevel.Debug,
65
- `Starte Timeout für Vibrationsdeaktivierung für ${element.info.customName}`,
66
- );
67
- Utils.guardedTimeout(() => {
68
- if (element.vibrationBlockedTimeStamp < now) {
69
- element.vibrationBlocked = false;
70
- }
71
- }, 12000);
72
- });
73
- this.restoreDesiredPosition();
74
- }
75
- });
76
- }
77
- Utils.guardedTimeout(
78
- () => {
79
- if (this.rollo) this.rollo.Fenster = this;
80
- for (const g of this.griffe) {
81
- g.Fenster = this;
82
- }
83
- },
84
- 5,
85
- this,
86
- );
87
- }
88
-
89
- public griffeInPosition(pPosition: FensterPosition): number {
90
- let count = 0;
91
- for (const griff of this.griffe) {
92
- if (griff.position === pPosition) {
93
- count++;
94
- }
95
- }
96
- return count;
97
- }
98
-
99
- public rolloPositionChange(pValue: number): void {
100
- if (!this.room) {
101
- ServerLogService.writeLog(LogLevel.Error, `Fenster Rollo Update, but this one is not connected to any room!`);
102
- return;
103
- }
104
- ServerLogService.writeLog(LogLevel.Debug, `Rollo Position Change in ${this.room.roomName} to ${pValue}`);
105
-
106
- if (pValue === 0 || pValue === 100) {
107
- this.room.setLightTimeBased(true);
108
- }
109
- }
110
-
111
- public restoreDesiredPosition() {
112
- this.rollo?.setLevel(this.desiredPosition);
113
- }
114
- }
@@ -1,5 +0,0 @@
1
- export enum FensterPosition {
2
- geschlossen = 0,
3
- kipp = 1,
4
- offen = 2,
5
- }
@@ -1,4 +0,0 @@
1
- export enum TuerPosition {
2
- geschlossen = 0,
3
- offen = 1,
4
- }
@@ -1,145 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { HmIPDevice } from './hmIpDevice';
3
- import { HmIpDeviceType } from './hmIpDeviceType';
4
- import { DeviceInfo } from '../DeviceInfo';
5
- import { ServerLogService } from '../../services/log-service';
6
- import { Persist } from '../../services/dbo/persist';
7
- import { CountToday } from '../../../models/persistence/todaysCount';
8
- import { Utils } from '../../services/utils/utils';
9
- import { CurrentIlluminationDataPoint } from '../../../models/persistence/CurrentIlluminationDataPoint';
10
- import { iIlluminationSensor } from '../iIlluminationSensor';
11
-
12
- export class HmIpBewegung extends HmIPDevice implements iIlluminationSensor {
13
- public excludeFromNightAlarm: boolean = false;
14
- public movementDetected: boolean = false;
15
- private _detectionsToday: number = 0;
16
- private _movementDetectedCallback: Array<(pValue: boolean) => void> = [];
17
- private static MOVEMENT_DETECTION: string = 'MOTION';
18
- private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
19
- private static CURRENT_ILLUMINATION: string = 'ILLUMINATION';
20
- private initialized: boolean = false;
21
- private fallBackTimeout: NodeJS.Timeout | undefined;
22
- private _currentIllumination: number = -1;
23
-
24
- public get currentIllumination(): number {
25
- return this._currentIllumination;
26
- }
27
-
28
- private set currentIllumination(value: number) {
29
- this._currentIllumination = value;
30
- Persist.persistCurrentIllumination(
31
- new CurrentIlluminationDataPoint(this.info.room, this.info.devID, value, new Date(), this.room?.LampenGroup.anyLightsOwn() ?? false)
32
- );
33
- }
34
-
35
- public get detectionsToday(): number {
36
- return this._detectionsToday;
37
- }
38
-
39
- public set detectionsToday(pVal: number) {
40
- const oldVal: number = this._detectionsToday;
41
- this._detectionsToday = pVal;
42
- Persist.persistTodayCount(this, pVal, oldVal);
43
- }
44
-
45
- public constructor(pInfo: DeviceInfo) {
46
- super(pInfo, HmIpDeviceType.HmIpBewegung);
47
- Persist.getCount(this).then((todayCount: CountToday) => {
48
- this.detectionsToday = todayCount.counter;
49
- ServerLogService.writeLog(
50
- LogLevel.Debug,
51
- `Bewegungscounter "${this.info.customName}" vorinitialisiert mit ${this.detectionsToday}`,
52
- );
53
- this.initialized = true;
54
- });
55
- }
56
-
57
- public addMovementCallback(pCallback: (pValue: boolean) => void): void {
58
- this._movementDetectedCallback.push(pCallback);
59
- }
60
-
61
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
62
- ServerLogService.writeLog(
63
- LogLevel.Trace,
64
- `Bewegungs Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`,
65
- );
66
- super.update(idSplit, state, initial, true);
67
-
68
- if (idSplit[3] !== '3') {
69
- // Nur die Infos in Kanal 3 sind relevant
70
- return;
71
- }
72
-
73
- switch (idSplit[4]) {
74
- case HmIpBewegung.MOVEMENT_DETECTION:
75
- this.updateMovement(state.val as boolean);
76
- break;
77
- case HmIpBewegung.CURRENT_ILLUMINATION:
78
- this.currentIllumination = state.val as number;
79
- break;
80
- }
81
- }
82
-
83
- public updateMovement(pVal: boolean): void {
84
- if (!this.initialized && pVal) {
85
- ServerLogService.writeLog(
86
- LogLevel.Trace,
87
- `Bewegung für "${this.info.customName}" erkannt aber die Initialisierung aus der DB ist noch nicht erfolgt --> verzögern`,
88
- );
89
- Utils.guardedTimeout(
90
- () => {
91
- this.updateMovement(pVal);
92
- },
93
- 1000,
94
- this,
95
- );
96
- return;
97
- }
98
- if (pVal === this.movementDetected) {
99
- ServerLogService.writeLog(
100
- LogLevel.Debug,
101
- `Überspringe Bewegung für "${this.info.customName}" da bereits der Wert ${pVal} vorliegt`,
102
- );
103
- if (pVal) {
104
- this.resetFallbackTimeout();
105
- this.startFallbackTimeout();
106
- }
107
- return;
108
- }
109
-
110
- this.resetFallbackTimeout();
111
- this.movementDetected = pVal;
112
- ServerLogService.writeLog(LogLevel.Debug, `Neuer Bewegunsstatus Wert für "${this.info.customName}": ${pVal}`);
113
- if (pVal) {
114
- this.startFallbackTimeout();
115
- this.detectionsToday++;
116
- ServerLogService.writeLog(
117
- LogLevel.Trace,
118
- `Dies ist die ${this.detectionsToday} Bewegung für "${this.info.customName}"`,
119
- );
120
- }
121
-
122
- for (const c of this._movementDetectedCallback) {
123
- c(pVal);
124
- }
125
- }
126
-
127
- private resetFallbackTimeout(): void {
128
- if (this.fallBackTimeout) {
129
- ServerLogService.writeLog(LogLevel.Trace, `Fallback Timeout für "${this.info.customName}" zurücksetzen`);
130
- clearTimeout(this.fallBackTimeout);
131
- }
132
- }
133
-
134
- private startFallbackTimeout(): void {
135
- this.fallBackTimeout = Utils.guardedTimeout(
136
- () => {
137
- ServerLogService.writeLog(LogLevel.Debug, `Benötige Fallback Bewegungs Reset für "${this.info.customName}"`);
138
- this.fallBackTimeout = undefined;
139
- this.updateMovement(false);
140
- },
141
- 270000,
142
- this,
143
- );
144
- }
145
- }
@@ -1,90 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { DeviceInfo } from '../DeviceInfo';
3
- import { HmIpDeviceType } from './hmIpDeviceType';
4
- import { HmIpAddDeviceItem, HmIpRoomSettings } from '../../../models/rooms/RoomSettings/hmIPRoomSettings';
5
- import { ServerLogService } from '../../services/log-service';
6
- import { ioBrokerBaseDevice } from '../iIoBrokerDevice';
7
- import { RoomBase } from '../../../models/rooms/RoomBase';
8
-
9
- export class HmIPDevice extends ioBrokerBaseDevice {
10
- public static roomSettings: { [id: string]: HmIpRoomSettings } = {};
11
- public lowBattery: boolean = false;
12
- public deviceType: HmIpDeviceType;
13
- public room: RoomBase | undefined = undefined;
14
-
15
- public static addRoom(shortName: string, settings: HmIpRoomSettings): void {
16
- if (this.roomSettings[shortName] !== undefined) {
17
- ServerLogService.writeLog(
18
- LogLevel.Alert,
19
- `Es gibt bereits ein Registrat für HmIpRoomsettings für den Raumnamen "${shortName}"`,
20
- );
21
- return;
22
- }
23
- this.roomSettings[shortName] = settings;
24
- }
25
-
26
- public static checkMissing(): void {
27
- for (const rName in this.roomSettings) {
28
- this.roomSettings[rName].checkMissing();
29
- }
30
- }
31
-
32
- public constructor(pInfo: DeviceInfo, pType: HmIpDeviceType) {
33
- super(pInfo);
34
- this.deviceType = pType;
35
- this.addToCorrectRoom();
36
- }
37
-
38
- protected addToCorrectRoom(): void {
39
- const settings: HmIpRoomSettings | undefined = HmIPDevice.roomSettings[this.info.room];
40
- if (settings !== undefined) {
41
- if (settings.devices[this.deviceType] === undefined) {
42
- ServerLogService.missingRoomHandling(settings.RoomName, this.deviceType);
43
- return;
44
- }
45
- const deviceSettings: HmIpAddDeviceItem | undefined =
46
- settings.devices[this.deviceType][this.info.deviceRoomIndex];
47
- if (deviceSettings === undefined) {
48
- ServerLogService.missingRoomIndexHandling(settings.RoomName, this.info.deviceRoomIndex, this.deviceType);
49
- return;
50
- }
51
-
52
- if (deviceSettings.customName !== undefined) {
53
- this.info.customName = deviceSettings.customName;
54
- }
55
- deviceSettings.setID(this.info.devID);
56
- deviceSettings.added = true;
57
- ServerLogService.addedDeviceToRoom(settings.RoomName, this.deviceType, this.info.deviceRoomIndex);
58
- return;
59
- }
60
- switch (this.info.room) {
61
- default:
62
- ServerLogService.writeLog(LogLevel.Warn, `${this.info.room} is noch kein bekannter Raum`);
63
- }
64
- }
65
-
66
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false, pOverride: boolean = false): void {
67
- if (!pOverride) {
68
- ServerLogService.writeLog(
69
- LogLevel.Trace,
70
- `Keine Update Überschreibung für "${this.info.customName}":\n\tID: ${idSplit.join(
71
- '.',
72
- )}\n\tData: ${JSON.stringify(state)}`,
73
- );
74
- }
75
-
76
- if (idSplit[3] !== '0') {
77
- // Dies ist etwas Gerätespezifisches
78
- return;
79
- }
80
-
81
- switch (idSplit[4]) {
82
- case 'LOW_BAT':
83
- const newBatLowVal: boolean = state.val as boolean;
84
- if (newBatLowVal) {
85
- ServerLogService.writeLog(LogLevel.Alert, `!!BATTERIE FAST LEER!! "${this.info.customName}"`);
86
- }
87
- break;
88
- }
89
- }
90
- }
@@ -1,14 +0,0 @@
1
- export enum HmIpDeviceType {
2
- unknown = 0,
3
- HmIpLampe = 1,
4
- HmIpTaster = 2,
5
- HmIpRoll = 3,
6
- HmIpTherm = 4,
7
- HmIpPraezenz = 5,
8
- HmIpGriff = 6,
9
- HmIpWippe = 7,
10
- HmIpHeizung = 8,
11
- HmIpTuer = 9,
12
- HmIpHeizgruppe = 10,
13
- HmIpBewegung = 11,
14
- }
@@ -1,143 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { FensterPosition } from './FensterPosition';
3
- import { HmIPDevice } from './hmIpDevice';
4
- import { HmIpDeviceType } from './hmIpDeviceType';
5
- import { DeviceInfo } from '../DeviceInfo';
6
- import { ServerLogService } from '../../services/log-service';
7
- import { TelegramService } from '../../services/Telegram/telegram-service';
8
- import { Utils } from '../../services/utils/utils';
9
- import { Fenster } from './Fenster';
10
- import { WeatherService } from '../../services/weather/weather-service';
11
-
12
- export class HmIpGriff extends HmIPDevice {
13
- public position: FensterPosition = FensterPosition.geschlossen;
14
- private _kippCallback: Array<(pValue: boolean) => void> = [];
15
- private _closedCallback: Array<(pValue: boolean) => void> = [];
16
- private _offenCallback: Array<(pValue: boolean) => void> = [];
17
- private _iOpen: NodeJS.Timeout | undefined;
18
- private minutesOpen: number = 0;
19
- private _fenster: Fenster | undefined = undefined;
20
- private _helpingRoomTemp: boolean = false;
21
-
22
- public constructor(pInfo: DeviceInfo) {
23
- super(pInfo, HmIpDeviceType.HmIpGriff);
24
- }
25
-
26
- public addOffenCallback(pCallback: (pValue: boolean) => void): void {
27
- this._offenCallback.push(pCallback);
28
- }
29
-
30
- public addKippCallback(pCallback: (pValue: boolean) => void): void {
31
- this._kippCallback.push(pCallback);
32
- }
33
-
34
- public addClosedCallback(pCallback: (pValue: boolean) => void): void {
35
- this._closedCallback.push(pCallback);
36
- }
37
-
38
- public set Fenster(value: Fenster) {
39
- this._fenster = value;
40
- }
41
-
42
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
43
- ServerLogService.writeLog(
44
- LogLevel.DeepTrace,
45
- `Griff Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`,
46
- );
47
- super.update(idSplit, state, initial, true);
48
- switch (idSplit[3]) {
49
- case '1':
50
- if (idSplit[4] === 'STATE') {
51
- this.updatePosition(state.val as FensterPosition);
52
- }
53
- break;
54
- }
55
- }
56
-
57
- public updatePosition(pValue: FensterPosition): void {
58
- if (pValue === this.position) {
59
- return;
60
- }
61
-
62
- ServerLogService.writeLog(
63
- LogLevel.Trace,
64
- `Update Fenstergriff "${this.info.customName}"\nauf Position "${FensterPosition[pValue]}"`,
65
- );
66
-
67
- this.position = pValue;
68
- for (const c1 of this._closedCallback) {
69
- c1(pValue === 0);
70
- }
71
-
72
- for (const c2 of this._kippCallback) {
73
- c2(pValue === 1);
74
- }
75
-
76
- for (const c3 of this._offenCallback) {
77
- c3(pValue === 2);
78
- }
79
-
80
- if (pValue === FensterPosition.geschlossen) {
81
- if (this._iOpen !== undefined) {
82
- clearInterval(this._iOpen);
83
- ServerLogService.writeLog(
84
- LogLevel.Info,
85
- `Fenster: "${this.info.customName}" nach ${this.minutesOpen} Minuten geschlossen`,
86
- );
87
- this.minutesOpen = 0;
88
- this._iOpen = undefined;
89
- }
90
- return;
91
- } else if (this._iOpen === undefined) {
92
- this._iOpen = Utils.guardedInterval(
93
- () => {
94
- this.minutesOpen++;
95
- if (this._fenster !== undefined && this._fenster.room !== undefined) {
96
- const desiredTemp: number = this._fenster.room.HeatGroup.desiredTemp;
97
- const currentTemp: number = this._fenster.room.HeatGroup.currentTemp;
98
- const outSideTemp: number = WeatherService.getCurrentTemp();
99
-
100
- // Check if any of these values are unavailable
101
- if (desiredTemp > -99 && currentTemp > -99 && outSideTemp > -99) {
102
- const wouldHelp: boolean =
103
- (desiredTemp < currentTemp && outSideTemp < currentTemp) ||
104
- (desiredTemp > currentTemp && outSideTemp > currentTemp);
105
- if (!wouldHelp && this._helpingRoomTemp) {
106
- const info: string = `Das Fenster "${this.info.customName}" sollte geschlossen werden, es hilft dem Raum nicht mehr`;
107
- ServerLogService.writeLog(LogLevel.Info, info);
108
- TelegramService.inform(info);
109
- this._helpingRoomTemp = false;
110
- } else if (wouldHelp && !this._helpingRoomTemp) {
111
- this._helpingRoomTemp = true;
112
- const info: string = `Das Fenster "${this.info.customName}" hilft der Innentemperatur ihr Ziel von ${desiredTemp} zu erreichen. Draußen sind es ${outSideTemp}. Du wirst informiert wenn es nicht mehr hilft.`;
113
- ServerLogService.writeLog(LogLevel.Info, info);
114
- TelegramService.inform(info);
115
- return;
116
- } else if (wouldHelp && this._helpingRoomTemp) {
117
- return;
118
- }
119
- }
120
- }
121
- const message = `Fenster: "${this.info.customName}" seit ${this.minutesOpen} Minuten auf Position ${
122
- FensterPosition[this.position]
123
- }`;
124
- switch (this.minutesOpen) {
125
- case 15:
126
- case 30:
127
- case 60:
128
- case 120:
129
- case 240:
130
- ServerLogService.writeLog(LogLevel.Info, message);
131
- TelegramService.inform(message);
132
- break;
133
- default:
134
- ServerLogService.writeLog(LogLevel.Trace, message);
135
- break;
136
- }
137
- },
138
- 60000,
139
- this,
140
- );
141
- }
142
- }
143
- }