@digital-alchemy/hass 0.3.35 → 24.6.2
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/README.md +1 -1
- package/dist/extensions/entity.extension.d.ts +41 -11
- package/dist/extensions/entity.extension.js +36 -169
- package/dist/extensions/entity.extension.js.map +1 -1
- package/dist/extensions/id-by.extension.d.ts +10 -0
- package/dist/extensions/id-by.extension.js +67 -0
- package/dist/extensions/id-by.extension.js.map +1 -0
- package/dist/extensions/index.d.ts +2 -0
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/reference.extension.d.ts +24 -0
- package/dist/extensions/reference.extension.js +117 -0
- package/dist/extensions/reference.extension.js.map +1 -0
- package/dist/extensions/websocket-api.extension.d.ts +1 -1
- package/dist/extensions/websocket-api.extension.js +1 -1
- package/dist/hass.module.d.ts +10 -0
- package/dist/hass.module.js +10 -0
- package/dist/hass.module.js.map +1 -1
- package/dist/testing/id-by.spec.js +148 -0
- package/dist/testing/id-by.spec.js.map +1 -0
- package/dist/testing/ref-by.spec.js +139 -0
- package/dist/testing/ref-by.spec.js.map +1 -0
- package/package.json +10 -10
- package/dist/e2e/app/entities.d.ts +0 -29
- package/dist/e2e/app/entities.js +0 -21
- package/dist/e2e/app/entities.js.map +0 -1
- package/dist/e2e/app/main.d.ts +0 -10
- package/dist/e2e/app/main.js +0 -15
- package/dist/e2e/app/main.js.map +0 -1
- package/dist/e2e/area.spec.js +0 -99
- package/dist/e2e/area.spec.js.map +0 -1
- package/dist/e2e/call-proxy.spec.js +0 -57
- package/dist/e2e/call-proxy.spec.js.map +0 -1
- package/dist/e2e/device.spec.d.ts +0 -1
- package/dist/e2e/device.spec.js +0 -27
- package/dist/e2e/device.spec.js.map +0 -1
- package/dist/e2e/entity.spec.d.ts +0 -1
- package/dist/e2e/entity.spec.js +0 -328
- package/dist/e2e/entity.spec.js.map +0 -1
- package/dist/e2e/fetch.spec.d.ts +0 -1
- package/dist/e2e/fetch.spec.js +0 -79
- package/dist/e2e/fetch.spec.js.map +0 -1
- package/dist/e2e/floor.spec.d.ts +0 -1
- package/dist/e2e/floor.spec.js +0 -81
- package/dist/e2e/floor.spec.js.map +0 -1
- package/dist/e2e/label.spec.d.ts +0 -1
- package/dist/e2e/label.spec.js +0 -82
- package/dist/e2e/label.spec.js.map +0 -1
- package/dist/e2e/utils.d.ts +0 -2
- package/dist/e2e/utils.js +0 -7
- package/dist/e2e/utils.js.map +0 -1
- /package/dist/{e2e/area.spec.d.ts → testing/id-by.spec.d.ts} +0 -0
- /package/dist/{e2e/call-proxy.spec.d.ts → testing/ref-by.spec.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
This repository contains generic extensions for interacting with Home Assistant, including websocket & REST API adapters, entity & event management, backup workflows, and more.
|
|
8
8
|
|
|
9
|
-
- Extended docs
|
|
9
|
+
- [Extended docs](https://docs.digital-alchemy.app)
|
|
10
10
|
- [Discord](https://discord.gg/JkZ35Gv97Y)
|
|
11
11
|
|
|
12
12
|
## ⭐ Features
|
|
@@ -1,37 +1,63 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { TServiceParams } from "@digital-alchemy/core";
|
|
2
|
-
import
|
|
3
|
+
import EventEmitter from "events";
|
|
4
|
+
import { ByIdProxy, EditLabelOptions, ENTITY_STATE, EntityHistoryDTO, EntityHistoryResult, EntityRegistryItem, PICK_ENTITY, TAreaId, TDeviceId, TFloorId, TLabelId, TPlatformId, TRawDomains } from "..";
|
|
3
5
|
export declare const ENTITY_UPDATE_RECEIVER: unique symbol;
|
|
4
6
|
export declare function EntityManager({ logger, hass, config, lifecycle, event, context, internal, }: TServiceParams): {
|
|
7
|
+
_entityEvents: () => EventEmitter<[never]>;
|
|
5
8
|
/**
|
|
6
9
|
* Retrieve a list of entities listed as being part of a certain area
|
|
7
10
|
* Tracks area updates at runtime
|
|
11
|
+
*
|
|
12
|
+
* @deprecated use `hass.idBy.area` - to be remove 2024-08
|
|
8
13
|
*/
|
|
9
|
-
byArea: <AREA extends TAreaId,
|
|
14
|
+
byArea: <AREA extends TAreaId, DOMAINS extends TRawDomains = TRawDomains>(area: AREA, ...domains: DOMAINS[]) => Extract<{
|
|
15
|
+
_living_room: "switch.living_room_mood_lights";
|
|
16
|
+
_kitchen: "switch.kitchen_cabinets";
|
|
17
|
+
_bedroom: "switch.bedroom_lamp" | "light.bedroom_ceiling_fan";
|
|
18
|
+
}[`_${AREA}`], PICK_ENTITY<DOMAINS>>[];
|
|
10
19
|
/**
|
|
11
20
|
* Retrieve a list of entities associated with a particular device id
|
|
21
|
+
*
|
|
22
|
+
* @deprecated use `hass.idBy.device` - to be remove 2024-08
|
|
12
23
|
*/
|
|
13
|
-
byDevice: <DEVICE extends TDeviceId,
|
|
24
|
+
byDevice: <DEVICE extends TDeviceId, DOMAINS_1 extends TRawDomains = TRawDomains>(device: DEVICE, ...domains: DOMAINS_1[]) => Extract<{
|
|
25
|
+
_308e39cf50a9fc6c30b4110724ed1f2e: "sensor.sun_next_dawn" | "sensor.sun_next_dusk" | "sensor.sun_next_midnight" | "sensor.sun_next_noon" | "sensor.sun_next_rising" | "sensor.sun_next_setting" | "sensor.sun_solar_elevation" | "sensor.sun_solar_azimuth" | "sensor.sun_solar_rising";
|
|
26
|
+
_e58841e47cf86097b310316e55d6bb12: "calendar.united_states_tx";
|
|
27
|
+
}[`_${DEVICE}`], PICK_ENTITY<DOMAINS_1>>[];
|
|
14
28
|
/**
|
|
15
29
|
* Retrieve a list of entities that have areas associated with a certain floor
|
|
30
|
+
*
|
|
31
|
+
* @deprecated use `hass.idBy.floor` - to be remove 2024-08
|
|
16
32
|
*/
|
|
17
|
-
byFloor: <FLOOR extends TFloorId,
|
|
33
|
+
byFloor: <FLOOR extends TFloorId, DOMAINS_2 extends TRawDomains = TRawDomains>(floor: FLOOR, ...domains: DOMAINS_2[]) => Extract<{
|
|
34
|
+
_downstairs: "switch.kitchen_cabinets" | "switch.living_room_mood_lights";
|
|
35
|
+
_upstairs: "switch.bedroom_lamp";
|
|
36
|
+
}[`_${FLOOR}`], PICK_ENTITY<DOMAINS_2>>[];
|
|
18
37
|
/**
|
|
19
38
|
* Retrieves a proxy object for a specified entity. This proxy object
|
|
20
39
|
* provides current values and event hooks for the entity.
|
|
21
40
|
*/
|
|
22
|
-
byId: <
|
|
41
|
+
byId: <ID extends PICK_ENTITY>(id: ID) => ByIdProxy<ID>;
|
|
23
42
|
/**
|
|
24
43
|
* Retrieve a list of entities that have a given label
|
|
44
|
+
*
|
|
45
|
+
* @deprecated use `hass.idBy.label` - to be remove 2024-08
|
|
25
46
|
*/
|
|
26
|
-
byLabel: <LABEL extends TLabelId,
|
|
47
|
+
byLabel: <LABEL extends TLabelId, DOMAINS_3 extends TRawDomains = TRawDomains>(label: LABEL, ...domains: DOMAINS_3[]) => Extract<{
|
|
48
|
+
_synapse: "binary_sensor.hass_e2e_online" | "sensor.magic" | "binary_sensor.toggles" | "switch.bedroom_lamp" | "switch.kitchen_cabinets" | "switch.living_room_mood_lights" | "switch.porch_light";
|
|
49
|
+
_test: never;
|
|
50
|
+
}[`_${LABEL}`], PICK_ENTITY<DOMAINS_3>>[];
|
|
27
51
|
/**
|
|
28
52
|
* search out ids by platform
|
|
53
|
+
*
|
|
54
|
+
* @deprecated use `hass.idBy.platform` - to be remove 2024-08
|
|
29
55
|
*/
|
|
30
|
-
byPlatform: <PLATFORM extends TPlatformId,
|
|
56
|
+
byPlatform: <PLATFORM extends TPlatformId, DOMAINS_4 extends TRawDomains = TRawDomains>(platform: PLATFORM, ...domains: DOMAINS_4[]) => PICK_ENTITY[];
|
|
31
57
|
/**
|
|
32
58
|
* looks up entity_id reference by the unique id in the registry, and returns the entity reference
|
|
33
59
|
*/
|
|
34
|
-
byUniqueId: <
|
|
60
|
+
byUniqueId: <ID_1 extends PICK_ENTITY>(unique_id: string) => ByIdProxy<ID_1>;
|
|
35
61
|
/**
|
|
36
62
|
* Internal library use only
|
|
37
63
|
*/
|
|
@@ -40,12 +66,12 @@ export declare function EntityManager({ logger, hass, config, lifecycle, event,
|
|
|
40
66
|
* Lists all entities within a specified domain. This is useful for
|
|
41
67
|
* domain-specific operations or queries.
|
|
42
68
|
*/
|
|
43
|
-
findByDomain: <
|
|
69
|
+
findByDomain: <DOMAIN extends TRawDomains>(domain: DOMAIN) => ByIdProxy<PICK_ENTITY>[];
|
|
44
70
|
/**
|
|
45
71
|
* Retrieves the current state of a given entity. This method returns
|
|
46
72
|
* raw data, offering a direct view of the entity's state at a given moment.
|
|
47
73
|
*/
|
|
48
|
-
getCurrentState: <
|
|
74
|
+
getCurrentState: <ENTITY_ID extends PICK_ENTITY>(entity_id: ENTITY_ID) => NonNullable<ENTITY_STATE<ENTITY_ID>>;
|
|
49
75
|
/**
|
|
50
76
|
* Retrieves the historical state data of entities over a specified time
|
|
51
77
|
* period. Useful for analysis or tracking changes over time.
|
|
@@ -58,10 +84,14 @@ export declare function EntityManager({ logger, hass, config, lifecycle, event,
|
|
|
58
84
|
* and quick reference to all available entities.
|
|
59
85
|
*/
|
|
60
86
|
listEntities: () => PICK_ENTITY[];
|
|
87
|
+
/**
|
|
88
|
+
* Returns the previous entity state (not a proxy)
|
|
89
|
+
*/
|
|
90
|
+
previousState: (entity_id: PICK_ENTITY) => ENTITY_STATE<PICK_ENTITY>;
|
|
61
91
|
/**
|
|
62
92
|
* Retrieve the raw entity data for this point in time
|
|
63
93
|
*/
|
|
64
|
-
raw: (
|
|
94
|
+
raw: (entity_id: PICK_ENTITY) => ENTITY_STATE<PICK_ENTITY>;
|
|
65
95
|
/**
|
|
66
96
|
* Initiates a refresh of the current entity states. Useful for ensuring
|
|
67
97
|
* synchronization with the latest state data from Home Assistant.
|
|
@@ -17,7 +17,6 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
17
17
|
* MASTER_STATE.switch.desk_light = {entity_id,state,attributes,...}
|
|
18
18
|
*/
|
|
19
19
|
let MASTER_STATE = {};
|
|
20
|
-
const ENTITY_PROXIES = new Map();
|
|
21
20
|
const PREVIOUS_STATE = new Map();
|
|
22
21
|
let lastRefresh;
|
|
23
22
|
function warnEarly(method) {
|
|
@@ -39,98 +38,6 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
39
38
|
const out = internal.utils.object.get(MASTER_STATE, entity_id) ?? {};
|
|
40
39
|
return out;
|
|
41
40
|
}
|
|
42
|
-
// #MARK:proxyGetLogic
|
|
43
|
-
function proxyGetLogic(entity, property) {
|
|
44
|
-
if (!init) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
const valid = ["state", "attributes", "last"].some(i => property.startsWith(i));
|
|
48
|
-
if (!valid) {
|
|
49
|
-
logger.error({ entity, name: proxyGetLogic, property }, `invalid property lookup`);
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
const current = getCurrentState(entity);
|
|
53
|
-
const defaultValue = (property === "state" ? undefined : {});
|
|
54
|
-
if (!current) {
|
|
55
|
-
logger.error({ defaultValue, name: entity, property }, `proxyGetLogic cannot find entity`);
|
|
56
|
-
}
|
|
57
|
-
return internal.utils.object.get(current, property) || defaultValue;
|
|
58
|
-
}
|
|
59
|
-
// #MARK: byId
|
|
60
|
-
function byId(entity_id) {
|
|
61
|
-
const entity_domain = (0, __1.domain)(entity_id);
|
|
62
|
-
if (!ENTITY_PROXIES.has(entity_id)) {
|
|
63
|
-
ENTITY_PROXIES.set(entity_id, new Proxy(getCurrentState(entity_id), {
|
|
64
|
-
// things that shouldn't be needed: this extract
|
|
65
|
-
get: (_, property) => {
|
|
66
|
-
if (property === "onUpdate") {
|
|
67
|
-
return (callback) => {
|
|
68
|
-
const removableCallback = async (a, b) => await internal.safeExec(async () => await callback(a, b, remove));
|
|
69
|
-
function remove() {
|
|
70
|
-
ENTITY_EVENTS.removeListener(entity_id, removableCallback);
|
|
71
|
-
}
|
|
72
|
-
ENTITY_EVENTS.on(entity_id, removableCallback);
|
|
73
|
-
return { remove };
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
if (property === "removeAllListeners") {
|
|
77
|
-
return function () {
|
|
78
|
-
ENTITY_EVENTS.removeAllListeners(entity_id);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
if (property === "once") {
|
|
82
|
-
return (callback) => ENTITY_EVENTS.once(entity_id, async (a, b) => callback(a, b));
|
|
83
|
-
}
|
|
84
|
-
if (property === "entity_id") {
|
|
85
|
-
return entity_id;
|
|
86
|
-
}
|
|
87
|
-
if (property === "previous") {
|
|
88
|
-
return PREVIOUS_STATE.get(entity_id);
|
|
89
|
-
}
|
|
90
|
-
if (property === "nextState") {
|
|
91
|
-
return async () => await new Promise(done => {
|
|
92
|
-
ENTITY_EVENTS.once(entity_id, (entity) => done(entity));
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if (hass.configure.isService(entity_domain, property)) {
|
|
96
|
-
return async function (data = {}) {
|
|
97
|
-
// @ts-expect-error it's fine
|
|
98
|
-
return await hass.call[entity_domain][property]({
|
|
99
|
-
entity_id,
|
|
100
|
-
...data,
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
return proxyGetLogic(entity_id, property);
|
|
105
|
-
},
|
|
106
|
-
set(_, property, value) {
|
|
107
|
-
if (property === "state") {
|
|
108
|
-
setImmediate(async () => {
|
|
109
|
-
logger.debug({ entity_id, state: value }, `emitting set state via rest`);
|
|
110
|
-
await hass.fetch.updateEntity(entity_id, {
|
|
111
|
-
state: value,
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
if (property === "attributes") {
|
|
117
|
-
if (!core_1.is.object(value)) {
|
|
118
|
-
logger.error(`can only provide objects as attributes`);
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
setImmediate(async () => {
|
|
122
|
-
logger.debug({ attributes: Object.keys(value), entity_id }, `updating attributes via rest`);
|
|
123
|
-
await hass.fetch.updateEntity(entity_id, { attributes: value });
|
|
124
|
-
});
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
logger.error({ entity_id, property }, `cannot set property on entity`);
|
|
128
|
-
return false;
|
|
129
|
-
},
|
|
130
|
-
}));
|
|
131
|
-
}
|
|
132
|
-
return ENTITY_PROXIES.get(entity_id);
|
|
133
|
-
}
|
|
134
41
|
// #MARK: history
|
|
135
42
|
async function history(payload) {
|
|
136
43
|
logger.trace({ payload }, `looking up entity history`);
|
|
@@ -160,7 +67,7 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
160
67
|
}
|
|
161
68
|
// #MARK: findByDomain
|
|
162
69
|
function findByDomain(domain) {
|
|
163
|
-
return Object.keys(MASTER_STATE[domain] ?? {}).map(i =>
|
|
70
|
+
return Object.keys(MASTER_STATE[domain] ?? {}).map(i => hass.refBy.id(`${domain}.${i}`));
|
|
164
71
|
}
|
|
165
72
|
// #MARK: refresh
|
|
166
73
|
async function refresh(recursion = core_1.START) {
|
|
@@ -237,17 +144,19 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
237
144
|
await hass.entity.refresh();
|
|
238
145
|
});
|
|
239
146
|
async function AddLabel({ entity, label }) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
147
|
+
await (0, core_1.each)([entity].flat(), async (entity) => {
|
|
148
|
+
const current = await EntityGet(entity);
|
|
149
|
+
if (current?.labels?.includes(label)) {
|
|
150
|
+
logger.debug({ name: entity }, `already has label {%s}`, label);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
return await new Promise(async (done) => {
|
|
154
|
+
event.once(__1.ENTITY_REGISTRY_UPDATED, done);
|
|
155
|
+
await hass.socket.sendMessage({
|
|
156
|
+
entity_id: entity,
|
|
157
|
+
labels: [...current.labels, label],
|
|
158
|
+
type: "config/entity_registry/update",
|
|
159
|
+
});
|
|
251
160
|
});
|
|
252
161
|
});
|
|
253
162
|
}
|
|
@@ -311,63 +220,6 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
311
220
|
}
|
|
312
221
|
return hass.entity.byId(entity.entity_id);
|
|
313
222
|
}
|
|
314
|
-
// #MARK: byLabel
|
|
315
|
-
function byLabel(label, ...domains) {
|
|
316
|
-
warnEarly("byLabel");
|
|
317
|
-
const raw = hass.entity.registry.current.filter(i => i.labels.includes(label));
|
|
318
|
-
if (core_1.is.empty(domains)) {
|
|
319
|
-
return raw.map(i => i.entity_id);
|
|
320
|
-
}
|
|
321
|
-
return raw
|
|
322
|
-
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
323
|
-
.map(i => i.entity_id);
|
|
324
|
-
}
|
|
325
|
-
// #MARK: byArea
|
|
326
|
-
function byArea(area, ...domains) {
|
|
327
|
-
warnEarly("byArea");
|
|
328
|
-
const raw = hass.entity.registry.current.filter(i => i.area_id === area);
|
|
329
|
-
if (core_1.is.empty(domains)) {
|
|
330
|
-
return raw.map(i => i.entity_id);
|
|
331
|
-
}
|
|
332
|
-
return raw
|
|
333
|
-
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
334
|
-
.map(i => i.entity_id);
|
|
335
|
-
}
|
|
336
|
-
// #MARK: byDevice
|
|
337
|
-
function byDevice(device, ...domains) {
|
|
338
|
-
warnEarly("byDevice");
|
|
339
|
-
const raw = hass.entity.registry.current.filter(i => i.device_id === device);
|
|
340
|
-
if (core_1.is.empty(domains)) {
|
|
341
|
-
return raw.map(i => i.entity_id);
|
|
342
|
-
}
|
|
343
|
-
return raw
|
|
344
|
-
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
345
|
-
.map(i => i.entity_id);
|
|
346
|
-
}
|
|
347
|
-
// #MARK: byFloor
|
|
348
|
-
function byFloor(floor, ...domains) {
|
|
349
|
-
warnEarly("byFloor");
|
|
350
|
-
const areas = new Set(hass.area.current.filter(i => i.floor_id === floor).map(i => i.area_id));
|
|
351
|
-
const raw = hass.entity.registry.current.filter(i => areas.has(i.area_id));
|
|
352
|
-
if (core_1.is.empty(domains)) {
|
|
353
|
-
return raw.map(i => i.entity_id);
|
|
354
|
-
}
|
|
355
|
-
return raw
|
|
356
|
-
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
357
|
-
.map(i => i.entity_id);
|
|
358
|
-
}
|
|
359
|
-
// #MARK: byPlatform
|
|
360
|
-
function byPlatform(platform, ...domains) {
|
|
361
|
-
warnEarly("byPlatform");
|
|
362
|
-
const raw = hass.entity.registry.current
|
|
363
|
-
.filter(i => i.platform === platform)
|
|
364
|
-
.filter(i => i.platform === platform)
|
|
365
|
-
.map(i => i.entity_id);
|
|
366
|
-
if (core_1.is.empty(domains)) {
|
|
367
|
-
return raw;
|
|
368
|
-
}
|
|
369
|
-
return raw.filter(i => domains.includes((0, __1.domain)(i)));
|
|
370
|
-
}
|
|
371
223
|
// #MARK: RemoveEntity
|
|
372
224
|
async function RemoveEntity(entity_id) {
|
|
373
225
|
warnEarly("RemoveEntity");
|
|
@@ -381,32 +233,43 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
381
233
|
}
|
|
382
234
|
// #MARK: return object
|
|
383
235
|
return {
|
|
236
|
+
_entityEvents: () => ENTITY_EVENTS,
|
|
384
237
|
/**
|
|
385
238
|
* Retrieve a list of entities listed as being part of a certain area
|
|
386
239
|
* Tracks area updates at runtime
|
|
240
|
+
*
|
|
241
|
+
* @deprecated use `hass.idBy.area` - to be remove 2024-08
|
|
387
242
|
*/
|
|
388
|
-
byArea,
|
|
243
|
+
byArea: (area, ...domains) => hass.idBy.area(area, ...domains),
|
|
389
244
|
/**
|
|
390
245
|
* Retrieve a list of entities associated with a particular device id
|
|
246
|
+
*
|
|
247
|
+
* @deprecated use `hass.idBy.device` - to be remove 2024-08
|
|
391
248
|
*/
|
|
392
|
-
byDevice,
|
|
249
|
+
byDevice: (device, ...domains) => hass.idBy.device(device, ...domains),
|
|
393
250
|
/**
|
|
394
251
|
* Retrieve a list of entities that have areas associated with a certain floor
|
|
252
|
+
*
|
|
253
|
+
* @deprecated use `hass.idBy.floor` - to be remove 2024-08
|
|
395
254
|
*/
|
|
396
|
-
byFloor,
|
|
255
|
+
byFloor: (floor, ...domains) => hass.idBy.floor(floor, ...domains),
|
|
397
256
|
/**
|
|
398
257
|
* Retrieves a proxy object for a specified entity. This proxy object
|
|
399
258
|
* provides current values and event hooks for the entity.
|
|
400
259
|
*/
|
|
401
|
-
byId,
|
|
260
|
+
byId: (id) => hass.refBy.id(id),
|
|
402
261
|
/**
|
|
403
262
|
* Retrieve a list of entities that have a given label
|
|
263
|
+
*
|
|
264
|
+
* @deprecated use `hass.idBy.label` - to be remove 2024-08
|
|
404
265
|
*/
|
|
405
|
-
byLabel,
|
|
266
|
+
byLabel: (label, ...domains) => hass.idBy.label(label, ...domains),
|
|
406
267
|
/**
|
|
407
268
|
* search out ids by platform
|
|
269
|
+
*
|
|
270
|
+
* @deprecated use `hass.idBy.platform` - to be remove 2024-08
|
|
408
271
|
*/
|
|
409
|
-
byPlatform,
|
|
272
|
+
byPlatform: (platform, ...domains) => hass.idBy.platform(platform, ...domains),
|
|
410
273
|
/**
|
|
411
274
|
* looks up entity_id reference by the unique id in the registry, and returns the entity reference
|
|
412
275
|
*/
|
|
@@ -435,10 +298,14 @@ function EntityManager({ logger, hass, config, lifecycle, event, context, intern
|
|
|
435
298
|
* and quick reference to all available entities.
|
|
436
299
|
*/
|
|
437
300
|
listEntities,
|
|
301
|
+
/**
|
|
302
|
+
* Returns the previous entity state (not a proxy)
|
|
303
|
+
*/
|
|
304
|
+
previousState: (entity_id) => PREVIOUS_STATE.get(entity_id),
|
|
438
305
|
/**
|
|
439
306
|
* Retrieve the raw entity data for this point in time
|
|
440
307
|
*/
|
|
441
|
-
raw: (
|
|
308
|
+
raw: (entity_id) => internal.utils.object.get(MASTER_STATE, entity_id),
|
|
442
309
|
/**
|
|
443
310
|
* Initiates a refresh of the current entity states. Useful for ensuring
|
|
444
311
|
* synchronization with the latest state data from Home Assistant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.extension.js","sourceRoot":"","sources":["../../src/extensions/entity.extension.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity.extension.js","sourceRoot":"","sources":["../../src/extensions/entity.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TServiceParams } from "@digital-alchemy/core";
|
|
2
|
+
import { TAreaId, TDeviceId, TFloorId, TLabelId, TPlatformId } from "../dynamic";
|
|
3
|
+
import { PICK_FROM_AREA, PICK_FROM_DEVICE, PICK_FROM_FLOOR, PICK_FROM_LABEL } from "../helpers";
|
|
4
|
+
export declare function IDByExtension({ hass }: TServiceParams): {
|
|
5
|
+
area: <AREA extends TAreaId, DOMAIN extends import("../dynamic").TRawDomains>(area: AREA, ...domains: DOMAIN[]) => PICK_FROM_AREA<AREA, DOMAIN>[];
|
|
6
|
+
device: <DEVICE extends TDeviceId, DOMAIN_1 extends import("../dynamic").TRawDomains>(device: DEVICE, ...domains: DOMAIN_1[]) => PICK_FROM_DEVICE<DEVICE, DOMAIN_1>[];
|
|
7
|
+
floor: <FLOOR extends TFloorId, DOMAIN_2 extends import("../dynamic").TRawDomains>(floor: FLOOR, ...domains: DOMAIN_2[]) => PICK_FROM_FLOOR<FLOOR, DOMAIN_2>[];
|
|
8
|
+
label: <LABEL extends TLabelId, DOMAIN_3 extends import("../dynamic").TRawDomains>(label: LABEL, ...domains: DOMAIN_3[]) => PICK_FROM_LABEL<LABEL, DOMAIN_3>[];
|
|
9
|
+
platform: <PLATFORM extends TPlatformId, DOMAIN_4 extends import("../dynamic").TRawDomains>(platform: PLATFORM, ...domains: DOMAIN_4[]) => import("../helpers").PICK_ENTITY[];
|
|
10
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IDByExtension = void 0;
|
|
4
|
+
const core_1 = require("@digital-alchemy/core");
|
|
5
|
+
const helpers_1 = require("../helpers");
|
|
6
|
+
function IDByExtension({ hass }) {
|
|
7
|
+
// * label
|
|
8
|
+
function label(label, ...domains) {
|
|
9
|
+
hass.entity.warnEarly("label");
|
|
10
|
+
const raw = hass.entity.registry.current.filter(i => i.labels.includes(label));
|
|
11
|
+
if (core_1.is.empty(domains)) {
|
|
12
|
+
return raw.map(i => i.entity_id);
|
|
13
|
+
}
|
|
14
|
+
return raw
|
|
15
|
+
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
16
|
+
.map(i => i.entity_id);
|
|
17
|
+
}
|
|
18
|
+
// * area
|
|
19
|
+
function area(area, ...domains) {
|
|
20
|
+
hass.entity.warnEarly("area");
|
|
21
|
+
const raw = hass.entity.registry.current.filter(i => i.area_id === area);
|
|
22
|
+
if (core_1.is.empty(domains)) {
|
|
23
|
+
return raw.map(i => i.entity_id);
|
|
24
|
+
}
|
|
25
|
+
return raw
|
|
26
|
+
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
27
|
+
.map(i => i.entity_id);
|
|
28
|
+
}
|
|
29
|
+
// * device
|
|
30
|
+
function device(device, ...domains) {
|
|
31
|
+
hass.entity.warnEarly("device");
|
|
32
|
+
const raw = hass.entity.registry.current.filter(i => i.device_id === device);
|
|
33
|
+
if (core_1.is.empty(domains)) {
|
|
34
|
+
return raw.map(i => i.entity_id);
|
|
35
|
+
}
|
|
36
|
+
return raw
|
|
37
|
+
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
38
|
+
.map(i => i.entity_id);
|
|
39
|
+
}
|
|
40
|
+
// * floor
|
|
41
|
+
function floor(floor, ...domains) {
|
|
42
|
+
hass.entity.warnEarly("floor");
|
|
43
|
+
const areas = new Set(hass.area.current.filter(i => i.floor_id === floor).map(i => i.area_id));
|
|
44
|
+
const raw = hass.entity.registry.current.filter(i => areas.has(i.area_id));
|
|
45
|
+
if (core_1.is.empty(domains)) {
|
|
46
|
+
return raw.map(i => i.entity_id);
|
|
47
|
+
}
|
|
48
|
+
return raw
|
|
49
|
+
.filter(entity => domains.some(domain => core_1.is.domain(entity.entity_id, domain)))
|
|
50
|
+
.map(i => i.entity_id);
|
|
51
|
+
}
|
|
52
|
+
// * platform
|
|
53
|
+
function platform(platform, ...domains) {
|
|
54
|
+
hass.entity.warnEarly("platform");
|
|
55
|
+
const raw = hass.entity.registry.current
|
|
56
|
+
.filter(i => i.platform === platform)
|
|
57
|
+
.filter(i => i.platform === platform)
|
|
58
|
+
.map(i => i.entity_id);
|
|
59
|
+
if (core_1.is.empty(domains)) {
|
|
60
|
+
return raw;
|
|
61
|
+
}
|
|
62
|
+
return raw.filter(i => domains.includes((0, helpers_1.domain)(i)));
|
|
63
|
+
}
|
|
64
|
+
return { area, device, floor, label, platform };
|
|
65
|
+
}
|
|
66
|
+
exports.IDByExtension = IDByExtension;
|
|
67
|
+
//# sourceMappingURL=id-by.extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-by.extension.js","sourceRoot":"","sources":["../../src/extensions/id-by.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,9 @@ export * from "./device.extension";
|
|
|
6
6
|
export * from "./entity.extension";
|
|
7
7
|
export * from "./fetch-api.extension";
|
|
8
8
|
export * from "./floor.extension";
|
|
9
|
+
export * from "./id-by.extension";
|
|
9
10
|
export * from "./label.extension";
|
|
11
|
+
export * from "./reference.extension";
|
|
10
12
|
export * from "./registry.extension";
|
|
11
13
|
export * from "./websocket-api.extension";
|
|
12
14
|
export * from "./zone.extension";
|
package/dist/extensions/index.js
CHANGED
|
@@ -9,7 +9,9 @@ tslib_1.__exportStar(require("./device.extension"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("./entity.extension"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./fetch-api.extension"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./floor.extension"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./id-by.extension"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./label.extension"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./reference.extension"), exports);
|
|
13
15
|
tslib_1.__exportStar(require("./registry.extension"), exports);
|
|
14
16
|
tslib_1.__exportStar(require("./websocket-api.extension"), exports);
|
|
15
17
|
tslib_1.__exportStar(require("./zone.extension"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,iEAAuC;AACvC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,gEAAsC;AACtC,4DAAkC;AAClC,4DAAkC;AAClC,+DAAqC;AACrC,oEAA0C;AAC1C,2DAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,iEAAuC;AACvC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,gEAAsC;AACtC,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,gEAAsC;AACtC,+DAAqC;AACrC,oEAA0C;AAC1C,2DAAiC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TServiceParams } from "@digital-alchemy/core";
|
|
2
|
+
import { TAreaId, TDeviceId, TFloorId, TLabelId, TPlatformId, TRawDomains } from "../dynamic";
|
|
3
|
+
import { ByIdProxy, PICK_ENTITY } from "../helpers";
|
|
4
|
+
export declare function ReferenceExtension({ hass, logger, internal }: TServiceParams): {
|
|
5
|
+
area: <AREA extends TAreaId, DOMAINS extends TRawDomains = TRawDomains>(area: AREA, ...domains: DOMAINS[]) => ByIdProxy<Extract<{
|
|
6
|
+
_living_room: "switch.living_room_mood_lights";
|
|
7
|
+
_kitchen: "switch.kitchen_cabinets";
|
|
8
|
+
_bedroom: "switch.bedroom_lamp" | "light.bedroom_ceiling_fan";
|
|
9
|
+
}[`_${AREA}`], PICK_ENTITY<DOMAINS>>>[];
|
|
10
|
+
device: <DEVICE extends TDeviceId, DOMAINS_1 extends TRawDomains = TRawDomains>(device: DEVICE, ...domains: DOMAINS_1[]) => ByIdProxy<Extract<{
|
|
11
|
+
_308e39cf50a9fc6c30b4110724ed1f2e: "sensor.sun_next_dawn" | "sensor.sun_next_dusk" | "sensor.sun_next_midnight" | "sensor.sun_next_noon" | "sensor.sun_next_rising" | "sensor.sun_next_setting" | "sensor.sun_solar_elevation" | "sensor.sun_solar_azimuth" | "sensor.sun_solar_rising";
|
|
12
|
+
_e58841e47cf86097b310316e55d6bb12: "calendar.united_states_tx";
|
|
13
|
+
}[`_${DEVICE}`], PICK_ENTITY<DOMAINS_1>>>[];
|
|
14
|
+
floor: <FLOOR extends TFloorId, DOMAINS_2 extends TRawDomains = TRawDomains>(floor: FLOOR, ...domains: DOMAINS_2[]) => ByIdProxy<Extract<{
|
|
15
|
+
_downstairs: "switch.kitchen_cabinets" | "switch.living_room_mood_lights";
|
|
16
|
+
_upstairs: "switch.bedroom_lamp";
|
|
17
|
+
}[`_${FLOOR}`], PICK_ENTITY<DOMAINS_2>>>[];
|
|
18
|
+
id: <ENTITY_ID extends PICK_ENTITY>(entity_id: ENTITY_ID) => ByIdProxy<ENTITY_ID>;
|
|
19
|
+
label: <LABEL extends TLabelId, DOMAINS_3 extends TRawDomains = TRawDomains>(label: LABEL, ...domains: DOMAINS_3[]) => ByIdProxy<Extract<{
|
|
20
|
+
_synapse: "binary_sensor.hass_e2e_online" | "sensor.magic" | "binary_sensor.toggles" | "switch.bedroom_lamp" | "switch.kitchen_cabinets" | "switch.living_room_mood_lights" | "switch.porch_light";
|
|
21
|
+
_test: never;
|
|
22
|
+
}[`_${LABEL}`], PICK_ENTITY<DOMAINS_3>>>[];
|
|
23
|
+
platform: <PLATFORM extends TPlatformId, DOMAINS_4 extends TRawDomains = TRawDomains>(platform: PLATFORM, ...domains: DOMAINS_4[]) => ByIdProxy<PICK_ENTITY>[];
|
|
24
|
+
};
|