@digital-alchemy/core 0.1.16 → 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 (359) 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 +4 -4
  5. package/dist/{boilerplate/extensions → extensions}/configuration.extension.js +26 -15
  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} +5 -5
  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 +81 -55
  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 +12 -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 +21 -35
  66. package/dist/automation/automation.module.d.ts +0 -96
  67. package/dist/automation/automation.module.js +0 -102
  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/cache.extension.spec.d.ts +0 -6
  122. package/dist/boilerplate/extensions/cache.extension.spec.js +0 -222
  123. package/dist/boilerplate/extensions/cache.extension.spec.js.map +0 -1
  124. package/dist/boilerplate/extensions/configuration.extension.js.map +0 -1
  125. package/dist/boilerplate/extensions/fetch.extension.js.map +0 -1
  126. package/dist/boilerplate/extensions/fetch.extension.spec.d.ts +0 -8
  127. package/dist/boilerplate/extensions/fetch.extension.spec.js +0 -59
  128. package/dist/boilerplate/extensions/fetch.extension.spec.js.map +0 -1
  129. package/dist/boilerplate/extensions/index.js.map +0 -1
  130. package/dist/boilerplate/extensions/logger.extension.js.map +0 -1
  131. package/dist/boilerplate/extensions/scheduler.extension.js.map +0 -1
  132. package/dist/boilerplate/extensions/wiring.extension.js.map +0 -1
  133. package/dist/boilerplate/extensions/wiring.extension.spec.d.ts +0 -8
  134. package/dist/boilerplate/extensions/wiring.extension.spec.js +0 -215
  135. package/dist/boilerplate/extensions/wiring.extension.spec.js.map +0 -1
  136. package/dist/boilerplate/helpers/cache-memory.helper.js.map +0 -1
  137. package/dist/boilerplate/helpers/cache-redis.helper.js.map +0 -1
  138. package/dist/boilerplate/helpers/config-environment-loader.helper.js.map +0 -1
  139. package/dist/boilerplate/helpers/config-file-loader.helper.js.map +0 -1
  140. package/dist/boilerplate/helpers/config.helper.js.map +0 -1
  141. package/dist/boilerplate/helpers/errors.helper.js.map +0 -1
  142. package/dist/boilerplate/helpers/events.helper.js.map +0 -1
  143. package/dist/boilerplate/helpers/fetch.helper.js.map +0 -1
  144. package/dist/boilerplate/helpers/index.js.map +0 -1
  145. package/dist/boilerplate/helpers/lifecycle.helper.js.map +0 -1
  146. package/dist/boilerplate/helpers/metrics.helper.js.map +0 -1
  147. package/dist/boilerplate/helpers/testing.helper.js.map +0 -1
  148. package/dist/boilerplate/helpers/wiring.helper.js.map +0 -1
  149. package/dist/boilerplate/index.d.ts +0 -2
  150. package/dist/boilerplate/index.js +0 -6
  151. package/dist/boilerplate/index.js.map +0 -1
  152. package/dist/gotify/extensions/application.extension.d.ts +0 -13
  153. package/dist/gotify/extensions/application.extension.js +0 -52
  154. package/dist/gotify/extensions/application.extension.js.map +0 -1
  155. package/dist/gotify/extensions/client.extension.d.ts +0 -8
  156. package/dist/gotify/extensions/client.extension.js +0 -38
  157. package/dist/gotify/extensions/client.extension.js.map +0 -1
  158. package/dist/gotify/extensions/fetch.extension.d.ts +0 -2
  159. package/dist/gotify/extensions/fetch.extension.js +0 -14
  160. package/dist/gotify/extensions/fetch.extension.js.map +0 -1
  161. package/dist/gotify/extensions/fetch.extension.spec.d.ts +0 -1
  162. package/dist/gotify/extensions/fetch.extension.spec.js +0 -284
  163. package/dist/gotify/extensions/fetch.extension.spec.js.map +0 -1
  164. package/dist/gotify/extensions/index.d.ts +0 -4
  165. package/dist/gotify/extensions/index.js +0 -8
  166. package/dist/gotify/extensions/index.js.map +0 -1
  167. package/dist/gotify/extensions/message.extension.d.ts +0 -8
  168. package/dist/gotify/extensions/message.extension.js +0 -37
  169. package/dist/gotify/extensions/message.extension.js.map +0 -1
  170. package/dist/gotify/gotify.module.d.ts +0 -34
  171. package/dist/gotify/gotify.module.js +0 -33
  172. package/dist/gotify/gotify.module.js.map +0 -1
  173. package/dist/gotify/helpers/api.d.ts +0 -346
  174. package/dist/gotify/helpers/api.js +0 -14
  175. package/dist/gotify/helpers/api.js.map +0 -1
  176. package/dist/gotify/helpers/events.helper.d.ts +0 -6
  177. package/dist/gotify/helpers/events.helper.js +0 -5
  178. package/dist/gotify/helpers/events.helper.js.map +0 -1
  179. package/dist/gotify/helpers/index.d.ts +0 -2
  180. package/dist/gotify/helpers/index.js +0 -6
  181. package/dist/gotify/helpers/index.js.map +0 -1
  182. package/dist/gotify/index.d.ts +0 -3
  183. package/dist/gotify/index.js +0 -7
  184. package/dist/gotify/index.js.map +0 -1
  185. package/dist/hass/dynamic.d.ts +0 -1126
  186. package/dist/hass/dynamic.js +0 -153
  187. package/dist/hass/dynamic.js.map +0 -1
  188. package/dist/hass/extensions/call-proxy.extension.d.ts +0 -4
  189. package/dist/hass/extensions/call-proxy.extension.js +0 -88
  190. package/dist/hass/extensions/call-proxy.extension.js.map +0 -1
  191. package/dist/hass/extensions/config.extension.d.ts +0 -2
  192. package/dist/hass/extensions/config.extension.js +0 -53
  193. package/dist/hass/extensions/config.extension.js.map +0 -1
  194. package/dist/hass/extensions/entity-manager.extension.d.ts +0 -61
  195. package/dist/hass/extensions/entity-manager.extension.js +0 -211
  196. package/dist/hass/extensions/entity-manager.extension.js.map +0 -1
  197. package/dist/hass/extensions/fetch-api.extension.d.ts +0 -29
  198. package/dist/hass/extensions/fetch-api.extension.js +0 -174
  199. package/dist/hass/extensions/fetch-api.extension.js.map +0 -1
  200. package/dist/hass/extensions/index.d.ts +0 -6
  201. package/dist/hass/extensions/index.js +0 -10
  202. package/dist/hass/extensions/index.js.map +0 -1
  203. package/dist/hass/extensions/utilities.extension.d.ts +0 -9
  204. package/dist/hass/extensions/utilities.extension.js +0 -43
  205. package/dist/hass/extensions/utilities.extension.js.map +0 -1
  206. package/dist/hass/extensions/validate.extension.d.ts +0 -2
  207. package/dist/hass/extensions/validate.extension.js +0 -34
  208. package/dist/hass/extensions/validate.extension.js.map +0 -1
  209. package/dist/hass/extensions/websocket-api.extension.d.ts +0 -39
  210. package/dist/hass/extensions/websocket-api.extension.js +0 -363
  211. package/dist/hass/extensions/websocket-api.extension.js.map +0 -1
  212. package/dist/hass/hass.module.d.ts +0 -80
  213. package/dist/hass/hass.module.js +0 -83
  214. package/dist/hass/hass.module.js.map +0 -1
  215. package/dist/hass/helpers/backup.helper.d.ts +0 -11
  216. package/dist/hass/helpers/backup.helper.js +0 -3
  217. package/dist/hass/helpers/backup.helper.js.map +0 -1
  218. package/dist/hass/helpers/constants.helper.d.ts +0 -54
  219. package/dist/hass/helpers/constants.helper.js +0 -63
  220. package/dist/hass/helpers/constants.helper.js.map +0 -1
  221. package/dist/hass/helpers/entity-state.helper.d.ts +0 -45
  222. package/dist/hass/helpers/entity-state.helper.js +0 -9
  223. package/dist/hass/helpers/entity-state.helper.js.map +0 -1
  224. package/dist/hass/helpers/fetch/calendar.d.ts +0 -54
  225. package/dist/hass/helpers/fetch/calendar.js +0 -3
  226. package/dist/hass/helpers/fetch/calendar.js.map +0 -1
  227. package/dist/hass/helpers/fetch/configuration.d.ts +0 -34
  228. package/dist/hass/helpers/fetch/configuration.js +0 -3
  229. package/dist/hass/helpers/fetch/configuration.js.map +0 -1
  230. package/dist/hass/helpers/fetch/index.d.ts +0 -4
  231. package/dist/hass/helpers/fetch/index.js +0 -8
  232. package/dist/hass/helpers/fetch/index.js.map +0 -1
  233. package/dist/hass/helpers/fetch/server-log.d.ts +0 -10
  234. package/dist/hass/helpers/fetch/server-log.js +0 -20
  235. package/dist/hass/helpers/fetch/server-log.js.map +0 -1
  236. package/dist/hass/helpers/fetch/service-list.d.ts +0 -51
  237. package/dist/hass/helpers/fetch/service-list.js +0 -3
  238. package/dist/hass/helpers/fetch/service-list.js.map +0 -1
  239. package/dist/hass/helpers/index.d.ts +0 -7
  240. package/dist/hass/helpers/index.js +0 -11
  241. package/dist/hass/helpers/index.js.map +0 -1
  242. package/dist/hass/helpers/metrics.helper.d.ts +0 -13
  243. package/dist/hass/helpers/metrics.helper.js +0 -30
  244. package/dist/hass/helpers/metrics.helper.js.map +0 -1
  245. package/dist/hass/helpers/utility.helper.d.ts +0 -61
  246. package/dist/hass/helpers/utility.helper.js +0 -38
  247. package/dist/hass/helpers/utility.helper.js.map +0 -1
  248. package/dist/hass/helpers/websocket.helper.d.ts +0 -129
  249. package/dist/hass/helpers/websocket.helper.js +0 -3
  250. package/dist/hass/helpers/websocket.helper.js.map +0 -1
  251. package/dist/hass/index.d.ts +0 -4
  252. package/dist/hass/index.js +0 -8
  253. package/dist/hass/index.js.map +0 -1
  254. package/dist/nexus/entities.extension.d.ts +0 -2
  255. package/dist/nexus/entities.extension.js +0 -50
  256. package/dist/nexus/entities.extension.js.map +0 -1
  257. package/dist/nexus/main.d.ts +0 -9
  258. package/dist/nexus/main.js +0 -28
  259. package/dist/nexus/main.js.map +0 -1
  260. package/dist/purge/main.d.ts +0 -34
  261. package/dist/purge/main.js +0 -50
  262. package/dist/purge/main.js.map +0 -1
  263. package/dist/purge/purge.extension.d.ts +0 -2
  264. package/dist/purge/purge.extension.js +0 -49
  265. package/dist/purge/purge.extension.js.map +0 -1
  266. package/dist/synapse/extensions/binary-sensor.extension.d.ts +0 -19
  267. package/dist/synapse/extensions/binary-sensor.extension.js +0 -84
  268. package/dist/synapse/extensions/binary-sensor.extension.js.map +0 -1
  269. package/dist/synapse/extensions/button.extension.d.ts +0 -10
  270. package/dist/synapse/extensions/button.extension.js +0 -46
  271. package/dist/synapse/extensions/button.extension.js.map +0 -1
  272. package/dist/synapse/extensions/index.d.ts +0 -6
  273. package/dist/synapse/extensions/index.js +0 -10
  274. package/dist/synapse/extensions/index.js.map +0 -1
  275. package/dist/synapse/extensions/registry.extension.d.ts +0 -21
  276. package/dist/synapse/extensions/registry.extension.js +0 -223
  277. package/dist/synapse/extensions/registry.extension.js.map +0 -1
  278. package/dist/synapse/extensions/scene.extension.d.ts +0 -9
  279. package/dist/synapse/extensions/scene.extension.js +0 -37
  280. package/dist/synapse/extensions/scene.extension.js.map +0 -1
  281. package/dist/synapse/extensions/sensor.extension.d.ts +0 -25
  282. package/dist/synapse/extensions/sensor.extension.js +0 -154
  283. package/dist/synapse/extensions/sensor.extension.js.map +0 -1
  284. package/dist/synapse/extensions/switch.extension.d.ts +0 -19
  285. package/dist/synapse/extensions/switch.extension.js +0 -95
  286. package/dist/synapse/extensions/switch.extension.js.map +0 -1
  287. package/dist/synapse/helpers/device-class.helper.d.ts +0 -323
  288. package/dist/synapse/helpers/device-class.helper.js +0 -241
  289. package/dist/synapse/helpers/device-class.helper.js.map +0 -1
  290. package/dist/synapse/helpers/index.d.ts +0 -3
  291. package/dist/synapse/helpers/index.js +0 -7
  292. package/dist/synapse/helpers/index.js.map +0 -1
  293. package/dist/synapse/helpers/metrics.helper.d.ts +0 -13
  294. package/dist/synapse/helpers/metrics.helper.js +0 -30
  295. package/dist/synapse/helpers/metrics.helper.js.map +0 -1
  296. package/dist/synapse/helpers/utility.helper.d.ts +0 -1
  297. package/dist/synapse/helpers/utility.helper.js +0 -3
  298. package/dist/synapse/helpers/utility.helper.js.map +0 -1
  299. package/dist/synapse/index.d.ts +0 -3
  300. package/dist/synapse/index.js +0 -7
  301. package/dist/synapse/index.js.map +0 -1
  302. package/dist/synapse/synapse.module.d.ts +0 -54
  303. package/dist/synapse/synapse.module.js +0 -63
  304. package/dist/synapse/synapse.module.js.map +0 -1
  305. package/dist/type-writer/build.extension.d.ts +0 -2
  306. package/dist/type-writer/build.extension.js +0 -52
  307. package/dist/type-writer/build.extension.js.map +0 -1
  308. package/dist/type-writer/main.d.ts +0 -17
  309. package/dist/type-writer/main.js +0 -36
  310. package/dist/type-writer/main.js.map +0 -1
  311. package/dist/type-writer/type-writer.extension.d.ts +0 -2
  312. package/dist/type-writer/type-writer.extension.js +0 -214
  313. package/dist/type-writer/type-writer.extension.js.map +0 -1
  314. package/dist/utilities/extensions/index.d.ts +0 -3
  315. package/dist/utilities/extensions/index.js +0 -7
  316. package/dist/utilities/extensions/index.js.map +0 -1
  317. package/dist/utilities/extensions/is.extension.js.map +0 -1
  318. package/dist/utilities/extensions/zcc-testing.extension.d.ts +0 -4
  319. package/dist/utilities/extensions/zcc-testing.extension.js +0 -9
  320. package/dist/utilities/extensions/zcc-testing.extension.js.map +0 -1
  321. package/dist/utilities/extensions/zcc.extension.js.map +0 -1
  322. package/dist/utilities/helpers/async.helper.js.map +0 -1
  323. package/dist/utilities/helpers/context.helper.js.map +0 -1
  324. package/dist/utilities/helpers/cron.helper.js.map +0 -1
  325. package/dist/utilities/helpers/extend.helper.js.map +0 -1
  326. package/dist/utilities/helpers/index.js.map +0 -1
  327. package/dist/utilities/helpers/utilities.helper.js.map +0 -1
  328. package/dist/utilities/index.d.ts +0 -2
  329. package/dist/utilities/index.js +0 -6
  330. package/dist/utilities/index.js.map +0 -1
  331. package/dist/utilities/tests/peat.spec.d.ts +0 -1
  332. package/dist/utilities/tests/peat.spec.js +0 -157
  333. package/dist/utilities/tests/peat.spec.js.map +0 -1
  334. package/dist/utilities/tests/sleep.spec.d.ts +0 -1
  335. package/dist/utilities/tests/sleep.spec.js +0 -21
  336. package/dist/utilities/tests/sleep.spec.js.map +0 -1
  337. /package/dist/{utilities/extensions → extensions}/is.extension.d.ts +0 -0
  338. /package/dist/{utilities/extensions → extensions}/is.extension.js +0 -0
  339. /package/dist/{utilities/helpers → helpers}/async.helper.d.ts +0 -0
  340. /package/dist/{utilities/helpers → helpers}/async.helper.js +0 -0
  341. /package/dist/{boilerplate/helpers → helpers}/cache-memory.helper.d.ts +0 -0
  342. /package/dist/{boilerplate/helpers → helpers}/cache-redis.helper.d.ts +0 -0
  343. /package/dist/{boilerplate/helpers → helpers}/config-environment-loader.helper.d.ts +0 -0
  344. /package/dist/{boilerplate/helpers → helpers}/config-file-loader.helper.d.ts +0 -0
  345. /package/dist/{utilities/helpers → helpers}/context.helper.d.ts +0 -0
  346. /package/dist/{utilities/helpers → helpers}/context.helper.js +0 -0
  347. /package/dist/{utilities/helpers → helpers}/cron.helper.d.ts +0 -0
  348. /package/dist/{utilities/helpers → helpers}/cron.helper.js +0 -0
  349. /package/dist/{boilerplate/helpers → helpers}/errors.helper.js +0 -0
  350. /package/dist/{boilerplate/helpers → helpers}/events.helper.d.ts +0 -0
  351. /package/dist/{utilities/helpers → helpers}/extend.helper.d.ts +0 -0
  352. /package/dist/{utilities/helpers → helpers}/extend.helper.js +0 -0
  353. /package/dist/{utilities/helpers/index.d.ts → helpers/index copy.d.ts} +0 -0
  354. /package/dist/{boilerplate/helpers → helpers}/lifecycle.helper.js +0 -0
  355. /package/dist/{boilerplate/helpers → helpers}/metrics.helper.d.ts +0 -0
  356. /package/dist/{boilerplate/helpers → helpers}/metrics.helper.js +0 -0
  357. /package/dist/{utilities/helpers → helpers}/utilities.helper.d.ts +0 -0
  358. /package/dist/{utilities/helpers → helpers}/utilities.helper.js +0 -0
  359. /package/dist/{boilerplate/helpers → helpers}/wiring.helper.js +0 -0
@@ -1,177 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Room = void 0;
4
- const __1 = require("../..");
5
- function Room({ logger, hass, synapse, scheduler, automation, context: parentContext, }) {
6
- // eslint-disable-next-line sonarjs/cognitive-complexity
7
- return function ({ name, context, scenes, }) {
8
- logger.info({ name }, `create room`);
9
- const SCENE_LIST = Object.keys(scenes);
10
- const sensorName = `${name} current scene`;
11
- const currentScene = synapse.sensor({
12
- context,
13
- name: sensorName,
14
- });
15
- function restoreFromEntity() {
16
- const importedValue = hass.entity.byId(__1.ZCC.toHassId("sensor", sensorName))
17
- .state;
18
- const current = currentScene.state;
19
- if (__1.is.empty(current) && !SCENE_LIST.includes(importedValue)) {
20
- return undefined;
21
- }
22
- currentScene.state = importedValue;
23
- return importedValue;
24
- }
25
- scheduler.cron({
26
- exec: async () => {
27
- let current = currentScene.state;
28
- if (!SCENE_LIST.includes(current)) {
29
- current = restoreFromEntity();
30
- if (!SCENE_LIST.includes(current)) {
31
- logger.warn({ name, scene: current || "(empty string)" }, `room is set to an invalid scene`);
32
- return;
33
- }
34
- logger.debug({ current, name: sensorName }, `imported value restore`);
35
- }
36
- await automation.aggressive.validateRoomScene({
37
- context,
38
- name: current,
39
- room: name,
40
- scene: scenes[current],
41
- });
42
- },
43
- schedule: __1.CronExpression.EVERY_30_SECONDS,
44
- });
45
- /**
46
- * Should circadian if:
47
- * - auto circadian is not disabled
48
- * - is a light, that is currently on
49
- * - the light was recently turned off (<5s)
50
- */
51
- function shouldCircadian(entity_id, target) {
52
- if (!__1.is.domain(entity_id, "light")) {
53
- return false;
54
- }
55
- if (!__1.is.empty(target) && target !== "on") {
56
- return false;
57
- }
58
- const current = (scenes[currentScene.state] ?? {});
59
- const definition = current.definition;
60
- if (entity_id in definition) {
61
- const state = definition[entity_id];
62
- return Object.keys(state).every((i) => ["state", "brightness"].includes(i));
63
- }
64
- return true;
65
- }
66
- function dynamicProperties(sceneName) {
67
- const item = scenes[sceneName];
68
- const definition = item.definition;
69
- const entities = Object.keys(item.definition);
70
- const kelvin = automation.circadian.getKelvin();
71
- const list = entities
72
- .map((name) => {
73
- const value = definition[name];
74
- if (__1.is.domain(name, "switch")) {
75
- return [name, value];
76
- }
77
- if (!__1.is.domain(name, "light")) {
78
- return undefined;
79
- }
80
- if (!shouldCircadian(name, value?.state)) {
81
- return [name, value];
82
- }
83
- return [name, { kelvin, ...value }];
84
- })
85
- .filter((i) => !__1.is.undefined(i));
86
- return {
87
- lights: Object.fromEntries(list.filter((i) => !__1.is.undefined(i[__1.VALUE].kelvin))),
88
- scene: Object.fromEntries(list.filter((i) => __1.is.undefined(i[__1.VALUE].kelvin))),
89
- };
90
- }
91
- async function sceneApply(sceneName) {
92
- const { scene, lights } = dynamicProperties(sceneName);
93
- // Send most things through the expected scene apply
94
- // Send requests to set lights to a specific temperature through the `light.turn_on` call
95
- await Promise.all([
96
- // Normal scene set
97
- new Promise(async (done) => {
98
- if (!__1.is.empty(scene)) {
99
- await hass.call.scene.apply({
100
- entities: scene,
101
- });
102
- }
103
- done();
104
- }),
105
- // Set lights to current color temp
106
- new Promise(async (done) => {
107
- await (0, __1.eachSeries)(Object.keys(lights), async (entity_id) => {
108
- const change = lights[entity_id];
109
- await hass.call.light.turn_on({
110
- brightness: change.brightness,
111
- entity_id,
112
- kelvin: change.kelvin,
113
- });
114
- });
115
- done();
116
- }),
117
- ]);
118
- }
119
- async function setScene(sceneName) {
120
- // ensure not garbage inputs
121
- if (!__1.is.string(sceneName) || !__1.is.object(scenes[sceneName])) {
122
- throw new __1.InternalError(parentContext, "INVALID_SCENE", `scene does not exist on room ${name}`);
123
- }
124
- logger.info({ name }, `set scene {%s}`, sceneName);
125
- currentScene.state = sceneName;
126
- await sceneApply(sceneName);
127
- }
128
- SCENE_LIST.forEach((scene) => {
129
- const sceneName = `${name} ${scene}`;
130
- synapse.scene({
131
- context,
132
- exec: async () => {
133
- logger.trace({ name: sceneName }, `scene activate`);
134
- await setScene(scene);
135
- },
136
- name: sceneName,
137
- });
138
- });
139
- const out = new Proxy({}, {
140
- get: (_, property) => {
141
- if (property === "scene") {
142
- return currentScene.state;
143
- }
144
- if (property === "sceneId") {
145
- return (scene) => {
146
- return __1.ZCC.toHassId("scene", name, scene);
147
- };
148
- }
149
- if (property === "currentSceneEntity") {
150
- return currentScene;
151
- }
152
- if (property === "currentSceneDefinition") {
153
- return scenes[currentScene.state];
154
- }
155
- return undefined;
156
- },
157
- set: (_, property, value) => {
158
- if (property === "scene") {
159
- setImmediate(async () =>
160
- // ? This way adds a network hop, allows hass to create a logbook entry for the call
161
- await hass.call.scene.turn_on({
162
- entity_id: __1.ZCC.toHassId("scene", name, value),
163
- }));
164
- return true;
165
- }
166
- logger.error({ property }, `cannot set property on room`);
167
- return false;
168
- },
169
- });
170
- // FIXME: This casting shouldn't be needed, why is string not assignable to string?
171
- // No idea, but I spent 30 minutes trying to figure it out, and I'm really mad at it
172
- automation.light.registerRoom(out);
173
- return out;
174
- };
175
- }
176
- exports.Room = Room;
177
- //# sourceMappingURL=room.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"room.extension.js","sourceRoot":"","sources":["../../../src/automation/extensions/room.extension.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { TServiceParams } from "../../boilerplate";
2
- import { SequenceWatchOptions } from "..";
3
- export declare function SequenceWatcher({ logger, hass, config }: TServiceParams): <DATA extends object = object, MATCH extends string = string>(data: SequenceWatchOptions<DATA, MATCH>) => () => void;
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SequenceWatcher = void 0;
4
- const utilities_1 = require("../../utilities");
5
- const __1 = require("..");
6
- function SequenceWatcher({ logger, hass, config }) {
7
- const ACTIVE = new Map();
8
- const WATCHED_EVENTS = new Map();
9
- const EVENT_REMOVAL = new Map();
10
- let counter = utilities_1.START;
11
- async function onMatch(data) {
12
- await data.exec();
13
- const reset = data.reset ?? "self";
14
- if (reset === "self") {
15
- ACTIVE.delete(data);
16
- return;
17
- }
18
- if (!utilities_1.is.object(reset)) {
19
- logger.error({ reset: data.reset }, `bad reset type`);
20
- return;
21
- }
22
- const labels = new Set([reset.label].flat().filter((i) => !utilities_1.is.empty(i)));
23
- [...ACTIVE.keys()].forEach((key) => {
24
- const item = ACTIVE.get(key);
25
- if (labels.has(item.label)) {
26
- item.interrupt.kill("stop");
27
- ACTIVE.delete(key);
28
- }
29
- });
30
- }
31
- function trigger(type, event_data) {
32
- WATCHED_EVENTS.get(type).forEach(async (data) => {
33
- const allowed = data.filter(event_data);
34
- if (!allowed) {
35
- return;
36
- }
37
- // * Identify if it is already being watched
38
- const current = ACTIVE.get(data);
39
- const match = [];
40
- if (current) {
41
- // if so, kill the current sleep so it doesn't gc early
42
- current.interrupt.kill("stop");
43
- // prepend the current matches in to the new list
44
- match.push(...current.match);
45
- }
46
- // * Grab the new value from the event, and add it on the list
47
- const value = utilities_1.ZCC.utils.object.get(event_data, data.path);
48
- match.push(value);
49
- // * If the sequence matches, fire the callback
50
- if (utilities_1.is.equal(match, data.match)) {
51
- await onMatch(data);
52
- }
53
- // * wait out the match timeout using a sleep that can be cancelled
54
- const interrupt = (0, utilities_1.sleep)(config.automation.SEQUENCE_TIMEOUT);
55
- ACTIVE.set(data, {
56
- interrupt,
57
- label: data.label,
58
- match,
59
- reset: data.reset,
60
- });
61
- await interrupt;
62
- // * New event hasn't come in within time period. >>> GC
63
- ACTIVE.delete(data);
64
- });
65
- }
66
- function SequenceWatcher(data) {
67
- const { exec, event_type, match, context, label, path, filter } = data;
68
- logger.trace({ context }, `setting up sequence watcher`);
69
- const id = counter.toString();
70
- counter++;
71
- // If this is the first watcher for this event, set up a listener
72
- let watcher = WATCHED_EVENTS.get(event_type);
73
- if (!watcher) {
74
- watcher = [];
75
- logger.trace({ event_type }, `listening for socket event`);
76
- const remover = hass.socket.onEvent({
77
- context,
78
- event: event_type,
79
- exec: (eventData) => trigger(event_type, eventData),
80
- label,
81
- });
82
- EVENT_REMOVAL.set(event_type, remover);
83
- }
84
- // Append watcher to list
85
- WATCHED_EVENTS.set(event_type, [
86
- ...watcher,
87
- {
88
- context,
89
- event_type,
90
- exec: () => {
91
- logger.trace({ context, label, match }, `sequence match trigger`);
92
- setImmediate(async () => await utilities_1.ZCC.safeExec({
93
- duration: __1.SEQUENCE_MATCHER_EXECUTION_TIME,
94
- errors: __1.SEQUENCE_MATCHER_ERRORS,
95
- exec: async () => await exec(),
96
- executions: __1.SEQUENCE_MATCHER_EXECUTION_COUNT,
97
- labels: { context, label },
98
- }));
99
- },
100
- filter: filter,
101
- id,
102
- label,
103
- match,
104
- path,
105
- },
106
- ]);
107
- // Return a removal function
108
- return () => {
109
- const watcher = WATCHED_EVENTS.get(event_type).filter((item) => item.id !== id);
110
- if (utilities_1.is.empty(watcher)) {
111
- logger.debug({ event_type }, `last watcher for event removed, cleaning up socket event listener`);
112
- WATCHED_EVENTS.delete(event_type);
113
- EVENT_REMOVAL.get(event_type)();
114
- EVENT_REMOVAL.delete(event_type);
115
- return;
116
- }
117
- WATCHED_EVENTS.set(event_type, watcher);
118
- };
119
- }
120
- return SequenceWatcher;
121
- }
122
- exports.SequenceWatcher = SequenceWatcher;
123
- //# sourceMappingURL=sequence-matcher.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence-matcher.extension.js","sourceRoot":"","sources":["../../../src/automation/extensions/sequence-matcher.extension.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { Dayjs } from "dayjs";
2
- import { TServiceParams } from "../../boilerplate";
3
- import { TBlackHole, TContext } from "../../utilities";
4
- export type SolarEvents = "dawn" | "dusk" | "solarNoon" | "sunrise" | "nightStart" | "nightEnd" | "sunset" | "sunriseEnd" | "sunsetStart";
5
- /**
6
- * Benefits from a persistent cache, like Redis
7
- */
8
- export declare function SolarCalculator({ logger, cache, scheduler, hass, lifecycle, }: TServiceParams): SolarReference;
9
- type OnSolarEvent = {
10
- context: TContext;
11
- label?: string;
12
- eventName: SolarEvents;
13
- exec: () => TBlackHole;
14
- };
15
- type SolarReference = Record<SolarEvents, Dayjs> & {
16
- isBetween: (a: SolarEvents, b: SolarEvents) => boolean;
17
- loaded: boolean;
18
- onEvent: (options: OnSolarEvent) => TBlackHole;
19
- };
20
- export {};
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolarCalculator = 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 utilities_1 = require("../../utilities");
8
- const __1 = require("..");
9
- const solarEvents = [
10
- "dawn",
11
- "sunriseEnd",
12
- "sunsetStart",
13
- "dusk",
14
- "nightStart",
15
- "nightEnd",
16
- "sunrise",
17
- "sunset",
18
- "solarNoon",
19
- ];
20
- const CACHE_KEY = "SOLAR_CALC_CONFIG_CACHE";
21
- const degreesBelowHorizon = {
22
- goldenHour: -6,
23
- nauticalTwilight: 12,
24
- night: 18,
25
- sunrise: 0.833,
26
- sunriseEnd: 0.3,
27
- twilight: 6,
28
- };
29
- const UNLIMITED = 0;
30
- /**
31
- * Benefits from a persistent cache, like Redis
32
- */
33
- function SolarCalculator({ logger, cache, scheduler, hass, lifecycle, }) {
34
- let config;
35
- const event = new node_cache_1.EventEmitter();
36
- event.setMaxListeners(UNLIMITED);
37
- let lastEventAttachment;
38
- lifecycle.onBootstrap(async () => {
39
- config = await cache.get(CACHE_KEY);
40
- if (!config) {
41
- // Hold up bootstrapping for it
42
- logger.info(`no lat/long on hand, fetching from Home Assistant`);
43
- await updateLocation();
44
- return;
45
- }
46
- // Background update, just in case
47
- // Not expecting it to change, so it can be done in
48
- setImmediate(async () => await updateLocation());
49
- });
50
- // Rebuild references hourly
51
- //
52
- scheduler.cron({
53
- exec: () => PopulateReferences(),
54
- schedule: utilities_1.CronExpression.EVERY_HOUR,
55
- });
56
- async function updateLocation() {
57
- config = await hass.fetch.getConfig();
58
- await cache.set(CACHE_KEY, config);
59
- PopulateReferences();
60
- }
61
- const solarReference = {};
62
- async function PopulateReferences() {
63
- solarReference.dawn = (0, dayjs_1.default)((0, __1.calcSunriseSet)(true, degreesBelowHorizon.twilight, config.latitude, config.longitude));
64
- solarReference.sunriseEnd = (0, dayjs_1.default)((0, __1.calcSunriseSet)(true, degreesBelowHorizon.sunriseEnd, config.latitude, config.longitude));
65
- solarReference.sunsetStart = (0, dayjs_1.default)((0, __1.calcSunriseSet)(false, degreesBelowHorizon.sunriseEnd, config.latitude, config.longitude));
66
- solarReference.dusk = (0, dayjs_1.default)((0, __1.calcSunriseSet)(false, degreesBelowHorizon.twilight, config.latitude, config.longitude));
67
- solarReference.nightStart = (0, dayjs_1.default)((0, __1.calcSunriseSet)(false, degreesBelowHorizon.night, config.latitude, config.longitude));
68
- solarReference.nightEnd = (0, dayjs_1.default)((0, __1.calcSunriseSet)(true, degreesBelowHorizon.night, config.latitude, config.longitude));
69
- solarReference.sunrise = (0, dayjs_1.default)((0, __1.calcSunriseSet)(true, degreesBelowHorizon.sunrise, config.latitude, config.longitude));
70
- solarReference.sunset = (0, dayjs_1.default)((0, __1.calcSunriseSet)(false, degreesBelowHorizon.sunrise, config.latitude, config.longitude));
71
- solarReference.solarNoon = (0, dayjs_1.default)((0, __1.calcSolNoon)(config.longitude));
72
- solarReference.loaded = true;
73
- const now = (0, dayjs_1.default)();
74
- const today = now.format("YYYY-MM-DD");
75
- if (lastEventAttachment !== today) {
76
- lastEventAttachment = today;
77
- solarEvents.forEach((i) => {
78
- if (solarReference[i].isBefore(now)) {
79
- return;
80
- }
81
- setTimeout(() => event.emit(i), Math.abs(now.diff(solarReference[i], "ms")));
82
- });
83
- }
84
- }
85
- solarReference.loaded = false;
86
- solarReference.isBetween = (a, b) => {
87
- const now = (0, dayjs_1.default)();
88
- return now.isBetween(solarReference[a], solarReference[b]);
89
- };
90
- solarReference.onEvent = ({ context, eventName, label, exec, }) => {
91
- event.on(eventName, async () => {
92
- await utilities_1.ZCC.safeExec({
93
- duration: undefined,
94
- errors: undefined,
95
- exec: async () => await exec(),
96
- executions: undefined,
97
- labels: { context, label },
98
- });
99
- });
100
- };
101
- return solarReference;
102
- }
103
- exports.SolarCalculator = SolarCalculator;
104
- //# sourceMappingURL=solar-calc.extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solar-calc.extension.js","sourceRoot":"","sources":["../../../src/automation/extensions/solar-calc.extension.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { PICK_ENTITY } from "../../hass";
2
- import { TContext } from "../../utilities";
3
- export declare const LOCATION_UPDATED = "LOCATION_UPDATED";
4
- export declare const SCENE_CHANGE: <T extends string = string>(room: T) => string;
5
- export declare const SCENE_SET_ENTITY = "SCENE_SET_ENTITY";
6
- export declare const ANIMATION_INTERRUPT = "ANIMATION_INTERRUPT";
7
- export declare const DETERMINISTIC_SWITCH_CHANGED = "DETERMINISTIC_SWITCH_CHANGED";
8
- export type DeterministicSwitchChangedData = {
9
- entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
10
- state: "on" | "off";
11
- };
12
- export declare const AGGRESSIVE_SCENES_ADJUSTMENT = "AGGRESSIVE_SCENES_ADJUSTMENT";
13
- export type AggressiveScenesAdjustmentTypes = "light_brightness" | "light_color" | "light_temperature" | "light_on_off" | "switch_on_off";
14
- export type AggressiveScenesAdjustmentData = {
15
- entity_id: PICK_ENTITY<"switch" | "light">;
16
- type: AggressiveScenesAdjustmentTypes;
17
- };
18
- export declare const ROOM_SET_SCENE = "ROOM_SET_SCENE";
19
- export type RoomSetSceneData = {
20
- room: string;
21
- scene: string;
22
- };
23
- export declare const SEQUENCE_WATCHER_TRIGGER = "SEQUENCE_WATCHER_TRIGGER";
24
- export type SequenceWatcherTriggerData = {
25
- context: TContext;
26
- label?: string;
27
- time: number;
28
- };
29
- export declare const SOLAR_EVENT_TRIGGER = "SOLAR_EVENT_TRIGGER";
30
- export type SolarEventTriggerData = {
31
- context: TContext;
32
- event: string;
33
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SOLAR_EVENT_TRIGGER = exports.SEQUENCE_WATCHER_TRIGGER = exports.ROOM_SET_SCENE = exports.AGGRESSIVE_SCENES_ADJUSTMENT = exports.DETERMINISTIC_SWITCH_CHANGED = exports.ANIMATION_INTERRUPT = exports.SCENE_SET_ENTITY = exports.SCENE_CHANGE = exports.LOCATION_UPDATED = void 0;
4
- exports.LOCATION_UPDATED = "LOCATION_UPDATED";
5
- const SCENE_CHANGE = (room) => `SCENE_CHANGE:${room}`;
6
- exports.SCENE_CHANGE = SCENE_CHANGE;
7
- exports.SCENE_SET_ENTITY = "SCENE_SET_ENTITY";
8
- exports.ANIMATION_INTERRUPT = "ANIMATION_INTERRUPT";
9
- exports.DETERMINISTIC_SWITCH_CHANGED = "DETERMINISTIC_SWITCH_CHANGED";
10
- exports.AGGRESSIVE_SCENES_ADJUSTMENT = "AGGRESSIVE_SCENES_ADJUSTMENT";
11
- exports.ROOM_SET_SCENE = "ROOM_SET_SCENE";
12
- exports.SEQUENCE_WATCHER_TRIGGER = "SEQUENCE_WATCHER_TRIGGER";
13
- exports.SOLAR_EVENT_TRIGGER = "SOLAR_EVENT_TRIGGER";
14
- //# sourceMappingURL=events.helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.helper.js","sourceRoot":"","sources":["../../../src/automation/helpers/events.helper.ts"],"names":[],"mappings":";;;AAGa,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,MAAM,YAAY,GAAG,CAA4B,IAAO,EAAE,EAAE,CACjE,gBAAgB,IAAI,EAAE,CAAC;AADZ,QAAA,YAAY,gBACA;AACZ,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,4BAA4B,GAAG,8BAA8B,CAAC;AAM9D,QAAA,4BAA4B,GAAG,8BAA8B,CAAC;AAY9D,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAMlC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAOtD,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from "./events.helper";
2
- export * from "./managed-switch.helper";
3
- export * from "./metrics.helper";
4
- export * from "./reftimes.helper";
5
- export * from "./scene.helper";
6
- export * from "./sequence.helper";
7
- export * from "./solar.helper";
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./events.helper"), exports);
5
- tslib_1.__exportStar(require("./managed-switch.helper"), exports);
6
- tslib_1.__exportStar(require("./metrics.helper"), exports);
7
- tslib_1.__exportStar(require("./reftimes.helper"), exports);
8
- tslib_1.__exportStar(require("./scene.helper"), exports);
9
- tslib_1.__exportStar(require("./sequence.helper"), exports);
10
- tslib_1.__exportStar(require("./solar.helper"), exports);
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/automation/helpers/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kEAAwC;AACxC,2DAAiC;AACjC,4DAAkC;AAClC,yDAA+B;AAC/B,4DAAkC;AAClC,yDAA+B"}
@@ -1,41 +0,0 @@
1
- import { PICK_ENTITY } from "../../hass";
2
- import { CronExpression, TBlackHole, TContext } from "../../utilities";
3
- export type PickASwitch = PICK_ENTITY<"switch"> | {
4
- entity_id: PICK_ENTITY<"switch">;
5
- };
6
- type EntityUpdate = PICK_ENTITY | {
7
- entity_id: PICK_ENTITY;
8
- } | {
9
- onUpdate: (callback: () => TBlackHole) => void;
10
- state: unknown;
11
- name: string;
12
- };
13
- export interface ManagedSwitchOptions {
14
- /**
15
- * Logging context
16
- */
17
- context: TContext;
18
- /**
19
- * Set the state of this switch
20
- */
21
- entity_id: PickASwitch | PickASwitch[];
22
- /**
23
- * cron compatible expression
24
- *
25
- * Default: EVERY_10_MINUTES
26
- */
27
- schedule?: CronExpression | `${CronExpression}` | string;
28
- /**
29
- * Check on update of this entity
30
- */
31
- onUpdate?: EntityUpdate | EntityUpdate[];
32
- /**
33
- * - return true for on
34
- * - return false for off
35
- * - return undefined for no change
36
- *
37
- * Cannot be a promise
38
- */
39
- shouldBeOn: () => boolean | undefined;
40
- }
41
- export {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=managed-switch.helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"managed-switch.helper.js","sourceRoot":"","sources":["../../../src/automation/helpers/managed-switch.helper.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { Counter, Summary } from "prom-client";
2
- /**
3
- * Tracks the number of times a sequence matcher callback has been executed.
4
- */
5
- export declare const SEQUENCE_MATCHER_EXECUTION_COUNT: Counter<"context" | "label">;
6
- /**
7
- * Counts the number of errors occurred during sequence matcher callback executions.
8
- */
9
- export declare const SEQUENCE_MATCHER_ERRORS: Counter<"context" | "label">;
10
- /**
11
- * Summary for Execution Time
12
- */
13
- export declare const SEQUENCE_MATCHER_EXECUTION_TIME: Summary<"context" | "label">;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SEQUENCE_MATCHER_EXECUTION_TIME = exports.SEQUENCE_MATCHER_ERRORS = exports.SEQUENCE_MATCHER_EXECUTION_COUNT = void 0;
4
- const prom_client_1 = require("prom-client");
5
- /**
6
- * Tracks the number of times a sequence matcher callback has been executed.
7
- */
8
- exports.SEQUENCE_MATCHER_EXECUTION_COUNT = new prom_client_1.Counter({
9
- help: "Counts the number of times a sequence matcher callback has been executed",
10
- labelNames: ["context", "label"],
11
- name: "digital_alchemy_automation_logic_sequence_matcher_callback_execution_count",
12
- });
13
- /**
14
- * Counts the number of errors occurred during sequence matcher callback executions.
15
- */
16
- exports.SEQUENCE_MATCHER_ERRORS = new prom_client_1.Counter({
17
- help: "Counts the number of errors during sequence matcher callback executions",
18
- labelNames: ["context", "label"],
19
- name: "digital_alchemy_automation_logic_sequence_matcher_callback_errors",
20
- });
21
- /**
22
- * Summary for Execution Time
23
- */
24
- exports.SEQUENCE_MATCHER_EXECUTION_TIME = new prom_client_1.Summary({
25
- help: "Measures the duration of each cron job or interval execution",
26
- labelNames: ["context", "label"],
27
- name: "digital_alchemy_automation_logic_sequence_matcher_callback_execution_time",
28
- percentiles: [0.5, 0.9, 0.99],
29
- });
30
- //# sourceMappingURL=metrics.helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.helper.js","sourceRoot":"","sources":["../../../src/automation/helpers/metrics.helper.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAE/C;;GAEG;AACU,QAAA,gCAAgC,GAAG,IAAI,qBAAO,CAAC;IAC1D,IAAI,EAAE,0EAA0E;IAChF,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAU;IACzC,IAAI,EAAE,4EAA4E;CACnF,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,qBAAO,CAAC;IACjD,IAAI,EAAE,yEAAyE;IAC/E,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAU;IACzC,IAAI,EAAE,mEAAmE;CAC1E,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,+BAA+B,GAAG,IAAI,qBAAO,CAAC;IACzD,IAAI,EAAE,8DAA8D;IACpE,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAU;IACzC,IAAI,EAAE,2EAA2E;IACjF,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;CAC9B,CAAC,CAAC"}