@digital-alchemy/hass 25.2.2 → 25.3.1

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 (115) hide show
  1. package/dist/dev/index.d.mts +3 -0
  2. package/dist/dev/index.mjs +4 -0
  3. package/dist/dev/index.mjs.map +1 -0
  4. package/dist/dev/mappings.d.mts +70 -0
  5. package/dist/dev/mappings.mjs +2 -0
  6. package/dist/dev/mappings.mjs.map +1 -0
  7. package/dist/dev/registry.d.mts +328 -0
  8. package/dist/dev/registry.mjs +2 -0
  9. package/dist/dev/registry.mjs.map +1 -0
  10. package/dist/dev/services.d.mts +2431 -0
  11. package/dist/dev/services.mjs +5 -0
  12. package/dist/dev/services.mjs.map +1 -0
  13. package/dist/helpers/device.d.mts +1 -1
  14. package/dist/helpers/entity-state.d.mts +2 -2
  15. package/dist/helpers/fetch/calendar.d.mts +1 -1
  16. package/dist/helpers/fetch/configuration.d.mts +1 -1
  17. package/dist/helpers/fetch/service-list.d.mts +1 -2
  18. package/dist/helpers/id-by.d.mts +2 -3
  19. package/dist/helpers/interfaces.d.mts +4 -5
  20. package/dist/helpers/interfaces.mjs.map +1 -1
  21. package/dist/helpers/registry.d.mts +1 -2
  22. package/dist/helpers/registry.mjs.map +1 -1
  23. package/dist/helpers/utility.d.mts +5 -21
  24. package/dist/helpers/utility.mjs +0 -5
  25. package/dist/helpers/utility.mjs.map +1 -1
  26. package/dist/helpers/websocket.d.mts +2 -1
  27. package/dist/index.d.mts +2 -1
  28. package/dist/index.mjs +2 -1
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/mock_assistant/helpers/fixtures.d.mts +2 -1
  31. package/dist/mock_assistant/services/device.service.mjs.map +1 -1
  32. package/dist/mock_assistant/services/entity-registry.service.d.mts +1 -1
  33. package/dist/mock_assistant/services/entity.service.d.mts +2 -2
  34. package/dist/mock_assistant/services/events.service.d.mts +2 -1
  35. package/dist/mock_assistant/services/events.service.mjs.map +1 -1
  36. package/dist/mock_assistant/services/fixtures.service.d.mts +3 -2
  37. package/dist/mock_assistant/services/fixtures.service.mjs.map +1 -1
  38. package/dist/mock_assistant/services/zone.service.mjs +1 -1
  39. package/dist/mock_assistant/services/zone.service.mjs.map +1 -1
  40. package/dist/services/area.service.d.mts +1 -1
  41. package/dist/services/area.service.mjs +1 -1
  42. package/dist/services/area.service.mjs.map +1 -1
  43. package/dist/services/call-proxy.service.d.mts +1 -1
  44. package/dist/services/call-proxy.service.mjs.map +1 -1
  45. package/dist/services/config.service.mjs.map +1 -1
  46. package/dist/services/entity.service.d.mts +1 -1
  47. package/dist/services/entity.service.mjs +1 -1
  48. package/dist/services/entity.service.mjs.map +1 -1
  49. package/dist/services/fetch-api.service.d.mts +3 -2
  50. package/dist/services/fetch-api.service.mjs.map +1 -1
  51. package/dist/services/floor.service.mjs.map +1 -1
  52. package/dist/services/id-by.service.d.mts +1 -1
  53. package/dist/services/id-by.service.mjs +28 -3
  54. package/dist/services/id-by.service.mjs.map +1 -1
  55. package/dist/services/label.service.mjs.map +1 -1
  56. package/dist/services/reference.service.mjs +4 -3
  57. package/dist/services/reference.service.mjs.map +1 -1
  58. package/dist/services/websocket-api.service.mjs +2 -2
  59. package/dist/services/websocket-api.service.mjs.map +1 -1
  60. package/dist/testing/area.spec.mjs.map +1 -1
  61. package/dist/testing/entity.spec.mjs.map +1 -1
  62. package/dist/testing/floor.spec.mjs.map +1 -1
  63. package/dist/testing/id-by.spec.mjs.map +1 -1
  64. package/dist/testing/label.spec.mjs.map +1 -1
  65. package/dist/testing/ref-by.spec.mjs.map +1 -1
  66. package/dist/user.d.mts +43 -0
  67. package/dist/user.mjs +4 -0
  68. package/dist/user.mjs.map +1 -0
  69. package/package.json +18 -17
  70. package/src/dev/index.mts +3 -0
  71. package/src/dev/mappings.mts +121 -0
  72. package/src/dev/registry.mts +330 -0
  73. package/src/dev/services.mts +2759 -0
  74. package/src/helpers/device.mts +1 -1
  75. package/src/helpers/entity-state.mts +6 -9
  76. package/src/helpers/fetch/calendar.mts +1 -1
  77. package/src/helpers/fetch/configuration.mts +1 -1
  78. package/src/helpers/fetch/service-list.mts +1 -2
  79. package/src/helpers/id-by.mts +11 -13
  80. package/src/helpers/interfaces.mts +14 -18
  81. package/src/helpers/registry.mts +9 -2
  82. package/src/helpers/utility.mts +13 -67
  83. package/src/helpers/websocket.mts +2 -1
  84. package/src/index.mts +2 -1
  85. package/src/mock_assistant/helpers/fixtures.mts +1 -1
  86. package/src/mock_assistant/services/area.service.mts +1 -1
  87. package/src/mock_assistant/services/device.service.mts +1 -1
  88. package/src/mock_assistant/services/entity-registry.service.mts +1 -1
  89. package/src/mock_assistant/services/entity.service.mts +2 -2
  90. package/src/mock_assistant/services/events.service.mts +2 -1
  91. package/src/mock_assistant/services/fixtures.service.mts +2 -1
  92. package/src/mock_assistant/services/floor.service.mts +1 -1
  93. package/src/mock_assistant/services/label.service.mts +1 -1
  94. package/src/mock_assistant/services/zone.service.mts +13 -10
  95. package/src/services/area.service.mts +2 -3
  96. package/src/services/call-proxy.service.mts +2 -2
  97. package/src/services/config.service.mts +1 -1
  98. package/src/services/entity.service.mts +2 -4
  99. package/src/services/fetch-api.service.mts +1 -1
  100. package/src/services/floor.service.mts +1 -1
  101. package/src/services/id-by.service.mts +47 -19
  102. package/src/services/label.service.mts +1 -1
  103. package/src/services/reference.service.mts +19 -18
  104. package/src/services/websocket-api.service.mts +2 -2
  105. package/src/testing/area.spec.mts +1 -1
  106. package/src/testing/entity.spec.mts +2 -1
  107. package/src/testing/floor.spec.mts +1 -1
  108. package/src/testing/id-by.spec.mts +1 -1
  109. package/src/testing/label.spec.mts +1 -1
  110. package/src/testing/ref-by.spec.mts +2 -1
  111. package/src/user.mts +97 -0
  112. package/dist/dynamic.d.mts +0 -3764
  113. package/dist/dynamic.mjs +0 -7
  114. package/dist/dynamic.mjs.map +0 -1
  115. package/src/dynamic.mts +0 -4302
@@ -0,0 +1,2431 @@
1
+ import { AndroidNotificationData, AppleNotificationData, NotificationData } from "../helpers/index.mts";
2
+ declare module "../user.mts" {
3
+ interface iCallService {
4
+ automation: {
5
+ /**
6
+ * ### Reload
7
+ *
8
+ * > Reloads the automation configuration.
9
+ */
10
+ reload(service_data: {}): Promise<void>;
11
+ /**
12
+ * ### Toggle
13
+ *
14
+ * > Toggles (enable / disable) an automation.
15
+ */
16
+ toggle(service_data: {
17
+ /**
18
+ * Assisted definition
19
+ * > ```yaml
20
+ * > entity:
21
+ * > - domain:
22
+ * > - automation
23
+ * > ```
24
+ */
25
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
26
+ }): Promise<void>;
27
+ /**
28
+ * ### Trigger
29
+ *
30
+ * > Triggers the actions of an automation.
31
+ */
32
+ trigger(service_data?: {
33
+ /**
34
+ * ## Skip conditions
35
+ *
36
+ * > Defines whether or not the conditions will be skipped.
37
+ *
38
+ * ### Default
39
+ *
40
+ * > ```json
41
+ * > true
42
+ * > ```
43
+ */
44
+ skip_condition?: boolean;
45
+ /**
46
+ * Assisted definition
47
+ * > ```yaml
48
+ * > entity:
49
+ * > - domain:
50
+ * > - automation
51
+ * > ```
52
+ */
53
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
54
+ }): Promise<void>;
55
+ /**
56
+ * ### Turn off
57
+ *
58
+ * > Disables an automation.
59
+ */
60
+ turn_off(service_data?: {
61
+ /**
62
+ * ## Stop actions
63
+ *
64
+ * > Stops currently running actions.
65
+ *
66
+ * ### Default
67
+ *
68
+ * > ```json
69
+ * > true
70
+ * > ```
71
+ */
72
+ stop_actions?: boolean;
73
+ /**
74
+ * Assisted definition
75
+ * > ```yaml
76
+ * > entity:
77
+ * > - domain:
78
+ * > - automation
79
+ * > ```
80
+ */
81
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
82
+ }): Promise<void>;
83
+ /**
84
+ * ### Turn on
85
+ *
86
+ * > Enables an automation.
87
+ */
88
+ turn_on(service_data: {
89
+ /**
90
+ * Assisted definition
91
+ * > ```yaml
92
+ * > entity:
93
+ * > - domain:
94
+ * > - automation
95
+ * > ```
96
+ */
97
+ entity_id: PICK_ENTITY<"automation"> | PICK_ENTITY<"automation">[];
98
+ }): Promise<void>;
99
+ };
100
+ backup: {
101
+ /**
102
+ * ### Create backup
103
+ *
104
+ * > Creates a new backup.
105
+ */
106
+ create(service_data: {}): Promise<void>;
107
+ };
108
+ button: {
109
+ /**
110
+ * ### Press
111
+ *
112
+ * > Press the button entity.
113
+ */
114
+ press(service_data: {
115
+ /**
116
+ * Assisted definition
117
+ * > ```yaml
118
+ * > entity:
119
+ * > - domain:
120
+ * > - button
121
+ * > ```
122
+ */
123
+ entity_id: PICK_ENTITY<"button"> | PICK_ENTITY<"button">[];
124
+ }): Promise<void>;
125
+ };
126
+ calendar: {
127
+ /**
128
+ * ### Create event
129
+ *
130
+ * > Adds a new calendar event.
131
+ */
132
+ create_event(service_data?: {
133
+ /**
134
+ * ## Description
135
+ *
136
+ * > A more complete description of the event than the one provided by the summary.
137
+ *
138
+ * ### Example
139
+ *
140
+ * > ```json
141
+ * > {
142
+ * > "description": "Meeting to provide technical review for 'Phoenix' design."
143
+ * > }
144
+ * > ```
145
+ */
146
+ description?: string;
147
+ /**
148
+ * ## End date
149
+ *
150
+ * > The date the all-day event should end (exclusive).
151
+ *
152
+ * ### Example
153
+ *
154
+ * > ```json
155
+ * > {
156
+ * > "end_date": "2022-03-23"
157
+ * > }
158
+ * > ```
159
+ *
160
+ * ## Selector
161
+ *
162
+ * > ```yaml
163
+ * > date: null
164
+ * > ```
165
+ */
166
+ end_date?: unknown;
167
+ /**
168
+ * ## End time
169
+ *
170
+ * > The date and time the event should end.
171
+ *
172
+ * ### Example
173
+ *
174
+ * > ```json
175
+ * > {
176
+ * > "end_date_time": "2022-03-22 22:00:00"
177
+ * > }
178
+ * > ```
179
+ *
180
+ * ## Selector
181
+ *
182
+ * > ```yaml
183
+ * > datetime: null
184
+ * > ```
185
+ */
186
+ end_date_time?: unknown;
187
+ /**
188
+ * ## In
189
+ *
190
+ * > Days or weeks that you want to create the event in.
191
+ *
192
+ * ### Example
193
+ *
194
+ * > ```json
195
+ * > {
196
+ * > "in": "{\"days\": 2} or {\"weeks\": 2}"
197
+ * > }
198
+ * > ```
199
+ *
200
+ * ## Selector
201
+ *
202
+ * > ```yaml
203
+ * >
204
+ * > ```
205
+ */
206
+ in?: unknown;
207
+ /**
208
+ * ## Location
209
+ *
210
+ * > The location of the event.
211
+ *
212
+ * ### Example
213
+ *
214
+ * > ```json
215
+ * > {
216
+ * > "location": "Conference Room - F123, Bldg. 002"
217
+ * > }
218
+ * > ```
219
+ */
220
+ location?: string;
221
+ /**
222
+ * ## Start date
223
+ *
224
+ * > The date the all-day event should start.
225
+ *
226
+ * ### Example
227
+ *
228
+ * > ```json
229
+ * > {
230
+ * > "start_date": "2022-03-22"
231
+ * > }
232
+ * > ```
233
+ *
234
+ * ## Selector
235
+ *
236
+ * > ```yaml
237
+ * > date: null
238
+ * > ```
239
+ */
240
+ start_date?: unknown;
241
+ /**
242
+ * ## Start time
243
+ *
244
+ * > The date and time the event should start.
245
+ *
246
+ * ### Example
247
+ *
248
+ * > ```json
249
+ * > {
250
+ * > "start_date_time": "2022-03-22 20:00:00"
251
+ * > }
252
+ * > ```
253
+ *
254
+ * ## Selector
255
+ *
256
+ * > ```yaml
257
+ * > datetime: null
258
+ * > ```
259
+ */
260
+ start_date_time?: unknown;
261
+ /**
262
+ * ## Summary
263
+ *
264
+ * > Defines the short summary or subject for the event.
265
+ *
266
+ * ### Example
267
+ *
268
+ * > ```json
269
+ * > {
270
+ * > "summary": "Department Party"
271
+ * > }
272
+ * > ```
273
+ */
274
+ summary: string;
275
+ /**
276
+ * Assisted definition
277
+ * > ```yaml
278
+ * > entity:
279
+ * > - domain:
280
+ * > - calendar
281
+ * > supported_features:
282
+ * > - 1
283
+ * > ```
284
+ */
285
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
286
+ }): Promise<void>;
287
+ /**
288
+ * ### Get events
289
+ *
290
+ * > Get events on a calendar within a time range.
291
+ */
292
+ get_events(service_data?: {
293
+ /**
294
+ * ## Duration
295
+ *
296
+ * > Returns active events from start_date_time until the specified duration.
297
+ *
298
+ * ## Selector
299
+ *
300
+ * > ```yaml
301
+ * > duration: null
302
+ * > ```
303
+ */
304
+ duration?: unknown;
305
+ /**
306
+ * ## End time
307
+ *
308
+ * > Returns active events before this time (exclusive). Cannot be used with 'duration'.
309
+ *
310
+ * ### Example
311
+ *
312
+ * > ```json
313
+ * > {
314
+ * > "end_date_time": "2022-03-22 22:00:00"
315
+ * > }
316
+ * > ```
317
+ *
318
+ * ## Selector
319
+ *
320
+ * > ```yaml
321
+ * > datetime: null
322
+ * > ```
323
+ */
324
+ end_date_time?: unknown;
325
+ /**
326
+ * ## Start time
327
+ *
328
+ * > Returns active events after this time (exclusive). When not set, defaults to now.
329
+ *
330
+ * ### Example
331
+ *
332
+ * > ```json
333
+ * > {
334
+ * > "start_date_time": "2022-03-22 20:00:00"
335
+ * > }
336
+ * > ```
337
+ *
338
+ * ## Selector
339
+ *
340
+ * > ```yaml
341
+ * > datetime: null
342
+ * > ```
343
+ */
344
+ start_date_time?: unknown;
345
+ /**
346
+ * Assisted definition
347
+ * > ```yaml
348
+ * > entity:
349
+ * > - domain:
350
+ * > - calendar
351
+ * > ```
352
+ */
353
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
354
+ }): Promise<void>;
355
+ /**
356
+ * ### List event
357
+ *
358
+ * > Lists events on a calendar within a time range.
359
+ */
360
+ list_events(service_data?: {
361
+ /**
362
+ * ## Duration
363
+ *
364
+ * > Returns active events from start_date_time until the specified duration.
365
+ *
366
+ * ## Selector
367
+ *
368
+ * > ```yaml
369
+ * > duration: null
370
+ * > ```
371
+ */
372
+ duration?: unknown;
373
+ /**
374
+ * ## End time
375
+ *
376
+ * > Returns active events before this time (exclusive). Cannot be used with 'duration'.
377
+ *
378
+ * ### Example
379
+ *
380
+ * > ```json
381
+ * > {
382
+ * > "end_date_time": "2022-03-22 22:00:00"
383
+ * > }
384
+ * > ```
385
+ *
386
+ * ## Selector
387
+ *
388
+ * > ```yaml
389
+ * > datetime: null
390
+ * > ```
391
+ */
392
+ end_date_time?: unknown;
393
+ /**
394
+ * ## Start time
395
+ *
396
+ * > Returns active events after this time (exclusive). When not set, defaults to now.
397
+ *
398
+ * ### Example
399
+ *
400
+ * > ```json
401
+ * > {
402
+ * > "start_date_time": "2022-03-22 20:00:00"
403
+ * > }
404
+ * > ```
405
+ *
406
+ * ## Selector
407
+ *
408
+ * > ```yaml
409
+ * > datetime: null
410
+ * > ```
411
+ */
412
+ start_date_time?: unknown;
413
+ /**
414
+ * Assisted definition
415
+ * > ```yaml
416
+ * > entity:
417
+ * > - domain:
418
+ * > - calendar
419
+ * > ```
420
+ */
421
+ entity_id: PICK_ENTITY<"calendar"> | PICK_ENTITY<"calendar">[];
422
+ }): Promise<void>;
423
+ };
424
+ cloud: {
425
+ /**
426
+ * ### Remote connect
427
+ *
428
+ * > Makes the instance UI accessible from outside of the local network by using Home Assistant Cloud.
429
+ */
430
+ remote_connect(service_data: {}): Promise<void>;
431
+ /**
432
+ * ### Remote disconnect
433
+ *
434
+ * > 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.
435
+ */
436
+ remote_disconnect(service_data: {}): Promise<void>;
437
+ };
438
+ conversation: {
439
+ /**
440
+ * ### Process
441
+ *
442
+ * > Launches a conversation from a transcribed text.
443
+ */
444
+ process(service_data?: {
445
+ /**
446
+ * ## Agent
447
+ *
448
+ * > Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands.
449
+ *
450
+ * ### Example
451
+ *
452
+ * > ```json
453
+ * > {
454
+ * > "agent_id": "homeassistant"
455
+ * > }
456
+ * > ```
457
+ *
458
+ * ## Selector
459
+ *
460
+ * > ```yaml
461
+ * > conversation_agent: null
462
+ * > ```
463
+ */
464
+ agent_id?: unknown;
465
+ /**
466
+ * ## Conversation ID
467
+ *
468
+ * > ID of the conversation, to be able to continue a previous conversation
469
+ *
470
+ * ### Example
471
+ *
472
+ * > ```json
473
+ * > {
474
+ * > "conversation_id": "my_conversation_1"
475
+ * > }
476
+ * > ```
477
+ */
478
+ conversation_id?: string;
479
+ /**
480
+ * ## Language
481
+ *
482
+ * > Language of text. Defaults to server language.
483
+ *
484
+ * ### Example
485
+ *
486
+ * > ```json
487
+ * > {
488
+ * > "language": "NL"
489
+ * > }
490
+ * > ```
491
+ */
492
+ language?: string;
493
+ /**
494
+ * ## Text
495
+ *
496
+ * > Transcribed text input.
497
+ *
498
+ * ### Example
499
+ *
500
+ * > ```json
501
+ * > {
502
+ * > "text": "Turn all lights on"
503
+ * > }
504
+ * > ```
505
+ */
506
+ text: string;
507
+ }): Promise<void>;
508
+ /**
509
+ * ### Reload
510
+ *
511
+ * > Reloads the intent configuration.
512
+ */
513
+ reload(service_data?: {
514
+ /**
515
+ * ## Agent
516
+ *
517
+ * > Conversation agent to reload.
518
+ *
519
+ * ### Example
520
+ *
521
+ * > ```json
522
+ * > {
523
+ * > "agent_id": "homeassistant"
524
+ * > }
525
+ * > ```
526
+ *
527
+ * ## Selector
528
+ *
529
+ * > ```yaml
530
+ * > conversation_agent: null
531
+ * > ```
532
+ */
533
+ agent_id?: unknown;
534
+ /**
535
+ * ## Language
536
+ *
537
+ * > Language to clear cached intents for. Defaults to server language.
538
+ *
539
+ * ### Example
540
+ *
541
+ * > ```json
542
+ * > {
543
+ * > "language": "NL"
544
+ * > }
545
+ * > ```
546
+ */
547
+ language?: string;
548
+ }): Promise<void>;
549
+ };
550
+ frontend: {
551
+ /**
552
+ * ### Reload themes
553
+ *
554
+ * > Reloads themes from the YAML-configuration.
555
+ */
556
+ reload_themes(service_data: {}): Promise<void>;
557
+ /**
558
+ * ### Set the default theme
559
+ *
560
+ * > Sets the default theme Home Assistant uses. Can be overridden by a user.
561
+ */
562
+ set_theme(service_data?: {
563
+ /**
564
+ * ## Mode
565
+ *
566
+ * > Theme mode.
567
+ *
568
+ * ### Default
569
+ *
570
+ * > ```json
571
+ * > "light"
572
+ * > ```
573
+ */
574
+ mode?: "dark" | "light";
575
+ /**
576
+ * ## Theme
577
+ *
578
+ * > Name of a theme.
579
+ *
580
+ * ### Example
581
+ *
582
+ * > ```json
583
+ * > {
584
+ * > "name": "default"
585
+ * > }
586
+ * > ```
587
+ *
588
+ * ## Selector
589
+ *
590
+ * > ```yaml
591
+ * > theme:
592
+ * > include_default: true
593
+ * > ```
594
+ */
595
+ name: unknown;
596
+ }): Promise<void>;
597
+ };
598
+ homeassistant: {
599
+ /**
600
+ * ### Check configuration
601
+ *
602
+ * > Checks the Home Assistant YAML-configuration files for errors. Errors will be shown in the Home Assistant logs.
603
+ */
604
+ check_config(service_data: {}): Promise<void>;
605
+ /**
606
+ * ### Reload all
607
+ *
608
+ * > Reload all YAML configuration that can be reloaded without restarting Home Assistant.
609
+ */
610
+ reload_all(service_data: {}): Promise<void>;
611
+ /**
612
+ * ### Reload config entry
613
+ *
614
+ * > Reloads the specified config entry.
615
+ */
616
+ reload_config_entry(service_data?: {
617
+ /**
618
+ * ## Config entry ID
619
+ *
620
+ * > The configuration entry ID of the entry to be reloaded.
621
+ *
622
+ * ### Example
623
+ *
624
+ * > ```json
625
+ * > {
626
+ * > "entry_id": "8955375327824e14ba89e4b29cc3ec9a"
627
+ * > }
628
+ * > ```
629
+ */
630
+ entry_id?: string;
631
+ /**
632
+ * Assisted definition
633
+ * > ```yaml
634
+ * > entity:
635
+ * > - {}
636
+ * > device:
637
+ * > - {}
638
+ * > ```
639
+ */
640
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
641
+ }): Promise<void>;
642
+ /**
643
+ * ### Reload core configuration
644
+ *
645
+ * > Reloads the core configuration from the YAML-configuration.
646
+ */
647
+ reload_core_config(service_data: {}): Promise<void>;
648
+ /**
649
+ * ### Reload custom Jinja2 templates
650
+ *
651
+ * > Reloads Jinja2 templates found in the `custom_templates` folder in your config. New values will be applied on the next render of the template.
652
+ */
653
+ reload_custom_templates(service_data: {}): Promise<void>;
654
+ /**
655
+ * ### Restart
656
+ *
657
+ * > Restarts Home Assistant.
658
+ */
659
+ restart(service_data: {}): Promise<void>;
660
+ /**
661
+ * ### Save persistent states
662
+ *
663
+ * > Saves the persistent states immediately. Maintains the normal periodic saving interval.
664
+ */
665
+ save_persistent_states(service_data: {}): Promise<void>;
666
+ /**
667
+ * ### Set location
668
+ *
669
+ * > Updates the Home Assistant location.
670
+ */
671
+ set_location(service_data?: {
672
+ /**
673
+ * ## Elevation
674
+ *
675
+ * > Elevation of your location.
676
+ *
677
+ * ### Example
678
+ *
679
+ * > ```json
680
+ * > {
681
+ * > "elevation": "120"
682
+ * > }
683
+ * > ```
684
+ *
685
+ * ## Selector
686
+ *
687
+ * > ```yaml
688
+ * > number:
689
+ * > mode: box
690
+ * > step: any
691
+ * > ```
692
+ */
693
+ elevation?: number;
694
+ /**
695
+ * ## Latitude
696
+ *
697
+ * > Latitude of your location.
698
+ *
699
+ * ### Example
700
+ *
701
+ * > ```json
702
+ * > {
703
+ * > "latitude": "32.87336"
704
+ * > }
705
+ * > ```
706
+ *
707
+ * ## Selector
708
+ *
709
+ * > ```yaml
710
+ * > number:
711
+ * > mode: box
712
+ * > min: -90
713
+ * > max: 90
714
+ * > step: any
715
+ * > ```
716
+ */
717
+ latitude: number;
718
+ /**
719
+ * ## Longitude
720
+ *
721
+ * > Longitude of your location.
722
+ *
723
+ * ### Example
724
+ *
725
+ * > ```json
726
+ * > {
727
+ * > "longitude": "117.22743"
728
+ * > }
729
+ * > ```
730
+ *
731
+ * ## Selector
732
+ *
733
+ * > ```yaml
734
+ * > number:
735
+ * > mode: box
736
+ * > min: -180
737
+ * > max: 180
738
+ * > step: any
739
+ * > ```
740
+ */
741
+ longitude: number;
742
+ }): Promise<void>;
743
+ /**
744
+ * ### Stop
745
+ *
746
+ * > Stops Home Assistant.
747
+ */
748
+ stop(service_data: {}): Promise<void>;
749
+ /**
750
+ * ### Generic toggle
751
+ *
752
+ * > Generic service to toggle devices on/off under any domain.
753
+ */
754
+ toggle(service_data: {
755
+ /**
756
+ * Assisted definition
757
+ * > ```yaml
758
+ * > entity:
759
+ * > - {}
760
+ * > ```
761
+ */
762
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
763
+ }): Promise<void>;
764
+ /**
765
+ * ### Generic turn off
766
+ *
767
+ * > Generic service to turn devices off under any domain.
768
+ */
769
+ turn_off(service_data: {
770
+ /**
771
+ * Assisted definition
772
+ * > ```yaml
773
+ * > entity:
774
+ * > - {}
775
+ * > ```
776
+ */
777
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
778
+ }): Promise<void>;
779
+ /**
780
+ * ### Generic turn on
781
+ *
782
+ * > Generic service to turn devices on under any domain.
783
+ */
784
+ turn_on(service_data: {
785
+ /**
786
+ * Assisted definition
787
+ * > ```yaml
788
+ * > entity:
789
+ * > - {}
790
+ * > ```
791
+ */
792
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
793
+ }): Promise<void>;
794
+ /**
795
+ * ### Update entity
796
+ *
797
+ * > Forces one or more entities to update its data.
798
+ */
799
+ update_entity(service_data: {
800
+ /**
801
+ * Assisted definition
802
+ * > ```yaml
803
+ * > entity:
804
+ * > - {}
805
+ * > ```
806
+ */
807
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
808
+ }): Promise<void>;
809
+ };
810
+ light: {
811
+ /**
812
+ * ### Toggle
813
+ *
814
+ * > Toggles one or more lights, from on to off, or, off to on, based on their current state.
815
+ */
816
+ toggle(service_data?: {
817
+ /**
818
+ * ## Brightness value
819
+ *
820
+ * > Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness.
821
+ *
822
+ * ## Selector
823
+ *
824
+ * > ```yaml
825
+ * > number:
826
+ * > min: 0
827
+ * > max: 255
828
+ * > ```
829
+ */
830
+ brightness?: number;
831
+ /**
832
+ * ## Brightness
833
+ *
834
+ * > Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.
835
+ *
836
+ * ## Selector
837
+ *
838
+ * > ```yaml
839
+ * > number:
840
+ * > min: 0
841
+ * > max: 100
842
+ * > unit_of_measurement: '%'
843
+ * > ```
844
+ */
845
+ brightness_pct?: number;
846
+ /**
847
+ * ## Color name
848
+ *
849
+ * > A human-readable color name.
850
+ */
851
+ color_name?: "homeassistant" | "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "navyblue" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen";
852
+ /**
853
+ * ## Color temperature
854
+ *
855
+ * > Color temperature in mireds.
856
+ *
857
+ * ## Selector
858
+ *
859
+ * > ```yaml
860
+ * > color_temp: null
861
+ * > ```
862
+ */
863
+ color_temp?: unknown;
864
+ /**
865
+ * ## Effect
866
+ *
867
+ * > Light effect.
868
+ */
869
+ effect?: string;
870
+ /**
871
+ * ## Flash
872
+ *
873
+ * > Tell light to flash, can be either value short or long.
874
+ */
875
+ flash?: "long" | "short";
876
+ /**
877
+ * ## Hue/Sat color
878
+ *
879
+ * > Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100.
880
+ *
881
+ * ### Example
882
+ *
883
+ * > ```json
884
+ * > {
885
+ * > "hs_color": "[300, 70]"
886
+ * > }
887
+ * > ```
888
+ *
889
+ * ## Selector
890
+ *
891
+ * > ```yaml
892
+ * > object: null
893
+ * > ```
894
+ */
895
+ hs_color?: unknown;
896
+ /**
897
+ * ## Color temperature
898
+ *
899
+ * > Color temperature in Kelvin.
900
+ *
901
+ * ## Selector
902
+ *
903
+ * > ```yaml
904
+ * > color_temp:
905
+ * > unit: kelvin
906
+ * > min: 2000
907
+ * > max: 6500
908
+ * > ```
909
+ */
910
+ kelvin?: unknown;
911
+ /**
912
+ * ## Profile
913
+ *
914
+ * > Name of a light profile to use.
915
+ *
916
+ * ### Example
917
+ *
918
+ * > ```json
919
+ * > {
920
+ * > "profile": "relax"
921
+ * > }
922
+ * > ```
923
+ */
924
+ profile?: string;
925
+ /**
926
+ * ## Color
927
+ *
928
+ * > The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue.
929
+ *
930
+ * ### Example
931
+ *
932
+ * > ```json
933
+ * > {
934
+ * > "rgb_color": "[255, 100, 100]"
935
+ * > }
936
+ * > ```
937
+ *
938
+ * ## Selector
939
+ *
940
+ * > ```yaml
941
+ * > color_rgb: null
942
+ * > ```
943
+ */
944
+ rgb_color?: unknown;
945
+ /**
946
+ * ## Transition
947
+ *
948
+ * > Duration it takes to get to next state.
949
+ *
950
+ * ## Selector
951
+ *
952
+ * > ```yaml
953
+ * > number:
954
+ * > min: 0
955
+ * > max: 300
956
+ * > unit_of_measurement: seconds
957
+ * > ```
958
+ */
959
+ transition?: number;
960
+ /**
961
+ * ## White
962
+ *
963
+ * > Set the light to white mode.
964
+ *
965
+ * ## Selector
966
+ *
967
+ * > ```yaml
968
+ * > constant:
969
+ * > value: true
970
+ * > label: Enabled
971
+ * > ```
972
+ */
973
+ white?: unknown;
974
+ /**
975
+ * ## XY-color
976
+ *
977
+ * > Color in XY-format. A list of two decimal numbers between 0 and 1.
978
+ *
979
+ * ### Example
980
+ *
981
+ * > ```json
982
+ * > {
983
+ * > "xy_color": "[0.52, 0.43]"
984
+ * > }
985
+ * > ```
986
+ *
987
+ * ## Selector
988
+ *
989
+ * > ```yaml
990
+ * > object: null
991
+ * > ```
992
+ */
993
+ xy_color?: unknown;
994
+ /**
995
+ * Assisted definition
996
+ * > ```yaml
997
+ * > entity:
998
+ * > - domain:
999
+ * > - light
1000
+ * > ```
1001
+ */
1002
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
1003
+ }): Promise<void>;
1004
+ /**
1005
+ * ### Turn off
1006
+ *
1007
+ * > Turn off one or more lights.
1008
+ */
1009
+ turn_off(service_data?: {
1010
+ /**
1011
+ * ## Flash
1012
+ *
1013
+ * > Tell light to flash, can be either value short or long.
1014
+ */
1015
+ flash?: "long" | "short";
1016
+ /**
1017
+ * ## Transition
1018
+ *
1019
+ * > Duration it takes to get to next state.
1020
+ *
1021
+ * ## Selector
1022
+ *
1023
+ * > ```yaml
1024
+ * > number:
1025
+ * > min: 0
1026
+ * > max: 300
1027
+ * > unit_of_measurement: seconds
1028
+ * > ```
1029
+ */
1030
+ transition?: number;
1031
+ /**
1032
+ * Assisted definition
1033
+ * > ```yaml
1034
+ * > entity:
1035
+ * > - domain:
1036
+ * > - light
1037
+ * > ```
1038
+ */
1039
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
1040
+ }): Promise<void>;
1041
+ /**
1042
+ * ### Turn on
1043
+ *
1044
+ * > Turn on one or more lights and adjust properties of the light, even when they are turned on already.
1045
+ */
1046
+ turn_on(service_data?: {
1047
+ /**
1048
+ * ## Brightness value
1049
+ *
1050
+ * > Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness.
1051
+ *
1052
+ * ## Selector
1053
+ *
1054
+ * > ```yaml
1055
+ * > number:
1056
+ * > min: 0
1057
+ * > max: 255
1058
+ * > ```
1059
+ */
1060
+ brightness?: number;
1061
+ /**
1062
+ * ## Brightness
1063
+ *
1064
+ * > Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.
1065
+ *
1066
+ * ## Selector
1067
+ *
1068
+ * > ```yaml
1069
+ * > number:
1070
+ * > min: 0
1071
+ * > max: 100
1072
+ * > unit_of_measurement: '%'
1073
+ * > ```
1074
+ */
1075
+ brightness_pct?: number;
1076
+ /**
1077
+ * ## Brightness step value
1078
+ *
1079
+ * > Change brightness by an amount.
1080
+ *
1081
+ * ## Selector
1082
+ *
1083
+ * > ```yaml
1084
+ * > number:
1085
+ * > min: -225
1086
+ * > max: 255
1087
+ * > ```
1088
+ */
1089
+ brightness_step?: number;
1090
+ /**
1091
+ * ## Brightness step
1092
+ *
1093
+ * > Change brightness by a percentage.
1094
+ *
1095
+ * ## Selector
1096
+ *
1097
+ * > ```yaml
1098
+ * > number:
1099
+ * > min: -100
1100
+ * > max: 100
1101
+ * > unit_of_measurement: '%'
1102
+ * > ```
1103
+ */
1104
+ brightness_step_pct?: number;
1105
+ /**
1106
+ * ## Color name
1107
+ *
1108
+ * > A human-readable color name.
1109
+ */
1110
+ color_name?: "homeassistant" | "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "navyblue" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen";
1111
+ /**
1112
+ * ## Color temperature
1113
+ *
1114
+ * > Color temperature in mireds.
1115
+ *
1116
+ * ## Selector
1117
+ *
1118
+ * > ```yaml
1119
+ * > color_temp:
1120
+ * > unit: mired
1121
+ * > min: 153
1122
+ * > max: 500
1123
+ * > ```
1124
+ */
1125
+ color_temp?: unknown;
1126
+ /**
1127
+ * ## Effect
1128
+ *
1129
+ * > Light effect.
1130
+ */
1131
+ effect?: string;
1132
+ /**
1133
+ * ## Flash
1134
+ *
1135
+ * > Tell light to flash, can be either value short or long.
1136
+ */
1137
+ flash?: "long" | "short";
1138
+ /**
1139
+ * ## Hue/Sat color
1140
+ *
1141
+ * > Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100.
1142
+ *
1143
+ * ### Example
1144
+ *
1145
+ * > ```json
1146
+ * > {
1147
+ * > "hs_color": "[300, 70]"
1148
+ * > }
1149
+ * > ```
1150
+ *
1151
+ * ## Selector
1152
+ *
1153
+ * > ```yaml
1154
+ * > object: null
1155
+ * > ```
1156
+ */
1157
+ hs_color?: unknown;
1158
+ /**
1159
+ * ## Color temperature
1160
+ *
1161
+ * > Color temperature in Kelvin.
1162
+ *
1163
+ * ## Selector
1164
+ *
1165
+ * > ```yaml
1166
+ * > color_temp:
1167
+ * > unit: kelvin
1168
+ * > min: 2000
1169
+ * > max: 6500
1170
+ * > ```
1171
+ */
1172
+ kelvin?: unknown;
1173
+ /**
1174
+ * ## Profile
1175
+ *
1176
+ * > Name of a light profile to use.
1177
+ *
1178
+ * ### Example
1179
+ *
1180
+ * > ```json
1181
+ * > {
1182
+ * > "profile": "relax"
1183
+ * > }
1184
+ * > ```
1185
+ */
1186
+ profile?: string;
1187
+ /**
1188
+ * ## Color
1189
+ *
1190
+ * > The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue.
1191
+ *
1192
+ * ## Selector
1193
+ *
1194
+ * > ```yaml
1195
+ * > color_rgb: null
1196
+ * > ```
1197
+ */
1198
+ rgb_color?: unknown;
1199
+ /**
1200
+ * ## RGBW-color
1201
+ *
1202
+ * > The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white.
1203
+ *
1204
+ * ### Example
1205
+ *
1206
+ * > ```json
1207
+ * > {
1208
+ * > "rgbw_color": "[255, 100, 100, 50]"
1209
+ * > }
1210
+ * > ```
1211
+ *
1212
+ * ## Selector
1213
+ *
1214
+ * > ```yaml
1215
+ * > object: null
1216
+ * > ```
1217
+ */
1218
+ rgbw_color?: unknown;
1219
+ /**
1220
+ * ## RGBWW-color
1221
+ *
1222
+ * > 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.
1223
+ *
1224
+ * ### Example
1225
+ *
1226
+ * > ```json
1227
+ * > {
1228
+ * > "rgbww_color": "[255, 100, 100, 50, 70]"
1229
+ * > }
1230
+ * > ```
1231
+ *
1232
+ * ## Selector
1233
+ *
1234
+ * > ```yaml
1235
+ * > object: null
1236
+ * > ```
1237
+ */
1238
+ rgbww_color?: unknown;
1239
+ /**
1240
+ * ## Transition
1241
+ *
1242
+ * > Duration it takes to get to next state.
1243
+ *
1244
+ * ## Selector
1245
+ *
1246
+ * > ```yaml
1247
+ * > number:
1248
+ * > min: 0
1249
+ * > max: 300
1250
+ * > unit_of_measurement: seconds
1251
+ * > ```
1252
+ */
1253
+ transition?: number;
1254
+ /**
1255
+ * ## White
1256
+ *
1257
+ * > Set the light to white mode.
1258
+ *
1259
+ * ## Selector
1260
+ *
1261
+ * > ```yaml
1262
+ * > constant:
1263
+ * > value: true
1264
+ * > label: Enabled
1265
+ * > ```
1266
+ */
1267
+ white?: unknown;
1268
+ /**
1269
+ * ## XY-color
1270
+ *
1271
+ * > Color in XY-format. A list of two decimal numbers between 0 and 1.
1272
+ *
1273
+ * ### Example
1274
+ *
1275
+ * > ```json
1276
+ * > {
1277
+ * > "xy_color": "[0.52, 0.43]"
1278
+ * > }
1279
+ * > ```
1280
+ *
1281
+ * ## Selector
1282
+ *
1283
+ * > ```yaml
1284
+ * > object: null
1285
+ * > ```
1286
+ */
1287
+ xy_color?: unknown;
1288
+ /**
1289
+ * Assisted definition
1290
+ * > ```yaml
1291
+ * > entity:
1292
+ * > - domain:
1293
+ * > - light
1294
+ * > ```
1295
+ */
1296
+ entity_id: PICK_ENTITY<"light"> | PICK_ENTITY<"light">[];
1297
+ }): Promise<void>;
1298
+ };
1299
+ logbook: {
1300
+ /**
1301
+ * ### Log
1302
+ *
1303
+ * > Creates a custom entry in the logbook.
1304
+ */
1305
+ log(service_data?: {
1306
+ /**
1307
+ * ## Domain
1308
+ *
1309
+ * > Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry.
1310
+ *
1311
+ * ### Example
1312
+ *
1313
+ * > ```json
1314
+ * > {
1315
+ * > "domain": "light"
1316
+ * > }
1317
+ * > ```
1318
+ */
1319
+ domain?: string;
1320
+ /**
1321
+ * ## Entity ID
1322
+ *
1323
+ * > Entity to reference in the logbook entry.
1324
+ *
1325
+ * ## Selector
1326
+ *
1327
+ * > ```yaml
1328
+ * > entity: null
1329
+ * > ```
1330
+ */
1331
+ entity_id?: PICK_ENTITY | PICK_ENTITY[];
1332
+ /**
1333
+ * ## Message
1334
+ *
1335
+ * > Message of the logbook entry.
1336
+ *
1337
+ * ### Example
1338
+ *
1339
+ * > ```json
1340
+ * > {
1341
+ * > "message": "is being used"
1342
+ * > }
1343
+ * > ```
1344
+ */
1345
+ message: string;
1346
+ /**
1347
+ * ## Name
1348
+ *
1349
+ * > Custom name for an entity, can be referenced using an `entity_id`.
1350
+ *
1351
+ * ### Example
1352
+ *
1353
+ * > ```json
1354
+ * > {
1355
+ * > "name": "Kitchen"
1356
+ * > }
1357
+ * > ```
1358
+ */
1359
+ name: string;
1360
+ }): Promise<void>;
1361
+ };
1362
+ logger: {
1363
+ /**
1364
+ * ### Set default level
1365
+ *
1366
+ * > Sets the default log level for integrations.
1367
+ */
1368
+ set_default_level(service_data?: {
1369
+ /**
1370
+ * ## Level
1371
+ *
1372
+ * > Default severity level for all integrations.
1373
+ */
1374
+ level?: "debug" | "info" | "warning" | "error" | "fatal" | "critical";
1375
+ }): Promise<void>;
1376
+ /**
1377
+ * ### Set level
1378
+ *
1379
+ * > Sets the log level for one or more integrations.
1380
+ */
1381
+ set_level(service_data: {}): Promise<void>;
1382
+ };
1383
+ notify: {
1384
+ /**
1385
+ * ### Send a notification with notify
1386
+ *
1387
+ * > Sends a notification message using the notify service.
1388
+ */
1389
+ notify(service_data?: {
1390
+ /**
1391
+ * ## data
1392
+ *
1393
+ * ### Example
1394
+ *
1395
+ * > ```json
1396
+ * > {
1397
+ * > "data": "platform specific"
1398
+ * > }
1399
+ * > ```
1400
+ *
1401
+ * ## Selector
1402
+ *
1403
+ * > ```yaml
1404
+ * > object: null
1405
+ * > ```
1406
+ */
1407
+ data?: NotificationData & (AndroidNotificationData | AppleNotificationData);
1408
+ /**
1409
+ * ## message
1410
+ *
1411
+ * ### Example
1412
+ *
1413
+ * > ```json
1414
+ * > {
1415
+ * > "message": "The garage door has been open for 10 minutes."
1416
+ * > }
1417
+ * > ```
1418
+ */
1419
+ message: string;
1420
+ /**
1421
+ * ## target
1422
+ *
1423
+ * ### Example
1424
+ *
1425
+ * > ```json
1426
+ * > {
1427
+ * > "target": "platform specific"
1428
+ * > }
1429
+ * > ```
1430
+ *
1431
+ * ## Selector
1432
+ *
1433
+ * > ```yaml
1434
+ * > object: null
1435
+ * > ```
1436
+ */
1437
+ target?: unknown;
1438
+ /**
1439
+ * ## title
1440
+ *
1441
+ * ### Example
1442
+ *
1443
+ * > ```json
1444
+ * > {
1445
+ * > "title": "Your Garage Door Friend"
1446
+ * > }
1447
+ * > ```
1448
+ */
1449
+ title?: string;
1450
+ }): Promise<void>;
1451
+ /**
1452
+ * ### Send a persistent notification
1453
+ *
1454
+ * > Sends a notification that is visible in the **Notifications** panel.
1455
+ */
1456
+ persistent_notification(service_data?: {
1457
+ /**
1458
+ * ## Data
1459
+ *
1460
+ * > Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation..
1461
+ *
1462
+ * ### Example
1463
+ *
1464
+ * > ```json
1465
+ * > {
1466
+ * > "data": "platform specific"
1467
+ * > }
1468
+ * > ```
1469
+ *
1470
+ * ## Selector
1471
+ *
1472
+ * > ```yaml
1473
+ * > object: null
1474
+ * > ```
1475
+ */
1476
+ data?: NotificationData & (AndroidNotificationData | AppleNotificationData);
1477
+ /**
1478
+ * ## Message
1479
+ *
1480
+ * > Message body of the notification.
1481
+ *
1482
+ * ### Example
1483
+ *
1484
+ * > ```json
1485
+ * > {
1486
+ * > "message": "The garage door has been open for 10 minutes."
1487
+ * > }
1488
+ * > ```
1489
+ */
1490
+ message: string;
1491
+ /**
1492
+ * ## Title
1493
+ *
1494
+ * > Title of the notification.
1495
+ *
1496
+ * ### Example
1497
+ *
1498
+ * > ```json
1499
+ * > {
1500
+ * > "title": "Your Garage Door Friend"
1501
+ * > }
1502
+ * > ```
1503
+ */
1504
+ title?: string;
1505
+ }): Promise<void>;
1506
+ };
1507
+ persistent_notification: {
1508
+ /**
1509
+ * ### Create
1510
+ *
1511
+ * > Shows a notification on the **Notifications** panel.
1512
+ */
1513
+ create(service_data?: {
1514
+ /**
1515
+ * ## Message
1516
+ *
1517
+ * > Message body of the notification.
1518
+ *
1519
+ * ### Example
1520
+ *
1521
+ * > ```json
1522
+ * > {
1523
+ * > "message": "Please check your configuration.yaml."
1524
+ * > }
1525
+ * > ```
1526
+ */
1527
+ message: string;
1528
+ /**
1529
+ * ## Notification ID
1530
+ *
1531
+ * > ID of the notification. This new notification will overwrite an existing notification with the same ID.
1532
+ *
1533
+ * ### Example
1534
+ *
1535
+ * > ```json
1536
+ * > {
1537
+ * > "notification_id": "1234"
1538
+ * > }
1539
+ * > ```
1540
+ */
1541
+ notification_id?: string;
1542
+ /**
1543
+ * ## Title
1544
+ *
1545
+ * > Optional title of the notification.
1546
+ *
1547
+ * ### Example
1548
+ *
1549
+ * > ```json
1550
+ * > {
1551
+ * > "title": "Test notification"
1552
+ * > }
1553
+ * > ```
1554
+ */
1555
+ title?: string;
1556
+ }): Promise<void>;
1557
+ /**
1558
+ * ### Dismiss
1559
+ *
1560
+ * > Removes a notification from the **Notifications** panel.
1561
+ */
1562
+ dismiss(service_data: {
1563
+ /**
1564
+ * ## Notification ID
1565
+ *
1566
+ * > ID of the notification to be removed.
1567
+ *
1568
+ * ### Example
1569
+ *
1570
+ * > ```json
1571
+ * > {
1572
+ * > "notification_id": "1234"
1573
+ * > }
1574
+ * > ```
1575
+ */
1576
+ notification_id: string;
1577
+ }): Promise<void>;
1578
+ /**
1579
+ * ### Dismiss all
1580
+ *
1581
+ * > Removes all notifications from the **Notifications** panel.
1582
+ */
1583
+ dismiss_all(service_data: {}): Promise<void>;
1584
+ };
1585
+ person: {
1586
+ /**
1587
+ * ### Reload
1588
+ *
1589
+ * > Reloads persons from the YAML-configuration.
1590
+ */
1591
+ reload(service_data: {}): Promise<void>;
1592
+ };
1593
+ recorder: {
1594
+ /**
1595
+ * ### Disable
1596
+ *
1597
+ * > Stops the recording of events and state changes.
1598
+ */
1599
+ disable(service_data: {}): Promise<void>;
1600
+ /**
1601
+ * ### Enable
1602
+ *
1603
+ * > Starts the recording of events and state changes.
1604
+ */
1605
+ enable(service_data: {}): Promise<void>;
1606
+ /**
1607
+ * ### Purge
1608
+ *
1609
+ * > Starts purge task - to clean up old data from your database.
1610
+ */
1611
+ purge(service_data?: {
1612
+ /**
1613
+ * ## Apply filter
1614
+ *
1615
+ * > Apply `entity_id` and `event_type` filters in addition to time-based purge.
1616
+ *
1617
+ * ### Default
1618
+ *
1619
+ * > ```json
1620
+ * > false
1621
+ * > ```
1622
+ */
1623
+ apply_filter?: boolean;
1624
+ /**
1625
+ * ## Days to keep
1626
+ *
1627
+ * > 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.
1628
+ *
1629
+ * ## Selector
1630
+ *
1631
+ * > ```yaml
1632
+ * > number:
1633
+ * > min: 0
1634
+ * > max: 365
1635
+ * > unit_of_measurement: days
1636
+ * > ```
1637
+ */
1638
+ keep_days?: number;
1639
+ /**
1640
+ * ## Repack
1641
+ *
1642
+ * > Attempt to save disk space by rewriting the entire database file.
1643
+ *
1644
+ * ### Default
1645
+ *
1646
+ * > ```json
1647
+ * > false
1648
+ * > ```
1649
+ */
1650
+ repack?: boolean;
1651
+ }): Promise<void>;
1652
+ /**
1653
+ * ### Purge entities
1654
+ *
1655
+ * > Starts a purge task to remove the data related to specific entities from your database.
1656
+ */
1657
+ purge_entities(service_data?: {
1658
+ /**
1659
+ * ## Domains to remove
1660
+ *
1661
+ * > List of domains for which the data needs to be removed from the recorder database.
1662
+ *
1663
+ * ### Example
1664
+ *
1665
+ * > ```json
1666
+ * > {
1667
+ * > "domains": "sun"
1668
+ * > }
1669
+ * > ```
1670
+ *
1671
+ * ### Default
1672
+ *
1673
+ * > ```json
1674
+ * > []
1675
+ * > ```
1676
+ *
1677
+ * ## Selector
1678
+ *
1679
+ * > ```yaml
1680
+ * > object: null
1681
+ * > ```
1682
+ */
1683
+ domains?: unknown;
1684
+ /**
1685
+ * ## Entity globs to remove
1686
+ *
1687
+ * > List of glob patterns used to select the entities for which the data is to be removed from the recorder database.
1688
+ *
1689
+ * ### Example
1690
+ *
1691
+ * > ```json
1692
+ * > {
1693
+ * > "entity_globs": "domain*.object_id*"
1694
+ * > }
1695
+ * > ```
1696
+ *
1697
+ * ### Default
1698
+ *
1699
+ * > ```json
1700
+ * > []
1701
+ * > ```
1702
+ *
1703
+ * ## Selector
1704
+ *
1705
+ * > ```yaml
1706
+ * > object: null
1707
+ * > ```
1708
+ */
1709
+ entity_globs?: unknown;
1710
+ /**
1711
+ * ## Days to keep
1712
+ *
1713
+ * > 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.
1714
+ *
1715
+ * ### Default
1716
+ *
1717
+ * > ```json
1718
+ * > 0
1719
+ * > ```
1720
+ *
1721
+ * ## Selector
1722
+ *
1723
+ * > ```yaml
1724
+ * > number:
1725
+ * > min: 0
1726
+ * > max: 365
1727
+ * > unit_of_measurement: days
1728
+ * > ```
1729
+ */
1730
+ keep_days?: number;
1731
+ /**
1732
+ * Assisted definition
1733
+ * > ```yaml
1734
+ * > entity:
1735
+ * > - {}
1736
+ * > ```
1737
+ */
1738
+ entity_id: PICK_ENTITY | PICK_ENTITY[];
1739
+ }): Promise<void>;
1740
+ };
1741
+ scene: {
1742
+ /**
1743
+ * ### Apply
1744
+ *
1745
+ * > Activates a scene with configuration.
1746
+ */
1747
+ apply(service_data?: {
1748
+ /**
1749
+ * ## Entities state
1750
+ *
1751
+ * > List of entities and their target state.
1752
+ *
1753
+ * ### Example
1754
+ *
1755
+ * > ```json
1756
+ * > {
1757
+ * > "entities": "light.kitchen: \"on\"\nlight.ceiling:\n state: \"on\"\n brightness: 80\n"
1758
+ * > }
1759
+ * > ```
1760
+ *
1761
+ * ## Selector
1762
+ *
1763
+ * > ```yaml
1764
+ * > object: null
1765
+ * > ```
1766
+ */
1767
+ entities: unknown;
1768
+ /**
1769
+ * ## Transition
1770
+ *
1771
+ * > Time it takes the devices to transition into the states defined in the scene.
1772
+ *
1773
+ * ## Selector
1774
+ *
1775
+ * > ```yaml
1776
+ * > number:
1777
+ * > min: 0
1778
+ * > max: 300
1779
+ * > unit_of_measurement: seconds
1780
+ * > ```
1781
+ */
1782
+ transition?: number;
1783
+ }): Promise<void>;
1784
+ /**
1785
+ * ### Create
1786
+ *
1787
+ * > Creates a new scene.
1788
+ */
1789
+ create(service_data?: {
1790
+ /**
1791
+ * ## Entities state
1792
+ *
1793
+ * > List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead.
1794
+ *
1795
+ * ### Example
1796
+ *
1797
+ * > ```json
1798
+ * > {
1799
+ * > "entities": "light.tv_back_light: \"on\"\nlight.ceiling:\n state: \"on\"\n brightness: 200\n"
1800
+ * > }
1801
+ * > ```
1802
+ *
1803
+ * ## Selector
1804
+ *
1805
+ * > ```yaml
1806
+ * > object: null
1807
+ * > ```
1808
+ */
1809
+ entities?: unknown;
1810
+ /**
1811
+ * ## Scene entity ID
1812
+ *
1813
+ * > The entity ID of the new scene.
1814
+ *
1815
+ * ### Example
1816
+ *
1817
+ * > ```json
1818
+ * > {
1819
+ * > "scene_id": "all_lights"
1820
+ * > }
1821
+ * > ```
1822
+ */
1823
+ scene_id: string;
1824
+ /**
1825
+ * ## Snapshot entities
1826
+ *
1827
+ * > 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`.
1828
+ *
1829
+ * ### Example
1830
+ *
1831
+ * > ```json
1832
+ * > {
1833
+ * > "snapshot_entities": "- light.ceiling\n- light.kitchen\n"
1834
+ * > }
1835
+ * > ```
1836
+ */
1837
+ snapshot_entities?: PICK_ENTITY | PICK_ENTITY[];
1838
+ }): Promise<void>;
1839
+ /**
1840
+ * ### Reload
1841
+ *
1842
+ * > Reloads the scenes from the YAML-configuration.
1843
+ */
1844
+ reload(service_data: {}): Promise<void>;
1845
+ /**
1846
+ * ### Activate
1847
+ *
1848
+ * > Activates a scene.
1849
+ */
1850
+ turn_on(service_data?: {
1851
+ /**
1852
+ * ## Transition
1853
+ *
1854
+ * > Time it takes the devices to transition into the states defined in the scene.
1855
+ *
1856
+ * ## Selector
1857
+ *
1858
+ * > ```yaml
1859
+ * > number:
1860
+ * > min: 0
1861
+ * > max: 300
1862
+ * > unit_of_measurement: seconds
1863
+ * > ```
1864
+ */
1865
+ transition?: number;
1866
+ /**
1867
+ * Assisted definition
1868
+ * > ```yaml
1869
+ * > entity:
1870
+ * > - domain:
1871
+ * > - scene
1872
+ * > ```
1873
+ */
1874
+ entity_id: PICK_ENTITY<"scene"> | PICK_ENTITY<"scene">[];
1875
+ }): Promise<void>;
1876
+ };
1877
+ schedule: {
1878
+ /**
1879
+ * ### Reload
1880
+ *
1881
+ * > Reloads schedules from the YAML-configuration.
1882
+ */
1883
+ reload(service_data: {}): Promise<void>;
1884
+ };
1885
+ shopping_list: {
1886
+ /**
1887
+ * ### Add item
1888
+ *
1889
+ * > Adds an item to the shopping list.
1890
+ */
1891
+ add_item(service_data: {
1892
+ /**
1893
+ * ## Name
1894
+ *
1895
+ * > The name of the item to add.
1896
+ *
1897
+ * ### Example
1898
+ *
1899
+ * > ```json
1900
+ * > {
1901
+ * > "name": "Beer"
1902
+ * > }
1903
+ * > ```
1904
+ */
1905
+ name: string;
1906
+ }): Promise<void>;
1907
+ /**
1908
+ * ### Clear completed items
1909
+ *
1910
+ * > Clears completed items from the shopping list.
1911
+ */
1912
+ clear_completed_items(service_data: {}): Promise<void>;
1913
+ /**
1914
+ * ### Complete all
1915
+ *
1916
+ * > Marks all items as completed in the shopping list (without removing them from the list).
1917
+ */
1918
+ complete_all(service_data: {}): Promise<void>;
1919
+ /**
1920
+ * ### Complete item
1921
+ *
1922
+ * > Marks the first item with matching name as completed in the shopping list.
1923
+ */
1924
+ complete_item(service_data: {
1925
+ /**
1926
+ * ## Name
1927
+ *
1928
+ * > The name of the item to mark as completed (without removing).
1929
+ *
1930
+ * ### Example
1931
+ *
1932
+ * > ```json
1933
+ * > {
1934
+ * > "name": "Beer"
1935
+ * > }
1936
+ * > ```
1937
+ */
1938
+ name: string;
1939
+ }): Promise<void>;
1940
+ /**
1941
+ * ### Incomplete all
1942
+ *
1943
+ * > Marks all items as incomplete in the shopping list.
1944
+ */
1945
+ incomplete_all(service_data: {}): Promise<void>;
1946
+ /**
1947
+ * ### Incomplete item
1948
+ *
1949
+ * > Marks the first item with matching name as incomplete in the shopping list.
1950
+ */
1951
+ incomplete_item(service_data: {
1952
+ /**
1953
+ * ## Name
1954
+ *
1955
+ * > The name of the item to mark as incomplete.
1956
+ *
1957
+ * ### Example
1958
+ *
1959
+ * > ```json
1960
+ * > {
1961
+ * > "name": "Beer"
1962
+ * > }
1963
+ * > ```
1964
+ */
1965
+ name: string;
1966
+ }): Promise<void>;
1967
+ /**
1968
+ * ### Remove item
1969
+ *
1970
+ * > Removes the first item with matching name from the shopping list.
1971
+ */
1972
+ remove_item(service_data: {
1973
+ /**
1974
+ * ## Name
1975
+ *
1976
+ * > The name of the item to remove.
1977
+ *
1978
+ * ### Example
1979
+ *
1980
+ * > ```json
1981
+ * > {
1982
+ * > "name": "Beer"
1983
+ * > }
1984
+ * > ```
1985
+ */
1986
+ name: string;
1987
+ }): Promise<void>;
1988
+ /**
1989
+ * ### Sort all items
1990
+ *
1991
+ * > Sorts all items by name in the shopping list.
1992
+ */
1993
+ sort(service_data?: {
1994
+ /**
1995
+ * ## Sort reverse
1996
+ *
1997
+ * > Whether to sort in reverse (descending) order.
1998
+ *
1999
+ * ### Default
2000
+ *
2001
+ * > ```json
2002
+ * > false
2003
+ * > ```
2004
+ */
2005
+ reverse?: boolean;
2006
+ }): Promise<void>;
2007
+ };
2008
+ switch: {
2009
+ /**
2010
+ * ### Toggle
2011
+ *
2012
+ * > Toggles a switch on/off.
2013
+ */
2014
+ toggle(service_data: {
2015
+ /**
2016
+ * Assisted definition
2017
+ * > ```yaml
2018
+ * > entity:
2019
+ * > - domain:
2020
+ * > - switch
2021
+ * > ```
2022
+ */
2023
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
2024
+ }): Promise<void>;
2025
+ /**
2026
+ * ### Turn off
2027
+ *
2028
+ * > Turns a switch off.
2029
+ */
2030
+ turn_off(service_data: {
2031
+ /**
2032
+ * Assisted definition
2033
+ * > ```yaml
2034
+ * > entity:
2035
+ * > - domain:
2036
+ * > - switch
2037
+ * > ```
2038
+ */
2039
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
2040
+ }): Promise<void>;
2041
+ /**
2042
+ * ### Turn on
2043
+ *
2044
+ * > Turns a switch on.
2045
+ */
2046
+ turn_on(service_data: {
2047
+ /**
2048
+ * Assisted definition
2049
+ * > ```yaml
2050
+ * > entity:
2051
+ * > - domain:
2052
+ * > - switch
2053
+ * > ```
2054
+ */
2055
+ entity_id: PICK_ENTITY<"switch"> | PICK_ENTITY<"switch">[];
2056
+ }): Promise<void>;
2057
+ };
2058
+ synapse: {
2059
+ /**
2060
+ * ### reload
2061
+ *
2062
+ * > Ask synapse application to re-send the entity list. Sent to all connected by default
2063
+ */
2064
+ reload(service_data?: {
2065
+ /**
2066
+ * ## app
2067
+ *
2068
+ * > The name of the app to target for the reload. If omitted, targets all apps.
2069
+ *
2070
+ * ### Example
2071
+ *
2072
+ * > ```json
2073
+ * > {
2074
+ * > "app": "home_automation"
2075
+ * > }
2076
+ * > ```
2077
+ *
2078
+ * ## Selector
2079
+ *
2080
+ * > ```yaml
2081
+ * >
2082
+ * > ```
2083
+ */
2084
+ app?: unknown;
2085
+ }): Promise<void>;
2086
+ };
2087
+ system_log: {
2088
+ /**
2089
+ * ### Clear all
2090
+ *
2091
+ * > Clears all log entries.
2092
+ */
2093
+ clear(service_data: {}): Promise<void>;
2094
+ /**
2095
+ * ### Write
2096
+ *
2097
+ * > Write log entry.
2098
+ */
2099
+ write(service_data?: {
2100
+ /**
2101
+ * ## Level
2102
+ *
2103
+ * > Log level.
2104
+ *
2105
+ * ### Default
2106
+ *
2107
+ * > ```json
2108
+ * > "error"
2109
+ * > ```
2110
+ */
2111
+ level?: "debug" | "info" | "warning" | "error" | "critical";
2112
+ /**
2113
+ * ## Logger
2114
+ *
2115
+ * > Logger name under which to log the message. Defaults to `system_log.external`.
2116
+ *
2117
+ * ### Example
2118
+ *
2119
+ * > ```json
2120
+ * > {
2121
+ * > "logger": "mycomponent.myplatform"
2122
+ * > }
2123
+ * > ```
2124
+ */
2125
+ logger?: string;
2126
+ /**
2127
+ * ## Message
2128
+ *
2129
+ * > Message to log.
2130
+ *
2131
+ * ### Example
2132
+ *
2133
+ * > ```json
2134
+ * > {
2135
+ * > "message": "Something went wrong"
2136
+ * > }
2137
+ * > ```
2138
+ */
2139
+ message: string;
2140
+ }): Promise<void>;
2141
+ };
2142
+ todo: {
2143
+ /**
2144
+ * ### Add to-do list item
2145
+ *
2146
+ * > Add a new to-do list item.
2147
+ */
2148
+ add_item(service_data?: {
2149
+ /**
2150
+ * ## Description
2151
+ *
2152
+ * > A more complete description of the to-do item than provided by the item name.
2153
+ *
2154
+ * ### Example
2155
+ *
2156
+ * > ```json
2157
+ * > {
2158
+ * > "description": "A more complete description of the to-do item than that provided by the summary."
2159
+ * > }
2160
+ * > ```
2161
+ */
2162
+ description?: string;
2163
+ /**
2164
+ * ## Due date
2165
+ *
2166
+ * > The date the to-do item is expected to be completed.
2167
+ *
2168
+ * ### Example
2169
+ *
2170
+ * > ```json
2171
+ * > {
2172
+ * > "due_date": "2023-11-17"
2173
+ * > }
2174
+ * > ```
2175
+ *
2176
+ * ## Selector
2177
+ *
2178
+ * > ```yaml
2179
+ * > date: null
2180
+ * > ```
2181
+ */
2182
+ due_date?: unknown;
2183
+ /**
2184
+ * ## Due date and time
2185
+ *
2186
+ * > The date and time the to-do item is expected to be completed.
2187
+ *
2188
+ * ### Example
2189
+ *
2190
+ * > ```json
2191
+ * > {
2192
+ * > "due_datetime": "2023-11-17 13:30:00"
2193
+ * > }
2194
+ * > ```
2195
+ *
2196
+ * ## Selector
2197
+ *
2198
+ * > ```yaml
2199
+ * > datetime: null
2200
+ * > ```
2201
+ */
2202
+ due_datetime?: unknown;
2203
+ /**
2204
+ * ## Item name
2205
+ *
2206
+ * > The name that represents the to-do item.
2207
+ *
2208
+ * ### Example
2209
+ *
2210
+ * > ```json
2211
+ * > {
2212
+ * > "item": "Submit income tax return"
2213
+ * > }
2214
+ * > ```
2215
+ */
2216
+ item: string;
2217
+ /**
2218
+ * Assisted definition
2219
+ * > ```yaml
2220
+ * > entity:
2221
+ * > - domain:
2222
+ * > - todo
2223
+ * > supported_features:
2224
+ * > - 1
2225
+ * > ```
2226
+ */
2227
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
2228
+ }): Promise<void>;
2229
+ /**
2230
+ * ### Get to-do list items
2231
+ *
2232
+ * > Get items on a to-do list.
2233
+ */
2234
+ get_items(service_data?: {
2235
+ /**
2236
+ * ## Status
2237
+ *
2238
+ * > Only return to-do items with the specified statuses. Returns not completed actions by default.
2239
+ *
2240
+ * ### Example
2241
+ *
2242
+ * > ```json
2243
+ * > {
2244
+ * > "status": "needs_action"
2245
+ * > }
2246
+ * > ```
2247
+ *
2248
+ * ### Default
2249
+ *
2250
+ * > ```json
2251
+ * > "needs_action"
2252
+ * > ```
2253
+ */
2254
+ status?: "needs_action" | "completed";
2255
+ /**
2256
+ * Assisted definition
2257
+ * > ```yaml
2258
+ * > entity:
2259
+ * > - domain:
2260
+ * > - todo
2261
+ * > ```
2262
+ */
2263
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
2264
+ }): Promise<void>;
2265
+ /**
2266
+ * ### Remove all completed to-do list items
2267
+ *
2268
+ * > Remove all to-do list items that have been completed.
2269
+ */
2270
+ remove_completed_items(service_data: {
2271
+ /**
2272
+ * Assisted definition
2273
+ * > ```yaml
2274
+ * > entity:
2275
+ * > - domain:
2276
+ * > - todo
2277
+ * > supported_features:
2278
+ * > - 2
2279
+ * > ```
2280
+ */
2281
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
2282
+ }): Promise<void>;
2283
+ /**
2284
+ * ### Remove a to-do list item
2285
+ *
2286
+ * > Remove an existing to-do list item by its name.
2287
+ */
2288
+ remove_item(service_data: {
2289
+ /**
2290
+ * ## Item name
2291
+ *
2292
+ * > The name for the to-do list items.
2293
+ */
2294
+ item: string;
2295
+ /**
2296
+ * Assisted definition
2297
+ * > ```yaml
2298
+ * > entity:
2299
+ * > - domain:
2300
+ * > - todo
2301
+ * > supported_features:
2302
+ * > - 2
2303
+ * > ```
2304
+ */
2305
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
2306
+ }): Promise<void>;
2307
+ /**
2308
+ * ### Update to-do list item
2309
+ *
2310
+ * > Update an existing to-do list item based on its name.
2311
+ */
2312
+ update_item(service_data?: {
2313
+ /**
2314
+ * ## Description
2315
+ *
2316
+ * > A more complete description of the to-do item than provided by the item name.
2317
+ *
2318
+ * ### Example
2319
+ *
2320
+ * > ```json
2321
+ * > {
2322
+ * > "description": "A more complete description of the to-do item than that provided by the summary."
2323
+ * > }
2324
+ * > ```
2325
+ */
2326
+ description?: string;
2327
+ /**
2328
+ * ## Due date
2329
+ *
2330
+ * > The date the to-do item is expected to be completed.
2331
+ *
2332
+ * ### Example
2333
+ *
2334
+ * > ```json
2335
+ * > {
2336
+ * > "due_date": "2023-11-17"
2337
+ * > }
2338
+ * > ```
2339
+ *
2340
+ * ## Selector
2341
+ *
2342
+ * > ```yaml
2343
+ * > date: null
2344
+ * > ```
2345
+ */
2346
+ due_date?: unknown;
2347
+ /**
2348
+ * ## Due date and time
2349
+ *
2350
+ * > The date and time the to-do item is expected to be completed.
2351
+ *
2352
+ * ### Example
2353
+ *
2354
+ * > ```json
2355
+ * > {
2356
+ * > "due_datetime": "2023-11-17 13:30:00"
2357
+ * > }
2358
+ * > ```
2359
+ *
2360
+ * ## Selector
2361
+ *
2362
+ * > ```yaml
2363
+ * > datetime: null
2364
+ * > ```
2365
+ */
2366
+ due_datetime?: unknown;
2367
+ /**
2368
+ * ## Item name
2369
+ *
2370
+ * > The name for the to-do list item.
2371
+ *
2372
+ * ### Example
2373
+ *
2374
+ * > ```json
2375
+ * > {
2376
+ * > "item": "Submit income tax return"
2377
+ * > }
2378
+ * > ```
2379
+ */
2380
+ item: string;
2381
+ /**
2382
+ * ## Rename item
2383
+ *
2384
+ * > The new name of the to-do item
2385
+ *
2386
+ * ### Example
2387
+ *
2388
+ * > ```json
2389
+ * > {
2390
+ * > "rename": "Something else"
2391
+ * > }
2392
+ * > ```
2393
+ */
2394
+ rename?: string;
2395
+ /**
2396
+ * ## Set status
2397
+ *
2398
+ * > A status or confirmation of the to-do item.
2399
+ *
2400
+ * ### Example
2401
+ *
2402
+ * > ```json
2403
+ * > {
2404
+ * > "status": "needs_action"
2405
+ * > }
2406
+ * > ```
2407
+ */
2408
+ status?: "needs_action" | "completed";
2409
+ /**
2410
+ * Assisted definition
2411
+ * > ```yaml
2412
+ * > entity:
2413
+ * > - domain:
2414
+ * > - todo
2415
+ * > supported_features:
2416
+ * > - 4
2417
+ * > ```
2418
+ */
2419
+ entity_id: PICK_ENTITY<"todo"> | PICK_ENTITY<"todo">[];
2420
+ }): Promise<void>;
2421
+ };
2422
+ zone: {
2423
+ /**
2424
+ * ### Reload
2425
+ *
2426
+ * > Reloads zones from the YAML-configuration.
2427
+ */
2428
+ reload(service_data: {}): Promise<void>;
2429
+ };
2430
+ }
2431
+ }