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,7 @@
1
+ import { Taste } from './taste';
2
+ export interface iTaster {
3
+ tasten: {
4
+ [id: string]: Taste;
5
+ };
6
+ getTastenAssignment(): string;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ export * from './iLamp';
2
+ export * from './taste';
3
+ export * from './Griffe';
4
+ export * from './Rollos';
5
+ export * from './devices';
6
+ export * from './iTaster';
7
+ export * from './DeviceInfo';
8
+ export * from './wledDevice';
9
+ export * from './Heizgruppen';
10
+ export * from './deviceUpdater';
11
+ export * from './iDeviceUpdater';
12
+ export * from './iIoBrokerDevice';
13
+ export * from './iIlluminationSensor';
14
+ export * from './groups/index';
15
+ export * from './hmIPDevices/index';
16
+ export * from './zigbee/index';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./iLamp"), exports);
14
+ __exportStar(require("./taste"), exports);
15
+ __exportStar(require("./Griffe"), exports);
16
+ __exportStar(require("./Rollos"), exports);
17
+ __exportStar(require("./devices"), exports);
18
+ __exportStar(require("./iTaster"), exports);
19
+ __exportStar(require("./DeviceInfo"), exports);
20
+ __exportStar(require("./wledDevice"), exports);
21
+ __exportStar(require("./Heizgruppen"), exports);
22
+ __exportStar(require("./deviceUpdater"), exports);
23
+ __exportStar(require("./iDeviceUpdater"), exports);
24
+ __exportStar(require("./iIoBrokerDevice"), exports);
25
+ __exportStar(require("./iIlluminationSensor"), exports);
26
+ __exportStar(require("./groups/index"), exports);
27
+ __exportStar(require("./hmIPDevices/index"), exports);
28
+ __exportStar(require("./zigbee/index"), exports);
@@ -0,0 +1,15 @@
1
+ export declare class Taste {
2
+ updateIndex: number;
3
+ shortPressed: boolean;
4
+ longPressed: boolean;
5
+ private _shortCallback;
6
+ private _longCallback;
7
+ private _shortResetTimeout;
8
+ private _longResetTimeout;
9
+ constructor(updateIndex: number);
10
+ addShortCallback(pCallback: (pValue: boolean) => void, description?: string): void;
11
+ addLongCallback(pCallback: (pValue: boolean) => void, description?: string): void;
12
+ getDescription(): string;
13
+ updateShort(pValue: boolean): void;
14
+ updateLong(pValue: boolean): void;
15
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Taste = void 0;
4
+ const utils_1 = require("../services/utils/utils");
5
+ class Taste {
6
+ constructor(updateIndex) {
7
+ this.updateIndex = updateIndex;
8
+ this.shortPressed = false;
9
+ this.longPressed = false;
10
+ this._shortCallback = [];
11
+ this._longCallback = [];
12
+ this._shortResetTimeout = null;
13
+ this._longResetTimeout = null;
14
+ }
15
+ addShortCallback(pCallback, description = 'Not described') {
16
+ this._shortCallback.push({ cb: pCallback, description: description });
17
+ }
18
+ addLongCallback(pCallback, description = 'Not described') {
19
+ this._longCallback.push({ cb: pCallback, description: description });
20
+ }
21
+ getDescription() {
22
+ const description = [];
23
+ for (const c of this._shortCallback) {
24
+ description.push(`Short Press: "${c.description}"`);
25
+ }
26
+ for (const c of this._longCallback) {
27
+ description.push(`Long Press: "${c.description}"`);
28
+ }
29
+ return description.join('\n');
30
+ }
31
+ updateShort(pValue) {
32
+ if (pValue === this.shortPressed) {
33
+ return;
34
+ }
35
+ this.shortPressed = pValue;
36
+ for (const c of this._shortCallback) {
37
+ c.cb(pValue);
38
+ }
39
+ if (!pValue) {
40
+ return;
41
+ }
42
+ this._shortResetTimeout !== null && clearTimeout(this._shortResetTimeout);
43
+ this._shortResetTimeout = utils_1.Utils.guardedTimeout(() => {
44
+ this.updateShort(false);
45
+ }, 1000, this);
46
+ }
47
+ updateLong(pValue) {
48
+ if (pValue === this.longPressed) {
49
+ return;
50
+ }
51
+ this.longPressed = pValue;
52
+ for (const c of this._longCallback) {
53
+ c.cb(pValue);
54
+ }
55
+ if (!pValue) {
56
+ return;
57
+ }
58
+ this._longResetTimeout !== null && clearTimeout(this._longResetTimeout);
59
+ this._longResetTimeout = utils_1.Utils.guardedTimeout(() => {
60
+ this.updateLong(false);
61
+ }, 5000, this);
62
+ }
63
+ }
64
+ exports.Taste = Taste;
@@ -0,0 +1,38 @@
1
+ /// <reference types="iobroker" />
2
+ import { IOBrokerConnection } from '../ioBroker/connection';
3
+ import { DeviceInfo } from './DeviceInfo';
4
+ export declare class WledDevice {
5
+ on: boolean;
6
+ brightness: number;
7
+ linkQuality: number;
8
+ battery: number;
9
+ voltage: string;
10
+ private _info;
11
+ private _ioConnection?;
12
+ private _onID;
13
+ private _brightnessID;
14
+ constructor(pInfo: DeviceInfo);
15
+ /**
16
+ * Getter info
17
+ * @return {DeviceInfo}
18
+ */
19
+ get info(): DeviceInfo;
20
+ /**
21
+ * Setter info
22
+ * @param {DeviceInfo} value
23
+ */
24
+ set info(value: DeviceInfo);
25
+ /**
26
+ * Getter ioConn
27
+ * @return {IOBrokerConnection}
28
+ */
29
+ get ioConn(): IOBrokerConnection | undefined;
30
+ /**
31
+ * Setter ioConn
32
+ * @param {IOBrokerConnection} value
33
+ */
34
+ set ioConn(value: IOBrokerConnection | undefined);
35
+ private addToCorrectRoom;
36
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean, pOverride?: boolean): void;
37
+ setLight(pValue: boolean, brightness?: number): void;
38
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WledDevice = void 0;
4
+ const logLevel_1 = require("../../models/logLevel");
5
+ const log_service_1 = require("../services/log-service");
6
+ class WledDevice {
7
+ constructor(pInfo) {
8
+ this.on = false;
9
+ this.brightness = -1;
10
+ this.linkQuality = 0;
11
+ this.battery = -1;
12
+ this.voltage = '';
13
+ this._info = pInfo;
14
+ this.addToCorrectRoom();
15
+ this._onID = `${this.info.fullID}.on`;
16
+ this._brightnessID = `${this.info.fullID}.bri`;
17
+ }
18
+ /**
19
+ * Getter info
20
+ * @return {DeviceInfo}
21
+ */
22
+ get info() {
23
+ return this._info;
24
+ }
25
+ /**
26
+ * Setter info
27
+ * @param {DeviceInfo} value
28
+ */
29
+ set info(value) {
30
+ this._info = value;
31
+ }
32
+ /**
33
+ * Getter ioConn
34
+ * @return {IOBrokerConnection}
35
+ */
36
+ get ioConn() {
37
+ return this._ioConnection;
38
+ }
39
+ /**
40
+ * Setter ioConn
41
+ * @param {IOBrokerConnection} value
42
+ */
43
+ set ioConn(value) {
44
+ this._ioConnection = value;
45
+ }
46
+ addToCorrectRoom() {
47
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Neues Zigbee Gerät für ${this._info.room}`);
48
+ switch (this._info.room) {
49
+ case 'Wohnz':
50
+ // room1OGWohn.addWLED(this._info);
51
+ break;
52
+ default:
53
+ console.warn(`${this._info.room} ist noch kein bekannter Raum für WLED Geräte`);
54
+ }
55
+ }
56
+ update(idSplit, state, initial = false, pOverride = false) {
57
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Wled: ${initial ? 'Initiales ' : ''}Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
58
+ if (!pOverride) {
59
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `Keine Update Überschreibung für "${this.info.customName}":\n\tID: ${idSplit.join('.')}\n\tData: ${JSON.stringify(state)}`);
60
+ }
61
+ switch (idSplit[3]) {
62
+ case 'on':
63
+ this.on = state.val;
64
+ break;
65
+ case 'bri':
66
+ this.brightness = state.val;
67
+ break;
68
+ }
69
+ }
70
+ setLight(pValue, brightness = -1) {
71
+ if (this._onID === '') {
72
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine On ID für "${this.info.customName}" bekannt.`);
73
+ return;
74
+ }
75
+ if (!this.ioConn) {
76
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
77
+ return;
78
+ }
79
+ if (pValue && brightness === -1 && this.brightness < 10) {
80
+ brightness = 10;
81
+ }
82
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `WLED Schalten: "${this.info.customName}" An: ${pValue}\tHelligkeit: ${brightness}%`);
83
+ this.ioConn.setState(this._onID, pValue, (err) => {
84
+ if (err) {
85
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `WLED schalten ergab Fehler: ${err}`);
86
+ }
87
+ });
88
+ if (brightness > -1) {
89
+ this.ioConn.setState(this._brightnessID, brightness, (err) => {
90
+ if (err) {
91
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Dimmer Helligkeit schalten ergab Fehler: ${err}`);
92
+ }
93
+ });
94
+ }
95
+ }
96
+ }
97
+ exports.WledDevice = WledDevice;
@@ -0,0 +1,17 @@
1
+ /// <reference types="iobroker" />
2
+ import { ZigbeeDevice } from './zigbeeDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ import { ZigbeeDeviceType } from './zigbeeDeviceType';
5
+ import { ActuatorSettings as ActuatorSettings } from '../../../models/actuatorSettings';
6
+ export declare class ZigbeeActuator extends ZigbeeDevice {
7
+ settings: ActuatorSettings;
8
+ protected readonly actuatorOnSwitchID: string;
9
+ protected queuedValue: boolean | null;
10
+ protected actuatorOn: boolean;
11
+ private turnOffTimeout;
12
+ private turnOffTime;
13
+ constructor(pInfo: DeviceInfo, type: ZigbeeDeviceType, actuatorOnSwitchID: string);
14
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean, handledByChildObject?: boolean): void;
15
+ setActuator(pValue: boolean, timeout?: number, force?: boolean): void;
16
+ toggleActuator(force?: boolean): boolean;
17
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZigbeeActuator = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const zigbeeDevice_1 = require("./zigbeeDevice");
6
+ const log_service_1 = require("../../services/log-service");
7
+ const utils_1 = require("../../services/utils/utils");
8
+ const actuatorSettings_1 = require("../../../models/actuatorSettings");
9
+ class ZigbeeActuator extends zigbeeDevice_1.ZigbeeDevice {
10
+ constructor(pInfo, type, actuatorOnSwitchID) {
11
+ super(pInfo, type);
12
+ this.settings = new actuatorSettings_1.ActuatorSettings();
13
+ this.queuedValue = null;
14
+ this.actuatorOn = false;
15
+ this.turnOffTimeout = undefined;
16
+ this.turnOffTime = 0;
17
+ this.actuatorOnSwitchID = actuatorOnSwitchID;
18
+ }
19
+ update(idSplit, state, initial = false, handledByChildObject = false) {
20
+ if (!handledByChildObject) {
21
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Aktuator Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
22
+ }
23
+ this.queuedValue = null;
24
+ super.update(idSplit, state, initial, true);
25
+ switch (idSplit[3]) {
26
+ case 'state':
27
+ !handledByChildObject &&
28
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Aktor Update für ${this.info.customName} auf ${state.val}`);
29
+ this.actuatorOn = state.val;
30
+ break;
31
+ }
32
+ }
33
+ setActuator(pValue, timeout = -1, force = false) {
34
+ if (this.actuatorOnSwitchID === '') {
35
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Switch ID für "${this.info.customName}" bekannt.`);
36
+ return;
37
+ }
38
+ if (!force && utils_1.Utils.nowMS() < this.turnOffTime) {
39
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Skip automatic command for "${this.info.customName}" to ${pValue} as it is locked until ${new Date(this.turnOffTime).toLocaleTimeString()}`);
40
+ return;
41
+ }
42
+ if (!this.ioConn) {
43
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
44
+ return;
45
+ }
46
+ if (!force && pValue === this.actuatorOn && this.queuedValue === null) {
47
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Skip actuator command for "${this.info.customName}" as it is already ${pValue}`);
48
+ return;
49
+ }
50
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Stecker schalten: "${this.info.customName}" Wert: ${pValue}`);
51
+ this.ioConn.setState(this.actuatorOnSwitchID, pValue, (err) => {
52
+ if (err) {
53
+ console.log(`Stecker schalten ergab Fehler: ${err}`);
54
+ }
55
+ });
56
+ this.queuedValue = pValue;
57
+ if (this.turnOffTimeout !== undefined) {
58
+ clearTimeout(this.turnOffTimeout);
59
+ this.turnOffTimeout = undefined;
60
+ }
61
+ if (timeout < 0 || !pValue) {
62
+ return;
63
+ }
64
+ this.turnOffTime = utils_1.Utils.nowMS() + timeout;
65
+ this.turnOffTimeout = utils_1.Utils.guardedTimeout(() => {
66
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Delayed Turnoff for "${this.info.customName}" initiated`);
67
+ this.turnOffTimeout = undefined;
68
+ if (!this.room) {
69
+ this.setActuator(false, -1, true);
70
+ }
71
+ else {
72
+ this.room.setLightTimeBased(true);
73
+ }
74
+ }, timeout, this);
75
+ }
76
+ toggleActuator(force = false) {
77
+ const newVal = this.queuedValue !== null ? !this.queuedValue : !this.actuatorOn;
78
+ const timeout = newVal && force ? 30 * 60 * 1000 : -1;
79
+ this.setActuator(newVal, timeout, force);
80
+ return newVal;
81
+ }
82
+ }
83
+ exports.ZigbeeActuator = ZigbeeActuator;
@@ -0,0 +1,13 @@
1
+ export * from './zigbeeDevice';
2
+ export * from './ZigbeeActuator';
3
+ export * from './zigbeeBlitzShp';
4
+ export * from './zigbeeIlluLampe';
5
+ export * from './zigbeeDeviceType';
6
+ export * from './zigbeeIlluDimmer';
7
+ export * from './zigbeeAquaraVibra';
8
+ export * from './zigbeeAquaraWater';
9
+ export * from './zigbeeHeimanSmoke';
10
+ export * from './zigbeeAquaraMotion';
11
+ export * from './zigbeeIlluActuator';
12
+ export * from './zigbeeIkeaSteckdose';
13
+ export * from './zigbeeIlluLedRGBCCT';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./zigbeeDevice"), exports);
14
+ __exportStar(require("./ZigbeeActuator"), exports);
15
+ __exportStar(require("./zigbeeBlitzShp"), exports);
16
+ __exportStar(require("./zigbeeIlluLampe"), exports);
17
+ __exportStar(require("./zigbeeDeviceType"), exports);
18
+ __exportStar(require("./zigbeeIlluDimmer"), exports);
19
+ __exportStar(require("./zigbeeAquaraVibra"), exports);
20
+ __exportStar(require("./zigbeeAquaraWater"), exports);
21
+ __exportStar(require("./zigbeeHeimanSmoke"), exports);
22
+ __exportStar(require("./zigbeeAquaraMotion"), exports);
23
+ __exportStar(require("./zigbeeIlluActuator"), exports);
24
+ __exportStar(require("./zigbeeIkeaSteckdose"), exports);
25
+ __exportStar(require("./zigbeeIlluLedRGBCCT"), exports);
@@ -0,0 +1,31 @@
1
+ /// <reference types="iobroker" />
2
+ import { DeviceInfo } from '../DeviceInfo';
3
+ import { ZigbeeDevice } from './zigbeeDevice';
4
+ import { iIlluminationSensor } from '../iIlluminationSensor';
5
+ import { RoomBase } from '../../../models/rooms/RoomBase';
6
+ export declare class ZigbeeAquaraMotion extends ZigbeeDevice implements iIlluminationSensor {
7
+ movementDetected: boolean;
8
+ excludeFromNightAlarm: boolean;
9
+ room: RoomBase | undefined;
10
+ private _timeSinceLastMotion;
11
+ private _illuminance;
12
+ private _motionTimeout;
13
+ private _detectionsToday;
14
+ private _initialized;
15
+ private _movementDetectedCallback;
16
+ private _fallBackTimeout;
17
+ private occupancyTimeoutID;
18
+ get currentIllumination(): number;
19
+ private set currentIllumination(value);
20
+ get timeSinceLastMotion(): number;
21
+ get motionTimeout(): number;
22
+ set motionTimeout(value: number);
23
+ get detectionsToday(): number;
24
+ set detectionsToday(pVal: number);
25
+ constructor(pInfo: DeviceInfo);
26
+ addMovementCallback(pCallback: (pValue: boolean) => void): void;
27
+ updateMovement(newState: boolean): void;
28
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
29
+ private resetFallbackTimeout;
30
+ private startFallbackTimeout;
31
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZigbeeAquaraMotion = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const log_service_1 = require("../../services/log-service");
6
+ const persist_1 = require("../../services/dbo/persist");
7
+ const utils_1 = require("../../services/utils/utils");
8
+ const zigbeeDevice_1 = require("./zigbeeDevice");
9
+ const zigbeeDeviceType_1 = require("./zigbeeDeviceType");
10
+ const CurrentIlluminationDataPoint_1 = require("../../../models/persistence/CurrentIlluminationDataPoint");
11
+ class ZigbeeAquaraMotion extends zigbeeDevice_1.ZigbeeDevice {
12
+ constructor(pInfo) {
13
+ super(pInfo, zigbeeDeviceType_1.ZigbeeDeviceType.ZigbeeAquaraMotion);
14
+ this.movementDetected = false;
15
+ this.excludeFromNightAlarm = false;
16
+ this.room = undefined;
17
+ this._timeSinceLastMotion = 0;
18
+ this._illuminance = 0;
19
+ this._motionTimeout = 0;
20
+ this._detectionsToday = 0;
21
+ this._initialized = false;
22
+ this._movementDetectedCallback = [];
23
+ this.occupancyTimeoutID = `occupancy_timeout`;
24
+ this.occupancyTimeoutID = `${this.info.fullID}.${this.occupancyTimeoutID}`;
25
+ persist_1.Persist.getCount(this).then((todayCount) => {
26
+ this.detectionsToday = todayCount.counter;
27
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Bewegungscounter "${this.info.customName}" vorinitialisiert mit ${this.detectionsToday}`);
28
+ this._initialized = true;
29
+ });
30
+ }
31
+ // Currently measured brightness in lux
32
+ get currentIllumination() {
33
+ return this._illuminance;
34
+ }
35
+ set currentIllumination(value) {
36
+ var _a, _b;
37
+ this._illuminance = value;
38
+ 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));
39
+ }
40
+ // Time since last motion in seconds
41
+ get timeSinceLastMotion() {
42
+ return this._timeSinceLastMotion;
43
+ }
44
+ // Time after the last trigger until a motion event gets triggered again
45
+ get motionTimeout() {
46
+ return this._motionTimeout;
47
+ }
48
+ set motionTimeout(value) {
49
+ if (!this.ioConn) {
50
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `No connection active for "${this.info.customName}".`);
51
+ return;
52
+ }
53
+ this.ioConn.setState(this.occupancyTimeoutID, value, (err) => {
54
+ if (err) {
55
+ console.log(`Error occured while setting motion timeout: ${err}`);
56
+ return;
57
+ }
58
+ this._motionTimeout = value;
59
+ });
60
+ }
61
+ get detectionsToday() {
62
+ return this._detectionsToday;
63
+ }
64
+ set detectionsToday(pVal) {
65
+ const oldVal = this._detectionsToday;
66
+ this._detectionsToday = pVal;
67
+ persist_1.Persist.persistTodayCount(this, pVal, oldVal);
68
+ }
69
+ addMovementCallback(pCallback) {
70
+ this._movementDetectedCallback.push(pCallback);
71
+ }
72
+ updateMovement(newState) {
73
+ if (!this._initialized && newState) {
74
+ 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`);
75
+ utils_1.Utils.guardedTimeout(() => {
76
+ this.updateMovement(newState);
77
+ }, 1000, this);
78
+ return;
79
+ }
80
+ if (newState === this.movementDetected) {
81
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Überspringe Bewegung für "${this.info.customName}" da bereits der Wert ${newState} vorliegt`);
82
+ if (newState) {
83
+ // Wenn ein Sensor sich nicht von alleine zurücksetzt, hier erzwingen.
84
+ this.resetFallbackTimeout();
85
+ this.startFallbackTimeout();
86
+ }
87
+ return;
88
+ }
89
+ this.resetFallbackTimeout();
90
+ this.movementDetected = newState;
91
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Neuer Bewegunsstatus Wert für "${this.info.customName}": ${newState}`);
92
+ if (newState) {
93
+ this.startFallbackTimeout();
94
+ this.detectionsToday++;
95
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Dies ist die ${this.detectionsToday} Bewegung für "${this.info.customName}"`);
96
+ }
97
+ for (const c of this._movementDetectedCallback) {
98
+ c(newState);
99
+ }
100
+ }
101
+ update(idSplit, state, initial = false) {
102
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Stecker Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
103
+ super.update(idSplit, state, initial, true);
104
+ switch (idSplit[3]) {
105
+ case 'occupancy':
106
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Motion sensor: Update for motion state of ${this.info.customName}: ${state.val}`);
107
+ this.updateMovement(state.val);
108
+ break;
109
+ case 'no_motion':
110
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Motion sensor: Update for time since last motion of ${this.info.customName}: ${state.val}`);
111
+ this._timeSinceLastMotion = state.val;
112
+ break;
113
+ case 'illumincance':
114
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Motion sensor: Update for illuminance of ${this.info.customName}: ${state.val}`);
115
+ this.currentIllumination = state.val;
116
+ break;
117
+ case 'occupancy_timeout':
118
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Motion sensor: Update for motion timeout of ${this.info.customName}: ${state.val}`);
119
+ this._illuminance = state.val;
120
+ break;
121
+ }
122
+ }
123
+ resetFallbackTimeout() {
124
+ if (this._fallBackTimeout) {
125
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Fallback Timeout für "${this.info.customName}" zurücksetzen`);
126
+ clearTimeout(this._fallBackTimeout);
127
+ }
128
+ }
129
+ startFallbackTimeout() {
130
+ this._fallBackTimeout = utils_1.Utils.guardedTimeout(() => {
131
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Benötige Fallback Bewegungs Reset für "${this.info.customName}"`);
132
+ this._fallBackTimeout = undefined;
133
+ this.updateMovement(false);
134
+ }, 270000, this);
135
+ }
136
+ }
137
+ exports.ZigbeeAquaraMotion = ZigbeeAquaraMotion;
@@ -0,0 +1,23 @@
1
+ /// <reference types="iobroker" />
2
+ import { DeviceInfo } from '../DeviceInfo';
3
+ import { ZigbeeDevice } from './zigbeeDevice';
4
+ export declare class ZigbeeAquaraVibra extends ZigbeeDevice {
5
+ sensitivity: string;
6
+ tiltAngle: number;
7
+ tiltAngleX: number;
8
+ tiltAngleXAbs: number;
9
+ tiltAngleY: number;
10
+ tiltAngleYAbs: number;
11
+ tiltAngleZ: number;
12
+ tilt: boolean;
13
+ vibration: boolean;
14
+ vibrationBlockedTimeStamp: number;
15
+ private _idSensitivity;
16
+ private _vibrationBlocked;
17
+ private _alarmMessage;
18
+ constructor(pInfo: DeviceInfo);
19
+ set vibrationBlocked(pVal: boolean);
20
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
21
+ setSensitivity(pVal: number): void;
22
+ private alarmCheck;
23
+ }