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,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIPDevice = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const log_service_1 = require("../../services/log-service");
6
+ const iIoBrokerDevice_1 = require("../iIoBrokerDevice");
7
+ class HmIPDevice extends iIoBrokerDevice_1.ioBrokerBaseDevice {
8
+ constructor(pInfo, pType) {
9
+ super(pInfo);
10
+ this.lowBattery = false;
11
+ this.room = undefined;
12
+ this.deviceType = pType;
13
+ this.addToCorrectRoom();
14
+ }
15
+ static addRoom(shortName, settings) {
16
+ if (this.roomSettings[shortName] !== undefined) {
17
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Es gibt bereits ein Registrat für HmIpRoomsettings für den Raumnamen "${shortName}"`);
18
+ return;
19
+ }
20
+ this.roomSettings[shortName] = settings;
21
+ }
22
+ static checkMissing() {
23
+ for (const rName in this.roomSettings) {
24
+ this.roomSettings[rName].checkMissing();
25
+ }
26
+ }
27
+ addToCorrectRoom() {
28
+ const settings = HmIPDevice.roomSettings[this.info.room];
29
+ if (settings !== undefined) {
30
+ if (settings.devices[this.deviceType] === undefined) {
31
+ log_service_1.ServerLogService.missingRoomHandling(settings.RoomName, this.deviceType);
32
+ return;
33
+ }
34
+ const deviceSettings = settings.devices[this.deviceType][this.info.deviceRoomIndex];
35
+ if (deviceSettings === undefined) {
36
+ log_service_1.ServerLogService.missingRoomIndexHandling(settings.RoomName, this.info.deviceRoomIndex, this.deviceType);
37
+ return;
38
+ }
39
+ if (deviceSettings.customName !== undefined) {
40
+ this.info.customName = deviceSettings.customName;
41
+ }
42
+ deviceSettings.setID(this.info.devID);
43
+ deviceSettings.added = true;
44
+ log_service_1.ServerLogService.addedDeviceToRoom(settings.RoomName, this.deviceType, this.info.deviceRoomIndex);
45
+ return;
46
+ }
47
+ switch (this.info.room) {
48
+ default:
49
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `${this.info.room} is noch kein bekannter Raum`);
50
+ }
51
+ }
52
+ update(idSplit, state, initial = false, pOverride = false) {
53
+ if (!pOverride) {
54
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Keine Update Überschreibung für "${this.info.customName}":\n\tID: ${idSplit.join('.')}\n\tData: ${JSON.stringify(state)}`);
55
+ }
56
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Base-Device Update for ${this.info.customName}("${idSplit.join('.')}", ${state}, ${initial}, ${pOverride})`);
57
+ if (idSplit[3] !== '0') {
58
+ // Dies ist etwas Gerätespezifisches
59
+ return;
60
+ }
61
+ switch (idSplit[4]) {
62
+ case 'LOW_BAT':
63
+ const newBatLowVal = state.val;
64
+ if (newBatLowVal) {
65
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `!!BATTERIE FAST LEER!! "${this.info.customName}"`);
66
+ }
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ exports.HmIPDevice = HmIPDevice;
72
+ HmIPDevice.roomSettings = {};
@@ -0,0 +1,14 @@
1
+ export declare enum HmIpDeviceType {
2
+ unknown = 0,
3
+ HmIpLampe = 1,
4
+ HmIpTaster = 2,
5
+ HmIpRoll = 3,
6
+ HmIpTherm = 4,
7
+ HmIpPraezenz = 5,
8
+ HmIpGriff = 6,
9
+ HmIpWippe = 7,
10
+ HmIpHeizung = 8,
11
+ HmIpTuer = 9,
12
+ HmIpHeizgruppe = 10,
13
+ HmIpBewegung = 11
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpDeviceType = void 0;
4
+ var HmIpDeviceType;
5
+ (function (HmIpDeviceType) {
6
+ HmIpDeviceType[HmIpDeviceType["unknown"] = 0] = "unknown";
7
+ HmIpDeviceType[HmIpDeviceType["HmIpLampe"] = 1] = "HmIpLampe";
8
+ HmIpDeviceType[HmIpDeviceType["HmIpTaster"] = 2] = "HmIpTaster";
9
+ HmIpDeviceType[HmIpDeviceType["HmIpRoll"] = 3] = "HmIpRoll";
10
+ HmIpDeviceType[HmIpDeviceType["HmIpTherm"] = 4] = "HmIpTherm";
11
+ HmIpDeviceType[HmIpDeviceType["HmIpPraezenz"] = 5] = "HmIpPraezenz";
12
+ HmIpDeviceType[HmIpDeviceType["HmIpGriff"] = 6] = "HmIpGriff";
13
+ HmIpDeviceType[HmIpDeviceType["HmIpWippe"] = 7] = "HmIpWippe";
14
+ HmIpDeviceType[HmIpDeviceType["HmIpHeizung"] = 8] = "HmIpHeizung";
15
+ HmIpDeviceType[HmIpDeviceType["HmIpTuer"] = 9] = "HmIpTuer";
16
+ HmIpDeviceType[HmIpDeviceType["HmIpHeizgruppe"] = 10] = "HmIpHeizgruppe";
17
+ HmIpDeviceType[HmIpDeviceType["HmIpBewegung"] = 11] = "HmIpBewegung";
18
+ })(HmIpDeviceType = exports.HmIpDeviceType || (exports.HmIpDeviceType = {}));
@@ -0,0 +1,22 @@
1
+ /// <reference types="iobroker" />
2
+ import { FensterPosition } from './FensterPosition';
3
+ import { HmIPDevice } from './hmIpDevice';
4
+ import { DeviceInfo } from '../DeviceInfo';
5
+ import { Fenster } from './Fenster';
6
+ export declare class HmIpGriff extends HmIPDevice {
7
+ position: FensterPosition;
8
+ private _kippCallback;
9
+ private _closedCallback;
10
+ private _offenCallback;
11
+ private _iOpen;
12
+ private minutesOpen;
13
+ private _fenster;
14
+ private _helpingRoomTemp;
15
+ constructor(pInfo: DeviceInfo);
16
+ addOffenCallback(pCallback: (pValue: boolean) => void): void;
17
+ addKippCallback(pCallback: (pValue: boolean) => void): void;
18
+ addClosedCallback(pCallback: (pValue: boolean) => void): void;
19
+ set Fenster(value: Fenster);
20
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
21
+ updatePosition(pValue: FensterPosition): void;
22
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpGriff = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const FensterPosition_1 = require("./FensterPosition");
6
+ const hmIpDevice_1 = require("./hmIpDevice");
7
+ const hmIpDeviceType_1 = require("./hmIpDeviceType");
8
+ const log_service_1 = require("../../services/log-service");
9
+ const telegram_service_1 = require("../../services/Telegram/telegram-service");
10
+ const utils_1 = require("../../services/utils/utils");
11
+ const weather_service_1 = require("../../services/weather/weather-service");
12
+ class HmIpGriff extends hmIpDevice_1.HmIPDevice {
13
+ constructor(pInfo) {
14
+ super(pInfo, hmIpDeviceType_1.HmIpDeviceType.HmIpGriff);
15
+ this.position = FensterPosition_1.FensterPosition.geschlossen;
16
+ this._kippCallback = [];
17
+ this._closedCallback = [];
18
+ this._offenCallback = [];
19
+ this.minutesOpen = 0;
20
+ this._fenster = undefined;
21
+ this._helpingRoomTemp = false;
22
+ }
23
+ addOffenCallback(pCallback) {
24
+ this._offenCallback.push(pCallback);
25
+ }
26
+ addKippCallback(pCallback) {
27
+ this._kippCallback.push(pCallback);
28
+ }
29
+ addClosedCallback(pCallback) {
30
+ this._closedCallback.push(pCallback);
31
+ }
32
+ set Fenster(value) {
33
+ this._fenster = value;
34
+ }
35
+ update(idSplit, state, initial = false) {
36
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Griff Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
37
+ super.update(idSplit, state, initial, true);
38
+ switch (idSplit[3]) {
39
+ case '1':
40
+ if (idSplit[4] === 'STATE') {
41
+ this.updatePosition(state.val);
42
+ }
43
+ break;
44
+ }
45
+ }
46
+ updatePosition(pValue) {
47
+ if (pValue === this.position) {
48
+ return;
49
+ }
50
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Update Fenstergriff "${this.info.customName}"\nauf Position "${FensterPosition_1.FensterPosition[pValue]}"`);
51
+ this.position = pValue;
52
+ for (const c1 of this._closedCallback) {
53
+ c1(pValue === 0);
54
+ }
55
+ for (const c2 of this._kippCallback) {
56
+ c2(pValue === 1);
57
+ }
58
+ for (const c3 of this._offenCallback) {
59
+ c3(pValue === 2);
60
+ }
61
+ if (pValue === FensterPosition_1.FensterPosition.geschlossen) {
62
+ if (this._iOpen !== undefined) {
63
+ clearInterval(this._iOpen);
64
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Fenster: "${this.info.customName}" nach ${this.minutesOpen} Minuten geschlossen`);
65
+ this.minutesOpen = 0;
66
+ this._iOpen = undefined;
67
+ }
68
+ return;
69
+ }
70
+ else if (this._iOpen === undefined) {
71
+ this._iOpen = utils_1.Utils.guardedInterval(() => {
72
+ this.minutesOpen++;
73
+ if (this._fenster !== undefined && this._fenster.room !== undefined) {
74
+ const desiredTemp = this._fenster.room.HeatGroup.desiredTemp;
75
+ const currentTemp = this._fenster.room.HeatGroup.currentTemp;
76
+ const outSideTemp = weather_service_1.WeatherService.getCurrentTemp();
77
+ // Check if any of these values are unavailable
78
+ if (desiredTemp > -99 && currentTemp > -99 && outSideTemp > -99) {
79
+ const wouldHelp = (desiredTemp < currentTemp && outSideTemp < currentTemp) ||
80
+ (desiredTemp > currentTemp && outSideTemp > currentTemp);
81
+ if (!wouldHelp && this._helpingRoomTemp) {
82
+ const info = `Das Fenster "${this.info.customName}" sollte geschlossen werden, es hilft dem Raum nicht mehr`;
83
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, info);
84
+ telegram_service_1.TelegramService.inform(info);
85
+ this._helpingRoomTemp = false;
86
+ }
87
+ else if (wouldHelp && !this._helpingRoomTemp) {
88
+ this._helpingRoomTemp = true;
89
+ const info = `Das Fenster "${this.info.customName}" hilft der Innentemperatur ihr Ziel von ${desiredTemp} zu erreichen. Draußen sind es ${outSideTemp}. Du wirst informiert wenn es nicht mehr hilft.`;
90
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, info);
91
+ telegram_service_1.TelegramService.inform(info);
92
+ return;
93
+ }
94
+ else if (wouldHelp && this._helpingRoomTemp) {
95
+ return;
96
+ }
97
+ }
98
+ }
99
+ const message = `Fenster: "${this.info.customName}" seit ${this.minutesOpen} Minuten auf Position ${FensterPosition_1.FensterPosition[this.position]}`;
100
+ switch (this.minutesOpen) {
101
+ case 15:
102
+ case 30:
103
+ case 60:
104
+ case 120:
105
+ case 240:
106
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, message);
107
+ telegram_service_1.TelegramService.inform(message);
108
+ break;
109
+ default:
110
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, message);
111
+ break;
112
+ }
113
+ }, 60000, this);
114
+ }
115
+ }
116
+ }
117
+ exports.HmIpGriff = HmIpGriff;
@@ -0,0 +1,34 @@
1
+ /// <reference types="iobroker" />
2
+ import { HmIPDevice } from './hmIpDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ import { TemperaturSettings } from '../../../models/temperaturSettings';
5
+ import { HmIpHeizung } from './hmIpHeizung';
6
+ export declare class HmIpHeizgruppe extends HmIPDevice {
7
+ private _automaticMode;
8
+ private _iAutomaticInterval;
9
+ private _level;
10
+ private _temperatur;
11
+ private _humidity;
12
+ private _desiredTemperatur;
13
+ private _setPointTemperaturID;
14
+ private _automaticFallBackTemperatur;
15
+ private _automaticPoints;
16
+ private _humidityCallbacks;
17
+ constructor(pInfo: DeviceInfo);
18
+ get sLevel(): string;
19
+ get iLevel(): number;
20
+ get sTemperatur(): string;
21
+ get iTemperatur(): number;
22
+ get desiredTemperatur(): number;
23
+ get humidity(): number;
24
+ private set humidity(value);
25
+ set desiredTemperatur(val: number);
26
+ addHumidityCallback(pCallback: (pValue: number) => void): void;
27
+ deleteAutomaticPoint(name: string): void;
28
+ getBelongingHeizungen(): HmIpHeizung[];
29
+ setAutomaticPoint(name: string, setting: TemperaturSettings): void;
30
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
31
+ stopAutomaticCheck(): void;
32
+ private updateBaseInformation;
33
+ private checkAutomaticChange;
34
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpHeizgruppe = 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 devices_1 = require("../devices");
10
+ const utils_1 = require("../../services/utils/utils");
11
+ class HmIpHeizgruppe extends hmIpDevice_1.HmIPDevice {
12
+ constructor(pInfo) {
13
+ super(pInfo, hmIpDeviceType_1.HmIpDeviceType.HmIpHeizgruppe);
14
+ this._automaticMode = true;
15
+ this._level = 0;
16
+ this._temperatur = 0;
17
+ this._humidity = 0;
18
+ this._desiredTemperatur = 0;
19
+ this._setPointTemperaturID = '';
20
+ this._automaticFallBackTemperatur = 20;
21
+ this._automaticPoints = {};
22
+ this._humidityCallbacks = [];
23
+ this._setPointTemperaturID = `${this.info.fullID}.1.SET_POINT_TEMPERATURE`;
24
+ this._iAutomaticInterval = utils_1.Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
25
+ }
26
+ get sLevel() {
27
+ return `${this._level * 100}%`;
28
+ }
29
+ get iLevel() {
30
+ return this._level;
31
+ }
32
+ get sTemperatur() {
33
+ return `${this._temperatur}°C`;
34
+ }
35
+ get iTemperatur() {
36
+ return this._temperatur;
37
+ }
38
+ get desiredTemperatur() {
39
+ return this._desiredTemperatur;
40
+ }
41
+ get humidity() {
42
+ return this._humidity;
43
+ }
44
+ set humidity(val) {
45
+ this._humidity = val;
46
+ for (const cb of this._humidityCallbacks) {
47
+ cb(val);
48
+ }
49
+ }
50
+ set desiredTemperatur(val) {
51
+ if (!this.ioConn) {
52
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
53
+ return;
54
+ }
55
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Info, `Neue Temperatur (${val}) für "${this.info.customName}".`);
56
+ this.ioConn.setState(this._setPointTemperaturID, val, (err) => {
57
+ if (err) {
58
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Temperaturänderung für "${this.info.customName}" ergab Fehler ${err}.`);
59
+ }
60
+ else {
61
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Temperaturänderung für "${this.info.customName}" auf ${val} erfolgreich`);
62
+ }
63
+ });
64
+ }
65
+ addHumidityCallback(pCallback) {
66
+ this._humidityCallbacks.push(pCallback);
67
+ if (this._humidity > 0) {
68
+ pCallback(this._humidity);
69
+ }
70
+ }
71
+ deleteAutomaticPoint(name) {
72
+ if (this._automaticPoints[name] !== undefined)
73
+ delete this._automaticPoints[name];
74
+ }
75
+ getBelongingHeizungen() {
76
+ const result = [];
77
+ for (const dID in devices_1.Devices.hmIP) {
78
+ const d = devices_1.Devices.hmIP[dID];
79
+ if (d.deviceType === hmIpDeviceType_1.HmIpDeviceType.HmIpHeizung && d.info.room === this.info.room) {
80
+ result.push(d);
81
+ }
82
+ }
83
+ return result;
84
+ }
85
+ setAutomaticPoint(name, setting) {
86
+ this._automaticPoints[name] = setting;
87
+ }
88
+ update(idSplit, state, initial = false) {
89
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Heizgruppe "${this.info.customName}" Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
90
+ super.update(idSplit, state, initial, true);
91
+ switch (idSplit[3]) {
92
+ case '1':
93
+ this.updateBaseInformation(idSplit[4], state);
94
+ break;
95
+ }
96
+ }
97
+ stopAutomaticCheck() {
98
+ if (this._iAutomaticInterval !== undefined) {
99
+ clearInterval(this._iAutomaticInterval);
100
+ this._iAutomaticInterval = undefined;
101
+ }
102
+ }
103
+ updateBaseInformation(name, state) {
104
+ switch (name) {
105
+ case 'ACTUAL_TEMPERATURE':
106
+ this._temperatur = state.val;
107
+ break;
108
+ case 'LEVEL':
109
+ this._level = state.val;
110
+ break;
111
+ case 'HUMIDITY':
112
+ this.humidity = state.val;
113
+ break;
114
+ case 'SET_POINT_TEMPERATURE':
115
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Heizgruppe "${this.info.customName}" Update Soll-Temperatur JSON: ${JSON.stringify(state)}`);
116
+ this._desiredTemperatur = state.val;
117
+ break;
118
+ }
119
+ }
120
+ checkAutomaticChange() {
121
+ var _a;
122
+ if (!this._automaticMode) {
123
+ persist_1.Persist.addTemperaturDataPoint(this);
124
+ return;
125
+ }
126
+ for (const name in this._automaticPoints) {
127
+ if (this._automaticPoints[name] === undefined) {
128
+ continue;
129
+ }
130
+ const settings = this._automaticPoints[name];
131
+ if (!settings.isNowInRange()) {
132
+ continue;
133
+ }
134
+ if (this._desiredTemperatur !== settings.temperatur) {
135
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Automatische Temperaturanpassung für ${this.info.customName} auf ${settings.temperatur}°C`);
136
+ this.desiredTemperatur = (_a = settings.temperatur) !== null && _a !== void 0 ? _a : this._automaticFallBackTemperatur;
137
+ }
138
+ break;
139
+ }
140
+ persist_1.Persist.addTemperaturDataPoint(this);
141
+ }
142
+ }
143
+ exports.HmIpHeizgruppe = HmIpHeizgruppe;
@@ -0,0 +1,15 @@
1
+ /// <reference types="iobroker" />
2
+ import { HmIPDevice } from './hmIpDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ export declare class HmIpHeizung extends HmIPDevice {
5
+ private _temperatur;
6
+ private _level;
7
+ private _adaptionState;
8
+ private _desiredTemperatur;
9
+ get desiredTemperatur(): number;
10
+ get iLevel(): number;
11
+ get iTemperatur(): number;
12
+ constructor(pInfo: DeviceInfo);
13
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
14
+ private updateBaseInformation;
15
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpHeizung = void 0;
4
+ const logLevel_1 = require("../../../models/logLevel");
5
+ const log_service_1 = require("../../services/log-service");
6
+ const hmIpDevice_1 = require("./hmIpDevice");
7
+ const hmIpDeviceType_1 = require("./hmIpDeviceType");
8
+ class HmIpHeizung extends hmIpDevice_1.HmIPDevice {
9
+ constructor(pInfo) {
10
+ super(pInfo, hmIpDeviceType_1.HmIpDeviceType.HmIpHeizung);
11
+ this._temperatur = 0;
12
+ this._level = 0;
13
+ this._desiredTemperatur = 0;
14
+ }
15
+ get desiredTemperatur() {
16
+ return this._desiredTemperatur;
17
+ }
18
+ get iLevel() {
19
+ return this._level;
20
+ }
21
+ get iTemperatur() {
22
+ return this._temperatur;
23
+ }
24
+ update(idSplit, state, initial = false) {
25
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Heizung "${this.info.customName}" Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
26
+ super.update(idSplit, state, initial, true);
27
+ switch (idSplit[3]) {
28
+ case '1':
29
+ this.updateBaseInformation(idSplit[4], state);
30
+ break;
31
+ }
32
+ }
33
+ updateBaseInformation(name, state) {
34
+ switch (name) {
35
+ case 'ACTUAL_TEMPERATURE':
36
+ this._temperatur = state.val;
37
+ break;
38
+ case 'LEVEL':
39
+ this._level = state.val;
40
+ break;
41
+ case 'VALVE_STATE':
42
+ this._adaptionState = state.val;
43
+ if (this._adaptionState !== 4) {
44
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Adaption State für Heizung "${this.info.customName}" ungewöhnlich: ${this._adaptionState}`);
45
+ }
46
+ break;
47
+ case 'SET_POINT_TEMPERATURE':
48
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Trace, `Heizung "${this.info.customName}" Update Soll-Temperatur JSON: ${JSON.stringify(state)}`);
49
+ this._desiredTemperatur = state.val;
50
+ break;
51
+ }
52
+ }
53
+ }
54
+ exports.HmIpHeizung = HmIpHeizung;
@@ -0,0 +1,27 @@
1
+ /// <reference types="iobroker" />
2
+ import { HmIPDevice } from './hmIpDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ import { ActuatorSettings } from '../../../models/actuatorSettings';
5
+ import { iLamp } from '../iLamp';
6
+ export declare class HmIpLampe extends HmIPDevice implements iLamp {
7
+ lightOn: boolean;
8
+ queuedLightValue: boolean | null;
9
+ isStromStoss: boolean;
10
+ settings: ActuatorSettings;
11
+ private lightOnSwitchID;
12
+ private turnOffTimeout;
13
+ private turnOffTime;
14
+ constructor(pInfo: DeviceInfo);
15
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
16
+ /**
17
+ * This function thats the light to a specific value
18
+ * @param pValue The desired value
19
+ * @param timeout A chosen Timeout after which the light should be reset
20
+ */
21
+ setLight(pValue: boolean, timeout?: number, force?: boolean): void;
22
+ /**
23
+ * Switch the current condition of the light
24
+ * @param force Whether this is a forcing action skipping delays and locks
25
+ */
26
+ toggleLight(force?: boolean): boolean;
27
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HmIpLampe = 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 actuatorSettings_1 = require("../../../models/actuatorSettings");
9
+ const utils_1 = require("../../services/utils/utils");
10
+ class HmIpLampe extends hmIpDevice_1.HmIPDevice {
11
+ constructor(pInfo) {
12
+ super(pInfo, hmIpDeviceType_1.HmIpDeviceType.HmIpLampe);
13
+ this.lightOn = false;
14
+ this.queuedLightValue = null;
15
+ this.isStromStoss = false;
16
+ this.settings = new actuatorSettings_1.ActuatorSettings();
17
+ this.lightOnSwitchID = '';
18
+ this.turnOffTimeout = undefined;
19
+ this.turnOffTime = 0;
20
+ this.lightOnSwitchID = `${this.info.fullID}.2.STATE`;
21
+ }
22
+ update(idSplit, state, initial = false) {
23
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Lampen Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`);
24
+ super.update(idSplit, state, initial, true);
25
+ this.queuedLightValue = null;
26
+ switch (idSplit[3]) {
27
+ case '1':
28
+ if (idSplit[4] === 'STATE') {
29
+ this.lightOn = state.val;
30
+ }
31
+ break;
32
+ }
33
+ }
34
+ /**
35
+ * This function thats the light to a specific value
36
+ * @param pValue The desired value
37
+ * @param timeout A chosen Timeout after which the light should be reset
38
+ */
39
+ setLight(pValue, timeout = -1, force = false) {
40
+ if (!force && pValue === this.lightOn && this.queuedLightValue === null) {
41
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `Skip light command for "${this.info.customName}" as it is already ${pValue}`);
42
+ return;
43
+ }
44
+ if (this.lightOnSwitchID === '') {
45
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Switch ID für "${this.info.customName}" bekannt.`);
46
+ return;
47
+ }
48
+ if (!this.ioConn) {
49
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
50
+ return;
51
+ }
52
+ if (!force && utils_1.Utils.nowMS() < this.turnOffTime) {
53
+ 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).toLocaleString()}`);
54
+ return;
55
+ }
56
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Lampe schalten: "${this.info.customName}" Wert: ${pValue}`);
57
+ this.ioConn.setState(this.lightOnSwitchID, pValue, (err) => {
58
+ if (err) {
59
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `Lampe schalten ergab Fehler: ${err}`);
60
+ }
61
+ });
62
+ this.queuedLightValue = pValue;
63
+ if (this.isStromStoss) {
64
+ timeout = 5000;
65
+ }
66
+ if (this.turnOffTimeout !== undefined) {
67
+ clearTimeout(this.turnOffTimeout);
68
+ this.turnOffTimeout = undefined;
69
+ }
70
+ if (timeout < 0 || !pValue) {
71
+ return;
72
+ }
73
+ this.turnOffTime = utils_1.Utils.nowMS() + timeout;
74
+ this.turnOffTimeout = utils_1.Utils.guardedTimeout(() => {
75
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Debug, `Delayed Turnoff for "${this.info.customName}" initiated`);
76
+ this.turnOffTimeout = undefined;
77
+ if (!this.room) {
78
+ this.setLight(false, -1, true);
79
+ }
80
+ else {
81
+ this.room.setLightTimeBased(true);
82
+ }
83
+ }, timeout, this);
84
+ }
85
+ /**
86
+ * Switch the current condition of the light
87
+ * @param force Whether this is a forcing action skipping delays and locks
88
+ */
89
+ toggleLight(force = false) {
90
+ const newVal = this.queuedLightValue !== null ? !this.queuedLightValue : !this.lightOn;
91
+ const timeout = newVal && force ? 30 * 60 * 1000 : -1;
92
+ this.setLight(newVal, timeout, force);
93
+ return newVal;
94
+ }
95
+ }
96
+ exports.HmIpLampe = HmIpLampe;
@@ -0,0 +1,22 @@
1
+ /// <reference types="iobroker" />
2
+ import { HmIPDevice } from './hmIpDevice';
3
+ import { DeviceInfo } from '../DeviceInfo';
4
+ import { iIlluminationSensor } from '../iIlluminationSensor';
5
+ export declare class HmIpPraezenz extends HmIPDevice implements iIlluminationSensor {
6
+ excludeFromNightAlarm: boolean;
7
+ presenceDetected: boolean;
8
+ private _detectionsToday;
9
+ private _presenceDetectedCallback;
10
+ private static PRESENCE_DETECTION;
11
+ private static CURRENT_ILLUMINATION;
12
+ private initialized;
13
+ private _currentIllumination;
14
+ get detectionsToday(): number;
15
+ set detectionsToday(pVal: number);
16
+ get currentIllumination(): number;
17
+ private set currentIllumination(value);
18
+ constructor(pInfo: DeviceInfo);
19
+ addPresenceCallback(pCallback: (pValue: boolean) => void): void;
20
+ update(idSplit: string[], state: ioBroker.State, initial?: boolean): void;
21
+ updatePresence(pVal: boolean): void;
22
+ }