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,358 +0,0 @@
1
- import { TimeCallback } from '../timeCallback';
2
- import { HmIPDevice } from '../../server/devices/hmIPDevices/hmIpDevice';
3
- import { TasterGroup } from '../../server/devices/groups/tasterGroup';
4
- import { PraesenzGroup } from '../../server/devices/groups/praesenzGroup';
5
- import { ringStorage } from '../../server/services/utils/ringstorage';
6
- import { TelegramService } from '../../server/services/Telegram/telegram-service';
7
- import { HeatGroup } from '../../server/devices/groups/heatGroup';
8
- import { LogLevel } from '../logLevel';
9
- import { WaterGroup } from '../../server/devices/groups/waterGroup';
10
- import { ServerLogService } from '../../server/services/log-service';
11
- import { Utils } from '../../server/services/utils/utils';
12
- import { LampenGroup } from '../../server/devices/groups/lampenGroup';
13
- import { RoomSettings } from './RoomSettings/RoomSettings';
14
- import { SmokeGroup } from '../../server/devices/groups/smokeGroup';
15
- import { FensterGroup } from '../../server/devices/groups/fensterGroup';
16
- import { ZigbeeDevice } from '../../server/devices/zigbee/zigbeeDevice';
17
- import { Persist } from '../../server/services/dbo/persist';
18
- import { TimeCallbackService, TimeOfDay } from '../../server/services/time-callback-service';
19
- import { SonosService } from '../../server/services/Sonos/sonos-service';
20
- import { SonosGroup } from '../../server/devices/groups/sonosGroup';
21
- import { ioBrokerBaseDevice } from '../../server/devices/iIoBrokerDevice';
22
-
23
- export class RoomBase {
24
- public static Rooms: { [name: string]: RoomBase } = {};
25
- public static allRooms: RoomBase[] = [];
26
- public static floors: { [level: number]: RoomBase[] } = {};
27
- public static awayModeActive: boolean = false;
28
- public static nightAlarmActive: boolean = false;
29
- public static movementHistory: ringStorage = new ringStorage(15);
30
- public FensterGroup: FensterGroup = new FensterGroup(this, []);
31
- public PraesenzGroup: PraesenzGroup = new PraesenzGroup(this, [], []);
32
- public LampenGroup: LampenGroup = new LampenGroup(this, [], [], []);
33
- public TasterGroup: TasterGroup = new TasterGroup(this, []);
34
- public SonosGroup: SonosGroup = new SonosGroup(this, []);
35
- public SmokeGroup: SmokeGroup = new SmokeGroup(this, []);
36
- public WaterGroup: WaterGroup = new WaterGroup(this, []);
37
- public HeatGroup: HeatGroup = new HeatGroup(this, []);
38
- public Settings: RoomSettings;
39
- public sonnenAufgangCallback: TimeCallback | undefined;
40
- public sonnenUntergangCallback: TimeCallback | undefined;
41
- public sonnenAufgangLichtCallback: TimeCallback | undefined;
42
- public skipNextRolloUp: boolean = false;
43
- private static _awayModeTimer: NodeJS.Timeout | undefined;
44
- private static _nightModeTimer: NodeJS.Timeout | undefined;
45
- private static _intrusionAlarmActive: boolean = false;
46
- private static _intrusionAlarmLevel: number = 0;
47
- private static _intrusionAlarmTimeout: NodeJS.Timeout | undefined;
48
-
49
- public static registerRoomForDevices(roomSettings: RoomSettings): void {
50
- if (roomSettings.hmIpSettings !== undefined) {
51
- HmIPDevice.addRoom(roomSettings.shortName, roomSettings.hmIpSettings);
52
- }
53
- if (roomSettings.zigbeeSettings !== undefined) {
54
- ZigbeeDevice.addRoom(roomSettings.shortName, roomSettings.zigbeeSettings);
55
- }
56
- }
57
-
58
- public static addToRoomList(room: RoomBase): void {
59
- RoomBase.Rooms[room.roomName] = room;
60
- }
61
-
62
- public static getAllRoomsOfFloor(floor: number): Array<RoomBase> {
63
- return this.floors[floor];
64
- }
65
-
66
- /**
67
- * Set ALl Roolos of a specific floor
68
- * !!floor -1 sets all rollos in house instead!!
69
- * @param floor the level on which all rollos shall be changed -1 equals all rooms
70
- * @param position (0 equals down, 100 up)
71
- */
72
- public static setAllRolloOfFloor(floor: number = -1, position: number = 0): void {
73
- const rooms: RoomBase[] = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.allRooms;
74
- for (const room of rooms) {
75
- room.FensterGroup.allRolloToLevel(position, true);
76
- }
77
- }
78
-
79
- /**
80
- * Set ALl Lamps of a specific floor
81
- * !!floor -1 sets all lamps in house instead!!
82
- * @param floor the level on which all lamps shall be changed -1 equals all rooms
83
- * @param status
84
- */
85
- public static setAllLampsOfFloor(floor: number, status: boolean = false): void {
86
- ServerLogService.writeLog(LogLevel.Info, `Schalte alle Lampen in Etage ${floor} auf den Wert ${status}`);
87
- const rooms: RoomBase[] = floor > -1 ? this.getAllRoomsOfFloor(floor) : this.allRooms;
88
- for (const room of rooms) {
89
- room.LampenGroup.setAllLampen(status, -1, true);
90
- room.LampenGroup.setAllLED(status);
91
- room.LampenGroup.setAllStecker(status, -1, true);
92
- }
93
- }
94
-
95
- public static clearAllAlarms(): void {
96
- for (const r of RoomBase.allRooms) {
97
- if (r.WaterGroup) {
98
- r.WaterGroup.stopAlarm();
99
- }
100
- if (r.SmokeGroup) {
101
- r.SmokeGroup.stopAlarm();
102
- }
103
- }
104
- this.stopIntrusionAlarm();
105
- this.restoreRolloPosition();
106
- this.restoreLight();
107
- }
108
-
109
- public static startAwayMode(): void {
110
- SonosService.speakOnAll(`Alarmanlage wird scharfgeschaltet.`, 40);
111
- if (this._awayModeTimer) {
112
- clearTimeout(this._awayModeTimer);
113
- }
114
- this._awayModeTimer = Utils.guardedTimeout(
115
- () => {
116
- this.awayModeActive = true;
117
- this._awayModeTimer = undefined;
118
- TelegramService.inform(`Alarm ist nun scharf. Gute Reise!`);
119
- },
120
- 60000,
121
- this,
122
- );
123
- }
124
- public static startNightAlarmMode(): void {
125
- SonosService.speakOnAll(`Alarmanlage wird für die Nacht scharfgeschaltet. Gute Nacht!`, 30);
126
- if (this._nightModeTimer) {
127
- clearTimeout(this._nightModeTimer);
128
- }
129
- this._nightModeTimer = Utils.guardedTimeout(
130
- () => {
131
- this.nightAlarmActive = true;
132
- this._nightModeTimer = undefined;
133
- TelegramService.inform(`Alarm ist nun scharf. Süße Träume!`);
134
- },
135
- 60000,
136
- this,
137
- );
138
- }
139
-
140
- public static startIntrusionAlarm(room: RoomBase, device: ioBrokerBaseDevice): void {
141
- const message: string = `!Potenzieller Eindringling! Bewegung in ${room.roomName} von ${device.info.fullName} festgestellt`;
142
- ServerLogService.writeLog(LogLevel.Info, message);
143
- if (!this.awayModeActive && !this.nightAlarmActive) {
144
- this.stopIntrusionAlarm();
145
- return;
146
- }
147
-
148
- Utils.guardedNewThread(() => {
149
- TelegramService.inform(message);
150
- }, this);
151
-
152
- if (this._intrusionAlarmActive) {
153
- return;
154
- }
155
- this._intrusionAlarmActive = true;
156
- this.performNextIntrusionLevel();
157
- }
158
-
159
- public static endAlarmModes(): void {
160
- if (this.awayModeActive) {
161
- TelegramService.sendMessage(TelegramService.subscribedIDs, `Alarmanalage entschärft`);
162
- SonosService.speakOnAll(`Willkommen Zuhause!`, 35);
163
- }
164
- if (this.nightAlarmActive) {
165
- TelegramService.sendMessage(TelegramService.subscribedIDs, `Nachtmodus der Alarmanlage entschärft`);
166
- SonosService.speakOnAll(`Guten Morgen!`, 30);
167
- }
168
- if (this._nightModeTimer) {
169
- clearTimeout(this._nightModeTimer);
170
- }
171
- if (this._awayModeTimer) {
172
- clearTimeout(this._awayModeTimer);
173
- }
174
- this.awayModeActive = false;
175
- this.nightAlarmActive = false;
176
-
177
- this.stopIntrusionAlarm();
178
- }
179
-
180
- public static getLastMovements(): string {
181
- return this.movementHistory.readAmount(15).join('\n');
182
- }
183
-
184
- public constructor(public roomName: string, public Einstellungen: RoomSettings) {
185
- if (Einstellungen.etage !== undefined) {
186
- const level: number = Einstellungen.etage;
187
- if (RoomBase.floors[level] === undefined) {
188
- RoomBase.floors[level] = [];
189
- }
190
- RoomBase.floors[level].push(this);
191
- }
192
- Einstellungen.room = this;
193
- this.Settings = Einstellungen;
194
- RoomBase.allRooms.push(this);
195
- }
196
-
197
- public initializeBase(): void {
198
- ServerLogService.writeLog(LogLevel.Debug, `RoomBase Init für ${this.roomName}`);
199
- this.recalcTimeCallbacks();
200
- this.PraesenzGroup.initCallbacks();
201
- this.FensterGroup.initCallbacks();
202
- this.TasterGroup.initCallbacks();
203
- }
204
-
205
- public persist(): void {
206
- Persist.addRoom(this);
207
- }
208
-
209
- public recalcTimeCallbacks(): void {
210
- const now: Date = new Date();
211
- if (this.sonnenAufgangCallback && this.Einstellungen.rolloOffset) {
212
- this.sonnenAufgangCallback.minuteOffset = this.Einstellungen.rolloOffset.sunrise;
213
- this.sonnenAufgangCallback.sunTimeOffset = this.Einstellungen.rolloOffset;
214
- this.sonnenAufgangCallback.recalcNextToDo(now);
215
- }
216
- if (this.sonnenUntergangCallback && this.Einstellungen.rolloOffset) {
217
- this.sonnenUntergangCallback.minuteOffset = this.Einstellungen.rolloOffset.sunset;
218
- this.sonnenUntergangCallback.sunTimeOffset = this.Einstellungen.rolloOffset;
219
- this.sonnenUntergangCallback.recalcNextToDo(now);
220
- }
221
- if (this.sonnenAufgangLichtCallback && this.Einstellungen.lampOffset) {
222
- this.sonnenAufgangLichtCallback.minuteOffset = this.Einstellungen.lampOffset.sunrise;
223
- this.sonnenAufgangLichtCallback.recalcNextToDo(now);
224
- }
225
- }
226
-
227
- /**
228
- * Sets the light based on the current time, rollo Position and room Settings
229
- * @param movementDependant Only turn light on if there was a movement in the same room
230
- */
231
- public setLightTimeBased(movementDependant: boolean = false): void {
232
- if (movementDependant && !this.PraesenzGroup.anyPresent()) {
233
- this.LampenGroup.switchAll(false);
234
- return;
235
- }
236
-
237
- if (!this.Einstellungen.lampOffset) {
238
- ServerLogService.writeLog(
239
- LogLevel.Alert,
240
- `Beim Aufruf von "setLightTimeBased" im Raum ${this.roomName} liegt kein Lampen Offset vor`,
241
- );
242
- return;
243
- }
244
- let timeOfDay: TimeOfDay = TimeCallbackService.dayType(this.Einstellungen.lampOffset);
245
- if (
246
- timeOfDay === TimeOfDay.Daylight &&
247
- ((this.Einstellungen.lightIfNoWindows && this.FensterGroup.fenster.length === 0) ||
248
- this.FensterGroup.fenster.some((f) => {
249
- const rolloDown: boolean = f.rollo?.currentLevel === 0;
250
- ServerLogService.writeLog(
251
- LogLevel.Debug,
252
- `Rollo ${f.rollo?.info.customName} for light in ${this.roomName} is ${rolloDown ? '' : 'not '}down`,
253
- );
254
- return rolloDown;
255
- }))
256
- ) {
257
- timeOfDay = TimeOfDay.AfterSunset;
258
- }
259
- this.LampenGroup.switchTimeConditional(timeOfDay);
260
- }
261
-
262
- public isNowLightTime(): boolean {
263
- if (!this.Einstellungen.lampOffset) {
264
- ServerLogService.writeLog(
265
- LogLevel.Alert,
266
- `Beim Aufruf von "setLightTimeBased" im Raum ${this.roomName} liegt kein Lampen Offset vor`,
267
- );
268
- return false;
269
- }
270
- let timeOfDay: TimeOfDay = TimeCallbackService.dayType(this.Einstellungen.lampOffset);
271
- if (
272
- timeOfDay === TimeOfDay.Daylight &&
273
- this.FensterGroup.fenster.some((f) => {
274
- return f.rollo?.currentLevel === 0;
275
- })
276
- ) {
277
- timeOfDay = TimeOfDay.AfterSunset;
278
- }
279
- return TimeCallbackService.darkOutsideOrNight(timeOfDay);
280
- }
281
-
282
- private static stopIntrusionAlarm() {
283
- ServerLogService.writeLog(LogLevel.Info, `Stoppe Intrusion Alarm`);
284
- if (this._intrusionAlarmTimeout) {
285
- clearTimeout(this._intrusionAlarmTimeout);
286
- }
287
- if (!this._intrusionAlarmActive) {
288
- return;
289
- }
290
- this._intrusionAlarmActive = false;
291
- this._intrusionAlarmLevel = 0;
292
- ServerLogService.writeLog(LogLevel.Alert, `Alarm wurde beendet --> Fahre Rollos in Ausgangsposition.`);
293
- this.restoreRolloPosition();
294
- this.restoreLight();
295
- }
296
-
297
- private static performNextIntrusionLevel(): void {
298
- this._intrusionAlarmTimeout = undefined;
299
- if (!this.awayModeActive && !this._intrusionAlarmActive) {
300
- return;
301
- }
302
- this._intrusionAlarmLevel += 1;
303
- let speakMessage: string;
304
- let volume = 50;
305
- let newTimeout: number = 20000;
306
- const alarmAutomaticEnd: number = 15;
307
- if (this._intrusionAlarmLevel === 1) {
308
- speakMessage = `Hallo potenzieller Eindringling! Das Alarmprotokoll ist initiiert bitte verlassen Sie umgehend das Gebäude!`;
309
- volume = 40;
310
- } else if (this._intrusionAlarmLevel === 2) {
311
- speakMessage = `Alle Rollos fahren hoch, bitte begeben Sie sich zum nächsten Ausgang`;
312
- Utils.guardedNewThread(() => {
313
- this.setAllRolloOfFloor(-1, 100);
314
- this.setAllLampsOfFloor(-1, true);
315
- }, this);
316
- } else if (this._intrusionAlarmLevel === 3) {
317
- volume = 70;
318
- speakMessage = `Verlassen Sie sofort das Gebäude! Die Behörden sind informiert`;
319
- } else if (this._intrusionAlarmLevel <= 5) {
320
- volume = 80;
321
- speakMessage = `Weitere Abwehrmaßnahmen werden eingeleitet`;
322
- } else if (this._intrusionAlarmLevel >= alarmAutomaticEnd) {
323
- this.stopIntrusionAlarm();
324
- return;
325
- } else {
326
- volume = 90;
327
- speakMessage = `Alarm. Einbrecher erkannt.`;
328
- newTimeout = 10000;
329
- }
330
- this._intrusionAlarmTimeout = Utils.guardedTimeout(
331
- () => {
332
- this.performNextIntrusionLevel();
333
- },
334
- newTimeout,
335
- this,
336
- );
337
- Utils.guardedNewThread(() => {
338
- SonosService.speakOnAll(speakMessage, volume);
339
- TelegramService.inform(
340
- `Eindringling erhielt folgende Nachricht: "${speakMessage}"\nAlarmlevel ist ${this._intrusionAlarmLevel}\t Automatisches Ende bei ${alarmAutomaticEnd}`,
341
- );
342
- }, this);
343
- }
344
-
345
- private static restoreRolloPosition(): void {
346
- const rooms: RoomBase[] = this.allRooms;
347
- for (const room of rooms) {
348
- room.FensterGroup.restoreRolloPosition();
349
- }
350
- }
351
-
352
- private static restoreLight() {
353
- const rooms: RoomBase[] = this.allRooms;
354
- for (const room of rooms) {
355
- room.setLightTimeBased(true);
356
- }
357
- }
358
- }
@@ -1,159 +0,0 @@
1
- import { HmIpRoomSettings } from './hmIPRoomSettings';
2
- import { ZigbeeRoomSettings } from './zigbeeRoomSettings';
3
- import { SettingsService } from '../../../server/services/settings-service';
4
- import { iRoomDefaultSettings } from './iRoomDefaultSettings';
5
- import { SunTimeOffsets } from '../../../server/services/time-callback-service';
6
-
7
- import { RoomBase } from '../RoomBase';
8
- import { iTimePair } from '../../../server/config/iConfig';
9
-
10
- export class RoomSettings implements iRoomDefaultSettings {
11
- public defaultSettings: iRoomDefaultSettings = SettingsService.settings.roomDefault;
12
- private _lampenBeiBewegung: boolean = this.defaultSettings.lampenBeiBewegung;
13
- private _lichtSonnenAufgangAus: boolean = this.defaultSettings.lichtSonnenAufgangAus;
14
- private _sonnenUntergangRollos: boolean = this.defaultSettings.sonnenUntergangRollos;
15
- private _sonnenAufgangRollos: boolean = this.defaultSettings.sonnenAufgangRollos;
16
- private _movementResetTimer: number = this.defaultSettings.movementResetTimer;
17
- private _sonnenUntergangRolloDelay: number = this.defaultSettings.sonnenUntergangRolloDelay;
18
- private _sonnenUntergangRolloMaxTime: iTimePair = this.defaultSettings.sonnenUntergangRolloMaxTime;
19
- private _sonnenUntergangLampenDelay: number = this.defaultSettings.sonnenUntergangLampenDelay;
20
- private _sonnenAufgangRolloDelay: number = this.defaultSettings.sonnenAufgangRolloDelay;
21
- private _sonnenAufgangRolloMinTime: iTimePair = this.defaultSettings.sonnenAufgangRolloMinTime;
22
- private _sonnenAufgangLampenDelay: number = this.defaultSettings.sonnenAufgangLampenDelay;
23
- private _lightIfNoWindows: boolean = this.defaultSettings.lightIfNoWindows;
24
- public hmIpSettings?: HmIpRoomSettings;
25
- public zigbeeSettings?: ZigbeeRoomSettings;
26
- public radioUrl: string = 'https://hermes.bcs-systems.de/hitradio-rtl_top40_64k_aac'; // Radio RTL
27
- public etage: number = -1;
28
- public rolloOffset: SunTimeOffsets;
29
- public lampOffset: SunTimeOffsets;
30
- public room?: RoomBase;
31
- public rolloHeatReduction: boolean = this.defaultSettings.rolloHeatReduction;
32
-
33
- public constructor(public shortName: string) {
34
- this.rolloOffset = new SunTimeOffsets(
35
- this.sonnenAufgangRolloDelay,
36
- this.sonnenUntergangRolloDelay,
37
- this.sonnenAufgangRolloMinTime.hours,
38
- this.sonnenAufgangRolloMinTime.minutes,
39
- this.sonnenUntergangRolloMaxTime.hours,
40
- this.sonnenUntergangRolloMaxTime.minutes,
41
- );
42
- this.lampOffset = new SunTimeOffsets(this.sonnenAufgangLampenDelay, this.sonnenUntergangLampenDelay);
43
- }
44
-
45
- private recalcRolloOffset(): void {
46
- this.rolloOffset = new SunTimeOffsets(
47
- this.sonnenAufgangRolloDelay,
48
- this.sonnenUntergangRolloDelay,
49
- this.sonnenAufgangRolloMinTime.hours,
50
- this.sonnenAufgangRolloMinTime.minutes,
51
- this.sonnenUntergangRolloMaxTime.hours,
52
- this.sonnenUntergangRolloMaxTime.minutes,
53
- );
54
- if (this.room) {
55
- this.room.recalcTimeCallbacks();
56
- }
57
- }
58
-
59
- private recalcLampOffset(): void {
60
- this.lampOffset = new SunTimeOffsets(this.sonnenAufgangLampenDelay, this.sonnenAufgangRolloDelay);
61
- if (this.room) {
62
- this.room.recalcTimeCallbacks();
63
- }
64
- }
65
-
66
- get sonnenAufgangLampenDelay(): number {
67
- return this._sonnenAufgangLampenDelay;
68
- }
69
-
70
- set sonnenAufgangLampenDelay(value: number) {
71
- this._sonnenAufgangLampenDelay = value;
72
- this.recalcLampOffset();
73
- }
74
- get sonnenAufgangRolloDelay(): number {
75
- return this._sonnenAufgangRolloDelay;
76
- }
77
-
78
- set sonnenAufgangRolloDelay(value: number) {
79
- this._sonnenAufgangRolloDelay = value;
80
- this.recalcRolloOffset();
81
- }
82
- get sonnenUntergangLampenDelay(): number {
83
- return this._sonnenUntergangLampenDelay;
84
- }
85
-
86
- set sonnenUntergangLampenDelay(value: number) {
87
- this._sonnenUntergangLampenDelay = value;
88
- this.recalcLampOffset();
89
- }
90
- get sonnenUntergangRolloDelay(): number {
91
- return this._sonnenUntergangRolloDelay;
92
- }
93
-
94
- set sonnenUntergangRolloDelay(value: number) {
95
- this._sonnenUntergangRolloDelay = value;
96
- }
97
- get movementResetTimer(): number {
98
- return this._movementResetTimer;
99
- }
100
-
101
- set movementResetTimer(value: number) {
102
- this._movementResetTimer = value;
103
- }
104
- get lichtSonnenAufgangAus(): boolean {
105
- return this._lichtSonnenAufgangAus;
106
- }
107
- get sonnenAufgangRollos(): boolean {
108
- return this._sonnenAufgangRollos;
109
- }
110
-
111
- set sonnenAufgangRollos(value: boolean) {
112
- this._sonnenAufgangRollos = value;
113
- this.recalcRolloOffset();
114
- }
115
- get sonnenUntergangRollos(): boolean {
116
- return this._sonnenUntergangRollos;
117
- }
118
-
119
- set sonnenUntergangRollos(value: boolean) {
120
- this._sonnenUntergangRollos = value;
121
- this.recalcRolloOffset();
122
- }
123
- set lichtSonnenAufgangAus(value: boolean) {
124
- this._lichtSonnenAufgangAus = value;
125
- }
126
- get lampenBeiBewegung(): boolean {
127
- return this._lampenBeiBewegung;
128
- }
129
-
130
- set lampenBeiBewegung(value: boolean) {
131
- this._lampenBeiBewegung = value;
132
- }
133
-
134
- get sonnenUntergangRolloMaxTime(): iTimePair {
135
- return this._sonnenUntergangRolloMaxTime;
136
- }
137
-
138
- set sonnenUntergangRolloMaxTime(value: iTimePair) {
139
- this._sonnenUntergangRolloMaxTime = value;
140
- this.recalcRolloOffset();
141
- }
142
-
143
- get sonnenAufgangRolloMinTime(): iTimePair {
144
- return this._sonnenAufgangRolloMinTime;
145
- }
146
-
147
- set sonnenAufgangRolloMinTime(value: iTimePair) {
148
- this._sonnenAufgangRolloMinTime = value;
149
- this.recalcRolloOffset();
150
- }
151
-
152
- get lightIfNoWindows(): boolean {
153
- return this._lightIfNoWindows;
154
- }
155
-
156
- set lightIfNoWindows(value: boolean) {
157
- this._lightIfNoWindows = value;
158
- }
159
- }
@@ -1,53 +0,0 @@
1
- import { HmIpDeviceType } from '../../../server/devices/hmIPDevices/hmIpDeviceType';
2
- import { ServerLogService } from '../../../server/services/log-service';
3
- import { LogLevel } from '../../logLevel';
4
-
5
- export class HmIpAddDeviceItem {
6
- private _added: boolean = false;
7
-
8
- public get added(): boolean {
9
- return this._added;
10
- }
11
-
12
- public set added(value: boolean) {
13
- if (this._added) {
14
- ServerLogService.writeLog(LogLevel.Error, `${this.customName} Added twice`);
15
- }
16
- this._added = value;
17
- }
18
-
19
- constructor(public setID: (value: string) => void, public index: number, public customName: string) {}
20
- }
21
-
22
- export class HmIpRoomSettings {
23
- public devices: Array<Array<HmIpAddDeviceItem>> = [];
24
-
25
- constructor(public RoomName: string) {}
26
-
27
- public addDevice(
28
- deviceType: HmIpDeviceType,
29
- setID: (value: string) => void,
30
- index: number,
31
- customName: string | undefined = undefined,
32
- ): void {
33
- if (this.devices[deviceType] === undefined) {
34
- this.devices[deviceType] = [];
35
- }
36
- if (customName === undefined) {
37
- customName = `${this.RoomName} ${HmIpDeviceType[deviceType]}`;
38
- }
39
- this.devices[deviceType][index] = new HmIpAddDeviceItem(setID, index, customName);
40
- }
41
-
42
- public checkMissing(): void {
43
- for (const type in this.devices) {
44
- const devs = this.devices[type];
45
- for (const index in devs) {
46
- const dev = devs[index];
47
- if (!dev.added) {
48
- ServerLogService.writeLog(LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
49
- }
50
- }
51
- }
52
- }
53
- }
@@ -1,17 +0,0 @@
1
- import { iTimePair } from '../../../server/config/iConfig';
2
-
3
- export interface iRoomDefaultSettings {
4
- rolloHeatReduction: boolean;
5
- lampenBeiBewegung: boolean;
6
- lichtSonnenAufgangAus: boolean;
7
- sonnenUntergangRollos: boolean;
8
- sonnenUntergangRolloDelay: number;
9
- sonnenUntergangRolloMaxTime: iTimePair;
10
- sonnenUntergangLampenDelay: number;
11
- sonnenAufgangRollos: boolean;
12
- sonnenAufgangRolloDelay: number;
13
- sonnenAufgangRolloMinTime: iTimePair;
14
- sonnenAufgangLampenDelay: number;
15
- movementResetTimer: number;
16
- lightIfNoWindows: boolean;
17
- }
@@ -1,18 +0,0 @@
1
- ### Generate Setter for ID's ###
2
- ```
3
- function fix(s) {
4
- var t = [];
5
- var e = s.split('\n');
6
- for(var i=0;i<e.length;i++) {
7
- var cI = e[i];
8
- cI = cI.trim().trimStart();
9
- cI = cI.replace("private static ", "");
10
- cI = cI.replace(": string = '';", "");
11
- cI = cI.replace(": string;", "");
12
- var cL = `${cI.charAt(0).toUpperCase()}${cI.substr(1)}`;
13
- t.push(`public static set${cL}(value: string): void {\n\tthis.${cI} = value;\n}`);
14
- }
15
- console.log(t.join("\n\n"));
16
- }
17
- fix(`YOUR_DECLARATIONS_COME_HERE`);
18
- ```
@@ -1,51 +0,0 @@
1
- import { ZigbeeDeviceType } from '../../../server/devices/zigbee/zigbeeDeviceType';
2
- import { ServerLogService } from '../../../server/services/log-service';
3
- import { LogLevel } from '../../logLevel';
4
-
5
- export class ZigbeeAddDeviceItem {
6
- private _added: boolean = false;
7
-
8
- public get added(): boolean {
9
- return this._added;
10
- }
11
-
12
- public set added(value: boolean) {
13
- if (this._added) {
14
- ServerLogService.writeLog(LogLevel.Error, `${this.customName} Added twice`);
15
- }
16
- this._added = value;
17
- }
18
- constructor(public setID: (value: string) => void, public index: number, public customName: string) {}
19
- }
20
-
21
- export class ZigbeeRoomSettings {
22
- public devices: Array<Array<ZigbeeAddDeviceItem>> = [];
23
- constructor(public RoomName: string) {}
24
-
25
- public addDevice(
26
- deviceType: ZigbeeDeviceType,
27
- setID: (value: string) => void,
28
- index: number,
29
- customName: string | undefined = undefined,
30
- ): void {
31
- if (this.devices[deviceType] === undefined) {
32
- this.devices[deviceType] = [];
33
- }
34
- if (customName === undefined) {
35
- customName = `${this.RoomName} ${ZigbeeDeviceType[deviceType]}`;
36
- }
37
- this.devices[deviceType][index] = new ZigbeeAddDeviceItem(setID, index, customName);
38
- }
39
-
40
- public checkMissing(): void {
41
- for (const type in this.devices) {
42
- const devs = this.devices[type];
43
- for (const index in devs) {
44
- const dev = devs[index];
45
- if (!dev.added) {
46
- ServerLogService.writeLog(LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
47
- }
48
- }
49
- }
50
- }
51
- }
@@ -1,11 +0,0 @@
1
- ### Create Rooms
2
- Hoffmation is centered about rooms.
3
- Many follow certain default behaviour while others have very specific rules.
4
- To be modular Rooms within HoffMation should be generated automatically.
5
-
6
- To do so use the Excel Document `Raumdefinition.xlsm`
7
- Within that document you have to create all your rooms and the devices.
8
-
9
- Afterwards you can create the resulting config code and paste that into
10
- `server/config/roomConfig.txt`
11
-
@@ -1,22 +0,0 @@
1
- import { Daytime } from './daytime';
2
-
3
- export class TemperaturSettings {
4
- public constructor(
5
- public start: Daytime,
6
- public end: Daytime,
7
- public temperatur: number,
8
- public active: boolean = true,
9
- ) {}
10
-
11
- public isNowInRange(): boolean {
12
- const now: number = new Date().getTime();
13
- const todayStart: number = new Date().setHours(this.start.hour, this.start.minute);
14
- if (now < todayStart) {
15
- return false;
16
- }
17
-
18
- const todayEnd: number = new Date().setHours(this.end.hour, this.end.minute);
19
-
20
- return now < todayEnd;
21
- }
22
- }