hoffmation-base 0.1.14 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/lib/index.d.ts +2 -0
  2. package/lib/index.js +14 -0
  3. package/lib/models/actuatorSettings.d.ts +5 -0
  4. package/lib/models/actuatorSettings.js +11 -0
  5. package/lib/models/connectionCallbacks.d.ts +10 -0
  6. package/lib/models/connectionCallbacks.js +6 -0
  7. package/lib/models/daytime.d.ts +5 -0
  8. package/lib/models/daytime.js +10 -0
  9. package/lib/models/deviceConfig.d.ts +11 -0
  10. package/lib/models/deviceConfig.js +2 -0
  11. package/lib/models/dimmerSettings.d.ts +5 -0
  12. package/lib/models/dimmerSettings.js +11 -0
  13. package/lib/models/iTemperaturDataPoint.d.ts +9 -0
  14. package/lib/models/iTemperaturDataPoint.js +2 -0
  15. package/lib/models/index.d.ts +12 -0
  16. package/lib/models/index.js +24 -0
  17. package/lib/models/ledSettings.d.ts +19 -0
  18. package/lib/models/ledSettings.js +25 -0
  19. package/lib/models/logLevel.d.ts +9 -0
  20. package/lib/models/logLevel.js +13 -0
  21. package/lib/models/persistence/BasicRoomInfo.d.ts +5 -0
  22. package/lib/models/persistence/BasicRoomInfo.js +10 -0
  23. package/lib/models/persistence/CurrentIlluminationDataPoint.d.ts +8 -0
  24. package/lib/models/persistence/CurrentIlluminationDataPoint.js +13 -0
  25. package/lib/models/persistence/DailyMovementCount.d.ts +7 -0
  26. package/lib/models/persistence/DailyMovementCount.js +12 -0
  27. package/lib/models/persistence/RoomDetailInfo.d.ts +6 -0
  28. package/lib/models/persistence/RoomDetailInfo.js +11 -0
  29. package/lib/models/persistence/index.d.ts +6 -0
  30. package/lib/models/persistence/index.js +18 -0
  31. package/lib/models/persistence/temperaturDataPoint.d.ts +10 -0
  32. package/lib/models/persistence/temperaturDataPoint.js +14 -0
  33. package/lib/models/persistence/todaysCount.d.ts +5 -0
  34. package/lib/models/persistence/todaysCount.js +10 -0
  35. package/lib/models/rooms/RoomBase.d.ts +81 -0
  36. package/lib/models/rooms/RoomBase.js +309 -0
  37. package/lib/models/rooms/RoomSettings/RoomSettings.d.ts +57 -0
  38. package/lib/models/rooms/RoomSettings/RoomSettings.js +120 -0
  39. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.d.ts +17 -0
  40. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.js +51 -0
  41. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.d.ts +16 -0
  42. package/lib/models/rooms/RoomSettings/iRoomDefaultSettings.js +2 -0
  43. package/lib/models/rooms/RoomSettings/index.d.ts +4 -0
  44. package/lib/models/rooms/RoomSettings/index.js +16 -0
  45. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.d.ts +17 -0
  46. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.js +51 -0
  47. package/{models/rooms/iRoomImportEnforcer.ts → lib/models/rooms/iRoomImportEnforcer.d.ts} +1 -1
  48. package/lib/models/rooms/iRoomImportEnforcer.js +2 -0
  49. package/lib/models/rooms/index.d.ts +3 -0
  50. package/lib/models/rooms/index.js +15 -0
  51. package/lib/models/temperaturSettings.d.ts +9 -0
  52. package/lib/models/temperaturSettings.js +21 -0
  53. package/lib/models/timeCallback.d.ts +19 -0
  54. package/lib/models/timeCallback.js +73 -0
  55. package/lib/server/config/iConfig.d.ts +45 -0
  56. package/lib/server/config/iConfig.js +2 -0
  57. package/lib/server/config/index.d.ts +1 -0
  58. package/lib/server/config/index.js +13 -0
  59. package/lib/server/devices/DeviceInfo.d.ts +17 -0
  60. package/lib/server/devices/DeviceInfo.js +48 -0
  61. package/lib/server/devices/Griffe.d.ts +5 -0
  62. package/lib/server/devices/Griffe.js +31 -0
  63. package/lib/server/devices/Heizgruppen.d.ts +8 -0
  64. package/lib/server/devices/Heizgruppen.js +78 -0
  65. package/lib/server/devices/Rollos.d.ts +5 -0
  66. package/lib/server/devices/Rollos.js +43 -0
  67. package/lib/server/devices/deviceUpdater.d.ts +13 -0
  68. package/lib/server/devices/deviceUpdater.js +64 -0
  69. package/lib/server/devices/devices.d.ts +21 -0
  70. package/lib/server/devices/devices.js +172 -0
  71. package/lib/server/devices/groups/fensterGroup.d.ts +15 -0
  72. package/lib/server/devices/groups/fensterGroup.js +138 -0
  73. package/lib/server/devices/groups/heatGroup.d.ts +9 -0
  74. package/lib/server/devices/groups/heatGroup.js +33 -0
  75. package/lib/server/devices/groups/index.d.ts +8 -0
  76. package/lib/server/devices/groups/index.js +20 -0
  77. package/lib/server/devices/groups/lampenGroup.d.ts +18 -0
  78. package/lib/server/devices/groups/lampenGroup.js +95 -0
  79. package/lib/server/devices/groups/praesenzGroup.d.ts +18 -0
  80. package/lib/server/devices/groups/praesenzGroup.js +145 -0
  81. package/lib/server/devices/groups/smokeGroup.d.ts +8 -0
  82. package/lib/server/devices/groups/smokeGroup.js +18 -0
  83. package/lib/server/devices/groups/sonosGroup.d.ts +11 -0
  84. package/lib/server/devices/groups/sonosGroup.js +38 -0
  85. package/lib/server/devices/groups/tasterGroup.d.ts +8 -0
  86. package/lib/server/devices/groups/tasterGroup.js +43 -0
  87. package/lib/server/devices/groups/waterGroup.d.ts +8 -0
  88. package/lib/server/devices/groups/waterGroup.js +18 -0
  89. package/lib/server/devices/hmIPDevices/Fenster.d.ts +22 -0
  90. package/lib/server/devices/hmIPDevices/Fenster.js +100 -0
  91. package/lib/server/devices/hmIPDevices/FensterPosition.d.ts +5 -0
  92. package/lib/server/devices/hmIPDevices/FensterPosition.js +9 -0
  93. package/lib/server/devices/hmIPDevices/TuerPosition.d.ts +4 -0
  94. package/lib/server/devices/hmIPDevices/TuerPosition.js +8 -0
  95. package/lib/server/devices/hmIPDevices/hmIpBewegung.d.ts +25 -0
  96. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +106 -0
  97. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +19 -0
  98. package/lib/server/devices/hmIPDevices/hmIpDevice.js +72 -0
  99. package/lib/server/devices/hmIPDevices/hmIpDeviceType.d.ts +14 -0
  100. package/lib/server/devices/hmIPDevices/hmIpDeviceType.js +18 -0
  101. package/lib/server/devices/hmIPDevices/hmIpGriff.d.ts +22 -0
  102. package/lib/server/devices/hmIPDevices/hmIpGriff.js +117 -0
  103. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.d.ts +34 -0
  104. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +143 -0
  105. package/lib/server/devices/hmIPDevices/hmIpHeizung.d.ts +15 -0
  106. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +54 -0
  107. package/lib/server/devices/hmIPDevices/hmIpLampe.d.ts +27 -0
  108. package/lib/server/devices/hmIPDevices/hmIpLampe.js +96 -0
  109. package/lib/server/devices/hmIPDevices/hmIpPraezenz.d.ts +22 -0
  110. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +89 -0
  111. package/lib/server/devices/hmIPDevices/hmIpRoll.d.ts +22 -0
  112. package/lib/server/devices/hmIPDevices/hmIpRoll.js +105 -0
  113. package/lib/server/devices/hmIPDevices/hmIpTaster.d.ts +13 -0
  114. package/lib/server/devices/hmIPDevices/hmIpTaster.js +78 -0
  115. package/lib/server/devices/hmIPDevices/hmIpTherm.d.ts +7 -0
  116. package/lib/server/devices/hmIPDevices/hmIpTherm.js +17 -0
  117. package/lib/server/devices/hmIPDevices/hmIpTuer.d.ts +16 -0
  118. package/lib/server/devices/hmIPDevices/hmIpTuer.js +94 -0
  119. package/lib/server/devices/hmIPDevices/hmIpWippe.d.ts +12 -0
  120. package/lib/server/devices/hmIPDevices/hmIpWippe.js +50 -0
  121. package/lib/server/devices/hmIPDevices/index.d.ts +16 -0
  122. package/lib/server/devices/hmIPDevices/index.js +28 -0
  123. package/lib/server/devices/iDeviceUpdater.d.ts +5 -0
  124. package/lib/server/devices/iDeviceUpdater.js +2 -0
  125. package/{server/devices/iIlluminationSensor.ts → lib/server/devices/iIlluminationSensor.d.ts} +1 -1
  126. package/lib/server/devices/iIlluminationSensor.js +2 -0
  127. package/lib/server/devices/iIoBrokerDevice.d.ts +30 -0
  128. package/lib/server/devices/iIoBrokerDevice.js +37 -0
  129. package/lib/server/devices/iLamp.d.ts +8 -0
  130. package/lib/server/devices/iLamp.js +2 -0
  131. package/lib/server/devices/iTaster.d.ts +7 -0
  132. package/lib/server/devices/iTaster.js +2 -0
  133. package/lib/server/devices/index.d.ts +16 -0
  134. package/lib/server/devices/index.js +28 -0
  135. package/lib/server/devices/taste.d.ts +15 -0
  136. package/lib/server/devices/taste.js +64 -0
  137. package/lib/server/devices/wledDevice.d.ts +38 -0
  138. package/lib/server/devices/wledDevice.js +97 -0
  139. package/lib/server/devices/zigbee/ZigbeeActuator.d.ts +17 -0
  140. package/lib/server/devices/zigbee/ZigbeeActuator.js +83 -0
  141. package/lib/server/devices/zigbee/index.d.ts +13 -0
  142. package/lib/server/devices/zigbee/index.js +25 -0
  143. package/lib/server/devices/zigbee/zigbeeAquaraMotion.d.ts +31 -0
  144. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +137 -0
  145. package/lib/server/devices/zigbee/zigbeeAquaraVibra.d.ts +23 -0
  146. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +121 -0
  147. package/lib/server/devices/zigbee/zigbeeAquaraWater.d.ts +18 -0
  148. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +84 -0
  149. package/lib/server/devices/zigbee/zigbeeBlitzShp.d.ts +16 -0
  150. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +64 -0
  151. package/lib/server/devices/zigbee/zigbeeDevice.d.ts +20 -0
  152. package/lib/server/devices/zigbee/zigbeeDevice.js +83 -0
  153. package/lib/server/devices/zigbee/zigbeeDeviceType.d.ts +14 -0
  154. package/lib/server/devices/zigbee/zigbeeDeviceType.js +18 -0
  155. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.d.ts +18 -0
  156. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +89 -0
  157. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.d.ts +10 -0
  158. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +26 -0
  159. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +11 -0
  160. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +28 -0
  161. package/lib/server/devices/zigbee/zigbeeIlluDimmer.d.ts +23 -0
  162. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +128 -0
  163. package/lib/server/devices/zigbee/zigbeeIlluLampe.d.ts +10 -0
  164. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +31 -0
  165. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.d.ts +22 -0
  166. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +122 -0
  167. package/lib/server/index.d.ts +4 -0
  168. package/lib/server/index.js +16 -0
  169. package/lib/server/ioBroker/connection.d.ts +160 -0
  170. package/lib/server/ioBroker/connection.js +1419 -0
  171. package/lib/server/ioBroker/index.d.ts +6 -0
  172. package/lib/server/ioBroker/index.js +18 -0
  173. package/lib/server/ioBroker/ioBroker.main.d.ts +15 -0
  174. package/lib/server/ioBroker/ioBroker.main.js +85 -0
  175. package/lib/server/ioBroker/socketIOAuthInfo.d.ts +5 -0
  176. package/lib/server/ioBroker/socketIOAuthInfo.js +6 -0
  177. package/lib/server/ioBroker/socketIOConnectOptions.d.ts +6 -0
  178. package/lib/server/ioBroker/socketIOConnectOptions.js +6 -0
  179. package/lib/server/ioBroker/socketIOLogging.d.ts +12 -0
  180. package/lib/server/ioBroker/socketIOLogging.js +32 -0
  181. package/lib/server/ioBroker/socketIOVisCommand.d.ts +6 -0
  182. package/lib/server/ioBroker/socketIOVisCommand.js +11 -0
  183. package/lib/server/services/HTTPSOptions.d.ts +12 -0
  184. package/lib/server/services/HTTPSOptions.js +16 -0
  185. package/lib/server/services/Sonos/OwnSonosDevices.d.ts +7 -0
  186. package/lib/server/services/Sonos/OwnSonosDevices.js +10 -0
  187. package/lib/server/services/Sonos/index.d.ts +4 -0
  188. package/lib/server/services/Sonos/index.js +16 -0
  189. package/lib/server/services/Sonos/mp3-server.d.ts +7 -0
  190. package/lib/server/services/Sonos/mp3-server.js +90 -0
  191. package/lib/server/services/Sonos/polly-service.d.ts +12 -0
  192. package/lib/server/services/Sonos/polly-service.js +117 -0
  193. package/lib/server/services/Sonos/sonos-service.d.ts +30 -0
  194. package/lib/server/services/Sonos/sonos-service.js +140 -0
  195. package/lib/server/services/Telegram/index.d.ts +3 -0
  196. package/lib/server/services/Telegram/index.js +15 -0
  197. package/lib/server/services/Telegram/telegram-Commands.d.ts +3 -0
  198. package/lib/server/services/Telegram/telegram-Commands.js +128 -0
  199. package/lib/server/services/Telegram/telegram-service.d.ts +19 -0
  200. package/lib/server/services/Telegram/telegram-service.js +150 -0
  201. package/lib/server/services/Telegram/telegramMessageCalback.d.ts +9 -0
  202. package/lib/server/services/Telegram/telegramMessageCalback.js +13 -0
  203. package/lib/server/services/calendar/index.d.ts +2 -0
  204. package/lib/server/services/calendar/index.js +14 -0
  205. package/lib/server/services/calendar/muell-tonne.d.ts +12 -0
  206. package/lib/server/services/calendar/muell-tonne.js +73 -0
  207. package/lib/server/services/calendar/m/303/274ll-service.d.ts +24 -0
  208. package/lib/server/services/calendar/m/303/274ll-service.js +108 -0
  209. package/lib/server/services/dbo/index.d.ts +1 -0
  210. package/lib/server/services/dbo/index.js +13 -0
  211. package/lib/server/services/dbo/persist.d.ts +27 -0
  212. package/lib/server/services/dbo/persist.js +107 -0
  213. package/lib/server/services/https-service.d.ts +6 -0
  214. package/lib/server/services/https-service.js +87 -0
  215. package/lib/server/services/index.d.ts +12 -0
  216. package/lib/server/services/index.js +24 -0
  217. package/lib/server/services/log-service.d.ts +14 -0
  218. package/lib/server/services/log-service.js +41 -0
  219. package/lib/server/services/news-service.d.ts +10 -0
  220. package/lib/server/services/news-service.js +90 -0
  221. package/lib/server/services/settings-service.d.ts +6 -0
  222. package/lib/server/services/settings-service.js +19 -0
  223. package/lib/server/services/time-callback-service.d.ts +39 -0
  224. package/lib/server/services/time-callback-service.js +182 -0
  225. package/lib/server/services/utils/index.d.ts +2 -0
  226. package/lib/server/services/utils/index.js +14 -0
  227. package/lib/server/services/utils/ringstorage.d.ts +8 -0
  228. package/lib/server/services/utils/ringstorage.js +27 -0
  229. package/lib/server/services/utils/utils.d.ts +9 -0
  230. package/lib/server/services/utils/utils.js +44 -0
  231. package/lib/server/services/weather/index.d.ts +9 -0
  232. package/lib/server/services/weather/index.js +21 -0
  233. package/lib/server/services/weather/weather-alert.d.ts +7 -0
  234. package/lib/server/services/weather/weather-alert.js +2 -0
  235. package/lib/server/services/weather/weather-current.d.ts +25 -0
  236. package/lib/server/services/weather/weather-current.js +2 -0
  237. package/lib/server/services/weather/weather-daily.d.ts +21 -0
  238. package/lib/server/services/weather/weather-daily.js +2 -0
  239. package/lib/server/services/weather/weather-feelsLike.d.ts +6 -0
  240. package/lib/server/services/weather/weather-feelsLike.js +2 -0
  241. package/lib/server/services/weather/weather-hourly.d.ts +16 -0
  242. package/lib/server/services/weather/weather-hourly.js +2 -0
  243. package/lib/server/services/weather/weather-item.d.ts +6 -0
  244. package/lib/server/services/weather/weather-item.js +2 -0
  245. package/lib/server/services/weather/weather-minutes.d.ts +4 -0
  246. package/lib/server/services/weather/weather-minutes.js +2 -0
  247. package/lib/server/services/weather/weather-service.d.ts +37 -0
  248. package/lib/server/services/weather/weather-service.js +173 -0
  249. package/lib/server/services/weather/weather-temp.d.ts +8 -0
  250. package/lib/server/services/weather/weather-temp.js +2 -0
  251. package/lib/tsconfig.tsbuildinfo +1 -0
  252. package/package.json +21 -10
  253. package/.eslintrc.js +0 -27
  254. package/.github/workflows/npm-publish.yml +0 -33
  255. package/.prettierrc.js +0 -9
  256. package/index.js +0 -1
  257. package/models/actuatorSettings.ts +0 -5
  258. package/models/connectionCallbacks.ts +0 -13
  259. package/models/daytime.ts +0 -3
  260. package/models/deviceConfig.ts +0 -8
  261. package/models/dimmerSettings.ts +0 -5
  262. package/models/iTemperaturDataPoint.ts +0 -9
  263. package/models/ledSettings.ts +0 -19
  264. package/models/logLevel.ts +0 -9
  265. package/models/persistence/BasicRoomInfo.ts +0 -3
  266. package/models/persistence/CurrentIlluminationDataPoint.ts +0 -9
  267. package/models/persistence/DailyMovementCount.ts +0 -3
  268. package/models/persistence/RoomDetailInfo.ts +0 -4
  269. package/models/persistence/temperaturDataPoint.ts +0 -12
  270. package/models/persistence/todaysCount.ts +0 -3
  271. package/models/rooms/RoomBase.ts +0 -358
  272. package/models/rooms/RoomSettings/RoomSettings.ts +0 -159
  273. package/models/rooms/RoomSettings/hmIPRoomSettings.ts +0 -53
  274. package/models/rooms/RoomSettings/iRoomDefaultSettings.ts +0 -17
  275. package/models/rooms/RoomSettings/readme.md +0 -18
  276. package/models/rooms/RoomSettings/zigbeeRoomSettings.ts +0 -51
  277. package/models/rooms/readme.md +0 -11
  278. package/models/temperaturSettings.ts +0 -22
  279. package/models/timeCallback.ts +0 -90
  280. package/server/config/config-readme.md +0 -19
  281. package/server/config/iConfig.ts +0 -53
  282. package/server/config/private/mainConfig.json +0 -64
  283. package/server/devices/DeviceInfo.ts +0 -66
  284. package/server/devices/Griffe.ts +0 -31
  285. package/server/devices/Heizgruppen.ts +0 -91
  286. package/server/devices/Rollos.ts +0 -48
  287. package/server/devices/deviceUpdater.ts +0 -72
  288. package/server/devices/devices.ts +0 -193
  289. package/server/devices/groups/fensterGroup.ts +0 -175
  290. package/server/devices/groups/heatGroup.ts +0 -32
  291. package/server/devices/groups/lampenGroup.ts +0 -106
  292. package/server/devices/groups/praesenzGroup.ts +0 -187
  293. package/server/devices/groups/smokeGroup.ts +0 -16
  294. package/server/devices/groups/sonosGroup.ts +0 -33
  295. package/server/devices/groups/tasterGroup.ts +0 -48
  296. package/server/devices/groups/waterGroup.ts +0 -16
  297. package/server/devices/hmIPDevices/Fenster.ts +0 -114
  298. package/server/devices/hmIPDevices/FensterPosition.ts +0 -5
  299. package/server/devices/hmIPDevices/TuerPosition.ts +0 -4
  300. package/server/devices/hmIPDevices/hmIpBewegung.ts +0 -145
  301. package/server/devices/hmIPDevices/hmIpDevice.ts +0 -90
  302. package/server/devices/hmIPDevices/hmIpDeviceType.ts +0 -14
  303. package/server/devices/hmIPDevices/hmIpGriff.ts +0 -143
  304. package/server/devices/hmIPDevices/hmIpHeizgruppe.ts +0 -172
  305. package/server/devices/hmIPDevices/hmIpHeizung.ts +0 -69
  306. package/server/devices/hmIPDevices/hmIpLampe.ts +0 -120
  307. package/server/devices/hmIPDevices/hmIpPraezenz.ts +0 -117
  308. package/server/devices/hmIPDevices/hmIpRoll.ts +0 -133
  309. package/server/devices/hmIPDevices/hmIpTaster.ts +0 -82
  310. package/server/devices/hmIPDevices/hmIpTherm.ts +0 -19
  311. package/server/devices/hmIPDevices/hmIpTuer.ts +0 -115
  312. package/server/devices/hmIPDevices/hmIpWippe.ts +0 -55
  313. package/server/devices/iDeviceUpdater.ts +0 -4
  314. package/server/devices/iIoBrokerDevice.ts +0 -44
  315. package/server/devices/iLamp.ts +0 -10
  316. package/server/devices/iTaster.ts +0 -6
  317. package/server/devices/taste.ts +0 -84
  318. package/server/devices/wledDevice.ts +0 -124
  319. package/server/devices/zigbee/ZigbeeActuator.ts +0 -113
  320. package/server/devices/zigbee/zigbeeAquaraMotion.ts +0 -205
  321. package/server/devices/zigbee/zigbeeAquaraVibra.ts +0 -171
  322. package/server/devices/zigbee/zigbeeAquaraWater.ts +0 -94
  323. package/server/devices/zigbee/zigbeeBlitzShp.ts +0 -77
  324. package/server/devices/zigbee/zigbeeDevice.ts +0 -115
  325. package/server/devices/zigbee/zigbeeDeviceType.ts +0 -14
  326. package/server/devices/zigbee/zigbeeHeimanSmoke.ts +0 -99
  327. package/server/devices/zigbee/zigbeeIkeaSteckdose.ts +0 -31
  328. package/server/devices/zigbee/zigbeeIlluActuator.ts +0 -37
  329. package/server/devices/zigbee/zigbeeIlluDimmer.ts +0 -166
  330. package/server/devices/zigbee/zigbeeIlluLampe.ts +0 -33
  331. package/server/devices/zigbee/zigbeeIlluLedRGBCCT.ts +0 -137
  332. package/server/ioBroker/connection.ts +0 -1655
  333. package/server/ioBroker/ioBroker.main.ts +0 -99
  334. package/server/ioBroker/socketIOAuthInfo.ts +0 -5
  335. package/server/ioBroker/socketIOConnectOptions.ts +0 -6
  336. package/server/ioBroker/socketIOLogging.ts +0 -29
  337. package/server/ioBroker/socketIOVisCommand.ts +0 -11
  338. package/server/services/HTTPSOptions.ts +0 -14
  339. package/server/services/Sonos/OwnSonosDevices.ts +0 -9
  340. package/server/services/Sonos/mp3-server.ts +0 -75
  341. package/server/services/Sonos/polly-service.ts +0 -100
  342. package/server/services/Sonos/sonos-service.ts +0 -194
  343. package/server/services/Telegram/telegram-Commands.ts +0 -237
  344. package/server/services/Telegram/telegram-service.ts +0 -177
  345. package/server/services/Telegram/telegramMessageCalback.ts +0 -11
  346. package/server/services/calendar/muell-tonne.ts +0 -82
  347. package/server/services/calendar/m/303/274ll-service.ts +0 -147
  348. package/server/services/dbo/persist.ts +0 -142
  349. package/server/services/https-service.ts +0 -71
  350. package/server/services/log-service.ts +0 -69
  351. package/server/services/news-service.ts +0 -81
  352. package/server/services/settings-service.ts +0 -15
  353. package/server/services/time-callback-service.ts +0 -223
  354. package/server/services/utils/ringstorage.ts +0 -24
  355. package/server/services/utils/utils.ts +0 -52
  356. package/server/services/weather/weather-alert.ts +0 -7
  357. package/server/services/weather/weather-current.ts +0 -26
  358. package/server/services/weather/weather-daily.ts +0 -22
  359. package/server/services/weather/weather-feelsLike.ts +0 -6
  360. package/server/services/weather/weather-hourly.ts +0 -17
  361. package/server/services/weather/weather-item.ts +0 -6
  362. package/server/services/weather/weather-minutes.ts +0 -4
  363. package/server/services/weather/weather-service.ts +0 -277
  364. package/server/services/weather/weather-temp.ts +0 -8
  365. package/tsconfig.json +0 -58
@@ -1,172 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { HmIPDevice } from './hmIpDevice';
3
- import { HmIpDeviceType } from './hmIpDeviceType';
4
- import { DeviceInfo } from '../DeviceInfo';
5
- import { ServerLogService } from '../../services/log-service';
6
- import { TemperaturSettings } from '../../../models/temperaturSettings';
7
- import { Persist } from '../../services/dbo/persist';
8
- import { HmIpHeizung } from './hmIpHeizung';
9
- import { Devices } from '../devices';
10
- import { Utils } from '../../services/utils/utils';
11
-
12
- export class HmIpHeizgruppe extends HmIPDevice {
13
- private _automaticMode: boolean = true;
14
- private _iAutomaticInterval: NodeJS.Timeout;
15
- private _level: number = 0;
16
- private _temperatur: number = 0;
17
- private _humidity: number = 0;
18
- private _desiredTemperatur: number = 0;
19
- private _setPointTemperaturID: string = '';
20
- private _automaticFallBackTemperatur: number = 20;
21
- private _automaticPoints: { [name: string]: TemperaturSettings } = {};
22
- private _humidityCallbacks: Array<(pValue: number) => void> = [];
23
-
24
- public constructor(pInfo: DeviceInfo) {
25
- super(pInfo, HmIpDeviceType.HmIpHeizgruppe);
26
- this._setPointTemperaturID = `${this.info.fullID}.1.SET_POINT_TEMPERATURE`;
27
- this._iAutomaticInterval = Utils.guardedInterval(this.checkAutomaticChange, 300000, this); // Alle 5 Minuten prüfen
28
- }
29
-
30
- public get sLevel(): string {
31
- return `${this._level * 100}%`;
32
- }
33
-
34
- public get iLevel(): number {
35
- return this._level;
36
- }
37
-
38
- public get sTemperatur(): string {
39
- return `${this._temperatur}°C`;
40
- }
41
-
42
- public get iTemperatur(): number {
43
- return this._temperatur;
44
- }
45
-
46
- public get desiredTemperatur(): number {
47
- return this._desiredTemperatur;
48
- }
49
-
50
- public get humidity(): number {
51
- return this._humidity;
52
- }
53
-
54
- private set humidity(val: number) {
55
- this._humidity = val;
56
- for (const cb of this._humidityCallbacks) {
57
- cb(val);
58
- }
59
- }
60
-
61
- public set desiredTemperatur(val: number) {
62
- if (!this.ioConn) {
63
- ServerLogService.writeLog(LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
64
- return;
65
- }
66
-
67
- ServerLogService.writeLog(LogLevel.Info, `Neue Temperatur (${val}) für "${this.info.customName}".`);
68
- this.ioConn.setState(this._setPointTemperaturID, val, (err) => {
69
- if (err) {
70
- ServerLogService.writeLog(
71
- LogLevel.Error,
72
- `Temperaturänderung für "${this.info.customName}" ergab Fehler ${err}.`,
73
- );
74
- } else {
75
- ServerLogService.writeLog(
76
- LogLevel.Debug,
77
- `Temperaturänderung für "${this.info.customName}" auf ${val} erfolgreich`,
78
- );
79
- }
80
- });
81
- }
82
-
83
- public addHumidityCallback(pCallback: (pValue: number) => void): void {
84
- this._humidityCallbacks.push(pCallback);
85
- if (this._humidity > 0) {
86
- pCallback(this._humidity);
87
- }
88
- }
89
-
90
- public deleteAutomaticPoint(name: string): void {
91
- if (this._automaticPoints[name] !== undefined) delete this._automaticPoints[name];
92
- }
93
-
94
- public getBelongingHeizungen(): HmIpHeizung[] {
95
- const result: HmIpHeizung[] = [];
96
- for (const dID in Devices.hmIP) {
97
- const d = Devices.hmIP[dID];
98
- if (d.deviceType === HmIpDeviceType.HmIpHeizung && d.info.room === this.info.room) {
99
- result.push(d as HmIpHeizung);
100
- }
101
- }
102
- return result;
103
- }
104
-
105
- public setAutomaticPoint(name: string, setting: TemperaturSettings): void {
106
- this._automaticPoints[name] = setting;
107
- }
108
-
109
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
110
- ServerLogService.writeLog(
111
- LogLevel.Trace,
112
- `Heizgruppe "${this.info.customName}" Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`,
113
- );
114
- super.update(idSplit, state, initial, true);
115
-
116
- switch (idSplit[3]) {
117
- case '1':
118
- this.updateBaseInformation(idSplit[4], state, initial);
119
- break;
120
- }
121
- }
122
-
123
- private updateBaseInformation(name: string, state: ioBroker.State, initial: boolean) {
124
- switch (name) {
125
- case 'ACTUAL_TEMPERATURE':
126
- this._temperatur = state.val as number;
127
- break;
128
- case 'LEVEL':
129
- this._level = state.val as number;
130
- break;
131
- case 'HUMIDITY':
132
- this.humidity = state.val as number;
133
- break;
134
- case 'SET_POINT_TEMPERATURE':
135
- ServerLogService.writeLog(
136
- LogLevel.Trace,
137
- `Heizgruppe "${this.info.customName}" Update Soll-Temperatur JSON: ${JSON.stringify(state)}`,
138
- );
139
- this._desiredTemperatur = state.val as number;
140
- break;
141
- }
142
- }
143
-
144
- private checkAutomaticChange(): void {
145
- if (!this._automaticMode) {
146
- Persist.addTemperaturDataPoint(this);
147
- return;
148
- }
149
-
150
- for (const name in this._automaticPoints) {
151
- if (this._automaticPoints[name] === undefined) {
152
- continue;
153
- }
154
-
155
- const settings: TemperaturSettings = this._automaticPoints[name];
156
- if (!settings.isNowInRange()) {
157
- continue;
158
- }
159
-
160
- if (this._desiredTemperatur !== settings.temperatur) {
161
- ServerLogService.writeLog(
162
- LogLevel.Debug,
163
- `Automatische Temperaturanpassung für ${this.info.customName} auf ${settings.temperatur}°C`,
164
- );
165
- this.desiredTemperatur = settings.temperatur;
166
- }
167
- break;
168
- }
169
-
170
- Persist.addTemperaturDataPoint(this);
171
- }
172
- }
@@ -1,69 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { ServerLogService } from '../../services/log-service';
3
- import { HmIPDevice } from './hmIpDevice';
4
- import { HmIpDeviceType } from './hmIpDeviceType';
5
- import { DeviceInfo } from '../DeviceInfo';
6
-
7
- export class HmIpHeizung extends HmIPDevice {
8
- private _temperatur: number = 0;
9
- private _level: number = 0;
10
- private _adaptionState: number | undefined;
11
- private _desiredTemperatur: number = 0;
12
-
13
- public get desiredTemperatur(): number {
14
- return this._desiredTemperatur;
15
- }
16
-
17
- public get iLevel(): number {
18
- return this._level;
19
- }
20
-
21
- public get iTemperatur(): number {
22
- return this._temperatur;
23
- }
24
-
25
- public constructor(pInfo: DeviceInfo) {
26
- super(pInfo, HmIpDeviceType.HmIpHeizung);
27
- }
28
-
29
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
30
- ServerLogService.writeLog(
31
- LogLevel.Trace,
32
- `Heizung "${this.info.customName}" Update: ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`,
33
- );
34
- super.update(idSplit, state, initial, true);
35
-
36
- switch (idSplit[3]) {
37
- case '1':
38
- this.updateBaseInformation(idSplit[4], state, initial);
39
- break;
40
- }
41
- }
42
-
43
- private updateBaseInformation(name: string, state: ioBroker.State, initial: boolean) {
44
- switch (name) {
45
- case 'ACTUAL_TEMPERATURE':
46
- this._temperatur = state.val as number;
47
- break;
48
- case 'LEVEL':
49
- this._level = state.val as number;
50
- break;
51
- case 'VALVE_STATE':
52
- this._adaptionState = state.val as number;
53
- if (this._adaptionState !== 4) {
54
- ServerLogService.writeLog(
55
- LogLevel.Alert,
56
- `Adaption State für Heizung "${this.info.customName}" ungewöhnlich: ${this._adaptionState}`,
57
- );
58
- }
59
- break;
60
- case 'SET_POINT_TEMPERATURE':
61
- ServerLogService.writeLog(
62
- LogLevel.Trace,
63
- `Heizung "${this.info.customName}" Update Soll-Temperatur JSON: ${JSON.stringify(state)}`,
64
- );
65
- this._desiredTemperatur = state.val as number;
66
- break;
67
- }
68
- }
69
- }
@@ -1,120 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { HmIPDevice } from './hmIpDevice';
3
- import { HmIpDeviceType } from './hmIpDeviceType';
4
- import { DeviceInfo } from '../DeviceInfo';
5
- import { ServerLogService } from '../../services/log-service';
6
- import { ActuatorSettings } from '../../../models/actuatorSettings';
7
- import { Utils } from '../../services/utils/utils';
8
- import { iLamp } from '../iLamp';
9
-
10
- export class HmIpLampe extends HmIPDevice implements iLamp {
11
- public lightOn: boolean = false;
12
- public queuedLightValue: boolean | null = null;
13
- public isStromStoss: boolean = false;
14
- public settings: ActuatorSettings = new ActuatorSettings();
15
- private lightOnSwitchID: string = '';
16
- private turnOffTimeout: NodeJS.Timeout | undefined = undefined;
17
- private turnOffTime: number = 0;
18
-
19
- public constructor(pInfo: DeviceInfo) {
20
- super(pInfo, HmIpDeviceType.HmIpLampe);
21
- this.lightOnSwitchID = `${this.info.fullID}.2.STATE`;
22
- }
23
-
24
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
25
- ServerLogService.writeLog(
26
- LogLevel.DeepTrace,
27
- `Lampen Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`,
28
- );
29
- super.update(idSplit, state, initial, true);
30
- this.queuedLightValue = null;
31
- switch (idSplit[3]) {
32
- case '1':
33
- if (idSplit[4] === 'STATE') {
34
- this.lightOn = state.val as boolean;
35
- }
36
- break;
37
- }
38
- }
39
-
40
- /**
41
- * This function thats the light to a specific value
42
- * @param pValue The desired value
43
- * @param timeout A chosen Timeout after which the light should be reset
44
- */
45
- public setLight(pValue: boolean, timeout: number = -1, force: boolean = false): void {
46
- if (!force && pValue === this.lightOn && this.queuedLightValue === null) {
47
- ServerLogService.writeLog(
48
- LogLevel.DeepTrace,
49
- `Skip light command for "${this.info.customName}" as it is already ${pValue}`,
50
- );
51
- return;
52
- }
53
- if (this.lightOnSwitchID === '') {
54
- ServerLogService.writeLog(LogLevel.Error, `Keine Switch ID für "${this.info.customName}" bekannt.`);
55
- return;
56
- }
57
-
58
- if (!this.ioConn) {
59
- ServerLogService.writeLog(LogLevel.Error, `Keine Connection für "${this.info.customName}" bekannt.`);
60
- return;
61
- }
62
-
63
- if (!force && Utils.nowMS() < this.turnOffTime) {
64
- ServerLogService.writeLog(
65
- LogLevel.Debug,
66
- `Skip automatic command for "${this.info.customName}" to ${pValue} as it is locked until ${new Date(
67
- this.turnOffTime,
68
- ).toLocaleString()}`,
69
- );
70
- return;
71
- }
72
-
73
- ServerLogService.writeLog(LogLevel.Debug, `Lampe schalten: "${this.info.customName}" Wert: ${pValue}`);
74
- this.ioConn.setState(this.lightOnSwitchID, pValue, (err) => {
75
- if (err) {
76
- ServerLogService.writeLog(LogLevel.Error, `Lampe schalten ergab Fehler: ${err}`);
77
- }
78
- });
79
- this.queuedLightValue = pValue;
80
-
81
- if (this.isStromStoss) {
82
- timeout = 5000;
83
- }
84
-
85
- if (this.turnOffTimeout !== undefined) {
86
- clearTimeout(this.turnOffTimeout);
87
- this.turnOffTimeout = undefined;
88
- }
89
-
90
- if (timeout < 0 || !pValue) {
91
- return;
92
- }
93
-
94
- this.turnOffTime = Utils.nowMS() + timeout;
95
- this.turnOffTimeout = Utils.guardedTimeout(
96
- () => {
97
- ServerLogService.writeLog(LogLevel.Debug, `Delayed Turnoff for "${this.info.customName}" initiated`);
98
- this.turnOffTimeout = undefined;
99
- if (!this.room) {
100
- this.setLight(false, -1, true);
101
- } else {
102
- this.room.setLightTimeBased(true);
103
- }
104
- },
105
- timeout,
106
- this,
107
- );
108
- }
109
-
110
- /**
111
- * Switch the current condition of the light
112
- * @param force Whether this is a forcing action skipping delays and locks
113
- */
114
- public toggleLight(force: boolean = false): boolean {
115
- const newVal = this.queuedLightValue !== null ? !this.queuedLightValue : !this.lightOn;
116
- const timeout: number = newVal && force ? 30 * 60 * 1000 : -1;
117
- this.setLight(newVal, timeout, force);
118
- return newVal;
119
- }
120
- }
@@ -1,117 +0,0 @@
1
- import { HmIPDevice } from './hmIpDevice';
2
- import { HmIpDeviceType } from './hmIpDeviceType';
3
- import { DeviceInfo } from '../DeviceInfo';
4
- import { LogLevel } from '../../../models/logLevel';
5
- import { ServerLogService } from '../../services/log-service';
6
- import { Persist } from '../../services/dbo/persist';
7
- import { CountToday } from '../../../models/persistence/todaysCount';
8
- import { Utils } from '../../services/utils/utils';
9
- import { CurrentIlluminationDataPoint } from '../../../models/persistence/CurrentIlluminationDataPoint';
10
- import { iIlluminationSensor } from '../iIlluminationSensor';
11
-
12
- export class HmIpPraezenz extends HmIPDevice implements iIlluminationSensor {
13
- public excludeFromNightAlarm: boolean = false;
14
- public presenceDetected: boolean = false;
15
- private _detectionsToday: number = 0;
16
- private _presenceDetectedCallback: Array<(pValue: boolean) => void> = [];
17
- private static PRESENCE_DETECTION: string = 'PRESENCE_DETECTION_STATE';
18
- private static ILLUMINATION_DURING_MOVEMENT: string = 'CURRENT_ILLUMINATION';
19
- private static CURRENT_ILLUMINATION: string = 'ILLUMINATION';
20
- private presenceStateID: string;
21
- private initialized: boolean = false;
22
- private _currentIllumination: number = -1;
23
-
24
- public get detectionsToday(): number {
25
- return this._detectionsToday;
26
- }
27
-
28
- public set detectionsToday(pVal: number) {
29
- const oldVal: number = this._detectionsToday;
30
- this._detectionsToday = pVal;
31
- Persist.persistTodayCount(this, pVal, oldVal);
32
- }
33
-
34
- public get currentIllumination(): number {
35
- return this._currentIllumination;
36
- }
37
- private set currentIllumination(value: number) {
38
- this._currentIllumination = value;
39
- Persist.persistCurrentIllumination(
40
- new CurrentIlluminationDataPoint(this.info.room, this.info.devID, value, new Date(), this.room?.LampenGroup.anyLightsOwn())
41
- );
42
- }
43
-
44
- public constructor(pInfo: DeviceInfo) {
45
- super(pInfo, HmIpDeviceType.HmIpPraezenz);
46
- this.presenceStateID = `${this.info.fullID}.1.${HmIpPraezenz.PRESENCE_DETECTION}`;
47
- Persist.getCount(this).then((todayCount: CountToday) => {
48
- this.detectionsToday = todayCount.counter;
49
- ServerLogService.writeLog(
50
- LogLevel.Debug,
51
- `Präsenzcounter "${this.info.customName}" vorinitialisiert mit ${this.detectionsToday}`,
52
- );
53
- this.initialized = true;
54
- });
55
- }
56
-
57
- public addPresenceCallback(pCallback: (pValue: boolean) => void): void {
58
- this._presenceDetectedCallback.push(pCallback);
59
- }
60
-
61
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
62
- ServerLogService.writeLog(LogLevel.Trace, `Präzens Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
63
- super.update(idSplit, state, initial, true);
64
-
65
- if (idSplit[3] !== '1') {
66
- // Nur die Infos in Kanal 1 sind relevant
67
- return;
68
- }
69
-
70
- switch (idSplit[4]) {
71
- case HmIpPraezenz.PRESENCE_DETECTION:
72
- this.updatePresence(state.val as boolean);
73
- break;
74
- case HmIpPraezenz.CURRENT_ILLUMINATION:
75
- this.currentIllumination = state.val as number;
76
- break;
77
- }
78
- }
79
-
80
- public updatePresence(pVal: boolean): void {
81
- if (!this.initialized && pVal) {
82
- ServerLogService.writeLog(
83
- LogLevel.Debug,
84
- `Präsenz für "${this.info.customName}" erkannt aber die Initialisierung aus der DB ist noch nicht erfolgt --> verzögern`,
85
- );
86
- Utils.guardedTimeout(
87
- () => {
88
- this.updatePresence(pVal);
89
- },
90
- 1000,
91
- this,
92
- );
93
- return;
94
- }
95
- if (pVal === this.presenceDetected) {
96
- ServerLogService.writeLog(
97
- LogLevel.Debug,
98
- `Überspringe Präsenz für "${this.info.customName}" da bereits der Wert ${pVal} vorliegt`,
99
- );
100
- return;
101
- }
102
-
103
- this.presenceDetected = pVal;
104
- ServerLogService.writeLog(LogLevel.Debug, `Neuer Präsenzstatus Wert für "${this.info.customName}": ${pVal}`);
105
-
106
- if (pVal) {
107
- this.detectionsToday++;
108
- ServerLogService.writeLog(
109
- LogLevel.Trace,
110
- `Dies ist die ${this.detectionsToday} Bewegung für "${this.info.customName}"`,
111
- );
112
- }
113
- for (const c of this._presenceDetectedCallback) {
114
- c(pVal);
115
- }
116
- }
117
- }
@@ -1,133 +0,0 @@
1
- import { LogLevel } from '../../../models/logLevel';
2
- import { Fenster } from './Fenster';
3
- import { FensterPosition } from './FensterPosition';
4
- import { HmIPDevice } from './hmIpDevice';
5
- import { HmIpDeviceType } from './hmIpDeviceType';
6
- import { DeviceInfo } from '../DeviceInfo';
7
- import { ServerLogService } from '../../services/log-service';
8
- import { Utils } from '../../services/utils/utils';
9
-
10
- export class HmIpRoll extends HmIPDevice {
11
- public get currentLevel(): number {
12
- if (this._setLevel !== -1 && this._currentLevel !== this._setLevel) {
13
- return this._setLevel;
14
- }
15
- return this._currentLevel;
16
- }
17
-
18
- public set currentLevel(value: number) {
19
- if (value !== this._setLevel && Utils.nowMS() - this._setLevelTime < 60 * 10000) {
20
- value = this._setLevel;
21
- }
22
- if (value !== this._currentLevel && this._fenster) {
23
- Utils.guardedNewThread(() => {
24
- this._fenster?.rolloPositionChange(value);
25
- }, this);
26
- }
27
- this._currentLevel = value;
28
- }
29
-
30
- public get desiredFensterLevel(): number {
31
- if (this._fenster === undefined) {
32
- return -1;
33
- }
34
- return this._fenster.desiredPosition;
35
- }
36
-
37
- private _currentLevel: number = -1;
38
- private _setLevelSwitchID: string;
39
- private _fenster?: Fenster;
40
- private _firstCommandRecieved: boolean = false;
41
- private _setLevel: number = -1;
42
- private _setLevelTime: number = -1;
43
-
44
- public set Fenster(value: Fenster) {
45
- this._fenster = value;
46
- }
47
-
48
- public constructor(pInfo: DeviceInfo) {
49
- super(pInfo, HmIpDeviceType.HmIpRoll);
50
- this._setLevelSwitchID = `${this.info.fullID}.4.LEVEL`;
51
- }
52
-
53
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
54
- ServerLogService.writeLog(
55
- LogLevel.DeepTrace,
56
- `Rollo Update für "${this.info.customName}": ID: ${idSplit.join('.')} JSON: ${JSON.stringify(state)}`,
57
- );
58
- super.update(idSplit, state, initial, true);
59
- switch (idSplit[3]) {
60
- case '3':
61
- if (idSplit[4] === 'LEVEL') {
62
- this.currentLevel = state.val as number;
63
- }
64
- break;
65
- }
66
- }
67
-
68
- public setLevel(pPosition: number, initial: boolean = false, skipOpenWarning: boolean = false): void {
69
- if (!this._firstCommandRecieved && !initial) {
70
- this._firstCommandRecieved = true;
71
- }
72
- if (this._firstCommandRecieved && initial) {
73
- ServerLogService.writeLog(
74
- LogLevel.Debug,
75
- `Skipped initial Rollo "${this.info.customName}" to ${pPosition} as we recieved a command already`,
76
- );
77
- return;
78
- }
79
- if (this.currentLevel === pPosition) {
80
- ServerLogService.writeLog(
81
- LogLevel.Debug,
82
- `Skip Rollo command for "${this.info.customName}" to Position ${pPosition} as this is the current one`,
83
- );
84
- return;
85
- }
86
- if (this._setLevelSwitchID === '') {
87
- console.error(`Keine Switch ID für "${this.info.customName}" bekannt.`);
88
- return;
89
- }
90
-
91
- if (!this.ioConn) {
92
- console.error(`Keine Connection für "${this.info.customName}" bekannt.`);
93
- return;
94
- }
95
-
96
- if (this._fenster !== undefined) {
97
- if (this._fenster.griffeInPosition(FensterPosition.offen) > 0 && pPosition < 100) {
98
- if (!skipOpenWarning) {
99
- ServerLogService.writeLog(
100
- LogLevel.Alert,
101
- `Fahre Rollo "${this.info.customName}" nicht runter, weil das Fenster offen ist!`,
102
- );
103
- }
104
- return;
105
- }
106
- if (this._fenster.griffeInPosition(FensterPosition.kipp) > 0 && pPosition < 50) {
107
- pPosition = 50;
108
- if (!skipOpenWarning) {
109
- ServerLogService.writeLog(
110
- LogLevel.Alert,
111
- `Fahre Rollo "${this.info.customName}" nicht runter, weil das Fenster auf Kipp ist!`,
112
- );
113
- }
114
- }
115
- }
116
-
117
- this._setLevel = pPosition;
118
- ServerLogService.writeLog(LogLevel.Debug, `Fahre Rollo "${this.info.customName}" auf Position ${pPosition}`);
119
- this.ioConn.setState(this._setLevelSwitchID, pPosition);
120
- }
121
-
122
- public down(initial: boolean = false): void {
123
- this.setLevel(0, initial);
124
- }
125
-
126
- public middle(): void {
127
- this.setLevel(50);
128
- }
129
-
130
- public up(initial: boolean = false): void {
131
- this.setLevel(100, initial);
132
- }
133
- }
@@ -1,82 +0,0 @@
1
- import { HmIPDevice } from './hmIpDevice';
2
- import { HmIpDeviceType } from './hmIpDeviceType';
3
- import { DeviceInfo } from '../DeviceInfo';
4
- import { Taste } from '../taste';
5
- import { LogLevel } from '../../../models/logLevel';
6
- import { ServerLogService } from '../../services/log-service';
7
- import { iTaster } from "/server/config/private/server/devices/iTaster";
8
-
9
- export class HmIpTaster extends HmIPDevice implements iTaster{
10
- public tasten: { [id: string]: Taste} = {
11
- ObenLinks: new Taste(1),
12
- ObenRechts: new Taste(2),
13
- MitteLinks: new Taste(3),
14
- MitteRechts: new Taste(4),
15
- UntenLinks: new Taste(5),
16
- UntenRechts: new Taste(6),
17
- };
18
-
19
- public constructor(pInfo: DeviceInfo) {
20
- super(pInfo, HmIpDeviceType.HmIpTaster);
21
- }
22
-
23
- public update(idSplit: string[], state: ioBroker.State, initial: boolean = false): void {
24
- ServerLogService.writeLog(LogLevel.Trace, `Taster Update: JSON: ${JSON.stringify(state)}ID: ${idSplit.join('.')}`);
25
- super.update(idSplit, state, initial, true);
26
- let cTaste: Taste | undefined = undefined;
27
- switch (idSplit[3]) {
28
- case '1':
29
- cTaste = this.tasten.ObenLinks;
30
- break;
31
- case '2':
32
- cTaste = this.tasten.ObenRechts;
33
- break;
34
- case '3':
35
- cTaste = this.tasten.MitteLinks;
36
- break;
37
- case '4':
38
- cTaste = this.tasten.MitteRechts;
39
- break;
40
- case '5':
41
- cTaste = this.tasten.UntenLinks;
42
- break;
43
- case '6':
44
- cTaste = this.tasten.UntenRechts;
45
- break;
46
- }
47
-
48
- if (cTaste === undefined) {
49
- return;
50
- }
51
-
52
- switch (idSplit[4]) {
53
- case 'PRESS_SHORT':
54
- if (!initial) {
55
- // Tasten beim Starten ignorieren
56
- cTaste.updateShort(state.val as boolean);
57
- }
58
- break;
59
- case 'PRESS_LONG':
60
- if (!initial) {
61
- // Tasten beim Starten ignorieren
62
- cTaste.updateLong(state.val as boolean);
63
- }
64
- break;
65
- }
66
- }
67
-
68
- public getTastenAssignment(): string {
69
- const result: string[] = [`Button: ${this.info.customName}`];
70
- for (const tastenName in this.tasten) {
71
- const desc: string = this.tasten[tastenName].getDescription();
72
- if (desc === '') {
73
- continue;
74
- }
75
- result.push(`Button "${tastenName}":`);
76
- result.push(desc);
77
- result.push('');
78
- }
79
- result.push('____________');
80
- return result.join('\n');
81
- }
82
- }