@digital-alchemy/hass 24.9.3 → 24.9.4

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 (197) hide show
  1. package/README.md +4 -1
  2. package/dist/dynamic.d.ts +1 -1
  3. package/dist/dynamic.js +7 -2
  4. package/dist/dynamic.js.map +1 -1
  5. package/dist/extensions/area.extension.d.ts +2 -12
  6. package/dist/extensions/area.extension.js +20 -26
  7. package/dist/extensions/area.extension.js.map +1 -1
  8. package/dist/extensions/backup.extension.d.ts +2 -7
  9. package/dist/extensions/backup.extension.js +5 -8
  10. package/dist/extensions/backup.extension.js.map +1 -1
  11. package/dist/extensions/call-proxy.extension.d.ts +1 -1
  12. package/dist/extensions/call-proxy.extension.js +3 -22
  13. package/dist/extensions/call-proxy.extension.js.map +1 -1
  14. package/dist/extensions/config.extension.d.ts +2 -6
  15. package/dist/extensions/config.extension.js +21 -25
  16. package/dist/extensions/config.extension.js.map +1 -1
  17. package/dist/extensions/conversation.extension.d.ts +2 -6
  18. package/dist/extensions/conversation.extension.js +5 -8
  19. package/dist/extensions/conversation.extension.js.map +1 -1
  20. package/dist/extensions/device.extension.d.ts +2 -5
  21. package/dist/extensions/device.extension.js +16 -22
  22. package/dist/extensions/device.extension.js.map +1 -1
  23. package/dist/extensions/entity.extension.d.ts +2 -61
  24. package/dist/extensions/entity.extension.js +42 -83
  25. package/dist/extensions/entity.extension.js.map +1 -1
  26. package/dist/extensions/events.extension.d.ts +3 -11
  27. package/dist/extensions/events.extension.js +8 -11
  28. package/dist/extensions/events.extension.js.map +1 -1
  29. package/dist/extensions/fetch-api.extension.d.ts +12 -4
  30. package/dist/extensions/fetch-api.extension.js +23 -35
  31. package/dist/extensions/fetch-api.extension.js.map +1 -1
  32. package/dist/extensions/floor.extension.d.ts +2 -9
  33. package/dist/extensions/floor.extension.js +17 -23
  34. package/dist/extensions/floor.extension.js.map +1 -1
  35. package/dist/extensions/id-by.extension.js +15 -20
  36. package/dist/extensions/id-by.extension.js.map +1 -1
  37. package/dist/extensions/index.d.ts +1 -0
  38. package/dist/extensions/index.js +16 -18
  39. package/dist/extensions/index.js.map +1 -1
  40. package/dist/extensions/internal.extension.d.ts +18 -0
  41. package/dist/extensions/internal.extension.js +102 -0
  42. package/dist/extensions/internal.extension.js.map +1 -0
  43. package/dist/extensions/label.extension.d.ts +2 -9
  44. package/dist/extensions/label.extension.js +17 -23
  45. package/dist/extensions/label.extension.js.map +1 -1
  46. package/dist/extensions/reference.extension.d.ts +2 -12
  47. package/dist/extensions/reference.extension.js +19 -25
  48. package/dist/extensions/reference.extension.js.map +1 -1
  49. package/dist/extensions/registry.extension.d.ts +2 -7
  50. package/dist/extensions/registry.extension.js +1 -4
  51. package/dist/extensions/registry.extension.js.map +1 -1
  52. package/dist/extensions/websocket-api.extension.d.ts +3 -78
  53. package/dist/extensions/websocket-api.extension.js +82 -165
  54. package/dist/extensions/websocket-api.extension.js.map +1 -1
  55. package/dist/extensions/zone.extension.d.ts +2 -7
  56. package/dist/extensions/zone.extension.js +15 -21
  57. package/dist/extensions/zone.extension.js.map +1 -1
  58. package/dist/hass.module.d.ts +47 -36
  59. package/dist/hass.module.js +70 -70
  60. package/dist/hass.module.js.map +1 -1
  61. package/dist/helpers/backup.helper.js +1 -2
  62. package/dist/helpers/constants.helper.js +15 -18
  63. package/dist/helpers/constants.helper.js.map +1 -1
  64. package/dist/helpers/device.helper.js +2 -5
  65. package/dist/helpers/device.helper.js.map +1 -1
  66. package/dist/helpers/entity-state.helper.d.ts +3 -8
  67. package/dist/helpers/entity-state.helper.js +1 -8
  68. package/dist/helpers/entity-state.helper.js.map +1 -1
  69. package/dist/helpers/features.helper.js +79 -85
  70. package/dist/helpers/features.helper.js.map +1 -1
  71. package/dist/helpers/fetch/calendar.js +1 -2
  72. package/dist/helpers/fetch/configuration.js +2 -5
  73. package/dist/helpers/fetch/configuration.js.map +1 -1
  74. package/dist/helpers/fetch/index.js +5 -8
  75. package/dist/helpers/fetch/index.js.map +1 -1
  76. package/dist/helpers/fetch/server-log.js +1 -2
  77. package/dist/helpers/fetch/server-log.js.map +1 -1
  78. package/dist/helpers/fetch/service-list.js +1 -2
  79. package/dist/helpers/fetch/weather-forecasts.js +1 -2
  80. package/dist/helpers/fetch/weather-forecasts.js.map +1 -1
  81. package/dist/helpers/fetch.helper.d.ts +162 -0
  82. package/dist/helpers/fetch.helper.js +161 -0
  83. package/dist/helpers/fetch.helper.js.map +1 -0
  84. package/dist/helpers/id-by.helper.js +1 -2
  85. package/dist/helpers/index.d.ts +2 -1
  86. package/dist/helpers/index.js +13 -15
  87. package/dist/helpers/index.js.map +1 -1
  88. package/dist/helpers/interfaces.helper.d.ts +228 -0
  89. package/dist/helpers/interfaces.helper.js +10 -0
  90. package/dist/helpers/interfaces.helper.js.map +1 -0
  91. package/dist/helpers/manifest.helper.d.ts +0 -1
  92. package/dist/helpers/manifest.helper.js +0 -1
  93. package/dist/helpers/notify.helper.d.ts +11 -3
  94. package/dist/helpers/notify.helper.js +1 -2
  95. package/dist/helpers/registry.js +7 -10
  96. package/dist/helpers/registry.js.map +1 -1
  97. package/dist/helpers/utility.helper.d.ts +6 -1
  98. package/dist/helpers/utility.helper.js +9 -13
  99. package/dist/helpers/utility.helper.js.map +1 -1
  100. package/dist/helpers/websocket.helper.d.ts +1 -2
  101. package/dist/helpers/websocket.helper.js +1 -2
  102. package/dist/index.js +5 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/mock_assistant/extensions/area.extension.d.ts +8 -0
  105. package/dist/mock_assistant/extensions/area.extension.js +51 -0
  106. package/dist/mock_assistant/extensions/area.extension.js.map +1 -0
  107. package/dist/mock_assistant/extensions/config.extension.d.ts +14 -0
  108. package/dist/mock_assistant/extensions/config.extension.js +29 -0
  109. package/dist/mock_assistant/extensions/config.extension.js.map +1 -0
  110. package/dist/mock_assistant/extensions/device.extension.d.ts +8 -0
  111. package/dist/mock_assistant/extensions/device.extension.js +33 -0
  112. package/dist/mock_assistant/extensions/device.extension.js.map +1 -0
  113. package/dist/mock_assistant/extensions/entity-registry.extension.d.ts +13 -0
  114. package/dist/mock_assistant/extensions/entity-registry.extension.js +28 -0
  115. package/dist/mock_assistant/extensions/entity-registry.extension.js.map +1 -0
  116. package/dist/mock_assistant/extensions/entity.extension.d.ts +30 -0
  117. package/dist/mock_assistant/extensions/entity.extension.js +77 -0
  118. package/dist/mock_assistant/extensions/entity.extension.js.map +1 -0
  119. package/dist/mock_assistant/extensions/events.extension.d.ts +1 -1
  120. package/dist/mock_assistant/extensions/events.extension.js +3 -6
  121. package/dist/mock_assistant/extensions/events.extension.js.map +1 -1
  122. package/dist/mock_assistant/extensions/fetch.extension.d.ts +1 -0
  123. package/dist/mock_assistant/extensions/fetch.extension.js +4 -0
  124. package/dist/mock_assistant/extensions/fetch.extension.js.map +1 -0
  125. package/dist/mock_assistant/extensions/fixtures.extension.d.ts +1 -1
  126. package/dist/mock_assistant/extensions/fixtures.extension.js +29 -33
  127. package/dist/mock_assistant/extensions/fixtures.extension.js.map +1 -1
  128. package/dist/mock_assistant/extensions/floor.extension.d.ts +8 -0
  129. package/dist/mock_assistant/extensions/floor.extension.js +51 -0
  130. package/dist/mock_assistant/extensions/floor.extension.js.map +1 -0
  131. package/dist/mock_assistant/extensions/index.d.ts +10 -0
  132. package/dist/mock_assistant/extensions/index.js +12 -5
  133. package/dist/mock_assistant/extensions/index.js.map +1 -1
  134. package/dist/mock_assistant/extensions/label.extension.d.ts +8 -0
  135. package/dist/mock_assistant/extensions/label.extension.js +51 -0
  136. package/dist/mock_assistant/extensions/label.extension.js.map +1 -0
  137. package/dist/mock_assistant/extensions/services.extension.d.ts +12 -0
  138. package/dist/mock_assistant/extensions/services.extension.js +20 -0
  139. package/dist/mock_assistant/extensions/services.extension.js.map +1 -0
  140. package/dist/mock_assistant/extensions/websocket-api.extension.d.ts +15 -0
  141. package/dist/mock_assistant/extensions/websocket-api.extension.js +68 -0
  142. package/dist/mock_assistant/extensions/websocket-api.extension.js.map +1 -0
  143. package/dist/mock_assistant/extensions/zone.extension.d.ts +8 -0
  144. package/dist/mock_assistant/extensions/zone.extension.js +51 -0
  145. package/dist/mock_assistant/extensions/zone.extension.js.map +1 -0
  146. package/dist/mock_assistant/helpers/fixtures.js +1 -2
  147. package/dist/mock_assistant/helpers/index.d.ts +0 -1
  148. package/dist/mock_assistant/helpers/index.js +1 -5
  149. package/dist/mock_assistant/helpers/index.js.map +1 -1
  150. package/dist/mock_assistant/index.js +3 -6
  151. package/dist/mock_assistant/index.js.map +1 -1
  152. package/dist/mock_assistant/main.js +11 -15
  153. package/dist/mock_assistant/main.js.map +1 -1
  154. package/dist/mock_assistant/mock-assistant.module.d.ts +156 -3
  155. package/dist/mock_assistant/mock-assistant.module.js +56 -11
  156. package/dist/mock_assistant/mock-assistant.module.js.map +1 -1
  157. package/dist/quickboot.module.js +5 -8
  158. package/dist/quickboot.module.js.map +1 -1
  159. package/dist/testing/area.spec.js +106 -194
  160. package/dist/testing/area.spec.js.map +1 -1
  161. package/dist/testing/backup.spec.js +97 -139
  162. package/dist/testing/backup.spec.js.map +1 -1
  163. package/dist/testing/config.spec.js +79 -153
  164. package/dist/testing/config.spec.js.map +1 -1
  165. package/dist/testing/device.spec.js +35 -69
  166. package/dist/testing/device.spec.js.map +1 -1
  167. package/dist/testing/entity.spec.js +94 -149
  168. package/dist/testing/entity.spec.js.map +1 -1
  169. package/dist/testing/events.spec.js +33 -57
  170. package/dist/testing/events.spec.js.map +1 -1
  171. package/dist/testing/fetch-api.spec.js +242 -427
  172. package/dist/testing/fetch-api.spec.js.map +1 -1
  173. package/dist/testing/fixtures.spec.d.ts +1 -0
  174. package/dist/testing/fixtures.spec.js +150 -0
  175. package/dist/testing/fixtures.spec.js.map +1 -0
  176. package/dist/testing/floor.spec.js +106 -194
  177. package/dist/testing/floor.spec.js.map +1 -1
  178. package/dist/testing/id-by.spec.js +68 -107
  179. package/dist/testing/id-by.spec.js.map +1 -1
  180. package/dist/testing/label.spec.js +106 -194
  181. package/dist/testing/label.spec.js.map +1 -1
  182. package/dist/testing/ref-by.spec.js +155 -219
  183. package/dist/testing/ref-by.spec.js.map +1 -1
  184. package/dist/testing/websocket.spec.d.ts +1 -8
  185. package/dist/testing/websocket.spec.js +35 -50
  186. package/dist/testing/websocket.spec.js.map +1 -1
  187. package/dist/testing/workflow.spec.js +82 -81
  188. package/dist/testing/workflow.spec.js.map +1 -1
  189. package/dist/testing/zone.spec.js +61 -113
  190. package/dist/testing/zone.spec.js.map +1 -1
  191. package/package.json +56 -40
  192. package/dist/helpers/metrics.helper.d.ts +0 -29
  193. package/dist/helpers/metrics.helper.js +0 -62
  194. package/dist/helpers/metrics.helper.js.map +0 -1
  195. package/dist/mock_assistant/helpers/utils.d.ts +0 -4
  196. package/dist/mock_assistant/helpers/utils.js +0 -57
  197. package/dist/mock_assistant/helpers/utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"zone.extension.js","sourceRoot":"","sources":["../../src/extensions/zone.extension.ts"],"names":[],"mappings":";;AAUA,oBA4DC;AAtED,gDAAiE;AAEjE,wCAMoB;AAEpB,SAAgB,IAAI,CAAC,EACnB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,GACM;IACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,GAAG,IAAI,OAAO,CAAO,KAAK,EAAC,IAAI,EAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,GAAG,SAAS,CAAC;YACpB,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,wBAAc,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACpB,OAAO;QACP,UAAU,EAAE,uBAAuB;QACnC,KAAK,CAAC,IAAI;YACR,MAAM,IAAA,eAAQ,EAAC,+BAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,+BAAqB,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;IAEH,KAAK,UAAU,UAAU,CAAC,OAAoB;QAC5C,OAAO,IAAI,OAAO,CAAO,KAAK,EAAC,IAAI,EAAC,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,+BAAqB,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAiB;gBAC5C,GAAG,OAAO;gBACV,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,OAAoB;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAiB;YAC5C,GAAG,OAAO;YACV,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,QAAQ;QACrB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAgB;YAClD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAmB;QAC5B,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"zone.extension.js","sourceRoot":"","sources":["../../src/extensions/zone.extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,cAAc,EAGd,qBAAqB,GAGtB,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,IAAI,CAAC,EACnB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,GACM;IACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,OAAO,GAAG,IAAI,OAAO,CAAO,KAAK,EAAC,IAAI,EAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,GAAG,SAAS,CAAC;YACpB,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,UAAU,EAAE,uBAAuB;YACnC,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,UAAU,CAAC,OAAoB;QAC5C,OAAO,IAAI,OAAO,CAAO,KAAK,EAAC,IAAI,EAAC,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAiB;gBAC5C,GAAG,OAAO;gBACV,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,OAAoB;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAiB;YAC5C,GAAG,OAAO;YACV,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,QAAQ;QACrB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAgB;YAClD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAmB;QAC5B,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC"}
@@ -1,8 +1,4 @@
1
- import { StringConfig } from "@digital-alchemy/core";
2
- import { Area, Backup, CallProxy, Configure, Device, EntityManager, Events, FetchAPI, Floor, Label, Registry, WebsocketAPI, Zone } from "./extensions";
3
- import { IDByExtension } from "./extensions/id-by.extension";
4
- import { ReferenceExtension } from "./extensions/reference.extension";
5
- type AllowRestOptions = "prefer" | "allow" | "forbid";
1
+ import { Area, Backup, CallProxy, Configure, Device, EntityManager, Events, FetchAPI, FetchInternals, Floor, IDByExtension, Label, ReferenceExtension, Registry, WebsocketAPI, Zone } from "./extensions";
6
2
  export declare const LIB_HASS: import("@digital-alchemy/core").LibraryDefinition<{
7
3
  /**
8
4
  * home assistant areas
@@ -44,6 +40,10 @@ export declare const LIB_HASS: import("@digital-alchemy/core").LibraryDefinition
44
40
  * search for entity ids in a type safe way
45
41
  */
46
42
  idBy: typeof IDByExtension;
43
+ /**
44
+ * @internal
45
+ */
46
+ internals: typeof FetchInternals;
47
47
  /**
48
48
  * home assistant label interactions
49
49
  */
@@ -65,81 +65,93 @@ export declare const LIB_HASS: import("@digital-alchemy/core").LibraryDefinition
65
65
  */
66
66
  zone: typeof Zone;
67
67
  }, {
68
- AUTO_CONNECT_SOCKET: {
69
- default: true;
70
- description: string;
71
- type: "boolean";
72
- };
73
- AUTO_SCAN_CALL_PROXY: {
74
- default: true;
75
- description: string;
76
- type: "boolean";
77
- };
68
+ /**
69
+ * Where to reach Home Assistant at
70
+ *
71
+ * Will auto detect inside an addon
72
+ */
78
73
  BASE_URL: {
79
74
  default: string;
80
75
  description: string;
81
76
  type: "string";
82
77
  };
83
- CALL_PROXY_ALLOW_REST: StringConfig<AllowRestOptions>;
78
+ /**
79
+ * When adding new integrations, app will receive 1 update event for everything that changes.
80
+ * This can result in a flood of updates where only a single one is needed at the very end.
81
+ *
82
+ * This setting helps control that.
83
+ */
84
84
  EVENT_DEBOUNCE_MS: {
85
85
  default: number;
86
86
  description: string;
87
87
  type: "number";
88
88
  };
89
+ /**
90
+ * ## ACKNOWLEDGE ME
91
+ *
92
+ * Home Assistant **should** respond to all sent messages with a reply to confirm it was received.
93
+ *
94
+ * If this does not happen, then a warning will be emitted into the logs
95
+ */
89
96
  EXPECT_RESPONSE_AFTER: {
90
97
  default: number;
91
98
  description: string;
92
99
  type: "number";
93
100
  };
94
- MANAGE_REGISTRY: {
95
- default: true;
96
- description: string;
97
- type: "boolean";
98
- };
99
- MOCK_SOCKET: {
100
- default: false;
101
- description: string[];
102
- type: "boolean";
103
- };
101
+ /**
102
+ * General purpose variable, adds delays to things when retrying
103
+ *
104
+ * > **NOTE**: this is best set to `0` for unit tests
105
+ */
104
106
  RETRY_INTERVAL: {
105
107
  default: number;
106
108
  description: string;
107
109
  type: "number";
108
110
  };
111
+ /**
112
+ * @internal
113
+ */
109
114
  SOCKET_AVG_DURATION: {
110
115
  default: number;
111
116
  description: string;
112
117
  type: "number";
113
118
  };
119
+ /**
120
+ * @internal
121
+ */
114
122
  SOCKET_CRASH_REQUESTS_PER_SEC: {
115
123
  default: number;
116
124
  description: string;
117
125
  type: "number";
118
126
  };
127
+ /**
128
+ * @internal
129
+ */
119
130
  SOCKET_WARN_REQUESTS_PER_SEC: {
120
131
  default: number;
121
132
  description: string;
122
133
  type: "number";
123
134
  };
135
+ /**
136
+ * Long lived access token
137
+ */
124
138
  TOKEN: {
125
139
  description: string;
126
140
  required: true;
127
141
  type: "string";
128
142
  };
129
- TRACK_ENTITIES: {
130
- default: true;
131
- description: string;
132
- type: "boolean";
133
- };
143
+ /**
144
+ * Intended to be provided via command line switch. Ex:
145
+ *
146
+ * ```bash
147
+ * $ node dist/main.js --validate-configuration
148
+ * ```
149
+ */
134
150
  VALIDATE_CONFIGURATION: {
135
151
  default: false;
136
152
  description: string;
137
153
  type: "boolean";
138
154
  };
139
- WEBSOCKET_URL: {
140
- description: string;
141
- type: "string";
142
- };
143
155
  }>;
144
156
  declare module "@digital-alchemy/core" {
145
157
  interface LoadedModules {
@@ -149,4 +161,3 @@ declare module "@digital-alchemy/core" {
149
161
  hass: typeof LIB_HASS;
150
162
  }
151
163
  }
152
- export {};
@@ -1,163 +1,163 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LIB_HASS = void 0;
4
- const core_1 = require("@digital-alchemy/core");
5
- const extensions_1 = require("./extensions");
6
- const id_by_extension_1 = require("./extensions/id-by.extension");
7
- const reference_extension_1 = require("./extensions/reference.extension");
8
- exports.LIB_HASS = (0, core_1.CreateLibrary)({
1
+ import { CreateLibrary } from "@digital-alchemy/core";
2
+ import { Area, Backup, CallProxy, Configure, Device, EntityManager, Events, FetchAPI, FetchInternals, Floor, IDByExtension, Label, ReferenceExtension, Registry, WebsocketAPI, Zone, } from "./extensions";
3
+ export const LIB_HASS = CreateLibrary({
9
4
  configuration: {
10
- AUTO_CONNECT_SOCKET: {
11
- default: true,
12
- description: "Websocket must be manually initialized if set to false",
13
- type: "boolean",
14
- },
15
- AUTO_SCAN_CALL_PROXY: {
16
- default: true,
17
- description: "Should the call proxy request a service listing at bootstrap?",
18
- type: "boolean",
19
- },
5
+ /**
6
+ * Where to reach Home Assistant at
7
+ *
8
+ * Will auto detect inside an addon
9
+ */
20
10
  BASE_URL: {
21
11
  default: "http://homeassistant.local:8123",
22
12
  description: "Url to reach Home Assistant at",
23
13
  type: "string",
24
14
  },
25
- CALL_PROXY_ALLOW_REST: {
26
- default: "allow",
27
- description: [
28
- "Send commands from hass.call via rest instead of socket",
29
- "Allow = only if socket is not connected",
30
- ],
31
- enum: ["prefer", "forbid", "allow"],
32
- type: "string",
33
- },
15
+ /**
16
+ * When adding new integrations, app will receive 1 update event for everything that changes.
17
+ * This can result in a flood of updates where only a single one is needed at the very end.
18
+ *
19
+ * This setting helps control that.
20
+ */
34
21
  EVENT_DEBOUNCE_MS: {
35
22
  default: 50,
36
23
  description: "Debounce reactions to registry changes",
37
24
  type: "number",
38
25
  },
26
+ /**
27
+ * ## ACKNOWLEDGE ME
28
+ *
29
+ * Home Assistant **should** respond to all sent messages with a reply to confirm it was received.
30
+ *
31
+ * If this does not happen, then a warning will be emitted into the logs
32
+ */
39
33
  EXPECT_RESPONSE_AFTER: {
40
34
  default: 5,
41
35
  description: "If sendMessage was set to expect a response, a warning will be emitted after this delay if one is not received",
42
36
  type: "number",
43
37
  },
44
- MANAGE_REGISTRY: {
45
- default: true,
46
- description: "Live track registry data",
47
- type: "boolean",
48
- },
49
- MOCK_SOCKET: {
50
- default: false,
51
- description: [
52
- "Operate with an artificial socket connection",
53
- "For unit testing",
54
- ],
55
- type: "boolean",
56
- },
38
+ /**
39
+ * General purpose variable, adds delays to things when retrying
40
+ *
41
+ * > **NOTE**: this is best set to `0` for unit tests
42
+ */
57
43
  RETRY_INTERVAL: {
58
44
  default: 5,
59
- description: "How often to retry connecting on connection failure (seconds).",
45
+ description: "How often to retry connecting on connection failure (seconds)",
60
46
  type: "number",
61
47
  },
48
+ /**
49
+ * @internal
50
+ */
62
51
  SOCKET_AVG_DURATION: {
63
52
  default: 5,
64
53
  description: "How many seconds worth of requests to use in avg for math in REQ_PER_SEC calculations",
65
54
  type: "number",
66
55
  },
56
+ /**
57
+ * @internal
58
+ */
67
59
  SOCKET_CRASH_REQUESTS_PER_SEC: {
68
60
  default: 500,
69
- description: "Socket service will commit sudoku if more than this many outgoing messages are sent to Home Assistant in a second. Usually indicates runaway code.",
61
+ description: "Socket service will commit sudoku if more than this many outgoing messages are sent to Home Assistant in a second. Usually indicates runaway code",
70
62
  type: "number",
71
63
  },
64
+ /**
65
+ * @internal
66
+ */
72
67
  SOCKET_WARN_REQUESTS_PER_SEC: {
73
68
  default: 300,
74
- description: "Emit warnings if the home controller attempts to send more than X messages to Home Assistant inside of a second.",
69
+ description: "Emit warnings if the home controller attempts to send more than X messages to Home Assistant inside of a second",
75
70
  type: "number",
76
71
  },
72
+ /**
73
+ * Long lived access token
74
+ */
77
75
  TOKEN: {
78
- description: "Long lived access token to Home Assistant.",
76
+ description: "Long lived access token to Home Assistant",
79
77
  required: true,
80
78
  type: "string",
81
79
  },
82
- TRACK_ENTITIES: {
83
- default: true,
84
- description: "Set to false to not fetch entity info at boot, and maintain states",
85
- type: "boolean",
86
- },
80
+ /**
81
+ * Intended to be provided via command line switch. Ex:
82
+ *
83
+ * ```bash
84
+ * $ node dist/main.js --validate-configuration
85
+ * ```
86
+ */
87
87
  VALIDATE_CONFIGURATION: {
88
88
  default: false,
89
- description: "Validate the credentials, then quit",
89
+ description: "Validate the credentials then quit",
90
90
  type: "boolean",
91
91
  },
92
- WEBSOCKET_URL: {
93
- description: `Override calculated value if it's breaking or you want something custom. Make sure to use "ws[s]://" scheme.`,
94
- type: "string",
95
- },
96
92
  },
97
93
  name: "hass",
98
94
  // no internal dependency ones first
99
- priorityInit: ["fetch", "socket"],
95
+ priorityInit: ["internals", "fetch", "socket"],
100
96
  services: {
101
97
  /**
102
98
  * home assistant areas
103
99
  */
104
- area: extensions_1.Area,
100
+ area: Area,
105
101
  /**
106
102
  * home assistant backup interactions
107
103
  */
108
- backup: extensions_1.Backup,
104
+ backup: Backup,
109
105
  /**
110
106
  * general service calling interface
111
107
  */
112
- call: extensions_1.CallProxy,
108
+ call: CallProxy,
113
109
  /**
114
110
  * internal tools
115
111
  */
116
- configure: extensions_1.Configure,
112
+ configure: Configure,
117
113
  /**
118
114
  * device interactions
119
115
  */
120
- device: extensions_1.Device,
116
+ device: Device,
121
117
  /**
122
118
  * retrieve and interact with home assistant entities
123
119
  */
124
- entity: extensions_1.EntityManager,
120
+ entity: EntityManager,
125
121
  /**
126
122
  * named event attachments
127
123
  */
128
- events: extensions_1.Events,
124
+ events: Events,
129
125
  /**
130
126
  * rest api commands
131
127
  */
132
- fetch: extensions_1.FetchAPI,
128
+ fetch: FetchAPI,
133
129
  /**
134
130
  * floors, like groups of areas
135
131
  */
136
- floor: extensions_1.Floor,
132
+ floor: Floor,
137
133
  /**
138
134
  * search for entity ids in a type safe way
139
135
  */
140
- idBy: id_by_extension_1.IDByExtension,
136
+ idBy: IDByExtension,
137
+ /**
138
+ * @internal
139
+ */
140
+ internals: FetchInternals,
141
141
  /**
142
142
  * home assistant label interactions
143
143
  */
144
- label: extensions_1.Label,
144
+ label: Label,
145
145
  /**
146
146
  * obtain references to entities
147
147
  */
148
- refBy: reference_extension_1.ReferenceExtension,
148
+ refBy: ReferenceExtension,
149
149
  /**
150
150
  * interact with the home assistant registry
151
151
  */
152
- registry: extensions_1.Registry,
152
+ registry: Registry,
153
153
  /**
154
154
  * websocket interface
155
155
  */
156
- socket: extensions_1.WebsocketAPI,
156
+ socket: WebsocketAPI,
157
157
  /**
158
158
  * zone interactions
159
159
  */
160
- zone: extensions_1.Zone,
160
+ zone: Zone,
161
161
  },
162
162
  });
163
163
  //# sourceMappingURL=hass.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hass.module.js","sourceRoot":"","sources":["../src/hass.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hass.module.js","sourceRoot":"","sources":["../src/hass.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,EACR,cAAc,EACd,KAAK,EACL,aAAa,EACb,KAAK,EACL,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;IACpC,aAAa,EAAE;QACb;;;;WAIG;QACH,QAAQ,EAAE;YACR,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;SACf;QAED;;;;;WAKG;QACH,iBAAiB,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;SACf;QAED;;;;;;WAMG;QACH,qBAAqB,EAAE;YACrB,OAAO,EAAE,CAAC;YACV,WAAW,EACT,gHAAgH;YAClH,IAAI,EAAE,QAAQ;SACf;QAED;;;;WAIG;QACH,cAAc,EAAE;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,QAAQ;SACf;QAED;;WAEG;QACH,mBAAmB,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,WAAW,EACT,uFAAuF;YACzF,IAAI,EAAE,QAAQ;SACf;QAED;;WAEG;QACH,6BAA6B,EAAE;YAC7B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,mJAAmJ;YACrJ,IAAI,EAAE,QAAQ;SACf;QAED;;WAEG;QACH,4BAA4B,EAAE;YAC5B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,iHAAiH;YACnH,IAAI,EAAE,QAAQ;SACf;QAED;;WAEG;QACH,KAAK,EAAE;YACL,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;SACf;QAED;;;;;;WAMG;QACH,sBAAsB,EAAE;YACtB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,SAAS;SAChB;KACF;IACD,IAAI,EAAE,MAAM;IACZ,oCAAoC;IACpC,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9C,QAAQ,EAAE;QACR;;WAEG;QACH,IAAI,EAAE,IAAI;QAEV;;WAEG;QACH,MAAM,EAAE,MAAM;QAEd;;WAEG;QACH,IAAI,EAAE,SAAS;QAEf;;WAEG;QACH,SAAS,EAAE,SAAS;QAEpB;;WAEG;QACH,MAAM,EAAE,MAAM;QAEd;;WAEG;QACH,MAAM,EAAE,aAAa;QAErB;;WAEG;QACH,MAAM,EAAE,MAAM;QAEd;;WAEG;QACH,KAAK,EAAE,QAAQ;QAEf;;WAEG;QACH,KAAK,EAAE,KAAK;QAEZ;;WAEG;QACH,IAAI,EAAE,aAAa;QAEnB;;WAEG;QACH,SAAS,EAAE,cAAc;QAEzB;;WAEG;QACH,KAAK,EAAE,KAAK;QAEZ;;WAEG;QACH,KAAK,EAAE,kBAAkB;QAEzB;;WAEG;QACH,QAAQ,EAAE,QAAQ;QAElB;;WAEG;QACH,MAAM,EAAE,YAAY;QAEpB;;WAEG;QACH,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=backup.helper.js.map
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZONE_REGISTRY_UPDATED = exports.DEVICE_REGISTRY_UPDATED = exports.FLOOR_REGISTRY_UPDATED = exports.LABEL_REGISTRY_UPDATED = exports.AREA_REGISTRY_UPDATED = exports.ENTITY_REGISTRY_UPDATED = exports.EARLY_ON_READY = exports.MIN_SUPPORTED_HASS_VERSION = exports.HOME_ASSISTANT_MODULE_CONFIGURATION = exports.HassSocketMessageTypes = exports.SOCKET_READY = exports.ALL_ENTITIES_UPDATED = exports.HASS_ENTITY_GROUP = exports.HASS_ENTITY = void 0;
4
- exports.HASS_ENTITY = "HASS_ENTITY";
5
- exports.HASS_ENTITY_GROUP = "HASS_ENTITY_GROUP";
6
- exports.ALL_ENTITIES_UPDATED = "ALL_ENTITIES_UPDATED";
7
- exports.SOCKET_READY = "SOCKET_READY";
8
- var HassSocketMessageTypes;
1
+ export const HASS_ENTITY = "HASS_ENTITY";
2
+ export const HASS_ENTITY_GROUP = "HASS_ENTITY_GROUP";
3
+ export const ALL_ENTITIES_UPDATED = "ALL_ENTITIES_UPDATED";
4
+ export const SOCKET_READY = "SOCKET_READY";
5
+ export var HassSocketMessageTypes;
9
6
  (function (HassSocketMessageTypes) {
10
7
  HassSocketMessageTypes["auth_required"] = "auth_required";
11
8
  HassSocketMessageTypes["auth_ok"] = "auth_ok";
@@ -13,20 +10,20 @@ var HassSocketMessageTypes;
13
10
  HassSocketMessageTypes["result"] = "result";
14
11
  HassSocketMessageTypes["pong"] = "pong";
15
12
  HassSocketMessageTypes["auth_invalid"] = "auth_invalid";
16
- })(HassSocketMessageTypes || (exports.HassSocketMessageTypes = HassSocketMessageTypes = {}));
17
- exports.HOME_ASSISTANT_MODULE_CONFIGURATION = "HOME_ASSISTANT_MODULE_CONFIGURATION";
13
+ })(HassSocketMessageTypes || (HassSocketMessageTypes = {}));
14
+ export const HOME_ASSISTANT_MODULE_CONFIGURATION = "HOME_ASSISTANT_MODULE_CONFIGURATION";
18
15
  /**
19
16
  * Required for label support, which is an automatic process at boot
20
17
  *
21
18
  * Will not make feature optional to support older hass versions
22
19
  * Update your stuff
23
20
  */
24
- exports.MIN_SUPPORTED_HASS_VERSION = "2024.4.0";
25
- exports.EARLY_ON_READY = 1;
26
- exports.ENTITY_REGISTRY_UPDATED = "ENTITY_REGISTRY_UPDATED";
27
- exports.AREA_REGISTRY_UPDATED = "AREA_REGISTRY_UPDATED";
28
- exports.LABEL_REGISTRY_UPDATED = "LABEL_REGISTRY_UPDATED";
29
- exports.FLOOR_REGISTRY_UPDATED = "FLOOR_REGISTRY_UPDATED";
30
- exports.DEVICE_REGISTRY_UPDATED = "DEVICE_REGISTRY_UPDATED";
31
- exports.ZONE_REGISTRY_UPDATED = "ZONE_REGISTRY_UPDATED";
21
+ export const MIN_SUPPORTED_HASS_VERSION = "2024.4.0";
22
+ export const EARLY_ON_READY = 1;
23
+ export const ENTITY_REGISTRY_UPDATED = "ENTITY_REGISTRY_UPDATED";
24
+ export const AREA_REGISTRY_UPDATED = "AREA_REGISTRY_UPDATED";
25
+ export const LABEL_REGISTRY_UPDATED = "LABEL_REGISTRY_UPDATED";
26
+ export const FLOOR_REGISTRY_UPDATED = "FLOOR_REGISTRY_UPDATED";
27
+ export const DEVICE_REGISTRY_UPDATED = "DEVICE_REGISTRY_UPDATED";
28
+ export const ZONE_REGISTRY_UPDATED = "ZONE_REGISTRY_UPDATED";
32
29
  //# sourceMappingURL=constants.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.helper.js","sourceRoot":"","sources":["../../src/helpers/constants.helper.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,6CAAmB,CAAA;IACnB,yCAAe,CAAA;IACf,2CAAiB,CAAA;IACjB,uCAAa,CAAA;IACb,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAEY,QAAA,mCAAmC,GAC9C,qCAAqC,CAAC;AAExC;;;;;GAKG;AACU,QAAA,0BAA0B,GAAG,UAAU,CAAC;AACxC,QAAA,cAAc,GAAG,CAAC,CAAC;AACnB,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.helper.js","sourceRoot":"","sources":["../../src/helpers/constants.helper.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,6CAAmB,CAAA;IACnB,yCAAe,CAAA;IACf,2CAAiB,CAAA;IACjB,uCAAa,CAAA;IACb,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntryType = void 0;
4
- var EntryType;
1
+ export var EntryType;
5
2
  (function (EntryType) {
6
3
  EntryType["Service"] = "service";
7
- })(EntryType || (exports.EntryType = EntryType = {}));
4
+ })(EntryType || (EntryType = {}));
8
5
  //# sourceMappingURL=device.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.helper.js","sourceRoot":"","sources":["../../src/helpers/device.helper.ts"],"names":[],"mappings":";;;AAsBA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB"}
1
+ {"version":3,"file":"device.helper.js","sourceRoot":"","sources":["../../src/helpers/device.helper.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB"}
@@ -1,13 +1,9 @@
1
1
  import { FIRST, TBlackHole } from "@digital-alchemy/core";
2
2
  import { Dayjs } from "dayjs";
3
3
  import { Except } from "type-fest";
4
- import { iCallService, TAreaId, TDeviceId, TLabelId, TRawDomains } from "../dynamic";
4
+ import { iCallService, TAreaId, TDeviceId, TLabelId, TPlatformId, TRawDomains } from "../dynamic";
5
5
  import { SensorUnitOfMeasurement } from "./registry";
6
6
  import { ALL_DOMAINS, ALL_SERVICE_DOMAINS, ANY_ENTITY, ENTITY_STATE, GetDomain, PICK_ENTITY } from "./utility.helper";
7
- export declare enum HassEvents {
8
- state_changed = "state_changed",
9
- hue_event = "hue_event"
10
- }
11
7
  export interface HassEntityContext {
12
8
  id: string | null;
13
9
  parent_id: string | null;
@@ -87,7 +83,7 @@ export interface EventData<ID extends ANY_ENTITY = ANY_ENTITY> {
87
83
  export type EntityUpdateEvent<ID extends ANY_ENTITY = ANY_ENTITY, CONTEXT extends HassEntityContext = HassEntityContext> = {
88
84
  context: CONTEXT;
89
85
  data: EventData<ID>;
90
- event_type: HassEvents;
86
+ event_type: string;
91
87
  origin: "local";
92
88
  result?: string;
93
89
  time_fired: Date;
@@ -109,7 +105,7 @@ export interface EntityDetails<ENTITY extends ANY_ENTITY> {
109
105
  name: null | string;
110
106
  options: Options;
111
107
  original_name: null | string;
112
- platform: TPlatform;
108
+ platform: TPlatformId;
113
109
  translation_key: null | string;
114
110
  unique_id: string;
115
111
  }
@@ -131,5 +127,4 @@ export interface Sensor {
131
127
  export interface SensorPrivate {
132
128
  suggested_unit_of_measurement: string;
133
129
  }
134
- export type TPlatform = string;
135
130
  export {};
@@ -1,9 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HassEvents = void 0;
4
- var HassEvents;
5
- (function (HassEvents) {
6
- HassEvents["state_changed"] = "state_changed";
7
- HassEvents["hue_event"] = "hue_event";
8
- })(HassEvents || (exports.HassEvents = HassEvents = {}));
1
+ export {};
9
2
  //# sourceMappingURL=entity-state.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-state.helper.js","sourceRoot":"","sources":["../../src/helpers/entity-state.helper.ts"],"names":[],"mappings":";;;AAqBA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6CAA+B,CAAA;IAC/B,qCAAuB,CAAA;AACzB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
1
+ {"version":3,"file":"entity-state.helper.js","sourceRoot":"","sources":["../../src/helpers/entity-state.helper.ts"],"names":[],"mappings":""}