Compare commits

..
2 changed files with 12 additions and 42 deletions
+12 -41
View File
@@ -193,12 +193,6 @@ export interface EnergyPreferencesValidation {
device_consumption: EnergyValidationIssue[][];
}
export interface EnergyInfoAndCO2Signal {
energyInfo: EnergyInfo;
co2SignalEntity: string | undefined;
co2SignalConfigEntry: ConfigEntry | undefined;
}
export const getEnergyInfo = (hass: HomeAssistant) =>
hass.callWS<EnergyInfo>({
type: "energy/info",
@@ -338,9 +332,13 @@ export const getReferencedStatisticIds = (
return statIDs;
};
const getEnergyInfoAndCO2Signal = async (
hass: HomeAssistant
): Promise<EnergyInfoAndCO2Signal> => {
const getEnergyData = async (
hass: HomeAssistant,
prefs: EnergyPreferences,
start: Date,
end?: Date,
compare?: boolean
): Promise<EnergyData> => {
const [configEntries, info] = await Promise.all([
getConfigEntries(hass, { domain: "co2signal" }),
getEnergyInfo(hass),
@@ -368,24 +366,6 @@ const getEnergyInfoAndCO2Signal = async (
}
}
return <EnergyInfoAndCO2Signal>{
energyInfo: info,
co2SignalEntity: co2SignalEntity,
co2SignalConfigEntry: co2SignalConfigEntry,
};
};
const getEnergyDataWithInfo = async (
hass: HomeAssistant,
energyInfoAndCO2Signal: EnergyInfoAndCO2Signal,
prefs: EnergyPreferences,
start: Date,
end?: Date,
compare?: boolean
): Promise<EnergyData> => {
const info = energyInfoAndCO2Signal.energyInfo;
const co2SignalEntity = energyInfoAndCO2Signal.co2SignalEntity;
const co2SignalConfigEntry = energyInfoAndCO2Signal.co2SignalConfigEntry;
const consumptionStatIDs: string[] = [];
for (const source of prefs.energy_sources) {
// grid source
@@ -615,9 +595,6 @@ export const getEnergyDataCollection = (
energyCollectionKeys.push(options.key);
let energyInfoAndCO2Signal: EnergyInfoAndCO2Signal | undefined;
let forceRefreshEnergyInfo = false;
const collection = getCollection<EnergyData>(
hass.connection,
key,
@@ -645,20 +622,14 @@ export const getEnergyDataCollection = (
}
nextFetch.setMinutes(20, 0, 0);
collection._refreshTimeout = window.setTimeout(() => {
forceRefreshEnergyInfo = true;
collection.refresh();
}, nextFetch.getTime() - Date.now());
collection._refreshTimeout = window.setTimeout(
() => collection.refresh(),
nextFetch.getTime() - Date.now()
);
}
if (!energyInfoAndCO2Signal || forceRefreshEnergyInfo) {
energyInfoAndCO2Signal = await getEnergyInfoAndCO2Signal(hass);
forceRefreshEnergyInfo = false;
}
return getEnergyDataWithInfo(
return getEnergyData(
hass,
energyInfoAndCO2Signal,
collection.prefs,
collection.start,
collection.end,
-1
View File
@@ -19,7 +19,6 @@ module.exports = {
"**/*.json": "js",
"**/*.css": "js",
},
compress: true,
middleware: [cors()],
plugins: rollupWDSPlugins,
};