From b9887d33d6ec2fab1fbc3dacdb093f37e4955279 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 1 Nov 2022 12:43:55 +0100 Subject: [PATCH] Fix energy chargs when DST chages --- nymea-app/ui/mainviews/energy/ConsumerStats.qml | 11 ++++------- nymea-app/ui/mainviews/energy/ConsumersHistory.qml | 6 ------ nymea-app/ui/mainviews/energy/ConsumersPieChart.qml | 3 --- nymea-app/ui/mainviews/energy/EnergySettingsPage.qml | 1 - nymea-app/ui/mainviews/energy/PowerBalanceStats.qml | 7 ------- .../energy/PowerConsumptionBalanceHistory.qml | 4 ---- .../energy/PowerProductionBalanceHistory.qml | 2 -- nymea-app/ui/mainviews/energy/StatsBase.qml | 12 +++++++++--- 8 files changed, 13 insertions(+), 33 deletions(-) diff --git a/nymea-app/ui/mainviews/energy/ConsumerStats.qml b/nymea-app/ui/mainviews/energy/ConsumerStats.qml index 56f14de4..ca5db828 100644 --- a/nymea-app/ui/mainviews/energy/ConsumerStats.qml +++ b/nymea-app/ui/mainviews/energy/ConsumerStats.qml @@ -56,7 +56,6 @@ StatsBase { onFetchingDataChanged: { if (!fetchingData) { - print("Logs fetched") d.fetchPending = false } } @@ -64,7 +63,7 @@ StatsBase { Repeater { id: consumersRepeater - model: root.consumers + model: !engine.thingManager.fetchingData && !engine.tagsManager.busy ? root.consumers : null onCountChanged: { if (count == root.consumers.count) { logsLoader.fetchLogs(); @@ -240,7 +239,6 @@ StatsBase { } } - print("oldestEntry", new Date(oldestEntry), haveItems) if (!haveItems || oldestEntry >= d.endTime.getTime()) { return 0.5 } @@ -284,10 +282,8 @@ StatsBase { categories: { var ret = [] - print("Updating categories from", d.config.startTime()) for (var i = 0; i < d.config.count; i++) { var timestamp = root.calculateTimestamp(d.config.startTime(), d.config.sampleRate, d.startOffset + i); - print("*** adding", timestamp, d.startOffset, i) ret.push(d.config.toLabel(timestamp)) } return ret; @@ -472,8 +468,9 @@ StatsBase { id: toolTipModel property var entries: { var unsorted = [] - for (var i = 0; i < consumers.count; i++) { - var consumer = consumers.get(i) + for (var i = 0; i < consumersRepeater.count; i++) { + var consumerDelegate = consumersRepeater.itemAt(i) + var consumer = consumerDelegate.thing var entry = { name: consumer.name, value: consumersRepeater.itemAt(i).barSet.at(toolTip.idx).toFixed(2), diff --git a/nymea-app/ui/mainviews/energy/ConsumersHistory.qml b/nymea-app/ui/mainviews/energy/ConsumersHistory.qml index ac24a059..41ec4758 100644 --- a/nymea-app/ui/mainviews/energy/ConsumersHistory.qml +++ b/nymea-app/ui/mainviews/energy/ConsumersHistory.qml @@ -345,7 +345,6 @@ Item { } onCountChanged: { - print("***** count changed", count, "total:", consumers.count) if (count == consumers.count) { d.update(); } @@ -416,12 +415,7 @@ Item { thingId: consumerDelegate.thing.id loader: logsLoader - Component.onCompleted: print("thingpowerlogs completed") - - onLoadingInhibitedChanged: print("Loading...", consumerDelegate.thing.name) - onEntriesAdded: { - print("Thing entries added", consumerDelegate.thing.name, index, entries.length) addTimer.addEntries(index, entries) } diff --git a/nymea-app/ui/mainviews/energy/ConsumersPieChart.qml b/nymea-app/ui/mainviews/energy/ConsumersPieChart.qml index 48e43e82..db8de374 100644 --- a/nymea-app/ui/mainviews/energy/ConsumersPieChart.qml +++ b/nymea-app/ui/mainviews/energy/ConsumersPieChart.qml @@ -72,9 +72,7 @@ ChartView { function updateConsumers() { root.animationOptions = ChartView.NoAnimation - print("clearing consumers pie chart", consumersBalanceSeries.count) consumersBalanceSeries.clear(); - print("cleared consumers pie chart") if (engine.thingManager.fetchingData) { return; @@ -100,7 +98,6 @@ ChartView { if (root.rootMeter) { var unknownConsumption = Math.max(0, energyManager.currentPowerConsumption - consumersSummation) - print("Unknown consumption:", unknownConsumption, "consumption balance", energyManager.currentPowerConsumption, "consumers summation:", consumersSummation) d.unknownSlice = consumersBalanceSeries.append(qsTr("Unknown"), unknownConsumption) d.unknownSlice.color = Style.gray d.unknownSlice.borderColor = Style.gray diff --git a/nymea-app/ui/mainviews/energy/EnergySettingsPage.qml b/nymea-app/ui/mainviews/energy/EnergySettingsPage.qml index 57f7bc19..df6bd541 100644 --- a/nymea-app/ui/mainviews/energy/EnergySettingsPage.qml +++ b/nymea-app/ui/mainviews/energy/EnergySettingsPage.qml @@ -50,7 +50,6 @@ SettingsPageBase { textRole: "name" currentIndex: rootMeterProxy.indexOf(rootMeterProxy.getThing(energyManager.rootMeterId)) - Component.onCompleted: print("root meter id:", energyManager.rootMeterId) onActivated: { energyManager.setRootMeterId(rootMeterProxy.get(index).id) } diff --git a/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml b/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml index 3fe7ed75..9b291389 100644 --- a/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml +++ b/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml @@ -35,13 +35,8 @@ StatsBase { onConfigChanged: valueAxis.max = 1 onStartOffsetChanged: { - print("start offset changed", startOffset) -// print("updating because of offset change. fetchingData", powerBalanceLogs.fetchingData, "fetchPending", d.fetchPending) refresh() } - onStartTimeChanged: { - print("start time changed", startTime) - } function refresh() { if (powerBalanceLogs.loadingInhibited) { @@ -156,7 +151,6 @@ StatsBase { onFetchingDataChanged: { if (!fetchingData) { - print("Logs fetched") d.fetchPending = false d.refresh() } @@ -457,7 +451,6 @@ StatsBase { property int idx: visible ? Math.min(d.config.count -1, Math.max(0, Math.ceil(mouseArea.mouseX * d.config.count / mouseArea.width) - 1)) : 0 property date timestamp: root.calculateTimestamp(d.config.startTime(), d.config.sampleRate, d.startOffset + idx) - onTimestampChanged: print("idx changed", idx, "timestamp", timestamp) visible: (mouseArea.containsMouse || mouseArea.tooltipping) && !mouseArea.dragging diff --git a/nymea-app/ui/mainviews/energy/PowerConsumptionBalanceHistory.qml b/nymea-app/ui/mainviews/energy/PowerConsumptionBalanceHistory.qml index 5e3db999..588c39c0 100644 --- a/nymea-app/ui/mainviews/energy/PowerConsumptionBalanceHistory.qml +++ b/nymea-app/ui/mainviews/energy/PowerConsumptionBalanceHistory.qml @@ -33,14 +33,12 @@ Item { readonly property var startTime: { var date = new Date(fixTime(now)); date.setTime(date.getTime() - (range * 60 * 1000)); - print("setting starttime to", date, range) return date; } readonly property var endTime: { var date = new Date(fixTime(now)); date.setTime(date.getTime()) - print("setting endtime to", date, range) return date; } @@ -476,7 +474,6 @@ Item { var totalTime = d.endTime.getTime() - d.startTime.getTime() // dragDelta : timeDelta = width : totalTime var timeDelta = dragDelta * totalTime / mouseArea.width - print("dragging", dragDelta, totalTime, mouseArea.width) d.now = new Date(Math.min(new Date(), new Date(startDatetime.getTime() + timeDelta))) } @@ -485,7 +482,6 @@ Item { var totalTime = d.endTime.getTime() - d.startTime.getTime() // pixelDelta : timeDelta = width : totalTime var timeDelta = wheel.pixelDelta.x * totalTime / mouseArea.width - print("wheeling", wheel.pixelDelta.x, totalTime, mouseArea.width) d.now = new Date(Math.min(new Date(), new Date(startDatetime.getTime() - timeDelta))) wheelStopTimer.restart() } diff --git a/nymea-app/ui/mainviews/energy/PowerProductionBalanceHistory.qml b/nymea-app/ui/mainviews/energy/PowerProductionBalanceHistory.qml index 7064a652..8b594aab 100644 --- a/nymea-app/ui/mainviews/energy/PowerProductionBalanceHistory.qml +++ b/nymea-app/ui/mainviews/energy/PowerProductionBalanceHistory.qml @@ -467,7 +467,6 @@ Item { var totalTime = d.endTime.getTime() - d.startTime.getTime() // dragDelta : timeDelta = width : totalTime var timeDelta = dragDelta * totalTime / mouseArea.width - print("dragging", dragDelta, totalTime, mouseArea.width) d.now = new Date(Math.min(new Date(), new Date(startDatetime.getTime() + timeDelta))) } @@ -476,7 +475,6 @@ Item { var totalTime = d.endTime.getTime() - d.startTime.getTime() // pixelDelta : timeDelta = width : totalTime var timeDelta = wheel.pixelDelta.x * totalTime / mouseArea.width - print("wheeling", wheel.pixelDelta.x, totalTime, mouseArea.width) d.now = new Date(Math.min(new Date(), new Date(startDatetime.getTime() - timeDelta))) wheelStopTimer.restart() } diff --git a/nymea-app/ui/mainviews/energy/StatsBase.qml b/nymea-app/ui/mainviews/energy/StatsBase.qml index 7f276f68..3d5188a6 100644 --- a/nymea-app/ui/mainviews/energy/StatsBase.qml +++ b/nymea-app/ui/mainviews/energy/StatsBase.qml @@ -64,10 +64,16 @@ Item { function calculateTimestamp(baseTime, sampleRate, offset) { var timestamp = new Date(baseTime); - if (sampleRate === EnergyLogs.SampleRate1Month) { - timestamp.setMonth(baseTime.getMonth() + offset) - } else if (sampleRate === EnergyLogs.SampleRate1Year) { + if (sampleRate === EnergyLogs.SampleRate1Year) { timestamp.setFullYear(baseTime.getFullYear() + offset) + } else if (sampleRate === EnergyLogs.SampleRate1Month) { + timestamp.setMonth(baseTime.getMonth() + offset) + } else if (sampleRate === EnergyLogs.SampleRate1Week) { + timestamp.setDate(baseTime.getDate() + offset * 7) + } else if (sampleRate === EnergyLogs.SampleRate1Day) { + timestamp.setDate(baseTime.getDate() + offset) + } else if (sampleRate === EnergyLogs.SampleRate1Hour) { + timestamp.setHours(timestamp.getHours() + offset) } else { timestamp.setTime(baseTime.getTime() + (sampleRate * 60000 * offset)) }