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()) { if (!m_endTime.isNull()) {
params.insert("to", m_endTime.toSecsSinceEpoch()); 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"); m_engine->jsonRpcClient()->sendCommand("Energy.Get" + logsName(), params, this, "getLogsResponse");
} }

View File

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

View File

@ -28,6 +28,14 @@ Item {
thingIds: [] thingIds: []
loadingInhibited: thingIds.length === 0 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: { onEntriesAdded: {
var thingValues = ({}) var thingValues = ({})
var timestamp = entries[0].timestamp var timestamp = entries[0].timestamp
@ -128,7 +136,6 @@ Item {
series.borderWidth = 0; series.borderWidth = 0;
series.borderColor = series.color series.borderColor = series.color
// print("Adding thingId series", thing.id, thing.name)
var map = d.thingsSeriesMap var map = d.thingsSeriesMap
map[thing.id] = series map[thing.id] = series
d.thingsSeriesMap = map d.thingsSeriesMap = map

View File

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

View File

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