@digital-alchemy/core 0.1.17 → 0.2.0

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 (338) hide show
  1. package/dist/{boilerplate/extensions → extensions}/cache.extension.d.ts +3 -3
  2. package/dist/{boilerplate/extensions → extensions}/cache.extension.js +16 -16
  3. package/dist/extensions/cache.extension.js.map +1 -0
  4. package/dist/{boilerplate/extensions → extensions}/configuration.extension.d.ts +3 -3
  5. package/dist/{boilerplate/extensions → extensions}/configuration.extension.js +8 -8
  6. package/dist/extensions/configuration.extension.js.map +1 -0
  7. package/dist/{boilerplate/extensions → extensions}/fetch.extension.d.ts +2 -2
  8. package/dist/{boilerplate/extensions → extensions}/fetch.extension.js +22 -22
  9. package/dist/extensions/fetch.extension.js.map +1 -0
  10. package/dist/{boilerplate/extensions → extensions}/index.d.ts +2 -0
  11. package/dist/{boilerplate/extensions → extensions}/index.js +2 -0
  12. package/dist/extensions/index.js.map +1 -0
  13. package/dist/{utilities/extensions/zcc.extension.d.ts → extensions/internal.extension.d.ts} +4 -4
  14. package/dist/{utilities/extensions/zcc.extension.js → extensions/internal.extension.js} +8 -8
  15. package/dist/extensions/internal.extension.js.map +1 -0
  16. package/dist/extensions/is.extension.js.map +1 -0
  17. package/dist/{boilerplate/extensions → extensions}/logger.extension.d.ts +3 -3
  18. package/dist/{boilerplate/extensions → extensions}/logger.extension.js +1 -1
  19. package/dist/extensions/logger.extension.js.map +1 -0
  20. package/dist/{boilerplate/extensions → extensions}/scheduler.extension.d.ts +1 -1
  21. package/dist/{boilerplate/extensions → extensions}/scheduler.extension.js +1 -1
  22. package/dist/extensions/scheduler.extension.js.map +1 -0
  23. package/dist/{boilerplate/extensions → extensions}/wiring.extension.d.ts +3 -30
  24. package/dist/{boilerplate/extensions → extensions}/wiring.extension.js +43 -59
  25. package/dist/extensions/wiring.extension.js.map +1 -0
  26. package/dist/helpers/async.helper.js.map +1 -0
  27. package/dist/{boilerplate/helpers → helpers}/cache-memory.helper.js +1 -1
  28. package/dist/helpers/cache-memory.helper.js.map +1 -0
  29. package/dist/{boilerplate/helpers → helpers}/cache-redis.helper.js +1 -1
  30. package/dist/helpers/cache-redis.helper.js.map +1 -0
  31. package/dist/{boilerplate/helpers → helpers}/config-environment-loader.helper.js +1 -1
  32. package/dist/helpers/config-environment-loader.helper.js.map +1 -0
  33. package/dist/{boilerplate/helpers → helpers}/config-file-loader.helper.js +2 -2
  34. package/dist/helpers/config-file-loader.helper.js.map +1 -0
  35. package/dist/{boilerplate/helpers → helpers}/config.helper.d.ts +1 -1
  36. package/dist/{boilerplate/helpers → helpers}/config.helper.js +1 -1
  37. package/dist/helpers/config.helper.js.map +1 -0
  38. package/dist/helpers/context.helper.js.map +1 -0
  39. package/dist/helpers/cron.helper.js.map +1 -0
  40. package/dist/{boilerplate/helpers → helpers}/errors.helper.d.ts +1 -1
  41. package/dist/helpers/errors.helper.js.map +1 -0
  42. package/dist/{boilerplate/helpers → helpers}/events.helper.js +1 -1
  43. package/dist/helpers/events.helper.js.map +1 -0
  44. package/dist/helpers/extend.helper.js.map +1 -0
  45. package/dist/{boilerplate/helpers → helpers}/fetch.helper.d.ts +1 -1
  46. package/dist/{boilerplate/helpers → helpers}/fetch.helper.js +1 -1
  47. package/dist/helpers/fetch.helper.js.map +1 -0
  48. package/dist/{utilities/helpers/index.js → helpers/index copy.js } +1 -1
  49. package/dist/helpers/index copy.js.map +1 -0
  50. package/dist/{boilerplate/helpers → helpers}/index.d.ts +5 -0
  51. package/dist/{boilerplate/helpers → helpers}/index.js +5 -0
  52. package/dist/helpers/index.js.map +1 -0
  53. package/dist/{boilerplate/helpers → helpers}/lifecycle.helper.d.ts +1 -1
  54. package/dist/helpers/lifecycle.helper.js.map +1 -0
  55. package/dist/helpers/metrics.helper.js.map +1 -0
  56. package/dist/{boilerplate/helpers → helpers}/testing.helper.d.ts +0 -5
  57. package/dist/{boilerplate/helpers → helpers}/testing.helper.js +3 -3
  58. package/dist/helpers/testing.helper.js.map +1 -0
  59. package/dist/helpers/utilities.helper.js.map +1 -0
  60. package/dist/{boilerplate/helpers → helpers}/wiring.helper.d.ts +3 -3
  61. package/dist/helpers/wiring.helper.js.map +1 -0
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.js +2 -4
  64. package/dist/index.js.map +1 -1
  65. package/package.json +7 -21
  66. package/dist/automation/automation.module.d.ts +0 -96
  67. package/dist/automation/automation.module.js +0 -105
  68. package/dist/automation/automation.module.js.map +0 -1
  69. package/dist/automation/extensions/aggressive-scenes.extension.d.ts +0 -12
  70. package/dist/automation/extensions/aggressive-scenes.extension.js +0 -114
  71. package/dist/automation/extensions/aggressive-scenes.extension.js.map +0 -1
  72. package/dist/automation/extensions/circadian.extension.d.ts +0 -6
  73. package/dist/automation/extensions/circadian.extension.js +0 -81
  74. package/dist/automation/extensions/circadian.extension.js.map +0 -1
  75. package/dist/automation/extensions/index.d.ts +0 -7
  76. package/dist/automation/extensions/index.js +0 -11
  77. package/dist/automation/extensions/index.js.map +0 -1
  78. package/dist/automation/extensions/light-manager.extension.d.ts +0 -26
  79. package/dist/automation/extensions/light-manager.extension.js +0 -258
  80. package/dist/automation/extensions/light-manager.extension.js.map +0 -1
  81. package/dist/automation/extensions/managed-switch.extension.d.ts +0 -3
  82. package/dist/automation/extensions/managed-switch.extension.js +0 -73
  83. package/dist/automation/extensions/managed-switch.extension.js.map +0 -1
  84. package/dist/automation/extensions/room.extension.d.ts +0 -11
  85. package/dist/automation/extensions/room.extension.js +0 -177
  86. package/dist/automation/extensions/room.extension.js.map +0 -1
  87. package/dist/automation/extensions/sequence-matcher.extension.d.ts +0 -3
  88. package/dist/automation/extensions/sequence-matcher.extension.js +0 -123
  89. package/dist/automation/extensions/sequence-matcher.extension.js.map +0 -1
  90. package/dist/automation/extensions/solar-calc.extension.d.ts +0 -20
  91. package/dist/automation/extensions/solar-calc.extension.js +0 -104
  92. package/dist/automation/extensions/solar-calc.extension.js.map +0 -1
  93. package/dist/automation/helpers/events.helper.d.ts +0 -33
  94. package/dist/automation/helpers/events.helper.js +0 -14
  95. package/dist/automation/helpers/events.helper.js.map +0 -1
  96. package/dist/automation/helpers/index.d.ts +0 -7
  97. package/dist/automation/helpers/index.js +0 -11
  98. package/dist/automation/helpers/index.js.map +0 -1
  99. package/dist/automation/helpers/managed-switch.helper.d.ts +0 -41
  100. package/dist/automation/helpers/managed-switch.helper.js +0 -3
  101. package/dist/automation/helpers/managed-switch.helper.js.map +0 -1
  102. package/dist/automation/helpers/metrics.helper.d.ts +0 -13
  103. package/dist/automation/helpers/metrics.helper.js +0 -30
  104. package/dist/automation/helpers/metrics.helper.js.map +0 -1
  105. package/dist/automation/helpers/reftimes.helper.d.ts +0 -54
  106. package/dist/automation/helpers/reftimes.helper.js +0 -33
  107. package/dist/automation/helpers/reftimes.helper.js.map +0 -1
  108. package/dist/automation/helpers/scene.helper.d.ts +0 -97
  109. package/dist/automation/helpers/scene.helper.js +0 -5
  110. package/dist/automation/helpers/scene.helper.js.map +0 -1
  111. package/dist/automation/helpers/sequence.helper.d.ts +0 -55
  112. package/dist/automation/helpers/sequence.helper.js +0 -3
  113. package/dist/automation/helpers/sequence.helper.js.map +0 -1
  114. package/dist/automation/helpers/solar.helper.d.ts +0 -3
  115. package/dist/automation/helpers/solar.helper.js +0 -262
  116. package/dist/automation/helpers/solar.helper.js.map +0 -1
  117. package/dist/automation/index.d.ts +0 -3
  118. package/dist/automation/index.js +0 -10
  119. package/dist/automation/index.js.map +0 -1
  120. package/dist/boilerplate/extensions/cache.extension.js.map +0 -1
  121. package/dist/boilerplate/extensions/configuration.extension.js.map +0 -1
  122. package/dist/boilerplate/extensions/fetch.extension.js.map +0 -1
  123. package/dist/boilerplate/extensions/index.js.map +0 -1
  124. package/dist/boilerplate/extensions/logger.extension.js.map +0 -1
  125. package/dist/boilerplate/extensions/scheduler.extension.js.map +0 -1
  126. package/dist/boilerplate/extensions/wiring.extension.js.map +0 -1
  127. package/dist/boilerplate/helpers/cache-memory.helper.js.map +0 -1
  128. package/dist/boilerplate/helpers/cache-redis.helper.js.map +0 -1
  129. package/dist/boilerplate/helpers/config-environment-loader.helper.js.map +0 -1
  130. package/dist/boilerplate/helpers/config-file-loader.helper.js.map +0 -1
  131. package/dist/boilerplate/helpers/config.helper.js.map +0 -1
  132. package/dist/boilerplate/helpers/errors.helper.js.map +0 -1
  133. package/dist/boilerplate/helpers/events.helper.js.map +0 -1
  134. package/dist/boilerplate/helpers/fetch.helper.js.map +0 -1
  135. package/dist/boilerplate/helpers/index.js.map +0 -1
  136. package/dist/boilerplate/helpers/lifecycle.helper.js.map +0 -1
  137. package/dist/boilerplate/helpers/metrics.helper.js.map +0 -1
  138. package/dist/boilerplate/helpers/testing.helper.js.map +0 -1
  139. package/dist/boilerplate/helpers/wiring.helper.js.map +0 -1
  140. package/dist/boilerplate/index.d.ts +0 -2
  141. package/dist/boilerplate/index.js +0 -6
  142. package/dist/boilerplate/index.js.map +0 -1
  143. package/dist/gotify/extensions/application.extension.d.ts +0 -13
  144. package/dist/gotify/extensions/application.extension.js +0 -52
  145. package/dist/gotify/extensions/application.extension.js.map +0 -1
  146. package/dist/gotify/extensions/client.extension.d.ts +0 -8
  147. package/dist/gotify/extensions/client.extension.js +0 -38
  148. package/dist/gotify/extensions/client.extension.js.map +0 -1
  149. package/dist/gotify/extensions/fetch.extension.d.ts +0 -2
  150. package/dist/gotify/extensions/fetch.extension.js +0 -13
  151. package/dist/gotify/extensions/fetch.extension.js.map +0 -1
  152. package/dist/gotify/extensions/index.d.ts +0 -4
  153. package/dist/gotify/extensions/index.js +0 -8
  154. package/dist/gotify/extensions/index.js.map +0 -1
  155. package/dist/gotify/extensions/message.extension.d.ts +0 -8
  156. package/dist/gotify/extensions/message.extension.js +0 -37
  157. package/dist/gotify/extensions/message.extension.js.map +0 -1
  158. package/dist/gotify/gotify.module.d.ts +0 -34
  159. package/dist/gotify/gotify.module.js +0 -33
  160. package/dist/gotify/gotify.module.js.map +0 -1
  161. package/dist/gotify/helpers/api.d.ts +0 -346
  162. package/dist/gotify/helpers/api.js +0 -14
  163. package/dist/gotify/helpers/api.js.map +0 -1
  164. package/dist/gotify/helpers/events.helper.d.ts +0 -6
  165. package/dist/gotify/helpers/events.helper.js +0 -5
  166. package/dist/gotify/helpers/events.helper.js.map +0 -1
  167. package/dist/gotify/helpers/index.d.ts +0 -2
  168. package/dist/gotify/helpers/index.js +0 -6
  169. package/dist/gotify/helpers/index.js.map +0 -1
  170. package/dist/gotify/index.d.ts +0 -3
  171. package/dist/gotify/index.js +0 -7
  172. package/dist/gotify/index.js.map +0 -1
  173. package/dist/hass/dynamic.d.ts +0 -1126
  174. package/dist/hass/dynamic.js +0 -153
  175. package/dist/hass/dynamic.js.map +0 -1
  176. package/dist/hass/extensions/call-proxy.extension.d.ts +0 -4
  177. package/dist/hass/extensions/call-proxy.extension.js +0 -88
  178. package/dist/hass/extensions/call-proxy.extension.js.map +0 -1
  179. package/dist/hass/extensions/config.extension.d.ts +0 -2
  180. package/dist/hass/extensions/config.extension.js +0 -53
  181. package/dist/hass/extensions/config.extension.js.map +0 -1
  182. package/dist/hass/extensions/entity-manager.extension.d.ts +0 -61
  183. package/dist/hass/extensions/entity-manager.extension.js +0 -211
  184. package/dist/hass/extensions/entity-manager.extension.js.map +0 -1
  185. package/dist/hass/extensions/fetch-api.extension.d.ts +0 -29
  186. package/dist/hass/extensions/fetch-api.extension.js +0 -174
  187. package/dist/hass/extensions/fetch-api.extension.js.map +0 -1
  188. package/dist/hass/extensions/index.d.ts +0 -6
  189. package/dist/hass/extensions/index.js +0 -10
  190. package/dist/hass/extensions/index.js.map +0 -1
  191. package/dist/hass/extensions/utilities.extension.d.ts +0 -9
  192. package/dist/hass/extensions/utilities.extension.js +0 -43
  193. package/dist/hass/extensions/utilities.extension.js.map +0 -1
  194. package/dist/hass/extensions/websocket-api.extension.d.ts +0 -39
  195. package/dist/hass/extensions/websocket-api.extension.js +0 -363
  196. package/dist/hass/extensions/websocket-api.extension.js.map +0 -1
  197. package/dist/hass/hass.module.d.ts +0 -80
  198. package/dist/hass/hass.module.js +0 -83
  199. package/dist/hass/hass.module.js.map +0 -1
  200. package/dist/hass/helpers/backup.helper.d.ts +0 -11
  201. package/dist/hass/helpers/backup.helper.js +0 -3
  202. package/dist/hass/helpers/backup.helper.js.map +0 -1
  203. package/dist/hass/helpers/constants.helper.d.ts +0 -54
  204. package/dist/hass/helpers/constants.helper.js +0 -63
  205. package/dist/hass/helpers/constants.helper.js.map +0 -1
  206. package/dist/hass/helpers/entity-state.helper.d.ts +0 -45
  207. package/dist/hass/helpers/entity-state.helper.js +0 -9
  208. package/dist/hass/helpers/entity-state.helper.js.map +0 -1
  209. package/dist/hass/helpers/fetch/calendar.d.ts +0 -54
  210. package/dist/hass/helpers/fetch/calendar.js +0 -3
  211. package/dist/hass/helpers/fetch/calendar.js.map +0 -1
  212. package/dist/hass/helpers/fetch/configuration.d.ts +0 -34
  213. package/dist/hass/helpers/fetch/configuration.js +0 -3
  214. package/dist/hass/helpers/fetch/configuration.js.map +0 -1
  215. package/dist/hass/helpers/fetch/index.d.ts +0 -4
  216. package/dist/hass/helpers/fetch/index.js +0 -8
  217. package/dist/hass/helpers/fetch/index.js.map +0 -1
  218. package/dist/hass/helpers/fetch/server-log.d.ts +0 -10
  219. package/dist/hass/helpers/fetch/server-log.js +0 -20
  220. package/dist/hass/helpers/fetch/server-log.js.map +0 -1
  221. package/dist/hass/helpers/fetch/service-list.d.ts +0 -51
  222. package/dist/hass/helpers/fetch/service-list.js +0 -3
  223. package/dist/hass/helpers/fetch/service-list.js.map +0 -1
  224. package/dist/hass/helpers/index.d.ts +0 -7
  225. package/dist/hass/helpers/index.js +0 -11
  226. package/dist/hass/helpers/index.js.map +0 -1
  227. package/dist/hass/helpers/metrics.helper.d.ts +0 -13
  228. package/dist/hass/helpers/metrics.helper.js +0 -30
  229. package/dist/hass/helpers/metrics.helper.js.map +0 -1
  230. package/dist/hass/helpers/utility.helper.d.ts +0 -61
  231. package/dist/hass/helpers/utility.helper.js +0 -38
  232. package/dist/hass/helpers/utility.helper.js.map +0 -1
  233. package/dist/hass/helpers/websocket.helper.d.ts +0 -129
  234. package/dist/hass/helpers/websocket.helper.js +0 -3
  235. package/dist/hass/helpers/websocket.helper.js.map +0 -1
  236. package/dist/hass/index.d.ts +0 -4
  237. package/dist/hass/index.js +0 -8
  238. package/dist/hass/index.js.map +0 -1
  239. package/dist/nexus/entities.extension.d.ts +0 -2
  240. package/dist/nexus/entities.extension.js +0 -50
  241. package/dist/nexus/entities.extension.js.map +0 -1
  242. package/dist/nexus/main.d.ts +0 -9
  243. package/dist/nexus/main.js +0 -28
  244. package/dist/nexus/main.js.map +0 -1
  245. package/dist/purge/main.d.ts +0 -34
  246. package/dist/purge/main.js +0 -50
  247. package/dist/purge/main.js.map +0 -1
  248. package/dist/purge/purge.extension.d.ts +0 -2
  249. package/dist/purge/purge.extension.js +0 -49
  250. package/dist/purge/purge.extension.js.map +0 -1
  251. package/dist/synapse/extensions/binary-sensor.extension.d.ts +0 -19
  252. package/dist/synapse/extensions/binary-sensor.extension.js +0 -84
  253. package/dist/synapse/extensions/binary-sensor.extension.js.map +0 -1
  254. package/dist/synapse/extensions/button.extension.d.ts +0 -10
  255. package/dist/synapse/extensions/button.extension.js +0 -46
  256. package/dist/synapse/extensions/button.extension.js.map +0 -1
  257. package/dist/synapse/extensions/index.d.ts +0 -6
  258. package/dist/synapse/extensions/index.js +0 -10
  259. package/dist/synapse/extensions/index.js.map +0 -1
  260. package/dist/synapse/extensions/registry.extension.d.ts +0 -21
  261. package/dist/synapse/extensions/registry.extension.js +0 -223
  262. package/dist/synapse/extensions/registry.extension.js.map +0 -1
  263. package/dist/synapse/extensions/scene.extension.d.ts +0 -9
  264. package/dist/synapse/extensions/scene.extension.js +0 -37
  265. package/dist/synapse/extensions/scene.extension.js.map +0 -1
  266. package/dist/synapse/extensions/sensor.extension.d.ts +0 -25
  267. package/dist/synapse/extensions/sensor.extension.js +0 -154
  268. package/dist/synapse/extensions/sensor.extension.js.map +0 -1
  269. package/dist/synapse/extensions/switch.extension.d.ts +0 -19
  270. package/dist/synapse/extensions/switch.extension.js +0 -95
  271. package/dist/synapse/extensions/switch.extension.js.map +0 -1
  272. package/dist/synapse/helpers/device-class.helper.d.ts +0 -323
  273. package/dist/synapse/helpers/device-class.helper.js +0 -241
  274. package/dist/synapse/helpers/device-class.helper.js.map +0 -1
  275. package/dist/synapse/helpers/index.d.ts +0 -3
  276. package/dist/synapse/helpers/index.js +0 -7
  277. package/dist/synapse/helpers/index.js.map +0 -1
  278. package/dist/synapse/helpers/metrics.helper.d.ts +0 -13
  279. package/dist/synapse/helpers/metrics.helper.js +0 -30
  280. package/dist/synapse/helpers/metrics.helper.js.map +0 -1
  281. package/dist/synapse/helpers/utility.helper.d.ts +0 -1
  282. package/dist/synapse/helpers/utility.helper.js +0 -3
  283. package/dist/synapse/helpers/utility.helper.js.map +0 -1
  284. package/dist/synapse/index.d.ts +0 -3
  285. package/dist/synapse/index.js +0 -7
  286. package/dist/synapse/index.js.map +0 -1
  287. package/dist/synapse/synapse.module.d.ts +0 -54
  288. package/dist/synapse/synapse.module.js +0 -65
  289. package/dist/synapse/synapse.module.js.map +0 -1
  290. package/dist/type-writer/build.extension.d.ts +0 -2
  291. package/dist/type-writer/build.extension.js +0 -52
  292. package/dist/type-writer/build.extension.js.map +0 -1
  293. package/dist/type-writer/main.d.ts +0 -17
  294. package/dist/type-writer/main.js +0 -36
  295. package/dist/type-writer/main.js.map +0 -1
  296. package/dist/type-writer/type-writer.extension.d.ts +0 -2
  297. package/dist/type-writer/type-writer.extension.js +0 -214
  298. package/dist/type-writer/type-writer.extension.js.map +0 -1
  299. package/dist/utilities/extensions/index.d.ts +0 -3
  300. package/dist/utilities/extensions/index.js +0 -7
  301. package/dist/utilities/extensions/index.js.map +0 -1
  302. package/dist/utilities/extensions/is.extension.js.map +0 -1
  303. package/dist/utilities/extensions/zcc-testing.extension.d.ts +0 -4
  304. package/dist/utilities/extensions/zcc-testing.extension.js +0 -9
  305. package/dist/utilities/extensions/zcc-testing.extension.js.map +0 -1
  306. package/dist/utilities/extensions/zcc.extension.js.map +0 -1
  307. package/dist/utilities/helpers/async.helper.js.map +0 -1
  308. package/dist/utilities/helpers/context.helper.js.map +0 -1
  309. package/dist/utilities/helpers/cron.helper.js.map +0 -1
  310. package/dist/utilities/helpers/extend.helper.js.map +0 -1
  311. package/dist/utilities/helpers/index.js.map +0 -1
  312. package/dist/utilities/helpers/utilities.helper.js.map +0 -1
  313. package/dist/utilities/index.d.ts +0 -2
  314. package/dist/utilities/index.js +0 -6
  315. package/dist/utilities/index.js.map +0 -1
  316. /package/dist/{utilities/extensions → extensions}/is.extension.d.ts +0 -0
  317. /package/dist/{utilities/extensions → extensions}/is.extension.js +0 -0
  318. /package/dist/{utilities/helpers → helpers}/async.helper.d.ts +0 -0
  319. /package/dist/{utilities/helpers → helpers}/async.helper.js +0 -0
  320. /package/dist/{boilerplate/helpers → helpers}/cache-memory.helper.d.ts +0 -0
  321. /package/dist/{boilerplate/helpers → helpers}/cache-redis.helper.d.ts +0 -0
  322. /package/dist/{boilerplate/helpers → helpers}/config-environment-loader.helper.d.ts +0 -0
  323. /package/dist/{boilerplate/helpers → helpers}/config-file-loader.helper.d.ts +0 -0
  324. /package/dist/{utilities/helpers → helpers}/context.helper.d.ts +0 -0
  325. /package/dist/{utilities/helpers → helpers}/context.helper.js +0 -0
  326. /package/dist/{utilities/helpers → helpers}/cron.helper.d.ts +0 -0
  327. /package/dist/{utilities/helpers → helpers}/cron.helper.js +0 -0
  328. /package/dist/{boilerplate/helpers → helpers}/errors.helper.js +0 -0
  329. /package/dist/{boilerplate/helpers → helpers}/events.helper.d.ts +0 -0
  330. /package/dist/{utilities/helpers → helpers}/extend.helper.d.ts +0 -0
  331. /package/dist/{utilities/helpers → helpers}/extend.helper.js +0 -0
  332. /package/dist/{utilities/helpers/index.d.ts → helpers/index copy.d.ts} +0 -0
  333. /package/dist/{boilerplate/helpers → helpers}/lifecycle.helper.js +0 -0
  334. /package/dist/{boilerplate/helpers → helpers}/metrics.helper.d.ts +0 -0
  335. /package/dist/{boilerplate/helpers → helpers}/metrics.helper.js +0 -0
  336. /package/dist/{utilities/helpers → helpers}/utilities.helper.d.ts +0 -0
  337. /package/dist/{utilities/helpers → helpers}/utilities.helper.js +0 -0
  338. /package/dist/{boilerplate/helpers → helpers}/wiring.helper.js +0 -0
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENTITY_SETUP = void 0;
4
- /**
5
- * ## THIS FILE IS INTENDED TO BE REPLACED
6
- *
7
- * ! IF YOU STILL SEE THIS IN YOUR `node_modules`, run `npx type-writer`
8
- *
9
- * The purpose it to represent the configuration of Home Assistant
10
- *
11
- * - entities, with their available attributes & states
12
- * - services, and what parameters they take
13
- *
14
- * This information is TYPES ONLY, and is used to add type safety to
15
- * methods exported from this library through the use of utility types that
16
- * take advantage of this information
17
- *
18
- * A post-install hook will regenerate these with real values.
19
- *
20
- * The service definition is the switch, light, scene domains from a previously generated file.
21
- * These are required to make typescript happy for internal library definitions
22
- */
23
- exports.ENTITY_SETUP = {
24
- binary_sensor: {
25
- is_day: {
26
- attributes: {
27
- friendly_name: "Is day",
28
- },
29
- context: {
30
- id: "01HNZ7RV5ZRHF4R6EVTX210Z82",
31
- parent_id: null,
32
- user_id: null,
33
- },
34
- entity_id: "binary_sensor.is_day",
35
- last_changed: "2024-02-06T12:55:00.031067+00:00",
36
- last_updated: "2024-02-06T12:55:00.031067+00:00",
37
- state: "on",
38
- },
39
- },
40
- button: {
41
- click_me: {
42
- attributes: {
43
- friendly_name: "Click me",
44
- },
45
- context: {
46
- id: "01HNZ7RV5ZRHF4R6EVTX210Z83",
47
- parent_id: null,
48
- user_id: null,
49
- },
50
- entity_id: "button.click_me",
51
- last_changed: "2024-02-06T12:55:00.031068+00:00",
52
- },
53
- },
54
- calendar: {
55
- personal: {
56
- attributes: {
57
- friendly_name: "Personal",
58
- offset_reached: false,
59
- },
60
- context: {
61
- id: "01HJYK0H8P96SCF35ZVZGXKRT0",
62
- parent_id: null,
63
- user_id: null,
64
- },
65
- entity_id: "calendar.personal",
66
- last_changed: "2023-12-31T00:00:06.145302+00:00",
67
- last_updated: "2023-12-31T00:05:06.454423+00:00",
68
- state: "off",
69
- },
70
- },
71
- light: {
72
- womp: {
73
- attributes: {
74
- brightness: 255,
75
- color_mode: "color_temp",
76
- color_temp: 253,
77
- color_temp_kelvin: 3952,
78
- dynamics: "none",
79
- friendly_name: "Womp",
80
- hs_color: [26.835, 35.746],
81
- max_color_temp_kelvin: 6535,
82
- max_mireds: 500,
83
- min_color_temp_kelvin: 2000,
84
- min_mireds: 153,
85
- mode: "normal",
86
- rgb_color: [255, 204, 163],
87
- supported_color_modes: ["color_temp", "xy"],
88
- supported_features: 40,
89
- xy_color: [0.424, 0.366],
90
- },
91
- context: {
92
- id: "01HK0TW9610XX5C5EZWE6ZEWJ0",
93
- parent_id: null,
94
- user_id: "72b5dc1d14484f9bb54df2de3ab95773",
95
- },
96
- entity_id: "light.womp",
97
- last_changed: "2023-12-31T16:23:21.270862+00:00",
98
- last_updated: "2023-12-31T21:01:05.179072+00:00",
99
- state: "on",
100
- },
101
- },
102
- scene: {
103
- bedroom_auto: {
104
- attributes: {
105
- friendly_name: "Bedroom Auto",
106
- },
107
- context: {
108
- id: "01HK02X46S76A2C7JJMENBHF55",
109
- parent_id: null,
110
- user_id: "72b5dc1d14484f9bb54df2de3ab95773",
111
- },
112
- entity_id: "scene.bedroom_auto",
113
- last_changed: "2023-12-31T14:02:06.428935+00:00",
114
- last_updated: "2023-12-31T14:02:06.428935+00:00",
115
- state: "2023-12-31T14:02:06.428760+00:00",
116
- },
117
- },
118
- sensor: {
119
- loft_current_scene: {
120
- attributes: {
121
- friendly_name: "Loft current scene",
122
- managed_by: "home-automation",
123
- scene: "high",
124
- },
125
- context: {
126
- id: "01HNZE7KCPMNXAK1N6G9MWC5M4",
127
- parent_id: null,
128
- user_id: null,
129
- },
130
- entity_id: "sensor.loft_current_scene",
131
- last_changed: "2024-02-06T14:47:55.030369+00:00",
132
- last_updated: "2024-02-06T14:47:55.030369+00:00",
133
- state: "High",
134
- },
135
- },
136
- switch: {
137
- guest_mode: {
138
- attributes: {
139
- friendly_name: "Guest mode",
140
- },
141
- context: {
142
- id: "01HK1AAJ4PW4SNPBFV35EDTJME",
143
- parent_id: null,
144
- user_id: "72b5dc1d14484f9bb54df2de3ab95773",
145
- },
146
- entity_id: "switch.guest_mode",
147
- last_changed: "2024-01-01T01:25:47.375385+00:00",
148
- last_updated: "2024-01-01T01:31:01.142980+00:00",
149
- state: "off",
150
- },
151
- },
152
- };
153
- //# sourceMappingURL=dynamic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../src/hass/dynamic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { TServiceParams } from "../..";
2
- import { iCallService } from "..";
3
- export declare function CallProxy({ logger, lifecycle, context, hass, config, }: TServiceParams): iCallService;
4
- export default CallProxy;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CallProxy = void 0;
4
- const process_1 = require("process");
5
- const __1 = require("../..");
6
- const __2 = require("..");
7
- const FAILED_LOAD_DELAY = 5;
8
- const MAX_ATTEMPTS = 50;
9
- const FAILED = 1;
10
- const NOT_A_DOMAIN = new Set(["then"]);
11
- function CallProxy({ logger, lifecycle, context, hass, config, }) {
12
- let domains;
13
- let services;
14
- /**
15
- * Describe the current services, and build up a proxy api based on that.
16
- *
17
- * This API matches the api at the time the this function is run, which may be different from any generated typescript definitions from the past.
18
- */
19
- lifecycle.onBootstrap(async () => {
20
- if (!config.hass.AUTO_SCAN_CALL_PROXY) {
21
- logger.debug(`skip service populate`);
22
- return;
23
- }
24
- logger.debug(`runtime populate service interfaces`);
25
- await loadServiceList();
26
- });
27
- function getDomain(domain) {
28
- if (!domains || !domains?.includes(domain)) {
29
- if (!NOT_A_DOMAIN.has(domain)) {
30
- logger.error({ domain }, `unknown domain`);
31
- }
32
- return undefined;
33
- }
34
- const domainItem = services.find((i) => i.domain === domain);
35
- if (!domainItem) {
36
- throw new __1.InternalError(context, "HALLUCINATED_DOMAIN", `Cannot access call_service#${domain}. Home Assistant doesn't list it as a real domain.`);
37
- }
38
- return Object.fromEntries(Object.entries(domainItem.services).map(([key]) => [
39
- key,
40
- async (parameters) => await sendMessage(`${domain}.${key}`, {
41
- ...parameters,
42
- }),
43
- ]));
44
- }
45
- async function loadServiceList(recursion = __1.START) {
46
- logger.info(`fetching service list`);
47
- services = await hass.fetch.listServices();
48
- if (__1.is.empty(services)) {
49
- if (recursion > MAX_ATTEMPTS) {
50
- logger.fatal(`Failed to load service list from Home Assistant. Validate configuration`);
51
- (0, process_1.exit)(FAILED);
52
- }
53
- logger.warn("failed to retrieve {service} list. Retrying {%s}/[%s]", recursion, MAX_ATTEMPTS);
54
- await (0, __1.sleep)(FAILED_LOAD_DELAY * __1.SECOND);
55
- await loadServiceList(recursion + __1.INCREMENT);
56
- return;
57
- }
58
- domains = services.map((i) => i.domain);
59
- services.forEach((value) => {
60
- logger.trace({ services: Object.keys(value.services) }, `loaded domain [%s]`, value.domain);
61
- });
62
- }
63
- /**
64
- * Prefer sending via socket, if available.
65
- */
66
- async function sendMessage(serviceName, service_data) {
67
- if (!hass.socket.getConnectionActive()) {
68
- return await hass.fetch.callService(serviceName, service_data);
69
- }
70
- const [domain, service] = serviceName.split(".");
71
- // User can just not await this call if they don't care about the "waitForChange"
72
- return await hass.socket.sendMessage({
73
- domain,
74
- service,
75
- service_data,
76
- type: __2.HASSIO_WS_COMMAND.call_service,
77
- }, true);
78
- }
79
- function buildCallProxy() {
80
- return new Proxy({}, {
81
- get: (_, domain) => getDomain(domain),
82
- });
83
- }
84
- return buildCallProxy();
85
- }
86
- exports.CallProxy = CallProxy;
87
- exports.default = CallProxy;
88
- //# sourceMappingURL=call-proxy.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-proxy.extension.js","sourceRoot":"","sources":["../../../src/hass/extensions/call-proxy.extension.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { TServiceParams } from "../..";
2
- export declare function Configure({ logger, lifecycle, hass, config, internal, }: TServiceParams): void;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Configure = void 0;
4
- /* eslint-disable @typescript-eslint/no-magic-numbers */
5
- const process_1 = require("process");
6
- const __1 = require("../..");
7
- const __2 = require("..");
8
- function Configure({ logger, lifecycle, hass, config, internal, }) {
9
- /**
10
- * Check for environment defined tokens provided by Home Assistant
11
- *
12
- * If available, override defaults to match
13
- */
14
- lifecycle.onPreInit(() => {
15
- const token = process_1.env.HASSIO_TOKEN || process_1.env.SUPERVISOR_TOKEN;
16
- if (__1.is.empty(token)) {
17
- return;
18
- }
19
- logger.debug(`auto configuring from addon environment`);
20
- internal.config.set("hass", "BASE_URL", process_1.env.HASS_SERVER || "http://supervisor/core");
21
- internal.config.set("hass", "TOKEN", token);
22
- });
23
- /**
24
- * Request by someone to validate the provided credentials are valid
25
- *
26
- * Send a test request, and provide feedback on what happened
27
- */
28
- lifecycle.onPostConfig(async () => {
29
- if (!config.hass.VALIDATE_CONFIGURATION) {
30
- return;
31
- }
32
- __1.ZCC.logger.setLogLevel("trace");
33
- logger.info(`validating credentials`);
34
- try {
35
- const result = await hass.fetch.checkCredentials();
36
- if (__1.is.object(result)) {
37
- // * all good
38
- logger.info(result.message);
39
- (0, process_1.exit)(1);
40
- }
41
- // * bad token
42
- logger.error(String(result));
43
- (0, process_1.exit)(0);
44
- }
45
- catch (error) {
46
- // * bad BASE_URL
47
- logger.error({ error }, "failed to send request");
48
- (0, process_1.exit)(0);
49
- }
50
- }, __2.PostConfigPriorities.VALIDATE);
51
- }
52
- exports.Configure = Configure;
53
- //# sourceMappingURL=config.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.extension.js","sourceRoot":"","sources":["../../../src/hass/extensions/config.extension.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,qCAAoC;AAEpC,6BAAgD;AAChD,0BAA0C;AAC1C,SAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAS,EACT,IAAI,EACJ,MAAM,EACN,QAAQ,GACO;IACf;;;;OAIG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QACvB,MAAM,KAAK,GAAG,aAAG,CAAC,YAAY,IAAI,aAAG,CAAC,gBAAgB,CAAC;QACvD,IAAI,MAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,QAAQ,CAAC,MAAM,CAAC,GAAG,CACjB,MAAM,EACN,UAAU,EACV,aAAG,CAAC,WAAW,IAAI,wBAAwB,CAC5C,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,OAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,MAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,aAAa;gBACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,cAAc;YACd,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7B,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB;YACjB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAClD,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE,wBAAoB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AArDD,8BAqDC"}
@@ -1,61 +0,0 @@
1
- import { TBlackHole, TServiceParams } from "../..";
2
- import { ENTITY_STATE, EntityHistoryDTO, EntityHistoryResult, PICK_ENTITY } from "..";
3
- export declare const ENTITY_UPDATE_RECEIVER: unique symbol;
4
- export type ByIdProxy<ENTITY_ID extends PICK_ENTITY> = ENTITY_STATE<ENTITY_ID> & {
5
- entity_id: ENTITY_ID;
6
- /**
7
- * Run callback
8
- */
9
- onUpdate: (callback: (state: NonNullable<ENTITY_STATE<ENTITY_ID>>) => TBlackHole) => void;
10
- /**
11
- * Run callback once, for next update
12
- */
13
- once: (callback: (state: NonNullable<ENTITY_STATE<ENTITY_ID>>) => TBlackHole) => void;
14
- /**
15
- * Will resolve with the next state of the next value. No time limit
16
- */
17
- nextState: () => Promise<ENTITY_STATE<ENTITY_ID>>;
18
- };
19
- export declare function EntityManager({ logger, hass, lifecycle }: TServiceParams): {
20
- /**
21
- * Internal library use only
22
- */
23
- [ENTITY_UPDATE_RECEIVER]: <ENTITY extends PICK_ENTITY = PICK_ENTITY>(entity_id: PICK_ENTITY, new_state: ENTITY_STATE<ENTITY>, old_state: ENTITY_STATE<ENTITY>) => void;
24
- /**
25
- * Retrieves a proxy object for a specified entity. This proxy object
26
- * provides current values and event hooks for the entity.
27
- */
28
- byId: <ENTITY_ID extends PICK_ENTITY>(entity_id: ENTITY_ID) => ByIdProxy<ENTITY_ID>;
29
- /**
30
- * Lists all entities within a specified domain. This is useful for
31
- * domain-specific operations or queries.
32
- */
33
- findByDomain: <DOMAIN extends "binary_sensor" | "button" | "scene" | "sensor" | "switch" | "calendar" | "light">(domain: DOMAIN) => ByIdProxy<PICK_ENTITY>[];
34
- /**
35
- * Retrieves the current state of a given entity. This method returns
36
- * raw data, offering a direct view of the entity's state at a given moment.
37
- */
38
- getCurrentState: <ENTITY_ID_1 extends PICK_ENTITY>(entity_id: ENTITY_ID_1) => NonNullable<ENTITY_STATE<ENTITY_ID_1>>;
39
- /**
40
- * Retrieves the historical state data of entities over a specified time
41
- * period. Useful for analysis or tracking changes over time.
42
- */
43
- history: <ENTITES extends PICK_ENTITY[]>(payload: Omit<EntityHistoryDTO<ENTITES>, "type">) => Promise<{
44
- [k: string]: EntityHistoryResult[];
45
- }>;
46
- /**
47
- * Provides a simple listing of all entity IDs. Useful for enumeration
48
- * and quick reference to all available entities.
49
- */
50
- listEntities: () => PICK_ENTITY[];
51
- /**
52
- * Initiates a refresh of the current entity states. Useful for ensuring
53
- * synchronization with the latest state data from Home Assistant.
54
- */
55
- refresh: (recursion?: number) => Promise<void>;
56
- };
57
- declare module "../../utilities" {
58
- interface IsIt {
59
- entity(entity: PICK_ENTITY): entity is PICK_ENTITY;
60
- }
61
- }
@@ -1,211 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityManager = exports.ENTITY_UPDATE_RECEIVER = void 0;
4
- const tslib_1 = require("tslib");
5
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
- const node_cache_1 = require("node-cache");
7
- const __1 = require("../..");
8
- const __2 = require("..");
9
- exports.ENTITY_UPDATE_RECEIVER = Symbol.for("entityUpdateReceiver");
10
- const MAX_ATTEMPTS = 50;
11
- const FAILED_LOAD_DELAY = 5;
12
- const UNLIMITED = 0;
13
- const RECENT = 5;
14
- function EntityManager({ logger, hass, lifecycle }) {
15
- // # Local vars
16
- /**
17
- * MASTER_STATE.switch.desk_light = {entity_id,state,attributes,...}
18
- */
19
- let MASTER_STATE = {};
20
- const ENTITY_PROXIES = new Map();
21
- let lastRefresh;
22
- // * Local event emitter for coordination of socket events
23
- // Other libraries will internally take advantage of this eventemitter
24
- const event = new node_cache_1.EventEmitter();
25
- event.setMaxListeners(UNLIMITED);
26
- let init = false;
27
- // # Methods
28
- // ## Retrieve raw state object for entity
29
- function getCurrentState(entity_id) {
30
- return __1.ZCC.utils.object.get(MASTER_STATE, entity_id);
31
- }
32
- // ## Proxy version of the logic
33
- function proxyGetLogic(entity, property) {
34
- if (!init) {
35
- return undefined;
36
- }
37
- const valid = ["state", "attributes", "last"].some((i) => property.startsWith(i));
38
- if (!valid) {
39
- logger.error({ entity, property }, `invalid property lookup`);
40
- return undefined;
41
- }
42
- const current = getCurrentState(entity);
43
- const defaultValue = (property === "state" ? undefined : {});
44
- if (!current) {
45
- logger.error({ defaultValue, name: entity, property }, `proxyGetLogic cannot find entity`);
46
- }
47
- return __1.ZCC.utils.object.get(current, property) || defaultValue;
48
- }
49
- // ## Retrieve a proxy by id
50
- function byId(entity_id) {
51
- if (!ENTITY_PROXIES.has(entity_id)) {
52
- ENTITY_PROXIES.set(entity_id, new Proxy({ entity_id }, {
53
- // things that shouldn't be needed: this extract
54
- get: (_, property) => {
55
- if (property === "onUpdate") {
56
- return (callback) => event.on(entity_id, async (a, b) => callback(a, b));
57
- }
58
- if (property === "once") {
59
- return (callback) => event.once(entity_id, async (a, b) => callback(a, b));
60
- }
61
- if (property === "entity_id") {
62
- return entity_id;
63
- }
64
- if (property === "nextState") {
65
- return new Promise((done) => {
66
- event.once(entity_id, (entity) => done(entity));
67
- });
68
- }
69
- return proxyGetLogic(entity_id, property);
70
- },
71
- }));
72
- }
73
- return ENTITY_PROXIES.get(entity_id);
74
- }
75
- // ## Retrieve entity history (via socket)
76
- async function history(payload) {
77
- logger.trace({ payload }, `looking up entity history`);
78
- const result = (await hass.socket.sendMessage({
79
- ...payload,
80
- end_time: (0, dayjs_1.default)(payload.end_time).toISOString(),
81
- start_time: (0, dayjs_1.default)(payload.start_time).toISOString(),
82
- type: __2.HASSIO_WS_COMMAND.history_during_period,
83
- }));
84
- const entities = Object.keys(result);
85
- return Object.fromEntries(entities.map((entity_id) => {
86
- const key = entity_id;
87
- const states = result[entity_id];
88
- const value = states.map((data) => {
89
- return {
90
- attributes: data.a,
91
- date: new Date(data.lu * __1.SECOND),
92
- state: data.s,
93
- };
94
- });
95
- return [key, value];
96
- }));
97
- }
98
- // ## Build a string array of all known entity ids
99
- function listEntities() {
100
- return Object.keys(MASTER_STATE).flatMap((domain) => Object.keys(MASTER_STATE[domain]).map((id) => `${domain}.${id}`));
101
- }
102
- // ## Gather all entity proxies for a domain
103
- function findByDomain(domain) {
104
- return Object.keys(MASTER_STATE[domain] ?? {}).map((i) => byId(`${domain}.${i}`));
105
- }
106
- // ## Load all entity state information from hass
107
- async function refresh(recursion = __1.START) {
108
- const now = (0, dayjs_1.default)();
109
- if (lastRefresh) {
110
- const diff = lastRefresh.diff(now, "ms");
111
- if (diff >= RECENT * __1.SECOND) {
112
- logger.warn({ diff }, `multiple refreshes in close time`);
113
- }
114
- }
115
- lastRefresh = now;
116
- // - Fetch list of entities
117
- const states = await hass.fetch.getAllEntities();
118
- // - Keep retrying until max failures reached
119
- if (__1.is.empty(states)) {
120
- if (recursion > MAX_ATTEMPTS) {
121
- logger.fatal(`failed to load service list from Home Assistant. Validate configuration`);
122
- __1.ZCC_Testing.FailFast();
123
- }
124
- logger.warn("failed to retrieve entity list. Retrying {%s}/[%s]", recursion, MAX_ATTEMPTS);
125
- await (0, __1.sleep)(FAILED_LOAD_DELAY * __1.SECOND);
126
- await refresh(recursion + __1.INCREMENT);
127
- return;
128
- }
129
- // - Preserve old state for comparison
130
- const oldState = MASTER_STATE;
131
- MASTER_STATE = {};
132
- const emitUpdates = [];
133
- // - Go through all entities, setting the state
134
- // ~ If this is a refresh (not an initial boot), track what changed so events can be emitted
135
- states.forEach((entity) => {
136
- // ? Set first, ensure data is populated
137
- // `nextTick` will fire AFTER loop finishes
138
- __1.ZCC.utils.object.set(MASTER_STATE, entity.entity_id, entity, __1.is.undefined(__1.ZCC.utils.object.get(oldState, entity.entity_id)));
139
- if (!init) {
140
- return;
141
- }
142
- const old = __1.ZCC.utils.object.get(oldState, entity.entity_id);
143
- if (__1.is.equal(old, entity)) {
144
- logger.trace({ name: entity.entity_id }, `no change on refresh`);
145
- return;
146
- }
147
- emitUpdates.push(entity);
148
- });
149
- // Attempt to not blow up the system?
150
- // TODO: does this gain anything? is a debounce needed somewhere else instead?
151
- setImmediate(async () => {
152
- await (0, __1.each)(emitUpdates, async (entity) => await EntityUpdateReceiver(entity.entity_id, entity, __1.ZCC.utils.object.get(oldState, entity.entity_id)));
153
- });
154
- init = true;
155
- }
156
- // ## is.entity definition
157
- // Actually tie the type casting to real state
158
- __1.is.entity = (entityId) => __1.is.undefined(__1.ZCC.utils.object.get(MASTER_STATE, entityId));
159
- // ## Receiver function for incoming entity updates
160
- function EntityUpdateReceiver(entity_id, new_state, old_state) {
161
- if (new_state === null) {
162
- logger.warn({ name: entity_id }, `removing deleted entity from {MASTER_STATE}`);
163
- __1.ZCC.utils.object.del(MASTER_STATE, entity_id);
164
- return;
165
- }
166
- __1.ZCC.utils.object.set(MASTER_STATE, entity_id, new_state);
167
- event.emit(entity_id, new_state, old_state);
168
- }
169
- lifecycle.onPostConfig(async () => {
170
- logger.debug(`pre populate {MASTER_STATE}`);
171
- await refresh();
172
- });
173
- return {
174
- /**
175
- * Internal library use only
176
- */
177
- [exports.ENTITY_UPDATE_RECEIVER]: EntityUpdateReceiver,
178
- /**
179
- * Retrieves a proxy object for a specified entity. This proxy object
180
- * provides current values and event hooks for the entity.
181
- */
182
- byId,
183
- /**
184
- * Lists all entities within a specified domain. This is useful for
185
- * domain-specific operations or queries.
186
- */
187
- findByDomain,
188
- /**
189
- * Retrieves the current state of a given entity. This method returns
190
- * raw data, offering a direct view of the entity's state at a given moment.
191
- */
192
- getCurrentState,
193
- /**
194
- * Retrieves the historical state data of entities over a specified time
195
- * period. Useful for analysis or tracking changes over time.
196
- */
197
- history,
198
- /**
199
- * Provides a simple listing of all entity IDs. Useful for enumeration
200
- * and quick reference to all available entities.
201
- */
202
- listEntities,
203
- /**
204
- * Initiates a refresh of the current entity states. Useful for ensuring
205
- * synchronization with the latest state data from Home Assistant.
206
- */
207
- refresh,
208
- };
209
- }
210
- exports.EntityManager = EntityManager;
211
- //# sourceMappingURL=entity-manager.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-manager.extension.js","sourceRoot":"","sources":["../../../src/hass/extensions/entity-manager.extension.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { FilteredFetchArguments, TFetch, TServiceParams } from "../..";
2
- import { CalendarEvent, CalendarFetchOptions, CheckConfigResult, ENTITY_STATE, HassConfig, HassServiceDTO, HomeAssistantServerLogItem, PICK_ENTITY, PICK_SERVICE, PICK_SERVICE_PARAMETERS } from "..";
3
- type SendBody<STATE extends string | number = string, ATTRIBUTES extends object = object> = {
4
- attributes?: ATTRIBUTES;
5
- state?: STATE;
6
- };
7
- export declare function FetchAPI({ logger, lifecycle, context, config, }: TServiceParams): {
8
- calendarSearch: ({ calendar, start, end, }: CalendarFetchOptions) => Promise<CalendarEvent[]>;
9
- callService: <SERVICE extends PICK_SERVICE>(serviceName: SERVICE, data: PICK_SERVICE_PARAMETERS<SERVICE>) => Promise<ENTITY_STATE<PICK_ENTITY>[]>;
10
- checkConfig: () => Promise<CheckConfigResult>;
11
- checkCredentials: () => Promise<{
12
- message: string;
13
- } | string>;
14
- download: (destination: string, fetchWith: FilteredFetchArguments) => Promise<void>;
15
- fetch: TFetch;
16
- fetchEntityCustomizations: <T extends Record<never, unknown> = Record<"local" | "global", Record<string, string>>>(entityId: string | string[]) => Promise<T>;
17
- fetchEntityHistory: <ENTITY extends PICK_ENTITY = PICK_ENTITY, T_1 extends ENTITY_STATE<ENTITY> = ENTITY_STATE<ENTITY>>(entity_id: ENTITY, from: Date, to: Date, extra?: {
18
- minimal_response?: "";
19
- }) => Promise<T_1[]>;
20
- fireEvent: <DATA extends object = object>(event: string, data?: DATA) => Promise<void>;
21
- getAllEntities: () => Promise<ENTITY_STATE<PICK_ENTITY>[]>;
22
- getConfig: () => Promise<HassConfig>;
23
- getLogs: () => Promise<HomeAssistantServerLogItem[]>;
24
- getRawLogs: () => Promise<string>;
25
- listServices: () => Promise<HassServiceDTO[]>;
26
- updateEntity: <STATE extends string | number = string, ATTRIBUTES extends object = object>(entity_id: PICK_ENTITY, { attributes, state }: SendBody<STATE, ATTRIBUTES>) => Promise<void>;
27
- webhook: (name: string, data?: object) => Promise<void>;
28
- };
29
- export {};