mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-27 03:06:41 +00:00
Fix device energy bar chart (#24079)
This commit is contained in:
parent
4cfc651799
commit
5a8b1b0fd4
@ -199,7 +199,9 @@ export function fillDataGapsAndRoundCaps(datasets: BarSeriesOption[]) {
|
|||||||
const buckets = Array.from(
|
const buckets = Array.from(
|
||||||
new Set(
|
new Set(
|
||||||
datasets
|
datasets
|
||||||
.map((dataset) => dataset.data!.map((datapoint) => datapoint![0]))
|
.map((dataset) =>
|
||||||
|
dataset.data!.map((datapoint) => Number(datapoint![0]))
|
||||||
|
)
|
||||||
.flat()
|
.flat()
|
||||||
)
|
)
|
||||||
).sort((a, b) => a - b);
|
).sort((a, b) => a - b);
|
||||||
|
@ -327,12 +327,13 @@ export class HuiEnergyDevicesDetailGraphCard
|
|||||||
|
|
||||||
const untrackedConsumption: BarSeriesOption["data"] = [];
|
const untrackedConsumption: BarSeriesOption["data"] = [];
|
||||||
Object.keys(consumptionData.total).forEach((time) => {
|
Object.keys(consumptionData.total).forEach((time) => {
|
||||||
|
const ts = Number(time);
|
||||||
const value =
|
const value =
|
||||||
consumptionData.total[time] - (totalDeviceConsumption[time] || 0);
|
consumptionData.total[time] - (totalDeviceConsumption[time] || 0);
|
||||||
const dataPoint: (Date | string | number)[] = [time, value];
|
const dataPoint: number[] = [ts, value];
|
||||||
if (compare) {
|
if (compare) {
|
||||||
dataPoint[2] = dataPoint[0];
|
dataPoint[2] = dataPoint[0];
|
||||||
dataPoint[0] = compareTransform(new Date(time));
|
dataPoint[0] = compareTransform(new Date(ts)).getTime();
|
||||||
}
|
}
|
||||||
untrackedConsumption.push(dataPoint);
|
untrackedConsumption.push(dataPoint);
|
||||||
});
|
});
|
||||||
@ -377,9 +378,10 @@ export class HuiEnergyDevicesDetailGraphCard
|
|||||||
compare = false
|
compare = false
|
||||||
) {
|
) {
|
||||||
const data: BarSeriesOption[] = [];
|
const data: BarSeriesOption[] = [];
|
||||||
const compareOffset = compare
|
const compareTransform = getCompareTransform(
|
||||||
? this._start.getTime() - this._compareStart!.getTime()
|
this._start,
|
||||||
: 0;
|
this._compareStart!
|
||||||
|
);
|
||||||
|
|
||||||
devices.forEach((source, idx) => {
|
devices.forEach((source, idx) => {
|
||||||
const order = sorted_devices.indexOf(source.stat_consumption);
|
const order = sorted_devices.indexOf(source.stat_consumption);
|
||||||
@ -414,7 +416,7 @@ export class HuiEnergyDevicesDetailGraphCard
|
|||||||
const dataPoint = [point.start, point.change];
|
const dataPoint = [point.start, point.change];
|
||||||
if (compare) {
|
if (compare) {
|
||||||
dataPoint[2] = dataPoint[0];
|
dataPoint[2] = dataPoint[0];
|
||||||
dataPoint[0] += compareOffset;
|
dataPoint[0] = compareTransform(new Date(point.start)).getTime();
|
||||||
}
|
}
|
||||||
consumptionData.push(dataPoint);
|
consumptionData.push(dataPoint);
|
||||||
prevStart = point.start;
|
prevStart = point.start;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user