@digital-alchemy/hass 24.9.3 → 24.9.5

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 (276) hide show
  1. package/README.md +3 -0
  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 +13 -5
  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 +62 -44
  192. package/scripts/mock-assistant.sh +5 -0
  193. package/scripts/run-e2e.sh +7 -0
  194. package/scripts/test.sh +2 -0
  195. package/src/dynamic.ts +4254 -0
  196. package/src/extensions/area.extension.ts +118 -0
  197. package/src/extensions/backup.extension.ts +63 -0
  198. package/src/extensions/call-proxy.extension.ts +113 -0
  199. package/src/extensions/config.extension.ts +119 -0
  200. package/src/extensions/conversation.extension.ts +46 -0
  201. package/src/extensions/device.extension.ts +56 -0
  202. package/src/extensions/entity.extension.ts +344 -0
  203. package/src/extensions/events.extension.ts +25 -0
  204. package/src/extensions/fetch-api.extension.ts +269 -0
  205. package/src/extensions/floor.extension.ts +76 -0
  206. package/src/extensions/id-by.extension.ts +157 -0
  207. package/src/extensions/index.ts +16 -0
  208. package/src/extensions/internal.extension.ts +145 -0
  209. package/src/extensions/label.extension.ts +83 -0
  210. package/src/extensions/reference.extension.ts +330 -0
  211. package/src/extensions/registry.extension.ts +44 -0
  212. package/src/extensions/websocket-api.extension.ts +554 -0
  213. package/src/extensions/zone.extension.ts +69 -0
  214. package/src/hass.module.ts +217 -0
  215. package/src/helpers/backup.helper.ts +11 -0
  216. package/src/helpers/constants.helper.ts +30 -0
  217. package/src/helpers/device.helper.ts +25 -0
  218. package/src/helpers/entity-state.helper.ts +171 -0
  219. package/src/helpers/features.helper.ts +580 -0
  220. package/src/helpers/fetch/calendar.ts +54 -0
  221. package/src/helpers/fetch/configuration.ts +75 -0
  222. package/src/helpers/fetch/index.ts +5 -0
  223. package/src/helpers/fetch/server-log.ts +28 -0
  224. package/src/helpers/fetch/service-list.ts +64 -0
  225. package/src/helpers/fetch/weather-forecasts.ts +86 -0
  226. package/src/helpers/fetch.helper.ts +328 -0
  227. package/src/helpers/id-by.helper.ts +53 -0
  228. package/src/helpers/index.ts +13 -0
  229. package/src/helpers/interfaces.helper.ts +340 -0
  230. package/src/helpers/manifest.helper.ts +0 -0
  231. package/src/helpers/notify.helper.ts +302 -0
  232. package/src/helpers/registry.ts +281 -0
  233. package/src/helpers/utility.helper.ts +147 -0
  234. package/src/helpers/websocket.helper.ts +117 -0
  235. package/src/index.ts +5 -0
  236. package/src/mock_assistant/extensions/area.extension.ts +62 -0
  237. package/src/mock_assistant/extensions/config.extension.ts +33 -0
  238. package/src/mock_assistant/extensions/device.extension.ts +44 -0
  239. package/src/mock_assistant/extensions/entity-registry.extension.ts +41 -0
  240. package/src/mock_assistant/extensions/entity.extension.ts +114 -0
  241. package/src/mock_assistant/extensions/events.extension.ts +37 -0
  242. package/src/mock_assistant/extensions/fetch.extension.ts +3 -0
  243. package/src/mock_assistant/extensions/fixtures.extension.ts +79 -0
  244. package/src/mock_assistant/extensions/floor.extension.ts +64 -0
  245. package/src/mock_assistant/extensions/index.ts +12 -0
  246. package/src/mock_assistant/extensions/label.extension.ts +64 -0
  247. package/src/mock_assistant/extensions/services.extension.ts +25 -0
  248. package/src/mock_assistant/extensions/websocket-api.extension.ts +84 -0
  249. package/src/mock_assistant/extensions/zone.extension.ts +65 -0
  250. package/src/mock_assistant/helpers/fixtures.ts +22 -0
  251. package/src/mock_assistant/helpers/index.ts +1 -0
  252. package/src/mock_assistant/index.ts +3 -0
  253. package/src/mock_assistant/main.ts +46 -0
  254. package/src/mock_assistant/mock-assistant.module.ts +90 -0
  255. package/src/quickboot.module.ts +23 -0
  256. package/src/testing/area.spec.ts +189 -0
  257. package/src/testing/backup.spec.ts +157 -0
  258. package/src/testing/config.spec.ts +188 -0
  259. package/src/testing/device.spec.ts +89 -0
  260. package/src/testing/entity.spec.ts +171 -0
  261. package/src/testing/events.spec.ts +78 -0
  262. package/src/testing/fetch-api.spec.ts +410 -0
  263. package/src/testing/fixtures.spec.ts +158 -0
  264. package/src/testing/floor.spec.ts +186 -0
  265. package/src/testing/id-by.spec.ts +140 -0
  266. package/src/testing/label.spec.ts +186 -0
  267. package/src/testing/ref-by.spec.ts +300 -0
  268. package/src/testing/websocket.spec.ts +63 -0
  269. package/src/testing/workflow.spec.ts +195 -0
  270. package/src/testing/zone.spec.ts +109 -0
  271. package/dist/helpers/metrics.helper.d.ts +0 -29
  272. package/dist/helpers/metrics.helper.js +0 -62
  273. package/dist/helpers/metrics.helper.js.map +0 -1
  274. package/dist/mock_assistant/helpers/utils.d.ts +0 -4
  275. package/dist/mock_assistant/helpers/utils.js +0 -57
  276. package/dist/mock_assistant/helpers/utils.js.map +0 -1
package/src/dynamic.ts ADDED
@@ -0,0 +1,4254 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ /* eslint-disable sonarjs/redundant-type-aliases */
3
+ /* eslint-disable @cspell/spellchecker */
4
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
5
+ /* eslint-disable sonarjs/no-redundant-type-constituents */
6
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
7
+
8
+ // @ts-nocheck
9
+ import {
10
+ AndroidNotificationData,
11
+ AppleNotificationData,
12
+ NotificationData,
13
+ PICK_ENTITY,
14
+ } from "./helpers";
15
+
16
+ type PICK_FROM_PLATFORM<ID extends TPlatformId, DOMAIN extends TRawDomains = TRawDomains> = Extract<
17
+ REGISTRY_SETUP["platform"][`_${ID}`],
18
+ PICK_ENTITY<DOMAIN>
19
+ >;
20
+
21
+ // #MARK: ENTITY_SETUP
22
+ export type ENTITY_SETUP = {
23
+ "button.example": {
24
+ state: string;
25
+ entity_id: "button.example";
26
+ attributes: {
27
+ friendly_name: "Example button";
28
+ };
29
+ };
30
+ "binary_sensor.hass_e2e_online": {
31
+ attributes: {
32
+ friendly_name: "hass_e2e online";
33
+ restored: true;
34
+ supported_features: 0;
35
+ };
36
+ context: {
37
+ id: "01HWXTSCSBGW129NV7WY8MMG1E";
38
+ parent_id: null;
39
+ user_id: null;
40
+ };
41
+ entity_id: "binary_sensor.hass_e2e_online";
42
+
43
+ state: "unavailable";
44
+ };
45
+ "binary_sensor.toggles": {
46
+ attributes: {
47
+ friendly_name: "toggles";
48
+ icon: "mdi:toggle-switch-variant-off";
49
+ restored: true;
50
+ supported_features: 0;
51
+ };
52
+ context: {
53
+ id: "01HWXTSCSB43FF1R6FX0QEE4Z6";
54
+ parent_id: null;
55
+ user_id: null;
56
+ };
57
+ entity_id: "binary_sensor.toggles";
58
+
59
+ state: "unavailable";
60
+ };
61
+ "calendar.united_states_tx": {
62
+ attributes: {
63
+ all_day: true;
64
+ description: "";
65
+ end_time: "2024-05-28 00:00:00";
66
+ friendly_name: "United States, TX";
67
+ location: "United States, TX";
68
+ message: "Memorial Day";
69
+ start_time: "2024-05-27 00:00:00";
70
+ };
71
+ context: {
72
+ id: "01HWXTYEEFBB7QQC1CSM6PAR36";
73
+ parent_id: null;
74
+ user_id: null;
75
+ };
76
+ entity_id: "calendar.united_states_tx";
77
+
78
+ state: "off";
79
+ };
80
+ "light.bedroom_ceiling_fan": {
81
+ attributes: {
82
+ brightness: null;
83
+ color_mode: null;
84
+ color_temp: null;
85
+ color_temp_kelvin: null;
86
+ friendly_name: "Bedroom Ceiling Fan";
87
+ hs_color: null;
88
+ icon: "mdi:lightbulb-group";
89
+ max_color_temp_kelvin: 6535;
90
+ max_mireds: 500;
91
+ min_color_temp_kelvin: 2000;
92
+ min_mireds: 153;
93
+ rgb_color: null;
94
+ supported_color_modes: ["color_temp", "xy"];
95
+ supported_features: 40;
96
+ xy_color: null;
97
+ };
98
+ context: {
99
+ id: "01HX722Y1JFS6KN2MDERK0VJ2D";
100
+ parent_id: null;
101
+ user_id: null;
102
+ };
103
+ entity_id: "light.bedroom_ceiling_fan";
104
+
105
+ state: "off";
106
+ };
107
+ "person.digital_alchemy": {
108
+ attributes: {
109
+ device_trackers: [];
110
+ editable: true;
111
+ friendly_name: "digital-alchemy";
112
+ id: "digital_alchemy";
113
+ user_id: "4dd1cf7e93e94f3fbaf419501f9a3d59";
114
+ };
115
+ context: {
116
+ id: "01HWXTSCSBRKJ9T2KV1JNER5KQ";
117
+ parent_id: null;
118
+ user_id: null;
119
+ };
120
+ entity_id: "person.digital_alchemy";
121
+
122
+ state: "unknown";
123
+ };
124
+ "scene.games_room_auto": {
125
+ attributes: {
126
+ "Managed By": "home_automation";
127
+ friendly_name: "bedroom off";
128
+ };
129
+ context: {
130
+ id: "01HWXW289S8HP5MSGNNTNB2CBG";
131
+ parent_id: null;
132
+ user_id: null;
133
+ };
134
+ entity_id: "scene.games_room_auto";
135
+
136
+ state: "unknown";
137
+ };
138
+ "sensor.magic": {
139
+ attributes: {
140
+ friendly_name: "magic";
141
+ icon: "mdi:satellite-uplink";
142
+ restored: true;
143
+ supported_features: 0;
144
+ };
145
+ context: {
146
+ id: "01HWXTSCSBW34BP3R20RJ09CVZ";
147
+ parent_id: null;
148
+ user_id: null;
149
+ };
150
+ entity_id: "sensor.magic";
151
+
152
+ state: string;
153
+ };
154
+ "sensor.sun_next_dawn": {
155
+ attributes: {
156
+ device_class: "timestamp";
157
+ friendly_name: "Sun Next dawn";
158
+ };
159
+ context: {
160
+ id: "01HWXTS8W1SRTPT5K1XM0G491X";
161
+ parent_id: null;
162
+ user_id: null;
163
+ };
164
+ entity_id: "sensor.sun_next_dawn";
165
+
166
+ state: "2024-05-03T03:24:45+00:00";
167
+ };
168
+ "sensor.sun_next_dusk": {
169
+ attributes: {
170
+ device_class: "timestamp";
171
+ friendly_name: "Sun Next dusk";
172
+ };
173
+ context: {
174
+ id: "01HWXTS8W1S95P1MVHDGHSQEB2";
175
+ parent_id: null;
176
+ user_id: null;
177
+ };
178
+ entity_id: "sensor.sun_next_dusk";
179
+
180
+ state: "2024-05-03T19:51:10+00:00";
181
+ };
182
+ "sensor.sun_next_midnight": {
183
+ attributes: {
184
+ device_class: "timestamp";
185
+ friendly_name: "Sun Next midnight";
186
+ };
187
+ context: {
188
+ id: "01HWXTS8W1YQCPA3WZ69Y9JSPD";
189
+ parent_id: null;
190
+ user_id: null;
191
+ };
192
+ entity_id: "sensor.sun_next_midnight";
193
+
194
+ state: "2024-05-03T23:37:12+00:00";
195
+ };
196
+ "sensor.sun_next_noon": {
197
+ attributes: {
198
+ device_class: "timestamp";
199
+ friendly_name: "Sun Next noon";
200
+ };
201
+ context: {
202
+ id: "01HWXTS8W28MVV48CQ31JB2WKC";
203
+ parent_id: null;
204
+ user_id: null;
205
+ };
206
+ entity_id: "sensor.sun_next_noon";
207
+
208
+ state: "2024-05-03T11:37:19+00:00";
209
+ };
210
+ "sensor.sun_next_rising": {
211
+ attributes: {
212
+ device_class: "timestamp";
213
+ friendly_name: "Sun Next rising";
214
+ };
215
+ context: {
216
+ id: "01HWXTS8W2MMADKGWE4A5BMH51";
217
+ parent_id: null;
218
+ user_id: null;
219
+ };
220
+ entity_id: "sensor.sun_next_rising";
221
+
222
+ state: "2024-05-03T04:05:17+00:00";
223
+ };
224
+ "sensor.sun_next_setting": {
225
+ attributes: {
226
+ device_class: "timestamp";
227
+ friendly_name: "Sun Next setting";
228
+ };
229
+ context: {
230
+ id: "01HWXTS8W24KWTHR2B6V32NCXG";
231
+ parent_id: null;
232
+ user_id: null;
233
+ };
234
+ entity_id: "sensor.sun_next_setting";
235
+
236
+ state: "2024-05-03T19:10:21+00:00";
237
+ };
238
+ "sun.sun": {
239
+ attributes: {
240
+ azimuth: 0.35;
241
+ elevation: -21.86;
242
+ friendly_name: "Sun";
243
+ next_dawn: "2024-05-03T03:24:45.747945+00:00";
244
+ next_dusk: "2024-05-03T19:51:10.358970+00:00";
245
+ next_midnight: "2024-05-03T23:37:12+00:00";
246
+ next_noon: "2024-05-03T11:37:19+00:00";
247
+ next_rising: "2024-05-03T04:05:17.926549+00:00";
248
+ next_setting: "2024-05-03T19:10:21.280558+00:00";
249
+ rising: true;
250
+ };
251
+ context: {
252
+ id: "01HWXTS8W1J2TDGMN7KKNWP8DV";
253
+ parent_id: null;
254
+ user_id: null;
255
+ };
256
+ entity_id: "sun.sun";
257
+
258
+ state: "below_horizon";
259
+ };
260
+ "switch.bedroom_lamp": {
261
+ attributes: {
262
+ friendly_name: "bedroom_lamp";
263
+ restored: true;
264
+ supported_features: 0;
265
+ };
266
+ context: {
267
+ id: "01HWXTSCSB7BK003CH3AYYVXCB";
268
+ parent_id: null;
269
+ user_id: null;
270
+ };
271
+ entity_id: "switch.bedroom_lamp";
272
+
273
+ state: "unavailable";
274
+ };
275
+ "switch.kitchen_cabinets": {
276
+ attributes: {
277
+ friendly_name: "kitchen_cabinets";
278
+ restored: true;
279
+ supported_features: 0;
280
+ };
281
+ context: {
282
+ id: "01HWXTSCSBM9Y3SRQTFJ5CVK6H";
283
+ parent_id: null;
284
+ user_id: null;
285
+ };
286
+ entity_id: "switch.kitchen_cabinets";
287
+
288
+ state: "unavailable";
289
+ };
290
+ "switch.living_room_mood_lights": {
291
+ attributes: {
292
+ friendly_name: "living_room_mood_lights";
293
+ restored: true;
294
+ supported_features: 0;
295
+ };
296
+ context: {
297
+ id: "01HWXTSCSBS5B586JJ7VFH10SX";
298
+ parent_id: null;
299
+ user_id: null;
300
+ };
301
+ entity_id: "switch.living_room_mood_lights";
302
+
303
+ state: "unavailable";
304
+ };
305
+ "switch.porch_light": {
306
+ attributes: {
307
+ friendly_name: "porch_light";
308
+ restored: true;
309
+ supported_features: 0;
310
+ };
311
+ context: {
312
+ id: "01HWXTSCSBFTSZR1M5XAK7XSR8";
313
+ parent_id: null;
314
+ user_id: null;
315
+ };
316
+ entity_id: "switch.porch_light";
317
+
318
+ state: string;
319
+ };
320
+ "todo.shopping_list": {
321
+ attributes: {
322
+ friendly_name: "Shopping List";
323
+ supported_features: 15;
324
+ };
325
+ context: {
326
+ id: "01HWXTS8X3D417XC4YJTG8QJWB";
327
+ parent_id: null;
328
+ user_id: null;
329
+ };
330
+ entity_id: "todo.shopping_list";
331
+
332
+ state: "0";
333
+ };
334
+ "tts.google_en_com": {
335
+ attributes: {
336
+ friendly_name: "Google en com";
337
+ };
338
+ context: {
339
+ id: "01HWXTS8XMPQ236CDJ6X7C6E60";
340
+ parent_id: null;
341
+ user_id: null;
342
+ };
343
+ entity_id: "tts.google_en_com";
344
+
345
+ state: "unknown";
346
+ };
347
+ "zone.home": {
348
+ attributes: {
349
+ editable: true;
350
+ friendly_name: "Home";
351
+ icon: "mdi:home";
352
+ latitude: 52.373_133_9;
353
+ longitude: 4.890_314_7;
354
+ passive: false;
355
+ persons: [];
356
+ radius: 100;
357
+ };
358
+ context: {
359
+ id: "01HWXTS8GMB4ZW20P8MGMX0QSN";
360
+ parent_id: null;
361
+ user_id: null;
362
+ };
363
+ entity_id: "zone.home";
364
+
365
+ state: "0";
366
+ };
367
+ };
368
+
369
+ // #MARK: iCallService
370
+ export type iCallService = {
371
+ // # MARK: automation
372
+ automation: {
373
+ /**
374
+ * ### Reload
375
+ *
376
+ * > Reloads the automation configuration.
377
+ */
378
+ reload(service_data: {}): Promise<void>;
379
+ /**
380
+ * ### Toggle
381
+ *
382
+ * > Toggles (enable / disable) an automation.
383
+ */
384
+ toggle(service_data: {
385
+ /**
386
+ * Assisted definition
387
+ * > ```yaml
388
+ * > entity:
389
+ * > - domain:
390
+ * > - automation
391
+ * > ```
392
+ */
393
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
394
+ }): Promise<void>;
395
+ /**
396
+ * ### Trigger
397
+ *
398
+ * > Triggers the actions of an automation.
399
+ */
400
+ trigger(service_data?: {
401
+ /**
402
+ * ## Skip conditions
403
+ *
404
+ * > Defines whether or not the conditions will be skipped.
405
+ *
406
+ * ### Default
407
+ *
408
+ * > ```json
409
+ * > true
410
+ * > ```
411
+ */
412
+ skip_condition?: boolean;
413
+ /**
414
+ * Assisted definition
415
+ * > ```yaml
416
+ * > entity:
417
+ * > - domain:
418
+ * > - automation
419
+ * > ```
420
+ */
421
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
422
+ }): Promise<void>;
423
+ /**
424
+ * ### Turn off
425
+ *
426
+ * > Disables an automation.
427
+ */
428
+ turn_off(service_data?: {
429
+ /**
430
+ * ## Stop actions
431
+ *
432
+ * > Stops currently running actions.
433
+ *
434
+ * ### Default
435
+ *
436
+ * > ```json
437
+ * > true
438
+ * > ```
439
+ */
440
+ stop_actions?: boolean;
441
+ /**
442
+ * Assisted definition
443
+ * > ```yaml
444
+ * > entity:
445
+ * > - domain:
446
+ * > - automation
447
+ * > ```
448
+ */
449
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
450
+ }): Promise<void>;
451
+ /**
452
+ * ### Turn on
453
+ *
454
+ * > Enables an automation.
455
+ */
456
+ turn_on(service_data: {
457
+ /**
458
+ * Assisted definition
459
+ * > ```yaml
460
+ * > entity:
461
+ * > - domain:
462
+ * > - automation
463
+ * > ```
464
+ */
465
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
466
+ }): Promise<void>;
467
+ };
468
+ // # MARK: backup
469
+ backup: {
470
+ /**
471
+ * ### Create backup
472
+ *
473
+ * > Creates a new backup.
474
+ */
475
+ create(service_data: {}): Promise<void>;
476
+ };
477
+ // # MARK: button
478
+ button: {
479
+ /**
480
+ * ### Press
481
+ *
482
+ * > Press the button entity.
483
+ */
484
+ press(service_data: {
485
+ /**
486
+ * Assisted definition
487
+ * > ```yaml
488
+ * > entity:
489
+ * > - domain:
490
+ * > - button
491
+ * > ```
492
+ */
493
+ entity_id: PICK_ENTITY<"button"> | PICK_ENTITY<"button">[];
494
+ }): Promise<void>;
495
+ };
496
+ // # MARK: calendar
497
+ calendar: {
498
+ /**
499
+ * ### Create event
500
+ *
501
+ * > Adds a new calendar event.
502
+ */
503
+ create_event(service_data?: {
504
+ /**
505
+ * ## Description
506
+ *
507
+ * > A more complete description of the event than the one provided by the summary.
508
+ *
509
+ * ### Example
510
+ *
511
+ * > ```json
512
+ * > {
513
+ * > "description": "Meeting to provide technical review for 'Phoenix' design."
514
+ * > }
515
+ * > ```
516
+ */
517
+ description?: string;
518
+ /**
519
+ * ## End date
520
+ *
521
+ * > The date the all-day event should end (exclusive).
522
+ *
523
+ * ### Example
524
+ *
525
+ * > ```json
526
+ * > {
527
+ * > "end_date": "2022-03-23"
528
+ * > }
529
+ * > ```
530
+ *
531
+ * ## Selector
532
+ *
533
+ * > ```yaml
534
+ * > date: null
535
+ * > ```
536
+ */
537
+ end_date?: unknown;
538
+ /**
539
+ * ## End time
540
+ *
541
+ * > The date and time the event should end.
542
+ *
543
+ * ### Example
544
+ *
545
+ * > ```json
546
+ * > {
547
+ * > "end_date_time": "2022-03-22 22:00:00"
548
+ * > }
549
+ * > ```
550
+ *
551
+ * ## Selector
552
+ *
553
+ * > ```yaml
554
+ * > datetime: null
555
+ * > ```
556
+ */
557
+ end_date_time?: unknown;
558
+ /**
559
+ * ## In
560
+ *
561
+ * > Days or weeks that you want to create the event in.
562
+ *
563
+ * ### Example
564
+ *
565
+ * > ```json
566
+ * > {
567
+ * > "in": "{\"days\": 2} or {\"weeks\": 2}"
568
+ * > }
569
+ * > ```
570
+ *
571
+ * ## Selector
572
+ *
573
+ * > ```yaml
574
+ * >
575
+ * > ```
576
+ */
577
+ in?: unknown;
578
+ /**
579
+ * ## Location
580
+ *
581
+ * > The location of the event.
582
+ *
583
+ * ### Example
584
+ *
585
+ * > ```json
586
+ * > {
587
+ * > "location": "Conference Room - F123, Bldg. 002"
588
+ * > }
589
+ * > ```
590
+ */
591
+ location?: string;
592
+ /**
593
+ * ## Start date
594
+ *
595
+ * > The date the all-day event should start.
596
+ *
597
+ * ### Example
598
+ *
599
+ * > ```json
600
+ * > {
601
+ * > "start_date": "2022-03-22"
602
+ * > }
603
+ * > ```
604
+ *
605
+ * ## Selector
606
+ *
607
+ * > ```yaml
608
+ * > date: null
609
+ * > ```
610
+ */
611
+ start_date?: unknown;
612
+ /**
613
+ * ## Start time
614
+ *
615
+ * > The date and time the event should start.
616
+ *
617
+ * ### Example
618
+ *
619
+ * > ```json
620
+ * > {
621
+ * > "start_date_time": "2022-03-22 20:00:00"
622
+ * > }
623
+ * > ```
624
+ *
625
+ * ## Selector
626
+ *
627
+ * > ```yaml
628
+ * > datetime: null
629
+ * > ```
630
+ */
631
+ start_date_time?: unknown;
632
+ /**
633
+ * ## Summary
634
+ *
635
+ * > Defines the short summary or subject for the event.
636
+ *
637
+ * ### Example
638
+ *
639
+ * > ```json
640
+ * > {
641
+ * > "summary": "Department Party"
642
+ * > }
643
+ * > ```
644
+ */
645
+ summary: string;
646
+ /**
647
+ * Assisted definition
648
+ * > ```yaml
649
+ * > entity:
650
+ * > - domain:
651
+ * > - calendar
652
+ * > supported_features:
653
+ * > - 1
654
+ * > ```
655
+ */
656
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
657
+ }): Promise<void>;
658
+ /**
659
+ * ### Get events
660
+ *
661
+ * > Get events on a calendar within a time range.
662
+ */
663
+ get_events(service_data?: {
664
+ /**
665
+ * ## Duration
666
+ *
667
+ * > Returns active events from start_date_time until the specified duration.
668
+ *
669
+ * ## Selector
670
+ *
671
+ * > ```yaml
672
+ * > duration: null
673
+ * > ```
674
+ */
675
+ duration?: unknown;
676
+ /**
677
+ * ## End time
678
+ *
679
+ * > Returns active events before this time (exclusive). Cannot be used with 'duration'.
680
+ *
681
+ * ### Example
682
+ *
683
+ * > ```json
684
+ * > {
685
+ * > "end_date_time": "2022-03-22 22:00:00"
686
+ * > }
687
+ * > ```
688
+ *
689
+ * ## Selector
690
+ *
691
+ * > ```yaml
692
+ * > datetime: null
693
+ * > ```
694
+ */
695
+ end_date_time?: unknown;
696
+ /**
697
+ * ## Start time
698
+ *
699
+ * > Returns active events after this time (exclusive). When not set, defaults to now.
700
+ *
701
+ * ### Example
702
+ *
703
+ * > ```json
704
+ * > {
705
+ * > "start_date_time": "2022-03-22 20:00:00"
706
+ * > }
707
+ * > ```
708
+ *
709
+ * ## Selector
710
+ *
711
+ * > ```yaml
712
+ * > datetime: null
713
+ * > ```
714
+ */
715
+ start_date_time?: unknown;
716
+ /**
717
+ * Assisted definition
718
+ * > ```yaml
719
+ * > entity:
720
+ * > - domain:
721
+ * > - calendar
722
+ * > ```
723
+ */
724
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
725
+ }): Promise<void>;
726
+ /**
727
+ * ### List event
728
+ *
729
+ * > Lists events on a calendar within a time range.
730
+ */
731
+ list_events(service_data?: {
732
+ /**
733
+ * ## Duration
734
+ *
735
+ * > Returns active events from start_date_time until the specified duration.
736
+ *
737
+ * ## Selector
738
+ *
739
+ * > ```yaml
740
+ * > duration: null
741
+ * > ```
742
+ */
743
+ duration?: unknown;
744
+ /**
745
+ * ## End time
746
+ *
747
+ * > Returns active events before this time (exclusive). Cannot be used with 'duration'.
748
+ *
749
+ * ### Example
750
+ *
751
+ * > ```json
752
+ * > {
753
+ * > "end_date_time": "2022-03-22 22:00:00"
754
+ * > }
755
+ * > ```
756
+ *
757
+ * ## Selector
758
+ *
759
+ * > ```yaml
760
+ * > datetime: null
761
+ * > ```
762
+ */
763
+ end_date_time?: unknown;
764
+ /**
765
+ * ## Start time
766
+ *
767
+ * > Returns active events after this time (exclusive). When not set, defaults to now.
768
+ *
769
+ * ### Example
770
+ *
771
+ * > ```json
772
+ * > {
773
+ * > "start_date_time": "2022-03-22 20:00:00"
774
+ * > }
775
+ * > ```
776
+ *
777
+ * ## Selector
778
+ *
779
+ * > ```yaml
780
+ * > datetime: null
781
+ * > ```
782
+ */
783
+ start_date_time?: unknown;
784
+ /**
785
+ * Assisted definition
786
+ * > ```yaml
787
+ * > entity:
788
+ * > - domain:
789
+ * > - calendar
790
+ * > ```
791
+ */
792
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
793
+ }): Promise<void>;
794
+ };
795
+ // # MARK: cloud
796
+ cloud: {
797
+ /**
798
+ * ### Remote connect
799
+ *
800
+ * > Makes the instance UI accessible from outside of the local network by using Home Assistant Cloud.
801
+ */
802
+ remote_connect(service_data: {}): Promise<void>;
803
+ /**
804
+ * ### Remote disconnect
805
+ *
806
+ * > Disconnects the Home Assistant UI from the Home Assistant Cloud. You will no longer be able to access your Home Assistant instance from outside your local network.
807
+ */
808
+ remote_disconnect(service_data: {}): Promise<void>;
809
+ };
810
+ // # MARK: conversation
811
+ conversation: {
812
+ /**
813
+ * ### Process
814
+ *
815
+ * > Launches a conversation from a transcribed text.
816
+ */
817
+ process(service_data?: {
818
+ /**
819
+ * ## Agent
820
+ *
821
+ * > Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands.
822
+ *
823
+ * ### Example
824
+ *
825
+ * > ```json
826
+ * > {
827
+ * > "agent_id": "homeassistant"
828
+ * > }
829
+ * > ```
830
+ *
831
+ * ## Selector
832
+ *
833
+ * > ```yaml
834
+ * > conversation_agent: null
835
+ * > ```
836
+ */
837
+ agent_id?: unknown;
838
+ /**
839
+ * ## Conversation ID
840
+ *
841
+ * > ID of the conversation, to be able to continue a previous conversation
842
+ *
843
+ * ### Example
844
+ *
845
+ * > ```json
846
+ * > {
847
+ * > "conversation_id": "my_conversation_1"
848
+ * > }
849
+ * > ```
850
+ */
851
+ conversation_id?: string;
852
+ /**
853
+ * ## Language
854
+ *
855
+ * > Language of text. Defaults to server language.
856
+ *
857
+ * ### Example
858
+ *
859
+ * > ```json
860
+ * > {
861
+ * > "language": "NL"
862
+ * > }
863
+ * > ```
864
+ */
865
+ language?: string;
866
+ /**
867
+ * ## Text
868
+ *
869
+ * > Transcribed text input.
870
+ *
871
+ * ### Example
872
+ *
873
+ * > ```json
874
+ * > {
875
+ * > "text": "Turn all lights on"
876
+ * > }
877
+ * > ```
878
+ */
879
+ text: string;
880
+ }): Promise<void>;
881
+ /**
882
+ * ### Reload
883
+ *
884
+ * > Reloads the intent configuration.
885
+ */
886
+ reload(service_data?: {
887
+ /**
888
+ * ## Agent
889
+ *
890
+ * > Conversation agent to reload.
891
+ *
892
+ * ### Example
893
+ *
894
+ * > ```json
895
+ * > {
896
+ * > "agent_id": "homeassistant"
897
+ * > }
898
+ * > ```
899
+ *
900
+ * ## Selector
901
+ *
902
+ * > ```yaml
903
+ * > conversation_agent: null
904
+ * > ```
905
+ */
906
+ agent_id?: unknown;
907
+ /**
908
+ * ## Language
909
+ *
910
+ * > Language to clear cached intents for. Defaults to server language.
911
+ *
912
+ * ### Example
913
+ *
914
+ * > ```json
915
+ * > {
916
+ * > "language": "NL"
917
+ * > }
918
+ * > ```
919
+ */
920
+ language?: string;
921
+ }): Promise<void>;
922
+ };
923
+ // # MARK: counter
924
+ counter: {
925
+ /**
926
+ * ### Decrement
927
+ *
928
+ * > Decrements a counter.
929
+ */
930
+ decrement(service_data: {
931
+ /**
932
+ * Assisted definition
933
+ * > ```yaml
934
+ * > entity:
935
+ * > - domain:
936
+ * > - counter
937
+ * > ```
938
+ */
939
+ entity_id: PICK_ENTITY<"counter"> | PICK_ENTITY<"counter">[];
940
+ }): Promise<void>;
941
+ /**
942
+ * ### Increment
943
+ *
944
+ * > Increments a counter.
945
+ */
946
+ increment(service_data: {
947
+ /**
948
+ * Assisted definition
949
+ * > ```yaml
950
+ * > entity:
951
+ * > - domain:
952
+ * > - counter
953
+ * > ```
954
+ */
955
+ entity_id: PICK_ENTITY<"counter"> | PICK_ENTITY<"counter">[];
956
+ }): Promise<void>;
957
+ /**
958
+ * ### Reset
959
+ *
960
+ * > Resets a counter.
961
+ */
962
+ reset(service_data: {
963
+ /**
964
+ * Assisted definition
965
+ * > ```yaml
966
+ * > entity:
967
+ * > - domain:
968
+ * > - counter
969
+ * > ```
970
+ */
971
+ entity_id: PICK_ENTITY<"counter"> | PICK_ENTITY<"counter">[];
972
+ }): Promise<void>;
973
+ /**
974
+ * ### Set
975
+ *
976
+ * > Sets the counter value.
977
+ */
978
+ set_value(service_data: {
979
+ /**
980
+ * ## Value
981
+ *
982
+ * > The new counter value the entity should be set to.
983
+ *
984
+ * ## Selector
985
+ *
986
+ * > ```yaml
987
+ * > number:
988
+ * > min: 0
989
+ * > max: 9223372036854776000
990
+ * > mode: box
991
+ * > ```
992
+ */
993
+ value: number;
994
+ /**
995
+ * Assisted definition
996
+ * > ```yaml
997
+ * > entity:
998
+ * > - domain:
999
+ * > - counter
1000
+ * > ```
1001
+ */
1002
+ entity_id: PICK_ENTITY<"counter"> | PICK_ENTITY<"counter">[];
1003
+ }): Promise<void>;
1004
+ };
1005
+ // # MARK: ffmpeg
1006
+ ffmpeg: {
1007
+ /**
1008
+ * ### Restart
1009
+ *
1010
+ * > Sends a restart command to a ffmpeg based sensor.
1011
+ */
1012
+ restart(service_data?: {
1013
+ /**
1014
+ * ## Entity
1015
+ *
1016
+ * > Name of entity that will restart. Platform dependent.
1017
+ *
1018
+ * ## Selector
1019
+ *
1020
+ * > ```yaml
1021
+ * > entity:
1022
+ * > integration: ffmpeg
1023
+ * > domain: binary_sensor
1024
+ * > ```
1025
+ */
1026
+ entity_id?:
1027
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">
1028
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">[];
1029
+ }): Promise<void>;
1030
+ /**
1031
+ * ### Start
1032
+ *
1033
+ * > Sends a start command to a ffmpeg based sensor.
1034
+ */
1035
+ start(service_data?: {
1036
+ /**
1037
+ * ## Entity
1038
+ *
1039
+ * > Name of entity that will start. Platform dependent.
1040
+ *
1041
+ * ## Selector
1042
+ *
1043
+ * > ```yaml
1044
+ * > entity:
1045
+ * > integration: ffmpeg
1046
+ * > domain: binary_sensor
1047
+ * > ```
1048
+ */
1049
+ entity_id?:
1050
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">
1051
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">[];
1052
+ }): Promise<void>;
1053
+ /**
1054
+ * ### Stop
1055
+ *
1056
+ * > Sends a stop command to a ffmpeg based sensor.
1057
+ */
1058
+ stop(service_data?: {
1059
+ /**
1060
+ * ## Entity
1061
+ *
1062
+ * > Name of entity that will stop. Platform dependent.
1063
+ *
1064
+ * ## Selector
1065
+ *
1066
+ * > ```yaml
1067
+ * > entity:
1068
+ * > integration: ffmpeg
1069
+ * > domain: binary_sensor
1070
+ * > ```
1071
+ */
1072
+ entity_id?:
1073
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">
1074
+ | PICK_FROM_PLATFORM<"ffmpeg", "binary_sensor">[];
1075
+ }): Promise<void>;
1076
+ };
1077
+ // # MARK: frontend
1078
+ frontend: {
1079
+ /**
1080
+ * ### Reload themes
1081
+ *
1082
+ * > Reloads themes from the YAML-configuration.
1083
+ */
1084
+ reload_themes(service_data: {}): Promise<void>;
1085
+ /**
1086
+ * ### Set the default theme
1087
+ *
1088
+ * > Sets the default theme Home Assistant uses. Can be overridden by a user.
1089
+ */
1090
+ set_theme(service_data?: {
1091
+ /**
1092
+ * ## Mode
1093
+ *
1094
+ * > Theme mode.
1095
+ *
1096
+ * ### Default
1097
+ *
1098
+ * > ```json
1099
+ * > "light"
1100
+ * > ```
1101
+ */
1102
+ mode?: "dark" | "light";
1103
+ /**
1104
+ * ## Theme
1105
+ *
1106
+ * > Name of a theme.
1107
+ *
1108
+ * ### Example
1109
+ *
1110
+ * > ```json
1111
+ * > {
1112
+ * > "name": "default"
1113
+ * > }
1114
+ * > ```
1115
+ *
1116
+ * ## Selector
1117
+ *
1118
+ * > ```yaml
1119
+ * > theme:
1120
+ * > include_default: true
1121
+ * > ```
1122
+ */
1123
+ name: unknown;
1124
+ }): Promise<void>;
1125
+ };
1126
+ // # MARK: homeassistant
1127
+ homeassistant: {
1128
+ /**
1129
+ * ### Check configuration
1130
+ *
1131
+ * > Checks the Home Assistant YAML-configuration files for errors. Errors will be shown in the Home Assistant logs.
1132
+ */
1133
+ check_config(service_data: {}): Promise<void>;
1134
+ /**
1135
+ * ### Reload all
1136
+ *
1137
+ * > Reload all YAML configuration that can be reloaded without restarting Home Assistant.
1138
+ */
1139
+ reload_all(service_data: {}): Promise<void>;
1140
+ /**
1141
+ * ### Reload config entry
1142
+ *
1143
+ * > Reloads the specified config entry.
1144
+ */
1145
+ reload_config_entry(service_data?: {
1146
+ /**
1147
+ * ## Config entry ID
1148
+ *
1149
+ * > The configuration entry ID of the entry to be reloaded.
1150
+ *
1151
+ * ### Example
1152
+ *
1153
+ * > ```json
1154
+ * > {
1155
+ * > "entry_id": "8955375327824e14ba89e4b29cc3ec9a"
1156
+ * > }
1157
+ * > ```
1158
+ */
1159
+ entry_id?: string;
1160
+ /**
1161
+ * Assisted definition
1162
+ * > ```yaml
1163
+ * > entity:
1164
+ * > - {}
1165
+ * > device:
1166
+ * > - {}
1167
+ * > ```
1168
+ */
1169
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1170
+ }): Promise<void>;
1171
+ /**
1172
+ * ### Reload core configuration
1173
+ *
1174
+ * > Reloads the core configuration from the YAML-configuration.
1175
+ */
1176
+ reload_core_config(service_data: {}): Promise<void>;
1177
+ /**
1178
+ * ### Reload custom Jinja2 templates
1179
+ *
1180
+ * > Reloads Jinja2 templates found in the `custom_templates` folder in your config. New values will be applied on the next render of the template.
1181
+ */
1182
+ reload_custom_templates(service_data: {}): Promise<void>;
1183
+ /**
1184
+ * ### Restart
1185
+ *
1186
+ * > Restarts Home Assistant.
1187
+ */
1188
+ restart(service_data: {}): Promise<void>;
1189
+ /**
1190
+ * ### Save persistent states
1191
+ *
1192
+ * > Saves the persistent states immediately. Maintains the normal periodic saving interval.
1193
+ */
1194
+ save_persistent_states(service_data: {}): Promise<void>;
1195
+ /**
1196
+ * ### Set location
1197
+ *
1198
+ * > Updates the Home Assistant location.
1199
+ */
1200
+ set_location(service_data?: {
1201
+ /**
1202
+ * ## Elevation
1203
+ *
1204
+ * > Elevation of your location.
1205
+ *
1206
+ * ### Example
1207
+ *
1208
+ * > ```json
1209
+ * > {
1210
+ * > "elevation": "120"
1211
+ * > }
1212
+ * > ```
1213
+ *
1214
+ * ## Selector
1215
+ *
1216
+ * > ```yaml
1217
+ * > number:
1218
+ * > mode: box
1219
+ * > step: any
1220
+ * > ```
1221
+ */
1222
+ elevation?: number;
1223
+ /**
1224
+ * ## Latitude
1225
+ *
1226
+ * > Latitude of your location.
1227
+ *
1228
+ * ### Example
1229
+ *
1230
+ * > ```json
1231
+ * > {
1232
+ * > "latitude": "32.87336"
1233
+ * > }
1234
+ * > ```
1235
+ *
1236
+ * ## Selector
1237
+ *
1238
+ * > ```yaml
1239
+ * > number:
1240
+ * > mode: box
1241
+ * > min: -90
1242
+ * > max: 90
1243
+ * > step: any
1244
+ * > ```
1245
+ */
1246
+ latitude: number;
1247
+ /**
1248
+ * ## Longitude
1249
+ *
1250
+ * > Longitude of your location.
1251
+ *
1252
+ * ### Example
1253
+ *
1254
+ * > ```json
1255
+ * > {
1256
+ * > "longitude": "117.22743"
1257
+ * > }
1258
+ * > ```
1259
+ *
1260
+ * ## Selector
1261
+ *
1262
+ * > ```yaml
1263
+ * > number:
1264
+ * > mode: box
1265
+ * > min: -180
1266
+ * > max: 180
1267
+ * > step: any
1268
+ * > ```
1269
+ */
1270
+ longitude: number;
1271
+ }): Promise<void>;
1272
+ /**
1273
+ * ### Stop
1274
+ *
1275
+ * > Stops Home Assistant.
1276
+ */
1277
+ stop(service_data: {}): Promise<void>;
1278
+ /**
1279
+ * ### Generic toggle
1280
+ *
1281
+ * > Generic service to toggle devices on/off under any domain.
1282
+ */
1283
+ toggle(service_data: {
1284
+ /**
1285
+ * Assisted definition
1286
+ * > ```yaml
1287
+ * > entity:
1288
+ * > - {}
1289
+ * > ```
1290
+ */
1291
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1292
+ }): Promise<void>;
1293
+ /**
1294
+ * ### Generic turn off
1295
+ *
1296
+ * > Generic service to turn devices off under any domain.
1297
+ */
1298
+ turn_off(service_data: {
1299
+ /**
1300
+ * Assisted definition
1301
+ * > ```yaml
1302
+ * > entity:
1303
+ * > - {}
1304
+ * > ```
1305
+ */
1306
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1307
+ }): Promise<void>;
1308
+ /**
1309
+ * ### Generic turn on
1310
+ *
1311
+ * > Generic service to turn devices on under any domain.
1312
+ */
1313
+ turn_on(service_data: {
1314
+ /**
1315
+ * Assisted definition
1316
+ * > ```yaml
1317
+ * > entity:
1318
+ * > - {}
1319
+ * > ```
1320
+ */
1321
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1322
+ }): Promise<void>;
1323
+ /**
1324
+ * ### Update entity
1325
+ *
1326
+ * > Forces one or more entities to update its data.
1327
+ */
1328
+ update_entity(service_data: {
1329
+ /**
1330
+ * Assisted definition
1331
+ * > ```yaml
1332
+ * > entity:
1333
+ * > - {}
1334
+ * > ```
1335
+ */
1336
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1337
+ }): Promise<void>;
1338
+ };
1339
+ // # MARK: input_boolean
1340
+ input_boolean: {
1341
+ /**
1342
+ * ### Reload
1343
+ *
1344
+ * > Reloads helpers from the YAML-configuration.
1345
+ */
1346
+ reload(service_data: {}): Promise<void>;
1347
+ /**
1348
+ * ### Toggle
1349
+ *
1350
+ * > Toggles the helper on/off.
1351
+ */
1352
+ toggle(service_data: {
1353
+ /**
1354
+ * Assisted definition
1355
+ * > ```yaml
1356
+ * > entity:
1357
+ * > - domain:
1358
+ * > - input_boolean
1359
+ * > ```
1360
+ */
1361
+ entity_id: PICK_ENTITY<"input_boolean"> | PICK_ENTITY<"input_boolean">[];
1362
+ }): Promise<void>;
1363
+ /**
1364
+ * ### Turn off
1365
+ *
1366
+ * > Turns off the helper.
1367
+ */
1368
+ turn_off(service_data: {
1369
+ /**
1370
+ * Assisted definition
1371
+ * > ```yaml
1372
+ * > entity:
1373
+ * > - domain:
1374
+ * > - input_boolean
1375
+ * > ```
1376
+ */
1377
+ entity_id: PICK_ENTITY<"input_boolean"> | PICK_ENTITY<"input_boolean">[];
1378
+ }): Promise<void>;
1379
+ /**
1380
+ * ### Turn on
1381
+ *
1382
+ * > Turns on the helper.
1383
+ */
1384
+ turn_on(service_data: {
1385
+ /**
1386
+ * Assisted definition
1387
+ * > ```yaml
1388
+ * > entity:
1389
+ * > - domain:
1390
+ * > - input_boolean
1391
+ * > ```
1392
+ */
1393
+ entity_id: PICK_ENTITY<"input_boolean"> | PICK_ENTITY<"input_boolean">[];
1394
+ }): Promise<void>;
1395
+ };
1396
+ // # MARK: input_button
1397
+ input_button: {
1398
+ /**
1399
+ * ### Press
1400
+ *
1401
+ * > Mimics the physical button press on the device.
1402
+ */
1403
+ press(service_data: {
1404
+ /**
1405
+ * Assisted definition
1406
+ * > ```yaml
1407
+ * > entity:
1408
+ * > - domain:
1409
+ * > - input_button
1410
+ * > ```
1411
+ */
1412
+ entity_id: PICK_ENTITY<"input_button"> | PICK_ENTITY<"input_button">[];
1413
+ }): Promise<void>;
1414
+ /**
1415
+ * ### Reload
1416
+ *
1417
+ * > Reloads helpers from the YAML-configuration.
1418
+ */
1419
+ reload(service_data: {}): Promise<void>;
1420
+ };
1421
+ // # MARK: input_datetime
1422
+ input_datetime: {
1423
+ /**
1424
+ * ### Reload
1425
+ *
1426
+ * > Reloads helpers from the YAML-configuration.
1427
+ */
1428
+ reload(service_data: {}): Promise<void>;
1429
+ /**
1430
+ * ### Set
1431
+ *
1432
+ * > Sets the date and/or time.
1433
+ */
1434
+ set_datetime(service_data?: {
1435
+ /**
1436
+ * ## Date
1437
+ *
1438
+ * > The target date.
1439
+ *
1440
+ * ### Example
1441
+ *
1442
+ * > ```json
1443
+ * > {
1444
+ * > "date": "\"2019-04-20\""
1445
+ * > }
1446
+ * > ```
1447
+ */
1448
+ date?: string;
1449
+ /**
1450
+ * ## Date & time
1451
+ *
1452
+ * > The target date & time.
1453
+ *
1454
+ * ### Example
1455
+ *
1456
+ * > ```json
1457
+ * > {
1458
+ * > "datetime": "\"2019-04-20 05:04:20\""
1459
+ * > }
1460
+ * > ```
1461
+ */
1462
+ datetime?: string;
1463
+ /**
1464
+ * ## Time
1465
+ *
1466
+ * > The target time.
1467
+ *
1468
+ * ### Example
1469
+ *
1470
+ * > ```json
1471
+ * > {
1472
+ * > "time": "\"05:04:20\""
1473
+ * > }
1474
+ * > ```
1475
+ */
1476
+ time?: string;
1477
+ /**
1478
+ * ## Timestamp
1479
+ *
1480
+ * > The target date & time, expressed by a UNIX timestamp.
1481
+ *
1482
+ * ## Selector
1483
+ *
1484
+ * > ```yaml
1485
+ * > number:
1486
+ * > min: 0
1487
+ * > max: 9223372036854776000
1488
+ * > mode: box
1489
+ * > ```
1490
+ */
1491
+ timestamp?: number;
1492
+ /**
1493
+ * Assisted definition
1494
+ * > ```yaml
1495
+ * > entity:
1496
+ * > - domain:
1497
+ * > - input_datetime
1498
+ * > ```
1499
+ */
1500
+ entity_id: PICK_ENTITY<"input_datetime"> | PICK_ENTITY<"input_datetime">[];
1501
+ }): Promise<void>;
1502
+ };
1503
+ // # MARK: input_number
1504
+ input_number: {
1505
+ /**
1506
+ * ### Decrement
1507
+ *
1508
+ * > Decrements the current value by 1 step.
1509
+ */
1510
+ decrement(service_data: {
1511
+ /**
1512
+ * Assisted definition
1513
+ * > ```yaml
1514
+ * > entity:
1515
+ * > - domain:
1516
+ * > - input_number
1517
+ * > ```
1518
+ */
1519
+ entity_id: PICK_ENTITY<"input_number"> | PICK_ENTITY<"input_number">[];
1520
+ }): Promise<void>;
1521
+ /**
1522
+ * ### Increment
1523
+ *
1524
+ * > Increments the value by 1 step.
1525
+ */
1526
+ increment(service_data: {
1527
+ /**
1528
+ * Assisted definition
1529
+ * > ```yaml
1530
+ * > entity:
1531
+ * > - domain:
1532
+ * > - input_number
1533
+ * > ```
1534
+ */
1535
+ entity_id: PICK_ENTITY<"input_number"> | PICK_ENTITY<"input_number">[];
1536
+ }): Promise<void>;
1537
+ /**
1538
+ * ### Reload
1539
+ *
1540
+ * > Reloads helpers from the YAML-configuration.
1541
+ */
1542
+ reload(service_data: {}): Promise<void>;
1543
+ /**
1544
+ * ### Set
1545
+ *
1546
+ * > Sets the value.
1547
+ */
1548
+ set_value(service_data: {
1549
+ /**
1550
+ * ## Value
1551
+ *
1552
+ * > The target value.
1553
+ *
1554
+ * ## Selector
1555
+ *
1556
+ * > ```yaml
1557
+ * > number:
1558
+ * > min: 0
1559
+ * > max: 9223372036854776000
1560
+ * > step: 0.001
1561
+ * > mode: box
1562
+ * > ```
1563
+ */
1564
+ value: number;
1565
+ /**
1566
+ * Assisted definition
1567
+ * > ```yaml
1568
+ * > entity:
1569
+ * > - domain:
1570
+ * > - input_number
1571
+ * > ```
1572
+ */
1573
+ entity_id: PICK_ENTITY<"input_number"> | PICK_ENTITY<"input_number">[];
1574
+ }): Promise<void>;
1575
+ };
1576
+ // # MARK: input_select
1577
+ input_select: {
1578
+ /**
1579
+ * ### Reload
1580
+ *
1581
+ * > Reloads helpers from the YAML-configuration.
1582
+ */
1583
+ reload(service_data: {}): Promise<void>;
1584
+ /**
1585
+ * ### First
1586
+ *
1587
+ * > Selects the first option.
1588
+ */
1589
+ select_first(service_data: {
1590
+ /**
1591
+ * Assisted definition
1592
+ * > ```yaml
1593
+ * > entity:
1594
+ * > - domain:
1595
+ * > - input_select
1596
+ * > ```
1597
+ */
1598
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1599
+ }): Promise<void>;
1600
+ /**
1601
+ * ### Last
1602
+ *
1603
+ * > Selects the last option.
1604
+ */
1605
+ select_last(service_data: {
1606
+ /**
1607
+ * Assisted definition
1608
+ * > ```yaml
1609
+ * > entity:
1610
+ * > - domain:
1611
+ * > - input_select
1612
+ * > ```
1613
+ */
1614
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1615
+ }): Promise<void>;
1616
+ /**
1617
+ * ### Next
1618
+ *
1619
+ * > Select the next option.
1620
+ */
1621
+ select_next(service_data?: {
1622
+ /**
1623
+ * ## Cycle
1624
+ *
1625
+ * > If the option should cycle from the last to the first option on the list.
1626
+ *
1627
+ * ### Default
1628
+ *
1629
+ * > ```json
1630
+ * > true
1631
+ * > ```
1632
+ */
1633
+ cycle?: boolean;
1634
+ /**
1635
+ * Assisted definition
1636
+ * > ```yaml
1637
+ * > entity:
1638
+ * > - domain:
1639
+ * > - input_select
1640
+ * > ```
1641
+ */
1642
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1643
+ }): Promise<void>;
1644
+ /**
1645
+ * ### Select
1646
+ *
1647
+ * > Selects an option.
1648
+ */
1649
+ select_option(service_data: {
1650
+ /**
1651
+ * ## Option
1652
+ *
1653
+ * > Option to be selected.
1654
+ *
1655
+ * ### Example
1656
+ *
1657
+ * > ```json
1658
+ * > {
1659
+ * > "option": "\"Item A\""
1660
+ * > }
1661
+ * > ```
1662
+ */
1663
+ option: string;
1664
+ /**
1665
+ * Assisted definition
1666
+ * > ```yaml
1667
+ * > entity:
1668
+ * > - domain:
1669
+ * > - input_select
1670
+ * > ```
1671
+ */
1672
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1673
+ }): Promise<void>;
1674
+ /**
1675
+ * ### Previous
1676
+ *
1677
+ * > Selects the previous option.
1678
+ */
1679
+ select_previous(service_data?: {
1680
+ /**
1681
+ * ## Cycle
1682
+ *
1683
+ * > If the option should cycle from the last to the first option on the list.
1684
+ *
1685
+ * ### Default
1686
+ *
1687
+ * > ```json
1688
+ * > true
1689
+ * > ```
1690
+ */
1691
+ cycle?: boolean;
1692
+ /**
1693
+ * Assisted definition
1694
+ * > ```yaml
1695
+ * > entity:
1696
+ * > - domain:
1697
+ * > - input_select
1698
+ * > ```
1699
+ */
1700
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1701
+ }): Promise<void>;
1702
+ /**
1703
+ * ### Set options
1704
+ *
1705
+ * > Sets the options.
1706
+ */
1707
+ set_options(service_data: {
1708
+ /**
1709
+ * ## Options
1710
+ *
1711
+ * > List of options.
1712
+ *
1713
+ * ### Example
1714
+ *
1715
+ * > ```json
1716
+ * > {
1717
+ * > "options": "[\"Item A\", \"Item B\", \"Item C\"]"
1718
+ * > }
1719
+ * > ```
1720
+ *
1721
+ * ## Selector
1722
+ *
1723
+ * > ```yaml
1724
+ * > object: null
1725
+ * > ```
1726
+ */
1727
+ options: unknown;
1728
+ /**
1729
+ * Assisted definition
1730
+ * > ```yaml
1731
+ * > entity:
1732
+ * > - domain:
1733
+ * > - input_select
1734
+ * > ```
1735
+ */
1736
+ entity_id: PICK_ENTITY<"input_select"> | PICK_ENTITY<"input_select">[];
1737
+ }): Promise<void>;
1738
+ };
1739
+ // # MARK: light
1740
+ light: {
1741
+ /**
1742
+ * ### Toggle
1743
+ *
1744
+ * > Toggles one or more lights, from on to off, or, off to on, based on their current state.
1745
+ */
1746
+ toggle(service_data?: {
1747
+ /**
1748
+ * ## Brightness value
1749
+ *
1750
+ * > Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness.
1751
+ *
1752
+ * ## Selector
1753
+ *
1754
+ * > ```yaml
1755
+ * > number:
1756
+ * > min: 0
1757
+ * > max: 255
1758
+ * > ```
1759
+ */
1760
+ brightness?: number;
1761
+ /**
1762
+ * ## Brightness
1763
+ *
1764
+ * > Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.
1765
+ *
1766
+ * ## Selector
1767
+ *
1768
+ * > ```yaml
1769
+ * > number:
1770
+ * > min: 0
1771
+ * > max: 100
1772
+ * > unit_of_measurement: '%'
1773
+ * > ```
1774
+ */
1775
+ brightness_pct?: number;
1776
+ /**
1777
+ * ## Color name
1778
+ *
1779
+ * > A human-readable color name.
1780
+ */
1781
+ color_name?:
1782
+ | "homeassistant"
1783
+ | "aliceblue"
1784
+ | "antiquewhite"
1785
+ | "aqua"
1786
+ | "aquamarine"
1787
+ | "azure"
1788
+ | "beige"
1789
+ | "bisque"
1790
+ | "blanchedalmond"
1791
+ | "blue"
1792
+ | "blueviolet"
1793
+ | "brown"
1794
+ | "burlywood"
1795
+ | "cadetblue"
1796
+ | "chartreuse"
1797
+ | "chocolate"
1798
+ | "coral"
1799
+ | "cornflowerblue"
1800
+ | "cornsilk"
1801
+ | "crimson"
1802
+ | "cyan"
1803
+ | "darkblue"
1804
+ | "darkcyan"
1805
+ | "darkgoldenrod"
1806
+ | "darkgray"
1807
+ | "darkgreen"
1808
+ | "darkgrey"
1809
+ | "darkkhaki"
1810
+ | "darkmagenta"
1811
+ | "darkolivegreen"
1812
+ | "darkorange"
1813
+ | "darkorchid"
1814
+ | "darkred"
1815
+ | "darksalmon"
1816
+ | "darkseagreen"
1817
+ | "darkslateblue"
1818
+ | "darkslategray"
1819
+ | "darkslategrey"
1820
+ | "darkturquoise"
1821
+ | "darkviolet"
1822
+ | "deeppink"
1823
+ | "deepskyblue"
1824
+ | "dimgray"
1825
+ | "dimgrey"
1826
+ | "dodgerblue"
1827
+ | "firebrick"
1828
+ | "floralwhite"
1829
+ | "forestgreen"
1830
+ | "fuchsia"
1831
+ | "gainsboro"
1832
+ | "ghostwhite"
1833
+ | "gold"
1834
+ | "goldenrod"
1835
+ | "gray"
1836
+ | "green"
1837
+ | "greenyellow"
1838
+ | "grey"
1839
+ | "honeydew"
1840
+ | "hotpink"
1841
+ | "indianred"
1842
+ | "indigo"
1843
+ | "ivory"
1844
+ | "khaki"
1845
+ | "lavender"
1846
+ | "lavenderblush"
1847
+ | "lawngreen"
1848
+ | "lemonchiffon"
1849
+ | "lightblue"
1850
+ | "lightcoral"
1851
+ | "lightcyan"
1852
+ | "lightgoldenrodyellow"
1853
+ | "lightgray"
1854
+ | "lightgreen"
1855
+ | "lightgrey"
1856
+ | "lightpink"
1857
+ | "lightsalmon"
1858
+ | "lightseagreen"
1859
+ | "lightskyblue"
1860
+ | "lightslategray"
1861
+ | "lightslategrey"
1862
+ | "lightsteelblue"
1863
+ | "lightyellow"
1864
+ | "lime"
1865
+ | "limegreen"
1866
+ | "linen"
1867
+ | "magenta"
1868
+ | "maroon"
1869
+ | "mediumaquamarine"
1870
+ | "mediumblue"
1871
+ | "mediumorchid"
1872
+ | "mediumpurple"
1873
+ | "mediumseagreen"
1874
+ | "mediumslateblue"
1875
+ | "mediumspringgreen"
1876
+ | "mediumturquoise"
1877
+ | "mediumvioletred"
1878
+ | "midnightblue"
1879
+ | "mintcream"
1880
+ | "mistyrose"
1881
+ | "moccasin"
1882
+ | "navajowhite"
1883
+ | "navy"
1884
+ | "navyblue"
1885
+ | "oldlace"
1886
+ | "olive"
1887
+ | "olivedrab"
1888
+ | "orange"
1889
+ | "orangered"
1890
+ | "orchid"
1891
+ | "palegoldenrod"
1892
+ | "palegreen"
1893
+ | "paleturquoise"
1894
+ | "palevioletred"
1895
+ | "papayawhip"
1896
+ | "peachpuff"
1897
+ | "peru"
1898
+ | "pink"
1899
+ | "plum"
1900
+ | "powderblue"
1901
+ | "purple"
1902
+ | "red"
1903
+ | "rosybrown"
1904
+ | "royalblue"
1905
+ | "saddlebrown"
1906
+ | "salmon"
1907
+ | "sandybrown"
1908
+ | "seagreen"
1909
+ | "seashell"
1910
+ | "sienna"
1911
+ | "silver"
1912
+ | "skyblue"
1913
+ | "slateblue"
1914
+ | "slategray"
1915
+ | "slategrey"
1916
+ | "snow"
1917
+ | "springgreen"
1918
+ | "steelblue"
1919
+ | "tan"
1920
+ | "teal"
1921
+ | "thistle"
1922
+ | "tomato"
1923
+ | "turquoise"
1924
+ | "violet"
1925
+ | "wheat"
1926
+ | "white"
1927
+ | "whitesmoke"
1928
+ | "yellow"
1929
+ | "yellowgreen";
1930
+ /**
1931
+ * ## Color temperature
1932
+ *
1933
+ * > Color temperature in mireds.
1934
+ *
1935
+ * ## Selector
1936
+ *
1937
+ * > ```yaml
1938
+ * > color_temp: null
1939
+ * > ```
1940
+ */
1941
+ color_temp?: unknown;
1942
+ /**
1943
+ * ## Effect
1944
+ *
1945
+ * > Light effect.
1946
+ */
1947
+ effect?: string;
1948
+ /**
1949
+ * ## Flash
1950
+ *
1951
+ * > Tell light to flash, can be either value short or long.
1952
+ */
1953
+ flash?: "long" | "short";
1954
+ /**
1955
+ * ## Hue/Sat color
1956
+ *
1957
+ * > Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100.
1958
+ *
1959
+ * ### Example
1960
+ *
1961
+ * > ```json
1962
+ * > {
1963
+ * > "hs_color": "[300, 70]"
1964
+ * > }
1965
+ * > ```
1966
+ *
1967
+ * ## Selector
1968
+ *
1969
+ * > ```yaml
1970
+ * > object: null
1971
+ * > ```
1972
+ */
1973
+ hs_color?: unknown;
1974
+ /**
1975
+ * ## Color temperature
1976
+ *
1977
+ * > Color temperature in Kelvin.
1978
+ *
1979
+ * ## Selector
1980
+ *
1981
+ * > ```yaml
1982
+ * > color_temp:
1983
+ * > unit: kelvin
1984
+ * > min: 2000
1985
+ * > max: 6500
1986
+ * > ```
1987
+ */
1988
+ kelvin?: unknown;
1989
+ /**
1990
+ * ## Profile
1991
+ *
1992
+ * > Name of a light profile to use.
1993
+ *
1994
+ * ### Example
1995
+ *
1996
+ * > ```json
1997
+ * > {
1998
+ * > "profile": "relax"
1999
+ * > }
2000
+ * > ```
2001
+ */
2002
+ profile?: string;
2003
+ /**
2004
+ * ## Color
2005
+ *
2006
+ * > The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue.
2007
+ *
2008
+ * ### Example
2009
+ *
2010
+ * > ```json
2011
+ * > {
2012
+ * > "rgb_color": "[255, 100, 100]"
2013
+ * > }
2014
+ * > ```
2015
+ *
2016
+ * ## Selector
2017
+ *
2018
+ * > ```yaml
2019
+ * > color_rgb: null
2020
+ * > ```
2021
+ */
2022
+ rgb_color?: unknown;
2023
+ /**
2024
+ * ## Transition
2025
+ *
2026
+ * > Duration it takes to get to next state.
2027
+ *
2028
+ * ## Selector
2029
+ *
2030
+ * > ```yaml
2031
+ * > number:
2032
+ * > min: 0
2033
+ * > max: 300
2034
+ * > unit_of_measurement: seconds
2035
+ * > ```
2036
+ */
2037
+ transition?: number;
2038
+ /**
2039
+ * ## White
2040
+ *
2041
+ * > Set the light to white mode.
2042
+ *
2043
+ * ## Selector
2044
+ *
2045
+ * > ```yaml
2046
+ * > constant:
2047
+ * > value: true
2048
+ * > label: Enabled
2049
+ * > ```
2050
+ */
2051
+ white?: unknown;
2052
+ /**
2053
+ * ## XY-color
2054
+ *
2055
+ * > Color in XY-format. A list of two decimal numbers between 0 and 1.
2056
+ *
2057
+ * ### Example
2058
+ *
2059
+ * > ```json
2060
+ * > {
2061
+ * > "xy_color": "[0.52, 0.43]"
2062
+ * > }
2063
+ * > ```
2064
+ *
2065
+ * ## Selector
2066
+ *
2067
+ * > ```yaml
2068
+ * > object: null
2069
+ * > ```
2070
+ */
2071
+ xy_color?: unknown;
2072
+ /**
2073
+ * Assisted definition
2074
+ * > ```yaml
2075
+ * > entity:
2076
+ * > - domain:
2077
+ * > - light
2078
+ * > ```
2079
+ */
2080
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
2081
+ }): Promise<void>;
2082
+ /**
2083
+ * ### Turn off
2084
+ *
2085
+ * > Turn off one or more lights.
2086
+ */
2087
+ turn_off(service_data?: {
2088
+ /**
2089
+ * ## Flash
2090
+ *
2091
+ * > Tell light to flash, can be either value short or long.
2092
+ */
2093
+ flash?: "long" | "short";
2094
+ /**
2095
+ * ## Transition
2096
+ *
2097
+ * > Duration it takes to get to next state.
2098
+ *
2099
+ * ## Selector
2100
+ *
2101
+ * > ```yaml
2102
+ * > number:
2103
+ * > min: 0
2104
+ * > max: 300
2105
+ * > unit_of_measurement: seconds
2106
+ * > ```
2107
+ */
2108
+ transition?: number;
2109
+ /**
2110
+ * Assisted definition
2111
+ * > ```yaml
2112
+ * > entity:
2113
+ * > - domain:
2114
+ * > - light
2115
+ * > ```
2116
+ */
2117
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
2118
+ }): Promise<void>;
2119
+ /**
2120
+ * ### Turn on
2121
+ *
2122
+ * > Turn on one or more lights and adjust properties of the light, even when they are turned on already.
2123
+ */
2124
+ turn_on(service_data?: {
2125
+ /**
2126
+ * ## Brightness value
2127
+ *
2128
+ * > Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness.
2129
+ *
2130
+ * ## Selector
2131
+ *
2132
+ * > ```yaml
2133
+ * > number:
2134
+ * > min: 0
2135
+ * > max: 255
2136
+ * > ```
2137
+ */
2138
+ brightness?: number;
2139
+ /**
2140
+ * ## Brightness
2141
+ *
2142
+ * > Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.
2143
+ *
2144
+ * ## Selector
2145
+ *
2146
+ * > ```yaml
2147
+ * > number:
2148
+ * > min: 0
2149
+ * > max: 100
2150
+ * > unit_of_measurement: '%'
2151
+ * > ```
2152
+ */
2153
+ brightness_pct?: number;
2154
+ /**
2155
+ * ## Brightness step value
2156
+ *
2157
+ * > Change brightness by an amount.
2158
+ *
2159
+ * ## Selector
2160
+ *
2161
+ * > ```yaml
2162
+ * > number:
2163
+ * > min: -225
2164
+ * > max: 255
2165
+ * > ```
2166
+ */
2167
+ brightness_step?: number;
2168
+ /**
2169
+ * ## Brightness step
2170
+ *
2171
+ * > Change brightness by a percentage.
2172
+ *
2173
+ * ## Selector
2174
+ *
2175
+ * > ```yaml
2176
+ * > number:
2177
+ * > min: -100
2178
+ * > max: 100
2179
+ * > unit_of_measurement: '%'
2180
+ * > ```
2181
+ */
2182
+ brightness_step_pct?: number;
2183
+ /**
2184
+ * ## Color name
2185
+ *
2186
+ * > A human-readable color name.
2187
+ */
2188
+ color_name?:
2189
+ | "homeassistant"
2190
+ | "aliceblue"
2191
+ | "antiquewhite"
2192
+ | "aqua"
2193
+ | "aquamarine"
2194
+ | "azure"
2195
+ | "beige"
2196
+ | "bisque"
2197
+ | "blanchedalmond"
2198
+ | "blue"
2199
+ | "blueviolet"
2200
+ | "brown"
2201
+ | "burlywood"
2202
+ | "cadetblue"
2203
+ | "chartreuse"
2204
+ | "chocolate"
2205
+ | "coral"
2206
+ | "cornflowerblue"
2207
+ | "cornsilk"
2208
+ | "crimson"
2209
+ | "cyan"
2210
+ | "darkblue"
2211
+ | "darkcyan"
2212
+ | "darkgoldenrod"
2213
+ | "darkgray"
2214
+ | "darkgreen"
2215
+ | "darkgrey"
2216
+ | "darkkhaki"
2217
+ | "darkmagenta"
2218
+ | "darkolivegreen"
2219
+ | "darkorange"
2220
+ | "darkorchid"
2221
+ | "darkred"
2222
+ | "darksalmon"
2223
+ | "darkseagreen"
2224
+ | "darkslateblue"
2225
+ | "darkslategray"
2226
+ | "darkslategrey"
2227
+ | "darkturquoise"
2228
+ | "darkviolet"
2229
+ | "deeppink"
2230
+ | "deepskyblue"
2231
+ | "dimgray"
2232
+ | "dimgrey"
2233
+ | "dodgerblue"
2234
+ | "firebrick"
2235
+ | "floralwhite"
2236
+ | "forestgreen"
2237
+ | "fuchsia"
2238
+ | "gainsboro"
2239
+ | "ghostwhite"
2240
+ | "gold"
2241
+ | "goldenrod"
2242
+ | "gray"
2243
+ | "green"
2244
+ | "greenyellow"
2245
+ | "grey"
2246
+ | "honeydew"
2247
+ | "hotpink"
2248
+ | "indianred"
2249
+ | "indigo"
2250
+ | "ivory"
2251
+ | "khaki"
2252
+ | "lavender"
2253
+ | "lavenderblush"
2254
+ | "lawngreen"
2255
+ | "lemonchiffon"
2256
+ | "lightblue"
2257
+ | "lightcoral"
2258
+ | "lightcyan"
2259
+ | "lightgoldenrodyellow"
2260
+ | "lightgray"
2261
+ | "lightgreen"
2262
+ | "lightgrey"
2263
+ | "lightpink"
2264
+ | "lightsalmon"
2265
+ | "lightseagreen"
2266
+ | "lightskyblue"
2267
+ | "lightslategray"
2268
+ | "lightslategrey"
2269
+ | "lightsteelblue"
2270
+ | "lightyellow"
2271
+ | "lime"
2272
+ | "limegreen"
2273
+ | "linen"
2274
+ | "magenta"
2275
+ | "maroon"
2276
+ | "mediumaquamarine"
2277
+ | "mediumblue"
2278
+ | "mediumorchid"
2279
+ | "mediumpurple"
2280
+ | "mediumseagreen"
2281
+ | "mediumslateblue"
2282
+ | "mediumspringgreen"
2283
+ | "mediumturquoise"
2284
+ | "mediumvioletred"
2285
+ | "midnightblue"
2286
+ | "mintcream"
2287
+ | "mistyrose"
2288
+ | "moccasin"
2289
+ | "navajowhite"
2290
+ | "navy"
2291
+ | "navyblue"
2292
+ | "oldlace"
2293
+ | "olive"
2294
+ | "olivedrab"
2295
+ | "orange"
2296
+ | "orangered"
2297
+ | "orchid"
2298
+ | "palegoldenrod"
2299
+ | "palegreen"
2300
+ | "paleturquoise"
2301
+ | "palevioletred"
2302
+ | "papayawhip"
2303
+ | "peachpuff"
2304
+ | "peru"
2305
+ | "pink"
2306
+ | "plum"
2307
+ | "powderblue"
2308
+ | "purple"
2309
+ | "red"
2310
+ | "rosybrown"
2311
+ | "royalblue"
2312
+ | "saddlebrown"
2313
+ | "salmon"
2314
+ | "sandybrown"
2315
+ | "seagreen"
2316
+ | "seashell"
2317
+ | "sienna"
2318
+ | "silver"
2319
+ | "skyblue"
2320
+ | "slateblue"
2321
+ | "slategray"
2322
+ | "slategrey"
2323
+ | "snow"
2324
+ | "springgreen"
2325
+ | "steelblue"
2326
+ | "tan"
2327
+ | "teal"
2328
+ | "thistle"
2329
+ | "tomato"
2330
+ | "turquoise"
2331
+ | "violet"
2332
+ | "wheat"
2333
+ | "white"
2334
+ | "whitesmoke"
2335
+ | "yellow"
2336
+ | "yellowgreen";
2337
+ /**
2338
+ * ## Color temperature
2339
+ *
2340
+ * > Color temperature in mireds.
2341
+ *
2342
+ * ## Selector
2343
+ *
2344
+ * > ```yaml
2345
+ * > color_temp:
2346
+ * > unit: mired
2347
+ * > min: 153
2348
+ * > max: 500
2349
+ * > ```
2350
+ */
2351
+ color_temp?: unknown;
2352
+ /**
2353
+ * ## Effect
2354
+ *
2355
+ * > Light effect.
2356
+ */
2357
+ effect?: string;
2358
+ /**
2359
+ * ## Flash
2360
+ *
2361
+ * > Tell light to flash, can be either value short or long.
2362
+ */
2363
+ flash?: "long" | "short";
2364
+ /**
2365
+ * ## Hue/Sat color
2366
+ *
2367
+ * > Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100.
2368
+ *
2369
+ * ### Example
2370
+ *
2371
+ * > ```json
2372
+ * > {
2373
+ * > "hs_color": "[300, 70]"
2374
+ * > }
2375
+ * > ```
2376
+ *
2377
+ * ## Selector
2378
+ *
2379
+ * > ```yaml
2380
+ * > object: null
2381
+ * > ```
2382
+ */
2383
+ hs_color?: unknown;
2384
+ /**
2385
+ * ## Color temperature
2386
+ *
2387
+ * > Color temperature in Kelvin.
2388
+ *
2389
+ * ## Selector
2390
+ *
2391
+ * > ```yaml
2392
+ * > color_temp:
2393
+ * > unit: kelvin
2394
+ * > min: 2000
2395
+ * > max: 6500
2396
+ * > ```
2397
+ */
2398
+ kelvin?: unknown;
2399
+ /**
2400
+ * ## Profile
2401
+ *
2402
+ * > Name of a light profile to use.
2403
+ *
2404
+ * ### Example
2405
+ *
2406
+ * > ```json
2407
+ * > {
2408
+ * > "profile": "relax"
2409
+ * > }
2410
+ * > ```
2411
+ */
2412
+ profile?: string;
2413
+ /**
2414
+ * ## Color
2415
+ *
2416
+ * > The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue.
2417
+ *
2418
+ * ## Selector
2419
+ *
2420
+ * > ```yaml
2421
+ * > color_rgb: null
2422
+ * > ```
2423
+ */
2424
+ rgb_color?: unknown;
2425
+ /**
2426
+ * ## RGBW-color
2427
+ *
2428
+ * > The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white.
2429
+ *
2430
+ * ### Example
2431
+ *
2432
+ * > ```json
2433
+ * > {
2434
+ * > "rgbw_color": "[255, 100, 100, 50]"
2435
+ * > }
2436
+ * > ```
2437
+ *
2438
+ * ## Selector
2439
+ *
2440
+ * > ```yaml
2441
+ * > object: null
2442
+ * > ```
2443
+ */
2444
+ rgbw_color?: unknown;
2445
+ /**
2446
+ * ## RGBWW-color
2447
+ *
2448
+ * > The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white.
2449
+ *
2450
+ * ### Example
2451
+ *
2452
+ * > ```json
2453
+ * > {
2454
+ * > "rgbww_color": "[255, 100, 100, 50, 70]"
2455
+ * > }
2456
+ * > ```
2457
+ *
2458
+ * ## Selector
2459
+ *
2460
+ * > ```yaml
2461
+ * > object: null
2462
+ * > ```
2463
+ */
2464
+ rgbww_color?: unknown;
2465
+ /**
2466
+ * ## Transition
2467
+ *
2468
+ * > Duration it takes to get to next state.
2469
+ *
2470
+ * ## Selector
2471
+ *
2472
+ * > ```yaml
2473
+ * > number:
2474
+ * > min: 0
2475
+ * > max: 300
2476
+ * > unit_of_measurement: seconds
2477
+ * > ```
2478
+ */
2479
+ transition?: number;
2480
+ /**
2481
+ * ## White
2482
+ *
2483
+ * > Set the light to white mode.
2484
+ *
2485
+ * ## Selector
2486
+ *
2487
+ * > ```yaml
2488
+ * > constant:
2489
+ * > value: true
2490
+ * > label: Enabled
2491
+ * > ```
2492
+ */
2493
+ white?: unknown;
2494
+ /**
2495
+ * ## XY-color
2496
+ *
2497
+ * > Color in XY-format. A list of two decimal numbers between 0 and 1.
2498
+ *
2499
+ * ### Example
2500
+ *
2501
+ * > ```json
2502
+ * > {
2503
+ * > "xy_color": "[0.52, 0.43]"
2504
+ * > }
2505
+ * > ```
2506
+ *
2507
+ * ## Selector
2508
+ *
2509
+ * > ```yaml
2510
+ * > object: null
2511
+ * > ```
2512
+ */
2513
+ xy_color?: unknown;
2514
+ /**
2515
+ * Assisted definition
2516
+ * > ```yaml
2517
+ * > entity:
2518
+ * > - domain:
2519
+ * > - light
2520
+ * > ```
2521
+ */
2522
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
2523
+ }): Promise<void>;
2524
+ };
2525
+ // # MARK: input_text
2526
+ input_text: {
2527
+ /**
2528
+ * ### Reload
2529
+ *
2530
+ * > Reloads helpers from the YAML-configuration.
2531
+ */
2532
+ reload(service_data: {}): Promise<void>;
2533
+ /**
2534
+ * ### Set
2535
+ *
2536
+ * > Sets the value.
2537
+ */
2538
+ set_value(service_data: {
2539
+ /**
2540
+ * ## Value
2541
+ *
2542
+ * > The target value.
2543
+ *
2544
+ * ### Example
2545
+ *
2546
+ * > ```json
2547
+ * > {
2548
+ * > "value": "This is an example text"
2549
+ * > }
2550
+ * > ```
2551
+ */
2552
+ value: string;
2553
+ /**
2554
+ * Assisted definition
2555
+ * > ```yaml
2556
+ * > entity:
2557
+ * > - domain:
2558
+ * > - input_text
2559
+ * > ```
2560
+ */
2561
+ entity_id: PICK_ENTITY<"input_text"> | PICK_ENTITY<"input_text">[];
2562
+ }): Promise<void>;
2563
+ };
2564
+ // # MARK: logbook
2565
+ logbook: {
2566
+ /**
2567
+ * ### Log
2568
+ *
2569
+ * > Creates a custom entry in the logbook.
2570
+ */
2571
+ log(service_data?: {
2572
+ /**
2573
+ * ## Domain
2574
+ *
2575
+ * > Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry.
2576
+ *
2577
+ * ### Example
2578
+ *
2579
+ * > ```json
2580
+ * > {
2581
+ * > "domain": "light"
2582
+ * > }
2583
+ * > ```
2584
+ */
2585
+ domain?: string;
2586
+ /**
2587
+ * ## Entity ID
2588
+ *
2589
+ * > Entity to reference in the logbook entry.
2590
+ *
2591
+ * ## Selector
2592
+ *
2593
+ * > ```yaml
2594
+ * > entity: null
2595
+ * > ```
2596
+ */
2597
+ entity_id?: PICK_ENTITY | PICK_ENTITY[];
2598
+ /**
2599
+ * ## Message
2600
+ *
2601
+ * > Message of the logbook entry.
2602
+ *
2603
+ * ### Example
2604
+ *
2605
+ * > ```json
2606
+ * > {
2607
+ * > "message": "is being used"
2608
+ * > }
2609
+ * > ```
2610
+ */
2611
+ message: string;
2612
+ /**
2613
+ * ## Name
2614
+ *
2615
+ * > Custom name for an entity, can be referenced using an `entity_id`.
2616
+ *
2617
+ * ### Example
2618
+ *
2619
+ * > ```json
2620
+ * > {
2621
+ * > "name": "Kitchen"
2622
+ * > }
2623
+ * > ```
2624
+ */
2625
+ name: string;
2626
+ }): Promise<void>;
2627
+ };
2628
+ // # MARK: logger
2629
+ logger: {
2630
+ /**
2631
+ * ### Set default level
2632
+ *
2633
+ * > Sets the default log level for integrations.
2634
+ */
2635
+ set_default_level(service_data?: {
2636
+ /**
2637
+ * ## Level
2638
+ *
2639
+ * > Default severity level for all integrations.
2640
+ */
2641
+ level?: "debug" | "info" | "warning" | "error" | "fatal" | "critical";
2642
+ }): Promise<void>;
2643
+ /**
2644
+ * ### Set level
2645
+ *
2646
+ * > Sets the log level for one or more integrations.
2647
+ */
2648
+ set_level(service_data: {}): Promise<void>;
2649
+ };
2650
+ // # MARK: button
2651
+ button: {
2652
+ /**
2653
+ * ### Press
2654
+ *
2655
+ * > Press the button entity.
2656
+ */
2657
+ press(service_data: {
2658
+ /**
2659
+ * Assisted definition
2660
+ * > ```yaml
2661
+ * > entity:
2662
+ * > - domain:
2663
+ * > - button
2664
+ * > ```
2665
+ */
2666
+ entity_id: PICK_ENTITY<"button"> | PICK_ENTITY<"button">[];
2667
+ }): Promise<void>;
2668
+ };
2669
+ // # MARK: notify
2670
+ notify: {
2671
+ /**
2672
+ * ### Send a notification with notify
2673
+ *
2674
+ * > Sends a notification message using the notify service.
2675
+ */
2676
+ notify(service_data?: {
2677
+ /**
2678
+ * ## data
2679
+ *
2680
+ * ### Example
2681
+ *
2682
+ * > ```json
2683
+ * > {
2684
+ * > "data": "platform specific"
2685
+ * > }
2686
+ * > ```
2687
+ *
2688
+ * ## Selector
2689
+ *
2690
+ * > ```yaml
2691
+ * > object: null
2692
+ * > ```
2693
+ */
2694
+ data?: NotificationData & (AndroidNotificationData | AppleNotificationData);
2695
+ /**
2696
+ * ## message
2697
+ *
2698
+ * ### Example
2699
+ *
2700
+ * > ```json
2701
+ * > {
2702
+ * > "message": "The garage door has been open for 10 minutes."
2703
+ * > }
2704
+ * > ```
2705
+ */
2706
+ message: string;
2707
+ /**
2708
+ * ## target
2709
+ *
2710
+ * ### Example
2711
+ *
2712
+ * > ```json
2713
+ * > {
2714
+ * > "target": "platform specific"
2715
+ * > }
2716
+ * > ```
2717
+ *
2718
+ * ## Selector
2719
+ *
2720
+ * > ```yaml
2721
+ * > object: null
2722
+ * > ```
2723
+ */
2724
+ target?: unknown;
2725
+ /**
2726
+ * ## title
2727
+ *
2728
+ * ### Example
2729
+ *
2730
+ * > ```json
2731
+ * > {
2732
+ * > "title": "Your Garage Door Friend"
2733
+ * > }
2734
+ * > ```
2735
+ */
2736
+ title?: string;
2737
+ }): Promise<void>;
2738
+ /**
2739
+ * ### Send a persistent notification
2740
+ *
2741
+ * > Sends a notification that is visible in the **Notifications** panel.
2742
+ */
2743
+ persistent_notification(service_data?: {
2744
+ /**
2745
+ * ## Data
2746
+ *
2747
+ * > Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation..
2748
+ *
2749
+ * ### Example
2750
+ *
2751
+ * > ```json
2752
+ * > {
2753
+ * > "data": "platform specific"
2754
+ * > }
2755
+ * > ```
2756
+ *
2757
+ * ## Selector
2758
+ *
2759
+ * > ```yaml
2760
+ * > object: null
2761
+ * > ```
2762
+ */
2763
+ data?: NotificationData & (AndroidNotificationData | AppleNotificationData);
2764
+ /**
2765
+ * ## Message
2766
+ *
2767
+ * > Message body of the notification.
2768
+ *
2769
+ * ### Example
2770
+ *
2771
+ * > ```json
2772
+ * > {
2773
+ * > "message": "The garage door has been open for 10 minutes."
2774
+ * > }
2775
+ * > ```
2776
+ */
2777
+ message: string;
2778
+ /**
2779
+ * ## Title
2780
+ *
2781
+ * > Title of the notification.
2782
+ *
2783
+ * ### Example
2784
+ *
2785
+ * > ```json
2786
+ * > {
2787
+ * > "title": "Your Garage Door Friend"
2788
+ * > }
2789
+ * > ```
2790
+ */
2791
+ title?: string;
2792
+ }): Promise<void>;
2793
+ };
2794
+ // # MARK: persistent_notification
2795
+ persistent_notification: {
2796
+ /**
2797
+ * ### Create
2798
+ *
2799
+ * > Shows a notification on the **Notifications** panel.
2800
+ */
2801
+ create(service_data?: {
2802
+ /**
2803
+ * ## Message
2804
+ *
2805
+ * > Message body of the notification.
2806
+ *
2807
+ * ### Example
2808
+ *
2809
+ * > ```json
2810
+ * > {
2811
+ * > "message": "Please check your configuration.yaml."
2812
+ * > }
2813
+ * > ```
2814
+ */
2815
+ message: string;
2816
+ /**
2817
+ * ## Notification ID
2818
+ *
2819
+ * > ID of the notification. This new notification will overwrite an existing notification with the same ID.
2820
+ *
2821
+ * ### Example
2822
+ *
2823
+ * > ```json
2824
+ * > {
2825
+ * > "notification_id": "1234"
2826
+ * > }
2827
+ * > ```
2828
+ */
2829
+ notification_id?: string;
2830
+ /**
2831
+ * ## Title
2832
+ *
2833
+ * > Optional title of the notification.
2834
+ *
2835
+ * ### Example
2836
+ *
2837
+ * > ```json
2838
+ * > {
2839
+ * > "title": "Test notification"
2840
+ * > }
2841
+ * > ```
2842
+ */
2843
+ title?: string;
2844
+ }): Promise<void>;
2845
+ /**
2846
+ * ### Dismiss
2847
+ *
2848
+ * > Removes a notification from the **Notifications** panel.
2849
+ */
2850
+ dismiss(service_data: {
2851
+ /**
2852
+ * ## Notification ID
2853
+ *
2854
+ * > ID of the notification to be removed.
2855
+ *
2856
+ * ### Example
2857
+ *
2858
+ * > ```json
2859
+ * > {
2860
+ * > "notification_id": "1234"
2861
+ * > }
2862
+ * > ```
2863
+ */
2864
+ notification_id: string;
2865
+ }): Promise<void>;
2866
+ /**
2867
+ * ### Dismiss all
2868
+ *
2869
+ * > Removes all notifications from the **Notifications** panel.
2870
+ */
2871
+ dismiss_all(service_data: {}): Promise<void>;
2872
+ };
2873
+ // # MARK: person
2874
+ person: {
2875
+ /**
2876
+ * ### Reload
2877
+ *
2878
+ * > Reloads persons from the YAML-configuration.
2879
+ */
2880
+ reload(service_data: {}): Promise<void>;
2881
+ };
2882
+ // # MARK: recorder
2883
+ recorder: {
2884
+ /**
2885
+ * ### Disable
2886
+ *
2887
+ * > Stops the recording of events and state changes.
2888
+ */
2889
+ disable(service_data: {}): Promise<void>;
2890
+ /**
2891
+ * ### Enable
2892
+ *
2893
+ * > Starts the recording of events and state changes.
2894
+ */
2895
+ enable(service_data: {}): Promise<void>;
2896
+ /**
2897
+ * ### Purge
2898
+ *
2899
+ * > Starts purge task - to clean up old data from your database.
2900
+ */
2901
+ purge(service_data?: {
2902
+ /**
2903
+ * ## Apply filter
2904
+ *
2905
+ * > Apply `entity_id` and `event_type` filters in addition to time-based purge.
2906
+ *
2907
+ * ### Default
2908
+ *
2909
+ * > ```json
2910
+ * > false
2911
+ * > ```
2912
+ */
2913
+ apply_filter?: boolean;
2914
+ /**
2915
+ * ## Days to keep
2916
+ *
2917
+ * > Number of days to keep the data in the database. Starting today, counting backward. A value of `7` means that everything older than a week will be purged.
2918
+ *
2919
+ * ## Selector
2920
+ *
2921
+ * > ```yaml
2922
+ * > number:
2923
+ * > min: 0
2924
+ * > max: 365
2925
+ * > unit_of_measurement: days
2926
+ * > ```
2927
+ */
2928
+ keep_days?: number;
2929
+ /**
2930
+ * ## Repack
2931
+ *
2932
+ * > Attempt to save disk space by rewriting the entire database file.
2933
+ *
2934
+ * ### Default
2935
+ *
2936
+ * > ```json
2937
+ * > false
2938
+ * > ```
2939
+ */
2940
+ repack?: boolean;
2941
+ }): Promise<void>;
2942
+ /**
2943
+ * ### Purge entities
2944
+ *
2945
+ * > Starts a purge task to remove the data related to specific entities from your database.
2946
+ */
2947
+ purge_entities(service_data?: {
2948
+ /**
2949
+ * ## Domains to remove
2950
+ *
2951
+ * > List of domains for which the data needs to be removed from the recorder database.
2952
+ *
2953
+ * ### Example
2954
+ *
2955
+ * > ```json
2956
+ * > {
2957
+ * > "domains": "sun"
2958
+ * > }
2959
+ * > ```
2960
+ *
2961
+ * ### Default
2962
+ *
2963
+ * > ```json
2964
+ * > []
2965
+ * > ```
2966
+ *
2967
+ * ## Selector
2968
+ *
2969
+ * > ```yaml
2970
+ * > object: null
2971
+ * > ```
2972
+ */
2973
+ domains?: unknown;
2974
+ /**
2975
+ * ## Entity globs to remove
2976
+ *
2977
+ * > List of glob patterns used to select the entities for which the data is to be removed from the recorder database.
2978
+ *
2979
+ * ### Example
2980
+ *
2981
+ * > ```json
2982
+ * > {
2983
+ * > "entity_globs": "domain*.object_id*"
2984
+ * > }
2985
+ * > ```
2986
+ *
2987
+ * ### Default
2988
+ *
2989
+ * > ```json
2990
+ * > []
2991
+ * > ```
2992
+ *
2993
+ * ## Selector
2994
+ *
2995
+ * > ```yaml
2996
+ * > object: null
2997
+ * > ```
2998
+ */
2999
+ entity_globs?: unknown;
3000
+ /**
3001
+ * ## Days to keep
3002
+ *
3003
+ * > Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately.
3004
+ *
3005
+ * ### Default
3006
+ *
3007
+ * > ```json
3008
+ * > 0
3009
+ * > ```
3010
+ *
3011
+ * ## Selector
3012
+ *
3013
+ * > ```yaml
3014
+ * > number:
3015
+ * > min: 0
3016
+ * > max: 365
3017
+ * > unit_of_measurement: days
3018
+ * > ```
3019
+ */
3020
+ keep_days?: number;
3021
+ /**
3022
+ * Assisted definition
3023
+ * > ```yaml
3024
+ * > entity:
3025
+ * > - {}
3026
+ * > ```
3027
+ */
3028
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
3029
+ }): Promise<void>;
3030
+ };
3031
+ // # MARK: scene
3032
+ scene: {
3033
+ /**
3034
+ * ### Apply
3035
+ *
3036
+ * > Activates a scene with configuration.
3037
+ */
3038
+ apply(service_data?: {
3039
+ /**
3040
+ * ## Entities state
3041
+ *
3042
+ * > List of entities and their target state.
3043
+ *
3044
+ * ### Example
3045
+ *
3046
+ * > ```json
3047
+ * > {
3048
+ * > "entities": "light.kitchen: \"on\"\nlight.ceiling:\n state: \"on\"\n brightness: 80\n"
3049
+ * > }
3050
+ * > ```
3051
+ *
3052
+ * ## Selector
3053
+ *
3054
+ * > ```yaml
3055
+ * > object: null
3056
+ * > ```
3057
+ */
3058
+ entities: unknown;
3059
+ /**
3060
+ * ## Transition
3061
+ *
3062
+ * > Time it takes the devices to transition into the states defined in the scene.
3063
+ *
3064
+ * ## Selector
3065
+ *
3066
+ * > ```yaml
3067
+ * > number:
3068
+ * > min: 0
3069
+ * > max: 300
3070
+ * > unit_of_measurement: seconds
3071
+ * > ```
3072
+ */
3073
+ transition?: number;
3074
+ }): Promise<void>;
3075
+ /**
3076
+ * ### Create
3077
+ *
3078
+ * > Creates a new scene.
3079
+ */
3080
+ create(service_data?: {
3081
+ /**
3082
+ * ## Entities state
3083
+ *
3084
+ * > List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead.
3085
+ *
3086
+ * ### Example
3087
+ *
3088
+ * > ```json
3089
+ * > {
3090
+ * > "entities": "light.tv_back_light: \"on\"\nlight.ceiling:\n state: \"on\"\n brightness: 200\n"
3091
+ * > }
3092
+ * > ```
3093
+ *
3094
+ * ## Selector
3095
+ *
3096
+ * > ```yaml
3097
+ * > object: null
3098
+ * > ```
3099
+ */
3100
+ entities?: unknown;
3101
+ /**
3102
+ * ## Scene entity ID
3103
+ *
3104
+ * > The entity ID of the new scene.
3105
+ *
3106
+ * ### Example
3107
+ *
3108
+ * > ```json
3109
+ * > {
3110
+ * > "scene_id": "all_lights"
3111
+ * > }
3112
+ * > ```
3113
+ */
3114
+ scene_id: string;
3115
+ /**
3116
+ * ## Snapshot entities
3117
+ *
3118
+ * > List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the `snapshot_entities` with `entities`.
3119
+ *
3120
+ * ### Example
3121
+ *
3122
+ * > ```json
3123
+ * > {
3124
+ * > "snapshot_entities": "- light.ceiling\n- light.kitchen\n"
3125
+ * > }
3126
+ * > ```
3127
+ */
3128
+ snapshot_entities?: PICK_ENTITY | PICK_ENTITY[];
3129
+ }): Promise<void>;
3130
+ /**
3131
+ * ### Delete
3132
+ *
3133
+ * > Deletes a dynamically created scene.
3134
+ */
3135
+ delete(service_data: {
3136
+ /**
3137
+ * Assisted definition
3138
+ * > ```yaml
3139
+ * > entity:
3140
+ * > - integration: homeassistant
3141
+ * > domain:
3142
+ * > - scene
3143
+ * > ```
3144
+ */
3145
+ entity_id:
3146
+ | PICK_FROM_PLATFORM<"homeassistant", "scene">
3147
+ | PICK_FROM_PLATFORM<"homeassistant", "scene">[];
3148
+ }): Promise<void>;
3149
+ /**
3150
+ * ### Reload
3151
+ *
3152
+ * > Reloads the scenes from the YAML-configuration.
3153
+ */
3154
+ reload(service_data: {}): Promise<void>;
3155
+ /**
3156
+ * ### Activate
3157
+ *
3158
+ * > Activates a scene.
3159
+ */
3160
+ turn_on(service_data?: {
3161
+ /**
3162
+ * ## Transition
3163
+ *
3164
+ * > Time it takes the devices to transition into the states defined in the scene.
3165
+ *
3166
+ * ## Selector
3167
+ *
3168
+ * > ```yaml
3169
+ * > number:
3170
+ * > min: 0
3171
+ * > max: 300
3172
+ * > unit_of_measurement: seconds
3173
+ * > ```
3174
+ */
3175
+ transition?: number;
3176
+ /**
3177
+ * Assisted definition
3178
+ * > ```yaml
3179
+ * > entity:
3180
+ * > - domain:
3181
+ * > - scene
3182
+ * > ```
3183
+ */
3184
+ entity_id: PICK_ENTITY<"scene"> | PICK_ENTITY<"scene">[];
3185
+ }): Promise<void>;
3186
+ };
3187
+ // # MARK: schedule
3188
+ schedule: {
3189
+ /**
3190
+ * ### Reload
3191
+ *
3192
+ * > Reloads schedules from the YAML-configuration.
3193
+ */
3194
+ reload(service_data: {}): Promise<void>;
3195
+ };
3196
+ // # MARK: script
3197
+ script: {
3198
+ /**
3199
+ * ### Reload
3200
+ *
3201
+ * > Reloads all the available scripts.
3202
+ */
3203
+ reload(service_data: {}): Promise<void>;
3204
+ /**
3205
+ * ### Toggle
3206
+ *
3207
+ * > Toggle a script. Starts it, if isn't running, stops it otherwise.
3208
+ */
3209
+ toggle(service_data: {
3210
+ /**
3211
+ * Assisted definition
3212
+ * > ```yaml
3213
+ * > entity:
3214
+ * > - domain:
3215
+ * > - script
3216
+ * > ```
3217
+ */
3218
+ entity_id: PICK_ENTITY<"script"> | PICK_ENTITY<"script">[];
3219
+ }): Promise<void>;
3220
+ /**
3221
+ * ### Turn off
3222
+ *
3223
+ * > Stops a running script.
3224
+ */
3225
+ turn_off(service_data: {
3226
+ /**
3227
+ * Assisted definition
3228
+ * > ```yaml
3229
+ * > entity:
3230
+ * > - domain:
3231
+ * > - script
3232
+ * > ```
3233
+ */
3234
+ entity_id: PICK_ENTITY<"script"> | PICK_ENTITY<"script">[];
3235
+ }): Promise<void>;
3236
+ /**
3237
+ * ### Turn on
3238
+ *
3239
+ * > Runs the sequence of actions defined in a script.
3240
+ */
3241
+ turn_on(service_data: {
3242
+ /**
3243
+ * Assisted definition
3244
+ * > ```yaml
3245
+ * > entity:
3246
+ * > - domain:
3247
+ * > - script
3248
+ * > ```
3249
+ */
3250
+ entity_id: PICK_ENTITY<"script"> | PICK_ENTITY<"script">[];
3251
+ }): Promise<void>;
3252
+ };
3253
+ // # MARK: shopping_list
3254
+ shopping_list: {
3255
+ /**
3256
+ * ### Add item
3257
+ *
3258
+ * > Adds an item to the shopping list.
3259
+ */
3260
+ add_item(service_data: {
3261
+ /**
3262
+ * ## Name
3263
+ *
3264
+ * > The name of the item to add.
3265
+ *
3266
+ * ### Example
3267
+ *
3268
+ * > ```json
3269
+ * > {
3270
+ * > "name": "Beer"
3271
+ * > }
3272
+ * > ```
3273
+ */
3274
+ name: string;
3275
+ }): Promise<void>;
3276
+ /**
3277
+ * ### Clear completed items
3278
+ *
3279
+ * > Clears completed items from the shopping list.
3280
+ */
3281
+ clear_completed_items(service_data: {}): Promise<void>;
3282
+ /**
3283
+ * ### Complete all
3284
+ *
3285
+ * > Marks all items as completed in the shopping list (without removing them from the list).
3286
+ */
3287
+ complete_all(service_data: {}): Promise<void>;
3288
+ /**
3289
+ * ### Complete item
3290
+ *
3291
+ * > Marks the first item with matching name as completed in the shopping list.
3292
+ */
3293
+ complete_item(service_data: {
3294
+ /**
3295
+ * ## Name
3296
+ *
3297
+ * > The name of the item to mark as completed (without removing).
3298
+ *
3299
+ * ### Example
3300
+ *
3301
+ * > ```json
3302
+ * > {
3303
+ * > "name": "Beer"
3304
+ * > }
3305
+ * > ```
3306
+ */
3307
+ name: string;
3308
+ }): Promise<void>;
3309
+ /**
3310
+ * ### Incomplete all
3311
+ *
3312
+ * > Marks all items as incomplete in the shopping list.
3313
+ */
3314
+ incomplete_all(service_data: {}): Promise<void>;
3315
+ /**
3316
+ * ### Incomplete item
3317
+ *
3318
+ * > Marks the first item with matching name as incomplete in the shopping list.
3319
+ */
3320
+ incomplete_item(service_data: {
3321
+ /**
3322
+ * ## Name
3323
+ *
3324
+ * > The name of the item to mark as incomplete.
3325
+ *
3326
+ * ### Example
3327
+ *
3328
+ * > ```json
3329
+ * > {
3330
+ * > "name": "Beer"
3331
+ * > }
3332
+ * > ```
3333
+ */
3334
+ name: string;
3335
+ }): Promise<void>;
3336
+ /**
3337
+ * ### Remove item
3338
+ *
3339
+ * > Removes the first item with matching name from the shopping list.
3340
+ */
3341
+ remove_item(service_data: {
3342
+ /**
3343
+ * ## Name
3344
+ *
3345
+ * > The name of the item to remove.
3346
+ *
3347
+ * ### Example
3348
+ *
3349
+ * > ```json
3350
+ * > {
3351
+ * > "name": "Beer"
3352
+ * > }
3353
+ * > ```
3354
+ */
3355
+ name: string;
3356
+ }): Promise<void>;
3357
+ /**
3358
+ * ### Sort all items
3359
+ *
3360
+ * > Sorts all items by name in the shopping list.
3361
+ */
3362
+ sort(service_data?: {
3363
+ /**
3364
+ * ## Sort reverse
3365
+ *
3366
+ * > Whether to sort in reverse (descending) order.
3367
+ *
3368
+ * ### Default
3369
+ *
3370
+ * > ```json
3371
+ * > false
3372
+ * > ```
3373
+ */
3374
+ reverse?: boolean;
3375
+ }): Promise<void>;
3376
+ };
3377
+ // # MARK: switch
3378
+ switch: {
3379
+ /**
3380
+ * ### Toggle
3381
+ *
3382
+ * > Toggles a switch on/off.
3383
+ */
3384
+ toggle(service_data: {
3385
+ /**
3386
+ * Assisted definition
3387
+ * > ```yaml
3388
+ * > entity:
3389
+ * > - domain:
3390
+ * > - switch
3391
+ * > ```
3392
+ */
3393
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
3394
+ }): Promise<void>;
3395
+ /**
3396
+ * ### Turn off
3397
+ *
3398
+ * > Turns a switch off.
3399
+ */
3400
+ turn_off(service_data: {
3401
+ /**
3402
+ * Assisted definition
3403
+ * > ```yaml
3404
+ * > entity:
3405
+ * > - domain:
3406
+ * > - switch
3407
+ * > ```
3408
+ */
3409
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
3410
+ }): Promise<void>;
3411
+ /**
3412
+ * ### Turn on
3413
+ *
3414
+ * > Turns a switch on.
3415
+ */
3416
+ turn_on(service_data: {
3417
+ /**
3418
+ * Assisted definition
3419
+ * > ```yaml
3420
+ * > entity:
3421
+ * > - domain:
3422
+ * > - switch
3423
+ * > ```
3424
+ */
3425
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
3426
+ }): Promise<void>;
3427
+ };
3428
+ // # MARK: synapse
3429
+ synapse: {
3430
+ /**
3431
+ * ### reload
3432
+ *
3433
+ * > Ask synapse application to re-send the entity list. Sent to all connected by default
3434
+ */
3435
+ reload(service_data?: {
3436
+ /**
3437
+ * ## app
3438
+ *
3439
+ * > The name of the app to target for the reload. If omitted, targets all apps.
3440
+ *
3441
+ * ### Example
3442
+ *
3443
+ * > ```json
3444
+ * > {
3445
+ * > "app": "home_automation"
3446
+ * > }
3447
+ * > ```
3448
+ *
3449
+ * ## Selector
3450
+ *
3451
+ * > ```yaml
3452
+ * >
3453
+ * > ```
3454
+ */
3455
+ app?: unknown;
3456
+ }): Promise<void>;
3457
+ };
3458
+ // # MARK: system_log
3459
+ system_log: {
3460
+ /**
3461
+ * ### Clear all
3462
+ *
3463
+ * > Clears all log entries.
3464
+ */
3465
+ clear(service_data: {}): Promise<void>;
3466
+ /**
3467
+ * ### Write
3468
+ *
3469
+ * > Write log entry.
3470
+ */
3471
+ write(service_data?: {
3472
+ /**
3473
+ * ## Level
3474
+ *
3475
+ * > Log level.
3476
+ *
3477
+ * ### Default
3478
+ *
3479
+ * > ```json
3480
+ * > "error"
3481
+ * > ```
3482
+ */
3483
+ level?: "debug" | "info" | "warning" | "error" | "critical";
3484
+ /**
3485
+ * ## Logger
3486
+ *
3487
+ * > Logger name under which to log the message. Defaults to `system_log.external`.
3488
+ *
3489
+ * ### Example
3490
+ *
3491
+ * > ```json
3492
+ * > {
3493
+ * > "logger": "mycomponent.myplatform"
3494
+ * > }
3495
+ * > ```
3496
+ */
3497
+ logger?: string;
3498
+ /**
3499
+ * ## Message
3500
+ *
3501
+ * > Message to log.
3502
+ *
3503
+ * ### Example
3504
+ *
3505
+ * > ```json
3506
+ * > {
3507
+ * > "message": "Something went wrong"
3508
+ * > }
3509
+ * > ```
3510
+ */
3511
+ message: string;
3512
+ }): Promise<void>;
3513
+ };
3514
+ // # MARK: timer
3515
+ timer: {
3516
+ /**
3517
+ * ### Cancel
3518
+ *
3519
+ * > Cancels a timer.
3520
+ */
3521
+ cancel(service_data: {
3522
+ /**
3523
+ * Assisted definition
3524
+ * > ```yaml
3525
+ * > entity:
3526
+ * > - domain:
3527
+ * > - timer
3528
+ * > ```
3529
+ */
3530
+ entity_id: PICK_ENTITY<"timer"> | PICK_ENTITY<"timer">[];
3531
+ }): Promise<void>;
3532
+ /**
3533
+ * ### Change
3534
+ *
3535
+ * > Changes a timer.
3536
+ */
3537
+ change(service_data: {
3538
+ /**
3539
+ * ## Duration
3540
+ *
3541
+ * > Duration to add or subtract to the running timer.
3542
+ *
3543
+ * ### Example
3544
+ *
3545
+ * > ```json
3546
+ * > {
3547
+ * > "duration": "00:01:00, 60 or -60"
3548
+ * > }
3549
+ * > ```
3550
+ *
3551
+ * ### Default
3552
+ *
3553
+ * > ```json
3554
+ * > 0
3555
+ * > ```
3556
+ */
3557
+ duration: string;
3558
+ /**
3559
+ * Assisted definition
3560
+ * > ```yaml
3561
+ * > entity:
3562
+ * > - domain:
3563
+ * > - timer
3564
+ * > ```
3565
+ */
3566
+ entity_id: PICK_ENTITY<"timer"> | PICK_ENTITY<"timer">[];
3567
+ }): Promise<void>;
3568
+ /**
3569
+ * ### Finish
3570
+ *
3571
+ * > Finishes a timer.
3572
+ */
3573
+ finish(service_data: {
3574
+ /**
3575
+ * Assisted definition
3576
+ * > ```yaml
3577
+ * > entity:
3578
+ * > - domain:
3579
+ * > - timer
3580
+ * > ```
3581
+ */
3582
+ entity_id: PICK_ENTITY<"timer"> | PICK_ENTITY<"timer">[];
3583
+ }): Promise<void>;
3584
+ /**
3585
+ * ### Pause
3586
+ *
3587
+ * > Pauses a timer.
3588
+ */
3589
+ pause(service_data: {
3590
+ /**
3591
+ * Assisted definition
3592
+ * > ```yaml
3593
+ * > entity:
3594
+ * > - domain:
3595
+ * > - timer
3596
+ * > ```
3597
+ */
3598
+ entity_id: PICK_ENTITY<"timer"> | PICK_ENTITY<"timer">[];
3599
+ }): Promise<void>;
3600
+ /**
3601
+ * ### Reload
3602
+ *
3603
+ * > Reloads timers from the YAML-configuration.
3604
+ */
3605
+ reload(service_data: {}): Promise<void>;
3606
+ /**
3607
+ * ### Start
3608
+ *
3609
+ * > Starts a timer.
3610
+ */
3611
+ start(service_data?: {
3612
+ /**
3613
+ * ## Duration
3614
+ *
3615
+ * > Duration the timer requires to finish. [optional].
3616
+ *
3617
+ * ### Example
3618
+ *
3619
+ * > ```json
3620
+ * > {
3621
+ * > "duration": "00:01:00 or 60"
3622
+ * > }
3623
+ * > ```
3624
+ */
3625
+ duration?: string;
3626
+ /**
3627
+ * Assisted definition
3628
+ * > ```yaml
3629
+ * > entity:
3630
+ * > - domain:
3631
+ * > - timer
3632
+ * > ```
3633
+ */
3634
+ entity_id: PICK_ENTITY<"timer"> | PICK_ENTITY<"timer">[];
3635
+ }): Promise<void>;
3636
+ };
3637
+ // # MARK: todo
3638
+ todo: {
3639
+ /**
3640
+ * ### Add to-do list item
3641
+ *
3642
+ * > Add a new to-do list item.
3643
+ */
3644
+ add_item(service_data?: {
3645
+ /**
3646
+ * ## Description
3647
+ *
3648
+ * > A more complete description of the to-do item than provided by the item name.
3649
+ *
3650
+ * ### Example
3651
+ *
3652
+ * > ```json
3653
+ * > {
3654
+ * > "description": "A more complete description of the to-do item than that provided by the summary."
3655
+ * > }
3656
+ * > ```
3657
+ */
3658
+ description?: string;
3659
+ /**
3660
+ * ## Due date
3661
+ *
3662
+ * > The date the to-do item is expected to be completed.
3663
+ *
3664
+ * ### Example
3665
+ *
3666
+ * > ```json
3667
+ * > {
3668
+ * > "due_date": "2023-11-17"
3669
+ * > }
3670
+ * > ```
3671
+ *
3672
+ * ## Selector
3673
+ *
3674
+ * > ```yaml
3675
+ * > date: null
3676
+ * > ```
3677
+ */
3678
+ due_date?: unknown;
3679
+ /**
3680
+ * ## Due date and time
3681
+ *
3682
+ * > The date and time the to-do item is expected to be completed.
3683
+ *
3684
+ * ### Example
3685
+ *
3686
+ * > ```json
3687
+ * > {
3688
+ * > "due_datetime": "2023-11-17 13:30:00"
3689
+ * > }
3690
+ * > ```
3691
+ *
3692
+ * ## Selector
3693
+ *
3694
+ * > ```yaml
3695
+ * > datetime: null
3696
+ * > ```
3697
+ */
3698
+ due_datetime?: unknown;
3699
+ /**
3700
+ * ## Item name
3701
+ *
3702
+ * > The name that represents the to-do item.
3703
+ *
3704
+ * ### Example
3705
+ *
3706
+ * > ```json
3707
+ * > {
3708
+ * > "item": "Submit income tax return"
3709
+ * > }
3710
+ * > ```
3711
+ */
3712
+ item: string;
3713
+ /**
3714
+ * Assisted definition
3715
+ * > ```yaml
3716
+ * > entity:
3717
+ * > - domain:
3718
+ * > - todo
3719
+ * > supported_features:
3720
+ * > - 1
3721
+ * > ```
3722
+ */
3723
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
3724
+ }): Promise<void>;
3725
+ /**
3726
+ * ### Get to-do list items
3727
+ *
3728
+ * > Get items on a to-do list.
3729
+ */
3730
+ get_items(service_data?: {
3731
+ /**
3732
+ * ## Status
3733
+ *
3734
+ * > Only return to-do items with the specified statuses. Returns not completed actions by default.
3735
+ *
3736
+ * ### Example
3737
+ *
3738
+ * > ```json
3739
+ * > {
3740
+ * > "status": "needs_action"
3741
+ * > }
3742
+ * > ```
3743
+ *
3744
+ * ### Default
3745
+ *
3746
+ * > ```json
3747
+ * > "needs_action"
3748
+ * > ```
3749
+ */
3750
+ status?: "needs_action" | "completed";
3751
+ /**
3752
+ * Assisted definition
3753
+ * > ```yaml
3754
+ * > entity:
3755
+ * > - domain:
3756
+ * > - todo
3757
+ * > ```
3758
+ */
3759
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
3760
+ }): Promise<void>;
3761
+ /**
3762
+ * ### Remove all completed to-do list items
3763
+ *
3764
+ * > Remove all to-do list items that have been completed.
3765
+ */
3766
+ remove_completed_items(service_data: {
3767
+ /**
3768
+ * Assisted definition
3769
+ * > ```yaml
3770
+ * > entity:
3771
+ * > - domain:
3772
+ * > - todo
3773
+ * > supported_features:
3774
+ * > - 2
3775
+ * > ```
3776
+ */
3777
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
3778
+ }): Promise<void>;
3779
+ /**
3780
+ * ### Remove a to-do list item
3781
+ *
3782
+ * > Remove an existing to-do list item by its name.
3783
+ */
3784
+ remove_item(service_data: {
3785
+ /**
3786
+ * ## Item name
3787
+ *
3788
+ * > The name for the to-do list items.
3789
+ */
3790
+ item: string;
3791
+ /**
3792
+ * Assisted definition
3793
+ * > ```yaml
3794
+ * > entity:
3795
+ * > - domain:
3796
+ * > - todo
3797
+ * > supported_features:
3798
+ * > - 2
3799
+ * > ```
3800
+ */
3801
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
3802
+ }): Promise<void>;
3803
+ /**
3804
+ * ### Update to-do list item
3805
+ *
3806
+ * > Update an existing to-do list item based on its name.
3807
+ */
3808
+ update_item(service_data?: {
3809
+ /**
3810
+ * ## Description
3811
+ *
3812
+ * > A more complete description of the to-do item than provided by the item name.
3813
+ *
3814
+ * ### Example
3815
+ *
3816
+ * > ```json
3817
+ * > {
3818
+ * > "description": "A more complete description of the to-do item than that provided by the summary."
3819
+ * > }
3820
+ * > ```
3821
+ */
3822
+ description?: string;
3823
+ /**
3824
+ * ## Due date
3825
+ *
3826
+ * > The date the to-do item is expected to be completed.
3827
+ *
3828
+ * ### Example
3829
+ *
3830
+ * > ```json
3831
+ * > {
3832
+ * > "due_date": "2023-11-17"
3833
+ * > }
3834
+ * > ```
3835
+ *
3836
+ * ## Selector
3837
+ *
3838
+ * > ```yaml
3839
+ * > date: null
3840
+ * > ```
3841
+ */
3842
+ due_date?: unknown;
3843
+ /**
3844
+ * ## Due date and time
3845
+ *
3846
+ * > The date and time the to-do item is expected to be completed.
3847
+ *
3848
+ * ### Example
3849
+ *
3850
+ * > ```json
3851
+ * > {
3852
+ * > "due_datetime": "2023-11-17 13:30:00"
3853
+ * > }
3854
+ * > ```
3855
+ *
3856
+ * ## Selector
3857
+ *
3858
+ * > ```yaml
3859
+ * > datetime: null
3860
+ * > ```
3861
+ */
3862
+ due_datetime?: unknown;
3863
+ /**
3864
+ * ## Item name
3865
+ *
3866
+ * > The name for the to-do list item.
3867
+ *
3868
+ * ### Example
3869
+ *
3870
+ * > ```json
3871
+ * > {
3872
+ * > "item": "Submit income tax return"
3873
+ * > }
3874
+ * > ```
3875
+ */
3876
+ item: string;
3877
+ /**
3878
+ * ## Rename item
3879
+ *
3880
+ * > The new name of the to-do item
3881
+ *
3882
+ * ### Example
3883
+ *
3884
+ * > ```json
3885
+ * > {
3886
+ * > "rename": "Something else"
3887
+ * > }
3888
+ * > ```
3889
+ */
3890
+ rename?: string;
3891
+ /**
3892
+ * ## Set status
3893
+ *
3894
+ * > A status or confirmation of the to-do item.
3895
+ *
3896
+ * ### Example
3897
+ *
3898
+ * > ```json
3899
+ * > {
3900
+ * > "status": "needs_action"
3901
+ * > }
3902
+ * > ```
3903
+ */
3904
+ status?: "needs_action" | "completed";
3905
+ /**
3906
+ * Assisted definition
3907
+ * > ```yaml
3908
+ * > entity:
3909
+ * > - domain:
3910
+ * > - todo
3911
+ * > supported_features:
3912
+ * > - 4
3913
+ * > ```
3914
+ */
3915
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
3916
+ }): Promise<void>;
3917
+ };
3918
+ // # MARK: tts
3919
+ tts: {
3920
+ /**
3921
+ * ### Clear TTS cache
3922
+ *
3923
+ * > Removes all cached text-to-speech files and purges the memory.
3924
+ */
3925
+ clear_cache(service_data: {}): Promise<void>;
3926
+ /**
3927
+ * ### Say a TTS message with cloud
3928
+ *
3929
+ * > Say something using text-to-speech on a media player with cloud.
3930
+ */
3931
+ cloud_say(service_data?: {
3932
+ /**
3933
+ * ## cache
3934
+ *
3935
+ * ### Default
3936
+ *
3937
+ * > ```json
3938
+ * > false
3939
+ * > ```
3940
+ */
3941
+ cache?: boolean;
3942
+ /**
3943
+ * ## entity_id
3944
+ */
3945
+ entity_id: PICK_ENTITY<"media_player"> | PICK_ENTITY<"media_player">[];
3946
+ /**
3947
+ * ## language
3948
+ *
3949
+ * ### Example
3950
+ *
3951
+ * > ```json
3952
+ * > {
3953
+ * > "language": "ru"
3954
+ * > }
3955
+ * > ```
3956
+ */
3957
+ language?: string;
3958
+ /**
3959
+ * ## message
3960
+ *
3961
+ * ### Example
3962
+ *
3963
+ * > ```json
3964
+ * > {
3965
+ * > "message": "My name is hanna"
3966
+ * > }
3967
+ * > ```
3968
+ */
3969
+ message: string;
3970
+ /**
3971
+ * ## options
3972
+ *
3973
+ * ### Example
3974
+ *
3975
+ * > ```json
3976
+ * > {
3977
+ * > "options": "platform specific"
3978
+ * > }
3979
+ * > ```
3980
+ *
3981
+ * ## Selector
3982
+ *
3983
+ * > ```yaml
3984
+ * > object: null
3985
+ * > ```
3986
+ */
3987
+ options?: unknown;
3988
+ }): Promise<void>;
3989
+ /**
3990
+ * ### Speak
3991
+ *
3992
+ * > Speaks something using text-to-speech on a media player.
3993
+ */
3994
+ speak(service_data?: {
3995
+ /**
3996
+ * ## Cache
3997
+ *
3998
+ * > Stores this message locally so that when the text is requested again, the output can be produced more quickly.
3999
+ *
4000
+ * ### Default
4001
+ *
4002
+ * > ```json
4003
+ * > true
4004
+ * > ```
4005
+ */
4006
+ cache?: boolean;
4007
+ /**
4008
+ * ## Language
4009
+ *
4010
+ * > Language to use for speech generation.
4011
+ *
4012
+ * ### Example
4013
+ *
4014
+ * > ```json
4015
+ * > {
4016
+ * > "language": "ru"
4017
+ * > }
4018
+ * > ```
4019
+ */
4020
+ language?: string;
4021
+ /**
4022
+ * ## Media player entity
4023
+ *
4024
+ * > Media players to play the message.
4025
+ */
4026
+ media_player_entity_id: PICK_ENTITY<"media_player"> | PICK_ENTITY<"media_player">[];
4027
+ /**
4028
+ * ## Message
4029
+ *
4030
+ * > The text you want to convert into speech so that you can listen to it on your device.
4031
+ *
4032
+ * ### Example
4033
+ *
4034
+ * > ```json
4035
+ * > {
4036
+ * > "message": "My name is hanna"
4037
+ * > }
4038
+ * > ```
4039
+ */
4040
+ message: string;
4041
+ /**
4042
+ * ## Options
4043
+ *
4044
+ * > A dictionary containing integration-specific options.
4045
+ *
4046
+ * ### Example
4047
+ *
4048
+ * > ```json
4049
+ * > {
4050
+ * > "options": "platform specific"
4051
+ * > }
4052
+ * > ```
4053
+ *
4054
+ * ## Selector
4055
+ *
4056
+ * > ```yaml
4057
+ * > object: null
4058
+ * > ```
4059
+ */
4060
+ options?: unknown;
4061
+ /**
4062
+ * Assisted definition
4063
+ * > ```yaml
4064
+ * > entity:
4065
+ * > - domain:
4066
+ * > - tts
4067
+ * > ```
4068
+ */
4069
+ entity_id: PICK_ENTITY<"tts"> | PICK_ENTITY<"tts">[];
4070
+ }): Promise<void>;
4071
+ };
4072
+ // # MARK: zone
4073
+ zone: {
4074
+ /**
4075
+ * ### Reload
4076
+ *
4077
+ * > Reloads zones from the YAML-configuration.
4078
+ */
4079
+ reload(service_data: {}): Promise<void>;
4080
+ };
4081
+ };
4082
+
4083
+ // #MARK: REGISTRY_SETUP
4084
+ export type REGISTRY_SETUP = {
4085
+ area: {
4086
+ _test: "switch.living_room_mood_lights";
4087
+ _living_room: "switch.living_room_mood_lights";
4088
+ _kitchen: "switch.kitchen_cabinets";
4089
+ _bedroom: "switch.bedroom_lamp" | "light.bedroom_ceiling_fan";
4090
+ };
4091
+ platform: {
4092
+ _sun:
4093
+ | "sensor.sun_next_dawn"
4094
+ | "sensor.sun_next_dusk"
4095
+ | "sensor.sun_next_midnight"
4096
+ | "sensor.sun_next_noon"
4097
+ | "sensor.sun_next_rising"
4098
+ | "sensor.sun_next_setting"
4099
+ | "sensor.sun_solar_elevation"
4100
+ | "sensor.sun_solar_azimuth"
4101
+ | "sensor.sun_solar_rising";
4102
+ _person: "person.digital_alchemy";
4103
+ _shopping_list: "todo.shopping_list";
4104
+ _google_translate: "tts.google_en_com";
4105
+ _synapse:
4106
+ | "binary_sensor.hass_e2e_online"
4107
+ | "sensor.magic"
4108
+ | "button.example"
4109
+ | "binary_sensor.toggles"
4110
+ | "switch.bedroom_lamp"
4111
+ | "switch.kitchen_cabinets"
4112
+ | "switch.living_room_mood_lights"
4113
+ | "switch.porch_light";
4114
+ _holiday: "calendar.united_states_tx";
4115
+ };
4116
+ label: {
4117
+ _synapse:
4118
+ | "binary_sensor.hass_e2e_online"
4119
+ | "sensor.magic"
4120
+ | "binary_sensor.toggles"
4121
+ | "switch.bedroom_lamp"
4122
+ | "switch.kitchen_cabinets"
4123
+ | "switch.living_room_mood_lights"
4124
+ | "switch.porch_light";
4125
+ _test: never;
4126
+ };
4127
+ floor: {
4128
+ _downstairs: "switch.kitchen_cabinets" | "switch.living_room_mood_lights";
4129
+ _upstairs: "switch.bedroom_lamp";
4130
+ };
4131
+ device: {
4132
+ _308e39cf50a9fc6c30b4110724ed1f2e:
4133
+ | "sensor.sun_next_dawn"
4134
+ | "sensor.sun_next_dusk"
4135
+ | "sensor.sun_next_midnight"
4136
+ | "sensor.sun_next_noon"
4137
+ | "sensor.sun_next_rising"
4138
+ | "sensor.sun_next_setting"
4139
+ | "button.example"
4140
+ | "sensor.sun_solar_elevation"
4141
+ | "sensor.sun_solar_azimuth"
4142
+ | "sensor.sun_solar_rising";
4143
+ _e58841e47cf86097b310316e55d6bb12: "calendar.united_states_tx";
4144
+ };
4145
+ };
4146
+
4147
+ // #MARK: TAreaId
4148
+ export type TAreaId = "living_room" | "kitchen" | "bedroom" | "test";
4149
+
4150
+ // #MARK: TDeviceId
4151
+ export type TDeviceId = "308e39cf50a9fc6c30b4110724ed1f2e" | "e58841e47cf86097b310316e55d6bb12";
4152
+
4153
+ // #MARK: TFloorId
4154
+ export type TFloorId = "downstairs" | "upstairs";
4155
+
4156
+ // #MARK: TLabelId
4157
+ export type TLabelId = "synapse" | "test";
4158
+
4159
+ // #MARK: TZoneId
4160
+ export type TZoneId = string;
4161
+
4162
+ // #MARK: TRawEntityIds
4163
+ export type TRawEntityIds =
4164
+ | "person.digital_alchemy"
4165
+ | "zone.home"
4166
+ | "sun.sun"
4167
+ | "sensor.sun_next_dawn"
4168
+ | "sensor.sun_next_dusk"
4169
+ | "button.example"
4170
+ | "sensor.sun_next_midnight"
4171
+ | "sensor.sun_next_noon"
4172
+ | "light.bedroom_ceiling_fan"
4173
+ | "scene.games_room_auto"
4174
+ | "sensor.sun_next_rising"
4175
+ | "sensor.sun_next_setting"
4176
+ | "todo.shopping_list"
4177
+ | "tts.google_en_com"
4178
+ | "binary_sensor.hass_e2e_online"
4179
+ | "sensor.magic"
4180
+ | "binary_sensor.toggles"
4181
+ | "switch.bedroom_lamp"
4182
+ | "switch.kitchen_cabinets"
4183
+ | "switch.living_room_mood_lights"
4184
+ | "switch.porch_light"
4185
+ | "calendar.united_states_tx";
4186
+
4187
+ // #MARK: TPlatformId
4188
+ export type TPlatformId =
4189
+ | "sun"
4190
+ | "person"
4191
+ | "shopping_list"
4192
+ | "google_translate"
4193
+ | "synapse"
4194
+ | "holiday";
4195
+
4196
+ // #MARK: TRawDomains
4197
+ export type TRawDomains =
4198
+ | "person"
4199
+ | "zone"
4200
+ | "sun"
4201
+ | "light"
4202
+ | "scene"
4203
+ | "button"
4204
+ | "sensor"
4205
+ | "todo"
4206
+ | "tts"
4207
+ | "binary_sensor"
4208
+ | "switch"
4209
+ | "calendar";
4210
+
4211
+ export type TUniqueIDMapping = {
4212
+ "5622d76001a335e3ea893c4d60d31b3d-next_dawn": "sensor.sun_next_dawn";
4213
+ "5622d76001a335e3ea893c4d60d31b3d-next_dusk": "sensor.sun_next_dusk";
4214
+ "5622d76001a335e3ea893c4d60d31b3d-next_midnight": "sensor.sun_next_midnight";
4215
+ "5622d76001a335e3ea893c4d60d31b3d-next_noon": "sensor.sun_next_noon";
4216
+ "5622d76001a335e3ea893c4d60d31b3d-next_rising": "sensor.sun_next_rising";
4217
+ "5622d76001a335e3ea893c4d60d31b3d-next_setting": "sensor.sun_next_setting";
4218
+ "5622d76001a335e3ea893c4d60d31b3d-solar_elevation": "sensor.sun_solar_elevation";
4219
+ "6d8acf36200c5ff8d2d9bb1b1f1dbe00c7eb5b7540103fd90c9a035f82967431": "button.start_white_noise";
4220
+ "5622d76001a335e3ea893c4d60d31b3d-solar_azimuth": "sensor.sun_solar_azimuth";
4221
+ "5622d76001a335e3ea893c4d60d31b3d-solar_rising": "sensor.sun_solar_rising";
4222
+ digital_alchemy: "person.digital_alchemy";
4223
+ "6acd101923c0460fc31bad82c4efa140": "todo.shopping_list";
4224
+ "4a7fc2592d3a98e0eed8cbc73e839c1c": "tts.google_en_com";
4225
+ hass_e2e_is_online: "binary_sensor.hass_e2e_online";
4226
+ e1806fdc93296bbd5ab42967003cd38729ff9ba6cfeefc3e15a03ad01ac894fe: "sensor.magic";
4227
+ a6e8373221727e197144ba689d7606d4be6f609f2fd0fd8e17516548780465ab: "binary_sensor.toggles";
4228
+ "413eb6d69bbec134a07a6d32effd3c3763955e611f43256600cca40725276816": "switch.bedroom_lamp";
4229
+ "06d5a22e681ee9c668f8563bd3108853fb053c43342131782afe989090c4ced9": "switch.kitchen_cabinets";
4230
+ "27b4fc99f35bbdd1a07173caff5b52f86e3bc342db96f48427e47980b0fb6b49": "switch.living_room_mood_lights";
4231
+ "8eb8c1f8c760e97cfa49a0a29cd6891313a1e9a45dd046a556a9f317778cf50a": "switch.porch_light";
4232
+ "05ecbbc6111791b6baacbbb60397db14": "calendar.united_states_tx";
4233
+ };
4234
+ export type TUniqueId =
4235
+ | "5622d76001a335e3ea893c4d60d31b3d-next_dawn"
4236
+ | "5622d76001a335e3ea893c4d60d31b3d-next_dusk"
4237
+ | "5622d76001a335e3ea893c4d60d31b3d-next_midnight"
4238
+ | "5622d76001a335e3ea893c4d60d31b3d-next_noon"
4239
+ | "5622d76001a335e3ea893c4d60d31b3d-next_rising"
4240
+ | "5622d76001a335e3ea893c4d60d31b3d-next_setting"
4241
+ | "5622d76001a335e3ea893c4d60d31b3d-solar_elevation"
4242
+ | "5622d76001a335e3ea893c4d60d31b3d-solar_azimuth"
4243
+ | "5622d76001a335e3ea893c4d60d31b3d-solar_rising"
4244
+ | "digital_alchemy"
4245
+ | "6acd101923c0460fc31bad82c4efa140"
4246
+ | "4a7fc2592d3a98e0eed8cbc73e839c1c"
4247
+ | "hass_e2e_is_online"
4248
+ | "e1806fdc93296bbd5ab42967003cd38729ff9ba6cfeefc3e15a03ad01ac894fe"
4249
+ | "a6e8373221727e197144ba689d7606d4be6f609f2fd0fd8e17516548780465ab"
4250
+ | "413eb6d69bbec134a07a6d32effd3c3763955e611f43256600cca40725276816"
4251
+ | "06d5a22e681ee9c668f8563bd3108853fb053c43342131782afe989090c4ced9"
4252
+ | "27b4fc99f35bbdd1a07173caff5b52f86e3bc342db96f48427e47980b0fb6b49"
4253
+ | "8eb8c1f8c760e97cfa49a0a29cd6891313a1e9a45dd046a556a9f317778cf50a"
4254
+ | "05ecbbc6111791b6baacbbb60397db14";