mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-31 21:17:47 +00:00
avoid downloading the whole entity registry again as well
This commit is contained in:
parent
c636eacc51
commit
23ba92e4ad
@ -11,10 +11,8 @@ import {
|
|||||||
} from "date-fns/esm";
|
} from "date-fns/esm";
|
||||||
import { Collection, getCollection } from "home-assistant-js-websocket";
|
import { Collection, getCollection } from "home-assistant-js-websocket";
|
||||||
import { groupBy } from "../common/util/group-by";
|
import { groupBy } from "../common/util/group-by";
|
||||||
import { subscribeOne } from "../common/util/subscribe-one";
|
|
||||||
import { HomeAssistant } from "../types";
|
import { HomeAssistant } from "../types";
|
||||||
import { ConfigEntry, getConfigEntries } from "./config_entries";
|
import { ConfigEntry, getConfigEntries } from "./config_entries";
|
||||||
import { subscribeEntityRegistry } from "./entity_registry";
|
|
||||||
import {
|
import {
|
||||||
fetchStatistics,
|
fetchStatistics,
|
||||||
getStatisticMetadata,
|
getStatisticMetadata,
|
||||||
@ -341,9 +339,8 @@ const getEnergyData = async (
|
|||||||
end?: Date,
|
end?: Date,
|
||||||
compare?: boolean
|
compare?: boolean
|
||||||
): Promise<EnergyData> => {
|
): Promise<EnergyData> => {
|
||||||
const [configEntries, entityRegistryEntries, info] = await Promise.all([
|
const [configEntries, info] = await Promise.all([
|
||||||
getConfigEntries(hass, { domain: "co2signal" }),
|
getConfigEntries(hass, { domain: "co2signal" }),
|
||||||
subscribeOne(hass.connection, subscribeEntityRegistry),
|
|
||||||
getEnergyInfo(hass),
|
getEnergyInfo(hass),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -352,15 +349,15 @@ const getEnergyData = async (
|
|||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
let co2SignalEntity: string | undefined;
|
let co2SignalEntity: string | undefined;
|
||||||
|
|
||||||
if (co2SignalConfigEntry) {
|
if (co2SignalConfigEntry) {
|
||||||
for (const entry of entityRegistryEntries) {
|
for (const entityId of Object.keys(hass.entities)) {
|
||||||
if (entry.config_entry_id !== co2SignalConfigEntry.entry_id) {
|
const entity = hass.entities[entityId];
|
||||||
|
if (entity.platform !== "co2signal") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The integration offers 2 entities. We want the % one.
|
// The integration offers 2 entities. We want the % one.
|
||||||
const co2State = hass.states[entry.entity_id];
|
const co2State = hass.states[entityId];
|
||||||
if (!co2State || co2State.attributes.unit_of_measurement !== "%") {
|
if (!co2State || co2State.attributes.unit_of_measurement !== "%") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user