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
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MuellService = void 0;
4
+ const node_ical_1 = require("node-ical");
5
+ const log_service_1 = require("../log-service");
6
+ const time_callback_service_1 = require("../time-callback-service");
7
+ const logLevel_1 = require("../../../models/logLevel");
8
+ const timeCallback_1 = require("../../../models/timeCallback");
9
+ const utils_1 = require("../utils/utils");
10
+ const muell_tonne_1 = require("./muell-tonne");
11
+ class MuellService {
12
+ static intialize(config, defaultSonosDevice) {
13
+ this.defaultSonosDevice = defaultSonosDevice;
14
+ this._active = true;
15
+ this._calendarURL = config.calendarURL;
16
+ this.updateTimeCallback = new timeCallback_1.TimeCallback('MuelltonnenServiceUpdater', timeCallback_1.TimeCallbackType.TimeOfDay, () => {
17
+ this.updateCalendar(false);
18
+ }, 0, 2, 0);
19
+ time_callback_service_1.TimeCallbackService.addCallback(this.updateTimeCallback);
20
+ this.checkTimeCallback = new timeCallback_1.TimeCallback('MuelltonnenServiceChecker', timeCallback_1.TimeCallbackType.TimeOfDay, () => {
21
+ this.checkAll();
22
+ }, 0, 18, 0);
23
+ time_callback_service_1.TimeCallbackService.addCallback(this.checkTimeCallback);
24
+ this.updateCalendar();
25
+ }
26
+ static updateCalendar(checkAfterwards = true) {
27
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Muell Service wird nun initialisiert`);
28
+ node_ical_1.async.fromURL(this._calendarURL).then((data) => {
29
+ this.gelbeTonne = new muell_tonne_1.MuellTonne('Gelbe Tonne', this.defaultSonosDevice);
30
+ this.graueTonne = new muell_tonne_1.MuellTonne('Graue Tonne', this.defaultSonosDevice);
31
+ this.blaueTonne = new muell_tonne_1.MuellTonne('Blaue Tonne', this.defaultSonosDevice);
32
+ this.brauneTonne = new muell_tonne_1.MuellTonne('Braune Tonne', this.defaultSonosDevice);
33
+ this.alleTonnen = [];
34
+ const todayMidnight = new Date().setHours(0, 0, 0, 0);
35
+ for (const k in data) {
36
+ if (!data.hasOwnProperty(k)) {
37
+ continue;
38
+ }
39
+ if (data[k].type !== 'VEVENT') {
40
+ continue;
41
+ }
42
+ const ev = data[k];
43
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `${ev.summary} is in ${ev.location} on the ${ev.start.getDate()} of ${this.months[ev.start.getMonth()]} at ${ev.start.toLocaleTimeString('en-GB')}`);
44
+ if (ev.start.getTime() < todayMidnight) {
45
+ continue;
46
+ }
47
+ this.alleTonnen.push({ name: ev.summary, date: ev.start });
48
+ switch (ev.summary) {
49
+ case this.gelbeTonne.name:
50
+ this.gelbeTonne.dates.push(ev.start);
51
+ break;
52
+ case this.graueTonne.name:
53
+ this.graueTonne.dates.push(ev.start);
54
+ break;
55
+ case this.blaueTonne.name:
56
+ this.blaueTonne.dates.push(ev.start);
57
+ break;
58
+ case this.brauneTonne.name:
59
+ this.brauneTonne.dates.push(ev.start);
60
+ break;
61
+ default:
62
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Unbekannte Mülltonne (${ev.summary})`);
63
+ }
64
+ }
65
+ this.gelbeTonne.sortDates();
66
+ this.graueTonne.sortDates();
67
+ this.blaueTonne.sortDates();
68
+ this.brauneTonne.sortDates();
69
+ this.alleTonnen = this.alleTonnen.sort((a, b) => a.date.getTime() - b.date.getTime());
70
+ if (checkAfterwards) {
71
+ this.checkAll();
72
+ }
73
+ });
74
+ }
75
+ static checkAll(pRetries = 10) {
76
+ if (!this._active) {
77
+ return;
78
+ }
79
+ const now = new Date();
80
+ if (now.getTime() - this.lastCheck.getTime() < 60000 && now.getDate() === this.lastCheck.getDate()) {
81
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `MüllService.checkAll: Skipped weil wir gerade erst geprüft hatten.`);
82
+ return;
83
+ }
84
+ if (this.gelbeTonne === undefined) {
85
+ if (pRetries > 0) {
86
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Der Müllservice ist noch nicht bereit --> warten`);
87
+ utils_1.Utils.guardedTimeout(() => {
88
+ MuellService.checkAll(pRetries - 1);
89
+ }, 1000);
90
+ }
91
+ else {
92
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Der Müllservice ist trotz Warten nicht bereit --> Abbruch`);
93
+ }
94
+ return;
95
+ }
96
+ this.lastCheck = now;
97
+ this.gelbeTonne.check();
98
+ this.graueTonne.check();
99
+ this.blaueTonne.check();
100
+ this.brauneTonne.check();
101
+ }
102
+ }
103
+ exports.MuellService = MuellService;
104
+ MuellService.alleTonnen = [];
105
+ MuellService.lastCheck = new Date(0);
106
+ MuellService._active = false;
107
+ MuellService.defaultSonosDevice = undefined;
108
+ MuellService.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
@@ -0,0 +1 @@
1
+ export * from './persist';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./persist"), exports);
@@ -0,0 +1,27 @@
1
+ import { TemperaturDataPoint } from '../../../models/persistence/temperaturDataPoint';
2
+ import { CountToday } from '../../../models/persistence/todaysCount';
3
+ import { HmIpHeizgruppe } from '../../devices/hmIPDevices/hmIpHeizgruppe';
4
+ import { RoomBase } from '../../../models/rooms/RoomBase';
5
+ import { CurrentIlluminationDataPoint } from '../../../models/persistence/CurrentIlluminationDataPoint';
6
+ import { ioBrokerBaseDevice } from '../../devices/iIoBrokerDevice';
7
+ import { Mongo } from 'meteor/mongo';
8
+ export declare class Persist {
9
+ private static TemperatureHistoryCollection;
10
+ private static HeatGroupCollection;
11
+ private static BasicRoomCollection;
12
+ private static RoomDetailsCollection;
13
+ private static CountTodayCollection;
14
+ private static CurrentIlluminationCollection;
15
+ private static DailyMovementCountTodayCollection;
16
+ static MeteorBound: (callback: any) => void;
17
+ private static Mongo;
18
+ static addTemperaturDataPoint(hzGrp: HmIpHeizgruppe): void;
19
+ static addRoom(room: RoomBase): void;
20
+ static getCount(device: ioBrokerBaseDevice): Promise<CountToday>;
21
+ static initialize(meteorBound: (callback: any) => void, mongo: {
22
+ Collection: Mongo.CollectionStatic;
23
+ }): void;
24
+ static persistTodayCount(device: ioBrokerBaseDevice, count: number, oldCount: number): void;
25
+ static persistCurrentIllumination(data: CurrentIlluminationDataPoint): void;
26
+ static readTemperaturDataPoint(hzGrp: HmIpHeizgruppe, limit?: number): Promise<TemperaturDataPoint[]>;
27
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Persist = void 0;
4
+ const log_service_1 = require("../log-service");
5
+ const logLevel_1 = require("../../../models/logLevel");
6
+ const temperaturDataPoint_1 = require("../../../models/persistence/temperaturDataPoint");
7
+ const todaysCount_1 = require("../../../models/persistence/todaysCount");
8
+ const BasicRoomInfo_1 = require("../../../models/persistence/BasicRoomInfo");
9
+ const RoomDetailInfo_1 = require("../../../models/persistence/RoomDetailInfo");
10
+ const DailyMovementCount_1 = require("../../../models/persistence/DailyMovementCount");
11
+ const mongo_1 = require("meteor/mongo");
12
+ class Persist {
13
+ static addTemperaturDataPoint(hzGrp) {
14
+ const dataPoint = new temperaturDataPoint_1.TemperaturDataPoint(hzGrp.info.customName, hzGrp.iTemperatur, hzGrp.desiredTemperatur, hzGrp.iLevel, hzGrp.humidity, new Date());
15
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Persisting Temperatur Data for ${hzGrp.info.customName}`);
16
+ this.MeteorBound(() => {
17
+ this.TemperatureHistoryCollection.insert(dataPoint);
18
+ });
19
+ this.MeteorBound(() => {
20
+ this.HeatGroupCollection.update({ name: dataPoint.name }, dataPoint, { upsert: true });
21
+ });
22
+ }
23
+ static addRoom(room) {
24
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Persisting Room for ${room.roomName}`);
25
+ this.MeteorBound(() => {
26
+ this.BasicRoomCollection.update({ roomName: room.roomName }, new BasicRoomInfo_1.BasicRoomInfo(room.roomName, room.Settings.etage), {
27
+ upsert: true,
28
+ });
29
+ });
30
+ const detailed = new RoomDetailInfo_1.RoomDetailInfo(room.roomName, room.Settings.etage);
31
+ for (const h of room.HeatGroup.heaters) {
32
+ detailed.heaters.push(h.info.customName);
33
+ }
34
+ this.MeteorBound(() => {
35
+ this.RoomDetailsCollection.update({ roomName: room.roomName }, detailed, { upsert: true });
36
+ });
37
+ }
38
+ static async getCount(device) {
39
+ const result = new Promise((resolve) => {
40
+ this.MeteorBound(() => {
41
+ const options = {
42
+ limit: 1,
43
+ };
44
+ const databaseValue = this.CountTodayCollection.find({ deviceID: device.info.fullID }, options).fetch();
45
+ if (databaseValue.length === 0) {
46
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Es gibt noch keinen persistierten Counter für ${device.info.fullName}`);
47
+ resolve(new todaysCount_1.CountToday(device.info.fullID, 0));
48
+ }
49
+ else {
50
+ resolve(databaseValue[0]);
51
+ }
52
+ });
53
+ });
54
+ return result;
55
+ }
56
+ static initialize(meteorBound, mongo) {
57
+ this.MeteorBound = meteorBound;
58
+ this.Mongo = mongo;
59
+ this.TemperatureHistoryCollection = new this.Mongo.Collection('TemperaturData');
60
+ this.HeatGroupCollection = new this.Mongo.Collection('HeatGroupCollection');
61
+ this.BasicRoomCollection = new this.Mongo.Collection('BasicRooms');
62
+ this.RoomDetailsCollection = new this.Mongo.Collection('RoomDetailsCollection');
63
+ this.CountTodayCollection = new this.Mongo.Collection('PresenceToday');
64
+ this.CurrentIlluminationCollection = new this.Mongo.Collection('CurrentIllumination');
65
+ this.DailyMovementCountTodayCollection = new this.Mongo.Collection('DailyMovementCount');
66
+ }
67
+ static persistTodayCount(device, count, oldCount) {
68
+ this.MeteorBound(() => {
69
+ const result = this.CountTodayCollection.update({ deviceID: device.info.fullID }, new todaysCount_1.CountToday(device.info.fullID, count), { upsert: true });
70
+ if (count === 0) {
71
+ const date = new Date();
72
+ date.setHours(-24, 0, 0, 0);
73
+ const result2 = this.DailyMovementCountTodayCollection.update({ deviceID: device.info.fullID, date: date }, new DailyMovementCount_1.DailyMovementCount(device.info.fullID, oldCount, device.info.room, date), { upsert: true });
74
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Persisting Daily Movement Count for ${device.info.customName} to ${oldCount} resolved with "${result2}"`);
75
+ }
76
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Persisting PresenceToday Data for ${device.info.customName} to ${count} resolved with "${result}"`);
77
+ });
78
+ }
79
+ static persistCurrentIllumination(data) {
80
+ this.MeteorBound(() => {
81
+ const result = this.CurrentIlluminationCollection.update({ deviceID: data.deviceID, date: data.date }, data, {
82
+ upsert: true,
83
+ });
84
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Persisting Illumination Data for ${data.deviceID} to ${data.currentIllumination} resolved with "${result}"`);
85
+ });
86
+ }
87
+ static async readTemperaturDataPoint(hzGrp, limit = -1) {
88
+ const result = new Promise((resolve) => {
89
+ this.MeteorBound(() => {
90
+ const options = {
91
+ limit: limit > 0 ? limit : undefined,
92
+ sort: { date: -1 },
93
+ };
94
+ resolve(this.TemperatureHistoryCollection.find({ name: hzGrp.info.customName }, options).fetch());
95
+ });
96
+ });
97
+ return result;
98
+ }
99
+ }
100
+ exports.Persist = Persist;
101
+ Persist.TemperatureHistoryCollection = new mongo_1.Mongo.Collection('TemperaturData');
102
+ Persist.HeatGroupCollection = new mongo_1.Mongo.Collection('HeatGroupCollection');
103
+ Persist.BasicRoomCollection = new mongo_1.Mongo.Collection('BasicRooms');
104
+ Persist.RoomDetailsCollection = new mongo_1.Mongo.Collection('RoomDetailsCollection');
105
+ Persist.CountTodayCollection = new mongo_1.Mongo.Collection('PresenceToday');
106
+ Persist.CurrentIlluminationCollection = new mongo_1.Mongo.Collection('CurrentIllumination');
107
+ Persist.DailyMovementCountTodayCollection = new mongo_1.Mongo.Collection('DailyMovementCount');
@@ -0,0 +1,6 @@
1
+ import { HTTPSOptions } from './HTTPSOptions';
2
+ export declare class HTTPSService {
3
+ private static defaultCallback;
4
+ static request(options: HTTPSOptions, postData?: string, retryOnError?: number, responseCallback?: (data: string, statuscode: number) => void): void;
5
+ static downloadFile(url: string, filePath: string): Promise<boolean>;
6
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.HTTPSService = void 0;
26
+ const log_service_1 = require("./log-service");
27
+ const logLevel_1 = require("../../models/logLevel");
28
+ const fs = __importStar(require("fs"));
29
+ const https_1 = __importDefault(require("https"));
30
+ const utils_1 = require("./utils/utils");
31
+ class HTTPSService {
32
+ static defaultCallback(data, statuscode) {
33
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Response statusCode:"${statuscode}"\nData:"${data}"`);
34
+ }
35
+ static request(options, postData = '', retryOnError = 5, responseCallback = HTTPSService.defaultCallback) {
36
+ const responseData = [];
37
+ const req = https_1.default.request(options, (res) => {
38
+ res.on('data', (data) => {
39
+ responseData.push(data.toString());
40
+ });
41
+ res.on('end', () => {
42
+ responseCallback(responseData.join(''), res.statusCode);
43
+ });
44
+ });
45
+ req.on('error', (e) => {
46
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `HTTPS Error: ${e}`);
47
+ if (retryOnError > 0) {
48
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `HTTPS request failed --> ${retryOnError} retries left`);
49
+ utils_1.Utils.guardedTimeout(() => {
50
+ HTTPSService.request(options, postData, retryOnError - 1, responseCallback);
51
+ }, 100);
52
+ }
53
+ else {
54
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `HTTPS request failed after retries`);
55
+ }
56
+ });
57
+ if (postData !== '') {
58
+ req.write(postData);
59
+ }
60
+ req.end();
61
+ }
62
+ static async downloadFile(url, filePath) {
63
+ return new Promise((resolve, reject) => {
64
+ const file = fs.createWriteStream(filePath);
65
+ let fileInfo = null;
66
+ const request = https_1.default.get(url, (response) => {
67
+ if (response.statusCode !== 200) {
68
+ reject(new Error(`Failed to get '${url}' (${response.statusCode})`));
69
+ return;
70
+ }
71
+ fileInfo = {
72
+ mime: response.headers['content-type'],
73
+ size: parseInt(response.headers['content-length'], 10),
74
+ };
75
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Downloaded File\tType: "${fileInfo.mime}"\tSize:${fileInfo.size}`);
76
+ response.pipe(file);
77
+ });
78
+ // The destination stream is ended by the time it's called
79
+ file.on('finish', () => resolve(true));
80
+ request.on('error', (err) => {
81
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Error Downloading File: ${err}`);
82
+ fs.unlink(filePath, () => resolve(false));
83
+ });
84
+ });
85
+ }
86
+ }
87
+ exports.HTTPSService = HTTPSService;
@@ -0,0 +1,12 @@
1
+ export * from './log-service';
2
+ export * from './HTTPSOptions';
3
+ export * from './news-service';
4
+ export * from './https-service';
5
+ export * from './settings-service';
6
+ export * from './time-callback-service';
7
+ export * from './calendar/index';
8
+ export * from './dbo/index';
9
+ export * from './Sonos/index';
10
+ export * from './Telegram/index';
11
+ export * from './utils/index';
12
+ export * from './weather/index';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./log-service"), exports);
14
+ __exportStar(require("./HTTPSOptions"), exports);
15
+ __exportStar(require("./news-service"), exports);
16
+ __exportStar(require("./https-service"), exports);
17
+ __exportStar(require("./settings-service"), exports);
18
+ __exportStar(require("./time-callback-service"), exports);
19
+ __exportStar(require("./calendar/index"), exports);
20
+ __exportStar(require("./dbo/index"), exports);
21
+ __exportStar(require("./Sonos/index"), exports);
22
+ __exportStar(require("./Telegram/index"), exports);
23
+ __exportStar(require("./utils/index"), exports);
24
+ __exportStar(require("./weather/index"), exports);
@@ -0,0 +1,14 @@
1
+ import { HmIpDeviceType } from '../devices/hmIPDevices/hmIpDeviceType';
2
+ import { ZigbeeDeviceType } from '../devices/zigbee/zigbeeDeviceType';
3
+ import { LogLevel } from '../../models/logLevel';
4
+ export declare class ServerLogService {
5
+ static logLevel: number;
6
+ static telegramLevel: number;
7
+ static writeLog(pLevel: LogLevel, pMessage: string): void;
8
+ static addedDeviceToRoom(pRoomName: string, pDeviceType: HmIpDeviceType, pRoomIndex: number, forceDebug?: boolean): void;
9
+ static missingRoomHandling(pRoomName: string, pDeviceType: HmIpDeviceType): void;
10
+ static missingRoomIndexHandling(pRoomName: string, pIndex: number, pDeviceType: HmIpDeviceType): void;
11
+ static addedZigbeeDeviceToRoom(pRoomName: string, pDeviceType: ZigbeeDeviceType, pRoomIndex: number): void;
12
+ static missingZigbeeRoomHandling(pRoomName: string, pDeviceType: ZigbeeDeviceType): void;
13
+ static missingZigbeeRoomIndexHandling(pRoomName: string, pIndex: number, pDeviceType: ZigbeeDeviceType): void;
14
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServerLogService = void 0;
4
+ const hmIpDeviceType_1 = require("../devices/hmIPDevices/hmIpDeviceType");
5
+ const zigbeeDeviceType_1 = require("../devices/zigbee/zigbeeDeviceType");
6
+ const telegram_service_1 = require("./Telegram/telegram-service");
7
+ const logLevel_1 = require("../../models/logLevel");
8
+ class ServerLogService {
9
+ static writeLog(pLevel, pMessage) {
10
+ if (pLevel > ServerLogService.logLevel) {
11
+ return;
12
+ }
13
+ console.log(pMessage);
14
+ if (pLevel <= ServerLogService.telegramLevel) {
15
+ const title = logLevel_1.LogLevel[pLevel];
16
+ telegram_service_1.TelegramService.sendMessage(telegram_service_1.TelegramService.subscribedIDs, `${title}: ${pMessage}`);
17
+ }
18
+ }
19
+ static addedDeviceToRoom(pRoomName, pDeviceType, pRoomIndex, forceDebug = false) {
20
+ const logLevel = forceDebug ? logLevel_1.LogLevel.Debug : logLevel_1.LogLevel.Trace;
21
+ ServerLogService.writeLog(logLevel, `${hmIpDeviceType_1.HmIpDeviceType[pDeviceType]} (Raumindex: ${pRoomIndex}) zum Raum "${pRoomName}" hinzugefügt"`);
22
+ }
23
+ static missingRoomHandling(pRoomName, pDeviceType) {
24
+ ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Raum "${pRoomName}" hat keine Definition für den Typ "${hmIpDeviceType_1.HmIpDeviceType[pDeviceType]}"`);
25
+ }
26
+ static missingRoomIndexHandling(pRoomName, pIndex, pDeviceType) {
27
+ ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Raum "${pRoomName}" hat keine Definition für den Typ "${hmIpDeviceType_1.HmIpDeviceType[pDeviceType]} mit Index ${pIndex}"`);
28
+ }
29
+ static addedZigbeeDeviceToRoom(pRoomName, pDeviceType, pRoomIndex) {
30
+ ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `${zigbeeDeviceType_1.ZigbeeDeviceType[pDeviceType]} (Raumindex: ${pRoomIndex}) zum Raum "${pRoomName}" hinzugefügt"`);
31
+ }
32
+ static missingZigbeeRoomHandling(pRoomName, pDeviceType) {
33
+ ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Raum "${pRoomName}" hat keine Definition für den Zigbee Typ "${zigbeeDeviceType_1.ZigbeeDeviceType[pDeviceType]}"`);
34
+ }
35
+ static missingZigbeeRoomIndexHandling(pRoomName, pIndex, pDeviceType) {
36
+ ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Raum "${pRoomName}" hat keine Definition für den Typ "${zigbeeDeviceType_1.ZigbeeDeviceType[pDeviceType]} mit Index ${pIndex}"`);
37
+ }
38
+ }
39
+ exports.ServerLogService = ServerLogService;
40
+ ServerLogService.logLevel = 4;
41
+ ServerLogService.telegramLevel = -1; // Controlled from within Config File
@@ -0,0 +1,10 @@
1
+ import { OwnSonosDevice } from './Sonos/sonos-service';
2
+ export declare class NewsService {
3
+ static oneDay: number;
4
+ static lastNewsName: string;
5
+ private static hourlyInterval;
6
+ static initialize(): void;
7
+ static stopHourlyInterval(): void;
8
+ static getLastNews(): void;
9
+ static playLastNews(ownSonosDevice: OwnSonosDevice, volume?: number, retries?: number): void;
10
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.NewsService = void 0;
23
+ const https_service_1 = require("./https-service");
24
+ const HTTPSOptions_1 = require("./HTTPSOptions");
25
+ const log_service_1 = require("./log-service");
26
+ const logLevel_1 = require("../../models/logLevel");
27
+ const fs = __importStar(require("fs"));
28
+ const sonos_service_1 = require("./Sonos/sonos-service");
29
+ const polly_service_1 = require("./Sonos/polly-service");
30
+ const utils_1 = require("./utils/utils");
31
+ const settings_service_1 = require("./settings-service");
32
+ class NewsService {
33
+ static initialize() {
34
+ NewsService.hourlyInterval = utils_1.Utils.guardedInterval(NewsService.getLastNews, 3600000);
35
+ NewsService.getLastNews();
36
+ }
37
+ static stopHourlyInterval() {
38
+ if (this.hourlyInterval !== undefined) {
39
+ clearInterval(this.hourlyInterval);
40
+ this.hourlyInterval = undefined;
41
+ }
42
+ }
43
+ static getLastNews() {
44
+ https_service_1.HTTPSService.request(new HTTPSOptions_1.HTTPSOptions('www1.wdr.de', '/mediathek/audio/wdr-aktuell-news/index.html', {}, 'GET', 443), '', 5, (response) => {
45
+ var _a;
46
+ try {
47
+ const cutAfterDownload = response.split(`" title="Audio Download">`)[0];
48
+ const cutsPriorDownload = cutAfterDownload.split(`<a class="button download " href="`);
49
+ const target = 'https:' + cutsPriorDownload[cutsPriorDownload.length - 1];
50
+ const splits = target.split('/');
51
+ const fileName = splits[splits.length - 1];
52
+ const filePath = `${(_a = settings_service_1.SettingsService.settings.mp3Server) === null || _a === void 0 ? void 0 : _a.path}${fileName}`;
53
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `NewsService: Die aktuelle News ist "${target}"`);
54
+ if (fs.existsSync(filePath)) {
55
+ NewsService.lastNewsName = fileName.split('.mp3')[0];
56
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Wir haben bereits die neuste WDR Nachrichten heruntergeladen.`);
57
+ return;
58
+ }
59
+ https_service_1.HTTPSService.downloadFile(target, `//HOMESERVER/Users/Public/Documents/ttsMP3/${fileName}`).then((success) => {
60
+ if (!success) {
61
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Fehler beim Herunterladen der Nachrichten von WDR`);
62
+ return;
63
+ }
64
+ NewsService.lastNewsName = fileName.split('.mp3')[0];
65
+ });
66
+ }
67
+ catch (e) {
68
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Fehler beim Parsen der WDR Antwort Error: ${e}`);
69
+ return;
70
+ }
71
+ });
72
+ }
73
+ static playLastNews(ownSonosDevice, volume = 30, retries = 5) {
74
+ if (!NewsService.lastNewsName) {
75
+ if (retries > 0) {
76
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Der NewsService ist noch nicht bereit --> warten, verbleibende Neuversuche ${retries - 1}`);
77
+ utils_1.Utils.guardedTimeout(() => {
78
+ NewsService.playLastNews(ownSonosDevice, volume, retries - 1);
79
+ }, 1000);
80
+ }
81
+ else {
82
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Der NewsService ist trotz Warten nicht bereit --> Abbruch`);
83
+ }
84
+ return;
85
+ }
86
+ sonos_service_1.SonosService.playOnDevice(ownSonosDevice, NewsService.lastNewsName, polly_service_1.PollyService.getDuration(NewsService.lastNewsName), volume);
87
+ }
88
+ }
89
+ exports.NewsService = NewsService;
90
+ NewsService.oneDay = 1000 * 60 * 60 * 24;
@@ -0,0 +1,6 @@
1
+ import { iConfig } from '../config/iConfig';
2
+ export declare class SettingsService {
3
+ static settings: iConfig;
4
+ static get TelegramActive(): boolean;
5
+ static get Mp3Active(): boolean;
6
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SettingsService = void 0;
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-ignore
9
+ const mainConfig_json_1 = __importDefault(require("/src/server/config/private/mainConfig.json"));
10
+ class SettingsService {
11
+ static get TelegramActive() {
12
+ return this.settings.telegram !== undefined;
13
+ }
14
+ static get Mp3Active() {
15
+ return this.settings.mp3Server !== undefined;
16
+ }
17
+ }
18
+ exports.SettingsService = SettingsService;
19
+ SettingsService.settings = mainConfig_json_1.default;
@@ -0,0 +1,39 @@
1
+ import { TimeCallback } from '../../models/timeCallback';
2
+ export declare enum TimeOfDay {
3
+ BeforeSunrise = 1,
4
+ Daylight = 2,
5
+ AfterSunset = 3,
6
+ Night = 4
7
+ }
8
+ export declare class SunTimeOffsets {
9
+ sunrise: number;
10
+ sunset: number;
11
+ minimumHours: number;
12
+ minimumMinutes: number;
13
+ maximumHours: number;
14
+ maximumMinutes: number;
15
+ constructor(sunrise?: number, sunset?: number, minimumHours?: number, minimumMinutes?: number, maximumHours?: number, maximumMinutes?: number);
16
+ getNextMinimumSunrise(): Date;
17
+ getNextMaximumSunset(): Date;
18
+ }
19
+ export declare class TimeCallbackService {
20
+ private static _todaySunRise;
21
+ private static _todaySunSet;
22
+ private static _nextSunRise;
23
+ private static _nextSunSet;
24
+ private static _callbacks;
25
+ private static _iCheck;
26
+ private static _lastCheck;
27
+ static dayType(pOffset: SunTimeOffsets): TimeOfDay;
28
+ static darkOutsideOrNight(dayType: TimeOfDay): boolean;
29
+ static stopInterval(): void;
30
+ static get nextSunRise(): Date;
31
+ static get nextSunSet(): Date;
32
+ static init(): void;
33
+ static addCallback(pCallback: TimeCallback): void;
34
+ static performCheck(): void;
35
+ static recalcSunTimes(): void;
36
+ static removeCallback(pCallback: TimeCallback): void;
37
+ static updateSunRise(pDay?: Date): void;
38
+ static updateSunSet(pDay?: Date): void;
39
+ }