Fix consumers history chart breaking on double-loading

This commit is contained in:
Michael Zanetti 2022-03-21 14:50:25 +01:00
parent f59cb6385c
commit 909b176264
5 changed files with 11 additions and 6 deletions

View File

@ -259,7 +259,7 @@ void EnergyLogs::fetchLogs()
if (!m_endTime.isNull()) {
params.insert("to", m_endTime.toSecsSinceEpoch());
}
qCDebug(dcEnergyLogs()) << "Fetching energy logs" << params;
qCDebug(dcEnergyLogs()) << this << "Fetching energy logs" << params;
m_engine->jsonRpcClient()->sendCommand("Energy.Get" + logsName(), params, this, "getLogsResponse");
}

View File

@ -28,7 +28,7 @@ StatsBase {
}
function update() {
if (engine.thingManager.fetchingData || engine.tagsManager.busy) {
if (engine.thingManager.fetchingData || engine.tagsManager.busy || selectionTabs.currentValue === undefined) {
return
}
powerLogs.loadingInhibited = true

View File

@ -28,6 +28,14 @@ Item {
thingIds: []
loadingInhibited: thingIds.length === 0
onModelReset: {
for (var i = 0; i < consumers.count; i++) {
var consumer = consumers.get(i);
var series = d.thingsSeriesMap[consumer.id];
series.upperSeries.clear()
}
}
onEntriesAdded: {
var thingValues = ({})
var timestamp = entries[0].timestamp
@ -128,7 +136,6 @@ Item {
series.borderWidth = 0;
series.borderColor = series.color
// print("Adding thingId series", thing.id, thing.name)
var map = d.thingsSeriesMap
map[thing.id] = series
d.thingsSeriesMap = map

View File

@ -155,8 +155,7 @@ ChartView {
font: Style.extraSmallFont
}
Label {
color: d.thingsColorMap[consumer]
color: d.thingsColorMap.hasOwnProperty(consumer) ? d.thingsColorMap[consumer] : "transparent"
text: "%1 %2"
.arg((consumerDelegate.value / (consumerDelegate.value > 1000 ? 1000 : 1)).toFixed(1))
.arg(consumerDelegate.value > 1000 ? "kWh" : "W")

View File

@ -330,7 +330,6 @@ Item {
property double translatedValue: value / (translate ? 1000 : 1)
text: qsTr("To battery: %1 %2").arg(translatedValue.toFixed(2)).arg(translate ? "kW" : "W")
font: Style.extraSmallFont
onValueChanged: print("value:", value, "Upper:", storageUpperSeries.at(toolTip.seriesIndex).y, "lower:", lowerSeries.at(toolTip.seriesIndex).y)
}
}
RowLayout {