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,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PraesenzGroup = void 0;
4
+ const RoomBase_1 = require("../../../models/rooms/RoomBase");
5
+ const timeCallback_1 = require("../../../models/timeCallback");
6
+ const log_service_1 = require("../../services/log-service");
7
+ const logLevel_1 = require("../../../models/logLevel");
8
+ const time_callback_service_1 = require("../../services/time-callback-service");
9
+ const utils_1 = require("../../services/utils/utils");
10
+ class PraesenzGroup {
11
+ constructor(_room, Prasenzen, Bewegungen) {
12
+ this._room = _room;
13
+ this.Prasenzen = Prasenzen;
14
+ this.Bewegungen = Bewegungen;
15
+ this._lastMovement = new Date(0);
16
+ for (const b of [...Prasenzen, ...Bewegungen]) {
17
+ b.room = this._room;
18
+ }
19
+ }
20
+ initCallbacks() {
21
+ this.Prasenzen.forEach((p) => {
22
+ p.addPresenceCallback((val) => {
23
+ if (!val) {
24
+ return;
25
+ }
26
+ if (RoomBase_1.RoomBase.awayModeActive || (RoomBase_1.RoomBase.nightAlarmActive && !p.excludeFromNightAlarm)) {
27
+ RoomBase_1.RoomBase.startIntrusionAlarm(this._room, p);
28
+ }
29
+ RoomBase_1.RoomBase.movementHistory.add(`${utils_1.Utils.nowString()}: Raum "${this._room.roomName}" Gerät "${p.info.fullName}"`);
30
+ });
31
+ });
32
+ this.Bewegungen.forEach((b) => {
33
+ b.addMovementCallback((val) => {
34
+ if (!val) {
35
+ return;
36
+ }
37
+ if (RoomBase_1.RoomBase.awayModeActive || (RoomBase_1.RoomBase.nightAlarmActive && !b.excludeFromNightAlarm)) {
38
+ RoomBase_1.RoomBase.startIntrusionAlarm(this._room, b);
39
+ }
40
+ RoomBase_1.RoomBase.movementHistory.add(`${utils_1.Utils.nowString()}: Raum "${this._room.roomName}" Gerät "${b.info.fullName}"`);
41
+ });
42
+ });
43
+ if (this._room.Einstellungen.lichtSonnenAufgangAus && this._room.Einstellungen.lampOffset) {
44
+ this._room.sonnenAufgangLichtCallback = new timeCallback_1.TimeCallback(`${this._room.roomName} Morgens Lampe aus`, timeCallback_1.TimeCallbackType.Sunrise, () => {
45
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Es ist hell genug --> Schalte Lampen im ${this._room.roomName} aus`);
46
+ this._room.LampenGroup.switchAll(false);
47
+ }, this._room.Einstellungen.lampOffset.sunrise);
48
+ time_callback_service_1.TimeCallbackService.addCallback(this._room.sonnenAufgangLichtCallback);
49
+ }
50
+ this.addLastLeftCallback(() => {
51
+ this._room.LampenGroup.switchAll(false);
52
+ });
53
+ if (this._room.Einstellungen.lampenBeiBewegung) {
54
+ this.addFirstEnterCallback(() => {
55
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Bewegung im Raum ${this._room.roomName} festgestellt --> Licht einschalten`);
56
+ this._room.setLightTimeBased();
57
+ });
58
+ }
59
+ }
60
+ presentAmount() {
61
+ let count = 0;
62
+ for (let i = 0; i < this.Prasenzen.length; i++) {
63
+ if (this.Prasenzen[i].presenceDetected) {
64
+ count++;
65
+ }
66
+ }
67
+ for (let i = 0; i < this.Bewegungen.length; i++) {
68
+ if (this.Bewegungen[i].movementDetected) {
69
+ count++;
70
+ }
71
+ }
72
+ return count;
73
+ }
74
+ anyPresent() {
75
+ for (let i = 0; i < this.Prasenzen.length; i++) {
76
+ if (this.Prasenzen[i].presenceDetected) {
77
+ return true;
78
+ }
79
+ }
80
+ for (let i = 0; i < this.Bewegungen.length; i++) {
81
+ if (this.Bewegungen[i].movementDetected) {
82
+ return true;
83
+ }
84
+ }
85
+ return false;
86
+ }
87
+ lastLeftCB(val, cb) {
88
+ if (val) {
89
+ return;
90
+ }
91
+ if (this.anyPresent()) {
92
+ return;
93
+ }
94
+ let timeAfterReset = utils_1.Utils.nowMS() - this._lastMovement.getTime() - this._room.Einstellungen.movementResetTimer * 1000;
95
+ if (timeAfterReset > 0) {
96
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Movement reset in ${this._room.roomName}.\nActive Motions: ${this.presentAmount()}\nTime after Last Movement including Reset: ${timeAfterReset}`);
97
+ cb();
98
+ return;
99
+ }
100
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Movement reset in ${this._room.roomName} delayed.`);
101
+ utils_1.Utils.guardedTimeout(() => {
102
+ timeAfterReset =
103
+ utils_1.Utils.nowMS() - this._lastMovement.getTime() - this._room.Einstellungen.movementResetTimer * 1000;
104
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Delayed Movement reset in ${this._room.roomName}.\nActive Motions: ${this.presentAmount()}\nTime after Last Movement including Reset: ${timeAfterReset}`);
105
+ if (!this.anyPresent() && timeAfterReset > 0) {
106
+ cb();
107
+ }
108
+ }, Math.abs(timeAfterReset) + 500, this);
109
+ }
110
+ addLastLeftCallback(cb) {
111
+ this.Prasenzen.forEach((p) => {
112
+ p.addPresenceCallback((val) => {
113
+ this.lastLeftCB(val, cb);
114
+ });
115
+ });
116
+ this.Bewegungen.forEach((b) => {
117
+ b.addMovementCallback((val) => {
118
+ this.lastLeftCB(val, cb);
119
+ });
120
+ });
121
+ }
122
+ firstEnterCallback(val, cb) {
123
+ if (!val) {
124
+ return;
125
+ }
126
+ this._lastMovement = new Date();
127
+ if (this.presentAmount() > 1) {
128
+ return;
129
+ }
130
+ cb();
131
+ }
132
+ addFirstEnterCallback(cb) {
133
+ this.Prasenzen.forEach((p) => {
134
+ p.addPresenceCallback((val) => {
135
+ this.firstEnterCallback(val, cb);
136
+ });
137
+ });
138
+ this.Bewegungen.forEach((b) => {
139
+ b.addMovementCallback((val) => {
140
+ this.firstEnterCallback(val, cb);
141
+ });
142
+ });
143
+ }
144
+ }
145
+ exports.PraesenzGroup = PraesenzGroup;
@@ -0,0 +1,8 @@
1
+ import { ZigbeeHeimanSmoke } from '../zigbee/zigbeeHeimanSmoke';
2
+ import { RoomBase } from '../../../models/rooms/RoomBase';
3
+ export declare class SmokeGroup {
4
+ private _room;
5
+ Rauchmelder: Array<ZigbeeHeimanSmoke>;
6
+ constructor(_room: RoomBase, Rauchmelder: Array<ZigbeeHeimanSmoke>);
7
+ stopAlarm(): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmokeGroup = void 0;
4
+ class SmokeGroup {
5
+ constructor(_room, Rauchmelder) {
6
+ this._room = _room;
7
+ this.Rauchmelder = Rauchmelder;
8
+ for (const s of [...this.Rauchmelder]) {
9
+ s.room = this._room;
10
+ }
11
+ }
12
+ stopAlarm() {
13
+ for (const d of this.Rauchmelder) {
14
+ d.stopAlarm(true);
15
+ }
16
+ }
17
+ }
18
+ exports.SmokeGroup = SmokeGroup;
@@ -0,0 +1,11 @@
1
+ import { OwnSonosDevice } from '../../services/Sonos/sonos-service';
2
+ import { RoomBase } from '../../../models/rooms/RoomBase';
3
+ export declare class SonosGroup {
4
+ private _room;
5
+ ownSonosDevices: OwnSonosDevice[];
6
+ private _playing;
7
+ constructor(_room: RoomBase, ownSonosDevices: OwnSonosDevice[]);
8
+ playRadio(radioUrl: string): void;
9
+ turnOff(): void;
10
+ trigger(track: string): void;
11
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SonosGroup = void 0;
4
+ const utils_1 = require("../../services/utils/utils");
5
+ const log_service_1 = require("../../services/log-service");
6
+ const logLevel_1 = require("../../../models/logLevel");
7
+ class SonosGroup {
8
+ constructor(_room, ownSonosDevices) {
9
+ this._room = _room;
10
+ this.ownSonosDevices = ownSonosDevices;
11
+ this._playing = false;
12
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Added Sonos Group to ${this._room.roomName}`);
13
+ }
14
+ playRadio(radioUrl) {
15
+ this.ownSonosDevices.forEach((s) => {
16
+ utils_1.Utils.guardedTimeout(() => {
17
+ var _a;
18
+ (_a = s.device) === null || _a === void 0 ? void 0 : _a.SetAVTransportURI(radioUrl);
19
+ }, 1500);
20
+ });
21
+ this._playing = true;
22
+ }
23
+ turnOff() {
24
+ this.ownSonosDevices.forEach((s) => {
25
+ var _a;
26
+ (_a = s.device) === null || _a === void 0 ? void 0 : _a.Stop();
27
+ });
28
+ this._playing = false;
29
+ }
30
+ trigger(track) {
31
+ if (this._playing) {
32
+ this.turnOff();
33
+ return;
34
+ }
35
+ this.playRadio(track);
36
+ }
37
+ }
38
+ exports.SonosGroup = SonosGroup;
@@ -0,0 +1,8 @@
1
+ import { HmIpTaster } from '../hmIPDevices/hmIpTaster';
2
+ import { RoomBase } from '../../../models/rooms/RoomBase';
3
+ export declare class TasterGroup {
4
+ private _room;
5
+ Taster: HmIpTaster[];
6
+ constructor(_room: RoomBase, Taster: HmIpTaster[]);
7
+ initCallbacks(): void;
8
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TasterGroup = void 0;
4
+ class TasterGroup {
5
+ constructor(_room, Taster) {
6
+ this._room = _room;
7
+ this.Taster = Taster;
8
+ for (const t of [...Taster]) {
9
+ t.room = this._room;
10
+ }
11
+ }
12
+ initCallbacks() {
13
+ this.Taster.forEach((t) => {
14
+ t.tasten.ObenLinks.addLongCallback((pValue) => {
15
+ pValue && this._room.FensterGroup.allRolloDown(false, true);
16
+ }, `Close all Rollos in this room`);
17
+ t.tasten.ObenLinks.addShortCallback((pValue) => {
18
+ pValue && this._room.FensterGroup.allRolloToLevel(25, true);
19
+ }, `Nearly closes all Rollos in this room`);
20
+ t.tasten.ObenRechts.addLongCallback((pValue) => {
21
+ if (!pValue) {
22
+ return;
23
+ }
24
+ this._room.FensterGroup.allRolloUp(true);
25
+ }, `Open all Rollos in this room`);
26
+ t.tasten.ObenRechts.addShortCallback((pValue) => {
27
+ pValue && this._room.FensterGroup.allRolloToLevel(50, true);
28
+ }, `All Rollos in this room to middle`);
29
+ t.tasten.MitteLinks.addLongCallback((pValue) => {
30
+ pValue && this._room.LampenGroup.switchAll(true, true);
31
+ }, `Turn all Lights in this room on`);
32
+ t.tasten.MitteRechts.addLongCallback((pValue) => {
33
+ pValue && this._room.LampenGroup.switchAll(false, true);
34
+ }, `Turn all Lights in this room off`);
35
+ if (this._room.SonosGroup.ownSonosDevices.length > 0) {
36
+ t.tasten.UntenRechts.addLongCallback(() => {
37
+ this._room.SonosGroup.trigger(this._room.Einstellungen.radioUrl);
38
+ });
39
+ }
40
+ });
41
+ }
42
+ }
43
+ exports.TasterGroup = TasterGroup;
@@ -0,0 +1,8 @@
1
+ import { ZigbeeAquaraWater } from '../zigbee/zigbeeAquaraWater';
2
+ import { RoomBase } from '../../../models/rooms/RoomBase';
3
+ export declare class WaterGroup {
4
+ private _room;
5
+ WaterDetectors: Array<ZigbeeAquaraWater>;
6
+ constructor(_room: RoomBase, WaterDetectors: Array<ZigbeeAquaraWater>);
7
+ stopAlarm(): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WaterGroup = void 0;
4
+ class WaterGroup {
5
+ constructor(_room, WaterDetectors) {
6
+ this._room = _room;
7
+ this.WaterDetectors = WaterDetectors;
8
+ for (const w of [...WaterDetectors]) {
9
+ w.room = this._room;
10
+ }
11
+ }
12
+ stopAlarm() {
13
+ for (const d of this.WaterDetectors) {
14
+ d.stopAlarm(true);
15
+ }
16
+ }
17
+ }
18
+ exports.WaterGroup = WaterGroup;
@@ -0,0 +1,22 @@
1
+ import { ZigbeeAquaraVibra } from '../zigbee/zigbeeAquaraVibra';
2
+ import { FensterPosition } from './FensterPosition';
3
+ import { HmIpGriff } from './hmIpGriff';
4
+ import { HmIpRoll } from './hmIpRoll';
5
+ import { RoomBase } from '../../../models/rooms/RoomBase';
6
+ export declare class Fenster {
7
+ room: RoomBase;
8
+ griffe: HmIpGriff[];
9
+ vibration: ZigbeeAquaraVibra[];
10
+ rollo: HmIpRoll | undefined;
11
+ noRolloOnSunrise: boolean;
12
+ desiredPosition: number;
13
+ /**
14
+ * sets the desired Pos and moves rollo to this level
15
+ * @param {number} value
16
+ */
17
+ setDesiredPosition(value: number): void;
18
+ constructor(room: RoomBase, griffe: HmIpGriff[], vibration: ZigbeeAquaraVibra[], rollo?: HmIpRoll | undefined, noRolloOnSunrise?: boolean);
19
+ griffeInPosition(pPosition: FensterPosition): number;
20
+ rolloPositionChange(pValue: number): void;
21
+ restoreDesiredPosition(): void;
22
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Fenster = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const FensterPosition_1 = require("./FensterPosition");
6
+ const log_service_1 = require("../../services/log-service");
7
+ const time_callback_service_1 = require("../../services/time-callback-service");
8
+ const utils_1 = require("../../services/utils/utils");
9
+ class Fenster {
10
+ constructor(room, griffe, vibration, rollo = undefined, noRolloOnSunrise = false) {
11
+ this.room = room;
12
+ this.griffe = griffe;
13
+ this.vibration = vibration;
14
+ this.rollo = rollo;
15
+ this.noRolloOnSunrise = noRolloOnSunrise;
16
+ this.desiredPosition = 0;
17
+ for (const griff of griffe) {
18
+ griff.addKippCallback((kipp) => {
19
+ var _a, _b;
20
+ if (kipp && this.griffeInPosition(FensterPosition_1.FensterPosition.offen) === 0) {
21
+ this.vibration.forEach((element) => {
22
+ element.vibrationBlocked = true;
23
+ });
24
+ const timeOfDay = time_callback_service_1.TimeCallbackService.dayType(this.room.Einstellungen.rolloOffset);
25
+ if (time_callback_service_1.TimeCallbackService.darkOutsideOrNight(timeOfDay)) {
26
+ (_a = this.rollo) === null || _a === void 0 ? void 0 : _a.setLevel(50);
27
+ }
28
+ else {
29
+ (_b = this.rollo) === null || _b === void 0 ? void 0 : _b.up();
30
+ }
31
+ }
32
+ });
33
+ griff.addOffenCallback((offen) => {
34
+ var _a;
35
+ if (offen) {
36
+ this.vibration.forEach((element) => {
37
+ element.vibrationBlocked = true;
38
+ });
39
+ (_a = this.rollo) === null || _a === void 0 ? void 0 : _a.up();
40
+ return;
41
+ }
42
+ });
43
+ griff.addClosedCallback((geschlossen) => {
44
+ if (geschlossen &&
45
+ this.griffeInPosition(FensterPosition_1.FensterPosition.offen) === 0 &&
46
+ this.griffeInPosition(FensterPosition_1.FensterPosition.kipp) === 0) {
47
+ const now = new Date().getTime();
48
+ this.vibration.forEach((element) => {
49
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Starte Timeout für Vibrationsdeaktivierung für ${element.info.customName}`);
50
+ utils_1.Utils.guardedTimeout(() => {
51
+ if (element.vibrationBlockedTimeStamp < now) {
52
+ element.vibrationBlocked = false;
53
+ }
54
+ }, 12000);
55
+ });
56
+ this.restoreDesiredPosition();
57
+ }
58
+ });
59
+ }
60
+ utils_1.Utils.guardedTimeout(() => {
61
+ if (this.rollo)
62
+ this.rollo.Fenster = this;
63
+ for (const g of this.griffe) {
64
+ g.Fenster = this;
65
+ }
66
+ }, 5, this);
67
+ }
68
+ /**
69
+ * sets the desired Pos and moves rollo to this level
70
+ * @param {number} value
71
+ */
72
+ setDesiredPosition(value) {
73
+ this.desiredPosition = value;
74
+ this.restoreDesiredPosition();
75
+ }
76
+ griffeInPosition(pPosition) {
77
+ let count = 0;
78
+ for (const griff of this.griffe) {
79
+ if (griff.position === pPosition) {
80
+ count++;
81
+ }
82
+ }
83
+ return count;
84
+ }
85
+ rolloPositionChange(pValue) {
86
+ if (!this.room) {
87
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Fenster Rollo Update, but this one is not connected to any room!`);
88
+ return;
89
+ }
90
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Rollo Position Change in ${this.room.roomName} to ${pValue}`);
91
+ if (pValue === 0 || pValue === 100) {
92
+ this.room.setLightTimeBased(true);
93
+ }
94
+ }
95
+ restoreDesiredPosition() {
96
+ var _a;
97
+ (_a = this.rollo) === null || _a === void 0 ? void 0 : _a.setLevel(this.desiredPosition);
98
+ }
99
+ }
100
+ exports.Fenster = Fenster;
@@ -0,0 +1,5 @@
1
+ export declare enum FensterPosition {
2
+ geschlossen = 0,
3
+ kipp = 1,
4
+ offen = 2
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FensterPosition = void 0;
4
+ var FensterPosition;
5
+ (function (FensterPosition) {
6
+ FensterPosition[FensterPosition["geschlossen"] = 0] = "geschlossen";
7
+ FensterPosition[FensterPosition["kipp"] = 1] = "kipp";
8
+ FensterPosition[FensterPosition["offen"] = 2] = "offen";
9
+ })(FensterPosition = exports.FensterPosition || (exports.FensterPosition = {}));
@@ -0,0 +1,4 @@
1
+ export declare enum TuerPosition {
2
+ geschlossen = 0,
3
+ offen = 1
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TuerPosition = void 0;
4
+ var TuerPosition;
5
+ (function (TuerPosition) {
6
+ TuerPosition[TuerPosition["geschlossen"] = 0] = "geschlossen";
7
+ TuerPosition[TuerPosition["offen"] = 1] = "offen";
8
+ })(TuerPosition = exports.TuerPosition || (exports.TuerPosition = {}));
@@ -0,0 +1,25 @@
1
+ /// <reference types="iobroker" />
2
+ import { HmIPDevice } from './hmIpDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ import { iIlluminationSensor } from '../iIlluminationSensor';
5
+ export declare class HmIpBewegung extends HmIPDevice implements iIlluminationSensor {
6
+ excludeFromNightAlarm: boolean;
7
+ movementDetected: boolean;
8
+ private _detectionsToday;
9
+ private _movementDetectedCallback;
10
+ private static MOVEMENT_DETECTION;
11
+ private static CURRENT_ILLUMINATION;
12
+ private initialized;
13
+ private fallBackTimeout;
14
+ private _currentIllumination;
15
+ get currentIllumination(): number;
16
+ private set currentIllumination(value);
17
+ get detectionsToday(): number;
18
+ set detectionsToday(pVal: number);
19
+ constructor(pInfo: DeviceInfo);
20
+ addMovementCallback(pCallback: (pValue: boolean) => void): void;
21
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
22
+ updateMovement(pVal: boolean): void;
23
+ private resetFallbackTimeout;
24
+ private startFallbackTimeout;
25
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpBewegung = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const hmIpDevice_1 = require("./hmIpDevice");
6
+ const hmIpDeviceType_1 = require("./hmIpDeviceType");
7
+ const log_service_1 = require("../../services/log-service");
8
+ const persist_1 = require("../../services/dbo/persist");
9
+ const utils_1 = require("../../services/utils/utils");
10
+ const CurrentIlluminationDataPoint_1 = require("../../../models/persistence/CurrentIlluminationDataPoint");
11
+ class HmIpBewegung extends hmIpDevice_1.HmIPDevice {
12
+ constructor(pInfo) {
13
+ super(pInfo, hmIpDeviceType_1.HmIpDeviceType.HmIpBewegung);
14
+ this.excludeFromNightAlarm = false;
15
+ this.movementDetected = false;
16
+ this._detectionsToday = 0;
17
+ this._movementDetectedCallback = [];
18
+ this.initialized = false;
19
+ this._currentIllumination = -1;
20
+ persist_1.Persist.getCount(this).then((todayCount) => {
21
+ this.detectionsToday = todayCount.counter;
22
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Bewegungscounter "${this.info.customName}" vorinitialisiert mit ${this.detectionsToday}`);
23
+ this.initialized = true;
24
+ });
25
+ }
26
+ get currentIllumination() {
27
+ return this._currentIllumination;
28
+ }
29
+ set currentIllumination(value) {
30
+ var _a, _b;
31
+ this._currentIllumination = value;
32
+ persist_1.Persist.persistCurrentIllumination(new CurrentIlluminationDataPoint_1.CurrentIlluminationDataPoint(this.info.room, this.info.devID, value, new Date(), (_b = (_a = this.room) === null || _a === void 0 ? void 0 : _a.LampenGroup.anyLightsOwn()) !== null && _b !== void 0 ? _b : false));
33
+ }
34
+ get detectionsToday() {
35
+ return this._detectionsToday;
36
+ }
37
+ set detectionsToday(pVal) {
38
+ const oldVal = this._detectionsToday;
39
+ this._detectionsToday = pVal;
40
+ persist_1.Persist.persistTodayCount(this, pVal, oldVal);
41
+ }
42
+ addMovementCallback(pCallback) {
43
+ this._movementDetectedCallback.push(pCallback);
44
+ }
45
+ update(idSplit, state, initial = false) {
46
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Bewegungs Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
47
+ super.update(idSplit, state, initial, true);
48
+ if (idSplit[3] !== '3') {
49
+ // Nur die Infos in Kanal 3 sind relevant
50
+ return;
51
+ }
52
+ switch (idSplit[4]) {
53
+ case HmIpBewegung.MOVEMENT_DETECTION:
54
+ this.updateMovement(state.val);
55
+ break;
56
+ case HmIpBewegung.CURRENT_ILLUMINATION:
57
+ this.currentIllumination = state.val;
58
+ break;
59
+ }
60
+ }
61
+ updateMovement(pVal) {
62
+ if (!this.initialized && pVal) {
63
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Bewegung für "${this.info.customName}" erkannt aber die Initialisierung aus der DB ist noch nicht erfolgt --> verzögern`);
64
+ utils_1.Utils.guardedTimeout(() => {
65
+ this.updateMovement(pVal);
66
+ }, 1000, this);
67
+ return;
68
+ }
69
+ if (pVal === this.movementDetected) {
70
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Überspringe Bewegung für "${this.info.customName}" da bereits der Wert ${pVal} vorliegt`);
71
+ if (pVal) {
72
+ this.resetFallbackTimeout();
73
+ this.startFallbackTimeout();
74
+ }
75
+ return;
76
+ }
77
+ this.resetFallbackTimeout();
78
+ this.movementDetected = pVal;
79
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Neuer Bewegunsstatus Wert für "${this.info.customName}": ${pVal}`);
80
+ if (pVal) {
81
+ this.startFallbackTimeout();
82
+ this.detectionsToday++;
83
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Dies ist die ${this.detectionsToday} Bewegung für "${this.info.customName}"`);
84
+ }
85
+ for (const c of this._movementDetectedCallback) {
86
+ c(pVal);
87
+ }
88
+ }
89
+ resetFallbackTimeout() {
90
+ if (this.fallBackTimeout) {
91
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Fallback Timeout für "${this.info.customName}" zurücksetzen`);
92
+ clearTimeout(this.fallBackTimeout);
93
+ }
94
+ }
95
+ startFallbackTimeout() {
96
+ this.fallBackTimeout = utils_1.Utils.guardedTimeout(() => {
97
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Benötige Fallback Bewegungs Reset für "${this.info.customName}"`);
98
+ this.fallBackTimeout = undefined;
99
+ this.updateMovement(false);
100
+ }, 270000, this);
101
+ }
102
+ }
103
+ exports.HmIpBewegung = HmIpBewegung;
104
+ HmIpBewegung.MOVEMENT_DETECTION = 'MOTION';
105
+ // private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
106
+ HmIpBewegung.CURRENT_ILLUMINATION = 'ILLUMINATION';
@@ -0,0 +1,19 @@
1
+ /// <reference types="iobroker" />
2
+ import { DeviceInfo } from '../DeviceInfo';
3
+ import { HmIpDeviceType } from './hmIpDeviceType';
4
+ import { HmIpRoomSettings } from '../../../models/rooms/RoomSettings/hmIPRoomSettings';
5
+ import { ioBrokerBaseDevice } from '../iIoBrokerDevice';
6
+ import { RoomBase } from '../../../models/rooms/RoomBase';
7
+ export declare class HmIPDevice extends ioBrokerBaseDevice {
8
+ static roomSettings: {
9
+ [id: string]: HmIpRoomSettings;
10
+ };
11
+ lowBattery: boolean;
12
+ deviceType: HmIpDeviceType;
13
+ room: RoomBase | undefined;
14
+ static addRoom(shortName: string, settings: HmIpRoomSettings): void;
15
+ static checkMissing(): void;
16
+ constructor(pInfo: DeviceInfo, pType: HmIpDeviceType);
17
+ protected addToCorrectRoom(): void;
18
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
19
+ }