@digital-alchemy/hass 24.10.1 → 24.11.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.
- package/dist/dynamic.d.ts +3 -1
- package/dist/extensions/events.extension.d.ts +1 -1
- package/dist/extensions/events.extension.js +26 -7
- package/dist/extensions/events.extension.js.map +1 -1
- package/dist/extensions/internal.extension.js +1 -1
- package/dist/extensions/internal.extension.js.map +1 -1
- package/dist/extensions/reference.extension.d.ts +51 -1
- package/dist/extensions/reference.extension.js +293 -181
- package/dist/extensions/reference.extension.js.map +1 -1
- package/dist/extensions/websocket-api.extension.js +4 -3
- package/dist/extensions/websocket-api.extension.js.map +1 -1
- package/dist/hass.module.d.ts +3 -3
- package/dist/hass.module.js +3 -3
- package/dist/hass.module.js.map +1 -1
- package/dist/helpers/entity-state.helper.d.ts +11 -7
- package/dist/helpers/interfaces.helper.d.ts +10 -10
- package/dist/helpers/interfaces.helper.js.map +1 -1
- package/dist/helpers/utility.helper.d.ts +5 -0
- package/dist/helpers/utility.helper.js +5 -0
- package/dist/helpers/utility.helper.js.map +1 -1
- package/dist/mock_assistant/mock-assistant.module.d.ts +4 -4
- package/dist/mock_assistant/mock-assistant.module.js +7 -0
- package/dist/mock_assistant/mock-assistant.module.js.map +1 -1
- package/dist/testing/fetch-api.spec.js +13 -13
- package/dist/testing/fetch-api.spec.js.map +1 -1
- package/package.json +27 -28
- package/scripts/test.sh +1 -1
- package/src/dynamic.ts +82 -77
- package/src/extensions/events.extension.ts +26 -10
- package/src/extensions/internal.extension.ts +1 -1
- package/src/extensions/reference.extension.ts +323 -201
- package/src/extensions/websocket-api.extension.ts +4 -3
- package/src/hass.module.ts +4 -4
- package/src/helpers/entity-state.helper.ts +11 -6
- package/src/helpers/interfaces.helper.ts +10 -9
- package/src/helpers/utility.helper.ts +8 -0
- package/src/mock_assistant/mock-assistant.module.ts +7 -0
- package/src/testing/fetch-api.spec.ts +13 -13
package/src/dynamic.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
7
7
|
|
|
8
8
|
// @ts-nocheck
|
|
9
|
+
import { RequireAtLeastOne } from "type-fest";
|
|
10
|
+
|
|
9
11
|
import {
|
|
10
12
|
AndroidNotificationData,
|
|
11
13
|
AppleNotificationData,
|
|
@@ -3991,83 +3993,86 @@ export type iCallService = {
|
|
|
3991
3993
|
*
|
|
3992
3994
|
* > Speaks something using text-to-speech on a media player.
|
|
3993
3995
|
*/
|
|
3994
|
-
speak(
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
3996
|
+
speak(
|
|
3997
|
+
service_data?: {
|
|
3998
|
+
/**
|
|
3999
|
+
* ## Cache
|
|
4000
|
+
*
|
|
4001
|
+
* > Stores this message locally so that when the text is requested again, the output can be produced more quickly.
|
|
4002
|
+
*
|
|
4003
|
+
* ### Default
|
|
4004
|
+
*
|
|
4005
|
+
* > ```json
|
|
4006
|
+
* > true
|
|
4007
|
+
* > ```
|
|
4008
|
+
*/
|
|
4009
|
+
cache?: boolean;
|
|
4010
|
+
/**
|
|
4011
|
+
* ## Language
|
|
4012
|
+
*
|
|
4013
|
+
* > Language to use for speech generation.
|
|
4014
|
+
*
|
|
4015
|
+
* ### Example
|
|
4016
|
+
*
|
|
4017
|
+
* > ```json
|
|
4018
|
+
* > {
|
|
4019
|
+
* > "language": "ru"
|
|
4020
|
+
* > }
|
|
4021
|
+
* > ```
|
|
4022
|
+
*/
|
|
4023
|
+
language?: string;
|
|
4024
|
+
/**
|
|
4025
|
+
* ## Media player entity
|
|
4026
|
+
*
|
|
4027
|
+
* > Media players to play the message.
|
|
4028
|
+
*/
|
|
4029
|
+
media_player_entity_id: PICK_ENTITY<"media_player"> | PICK_ENTITY<"media_player">[];
|
|
4030
|
+
/**
|
|
4031
|
+
* ## Message
|
|
4032
|
+
*
|
|
4033
|
+
* > The text you want to convert into speech so that you can listen to it on your device.
|
|
4034
|
+
*
|
|
4035
|
+
* ### Example
|
|
4036
|
+
*
|
|
4037
|
+
* > ```json
|
|
4038
|
+
* > {
|
|
4039
|
+
* > "message": "My name is hanna"
|
|
4040
|
+
* > }
|
|
4041
|
+
* > ```
|
|
4042
|
+
*/
|
|
4043
|
+
message: string;
|
|
4044
|
+
/**
|
|
4045
|
+
* ## Options
|
|
4046
|
+
*
|
|
4047
|
+
* > A dictionary containing integration-specific options.
|
|
4048
|
+
*
|
|
4049
|
+
* ### Example
|
|
4050
|
+
*
|
|
4051
|
+
* > ```json
|
|
4052
|
+
* > {
|
|
4053
|
+
* > "options": "platform specific"
|
|
4054
|
+
* > }
|
|
4055
|
+
* > ```
|
|
4056
|
+
*
|
|
4057
|
+
* ## Selector
|
|
4058
|
+
*
|
|
4059
|
+
* > ```yaml
|
|
4060
|
+
* > object: null
|
|
4061
|
+
* > ```
|
|
4062
|
+
*/
|
|
4063
|
+
options?: unknown;
|
|
4064
|
+
} & RequireAtLeastOne<{
|
|
4065
|
+
/**
|
|
4066
|
+
* Assisted definition
|
|
4067
|
+
* > ```yaml
|
|
4068
|
+
* > entity:
|
|
4069
|
+
* > - domain:
|
|
4070
|
+
* > - tts
|
|
4071
|
+
* > ```
|
|
4072
|
+
*/
|
|
4073
|
+
entity_id: PICK_ENTITY<"tts"> | PICK_ENTITY<"tts">[];
|
|
4074
|
+
}>,
|
|
4075
|
+
): Promise<void>;
|
|
4071
4076
|
};
|
|
4072
4077
|
// # MARK: zone
|
|
4073
4078
|
zone: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TServiceParams } from "@digital-alchemy/core";
|
|
1
|
+
import { is, TServiceParams } from "@digital-alchemy/core";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
AREA_REGISTRY_UPDATED,
|
|
@@ -11,15 +11,31 @@ import {
|
|
|
11
11
|
ZONE_REGISTRY_UPDATED,
|
|
12
12
|
} from "../helpers";
|
|
13
13
|
|
|
14
|
-
export function
|
|
14
|
+
export function EventsService({ event }: TServiceParams): HassEventsService {
|
|
15
15
|
return {
|
|
16
|
-
onAreaRegistryUpdate: (callback: SimpleCallback) =>
|
|
17
|
-
|
|
18
|
-
event.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
onAreaRegistryUpdate: (callback: SimpleCallback) => {
|
|
17
|
+
event.on(AREA_REGISTRY_UPDATED, callback);
|
|
18
|
+
return is.removeFn(() => event.removeListener(AREA_REGISTRY_UPDATED, callback));
|
|
19
|
+
},
|
|
20
|
+
onDeviceRegistryUpdate: (callback: SimpleCallback) => {
|
|
21
|
+
event.on(DEVICE_REGISTRY_UPDATED, callback);
|
|
22
|
+
return is.removeFn(() => event.removeListener(DEVICE_REGISTRY_UPDATED, callback));
|
|
23
|
+
},
|
|
24
|
+
onEntityRegistryUpdate: (callback: SimpleCallback) => {
|
|
25
|
+
event.on(ENTITY_REGISTRY_UPDATED, callback);
|
|
26
|
+
return is.removeFn(() => event.removeListener(ENTITY_REGISTRY_UPDATED, callback));
|
|
27
|
+
},
|
|
28
|
+
onFloorRegistryUpdate: (callback: SimpleCallback) => {
|
|
29
|
+
event.on(FLOOR_REGISTRY_UPDATED, callback);
|
|
30
|
+
return is.removeFn(() => event.removeListener(FLOOR_REGISTRY_UPDATED, callback));
|
|
31
|
+
},
|
|
32
|
+
onLabelRegistryUpdate: (callback: SimpleCallback) => {
|
|
33
|
+
event.on(LABEL_REGISTRY_UPDATED, callback);
|
|
34
|
+
return is.removeFn(() => event.removeListener(LABEL_REGISTRY_UPDATED, callback));
|
|
35
|
+
},
|
|
36
|
+
onZoneRegistryUpdate: (callback: SimpleCallback) => {
|
|
37
|
+
event.on(ZONE_REGISTRY_UPDATED, callback);
|
|
38
|
+
return is.removeFn(() => event.removeListener(ZONE_REGISTRY_UPDATED, callback));
|
|
39
|
+
},
|
|
24
40
|
};
|
|
25
41
|
}
|
|
@@ -89,7 +89,7 @@ export function FetchInternals({ logger, context: parentContext }: TServiceParam
|
|
|
89
89
|
...fetchWith
|
|
90
90
|
}: Partial<FetchArguments<BODY>>) {
|
|
91
91
|
const contentType = is.object(body) ? { "Content-Type": "application/json" } : {};
|
|
92
|
-
const result = await
|
|
92
|
+
const result = await globalThis.fetch(fetchCreateUrl(fetchWith), {
|
|
93
93
|
body: is.object(body) ? JSON.stringify(body) : body,
|
|
94
94
|
headers: {
|
|
95
95
|
...contentType,
|