Smaller fixes and cleanups in the energy view
This commit is contained in:
parent
6d049101f4
commit
f161e23e0b
@ -68,7 +68,7 @@ MainViewBase {
|
||||
engine: _engine
|
||||
shownInterfaces: ["energymeter"]
|
||||
}
|
||||
readonly property Thing rootMeter: energyMeters.count > 0 ? energyMeters.get(0) : null
|
||||
readonly property Thing rootMeter: engine.thingManager.fetchingData ? null : engine.thingManager.things.getThing(energyManager.rootMeterId)
|
||||
|
||||
ThingsProxy {
|
||||
id: consumers
|
||||
@ -167,6 +167,7 @@ MainViewBase {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width
|
||||
energyManager: energyManager
|
||||
visible: rootMeter != null
|
||||
}
|
||||
|
||||
ConsumerStats {
|
||||
@ -200,7 +201,7 @@ MainViewBase {
|
||||
EmptyViewPlaceholder {
|
||||
anchors.centerIn: parent
|
||||
width: parent.width - app.margins * 2
|
||||
visible: engine.jsonRpcClient.experiences.hasOwnProperty("Energy") && !engine.thingManager.fetchingData && energyMeters.count == 0
|
||||
visible: engine.jsonRpcClient.experiences.hasOwnProperty("Energy") && !engine.thingManager.fetchingData && energyMeters.count == 0 && consumers.count == 0
|
||||
title: qsTr("There are no energy meters installed.")
|
||||
text: qsTr("To get an overview of your current energy usage, install an energy meter.")
|
||||
imageSource: "../images/smartmeter.svg"
|
||||
|
||||
@ -47,6 +47,8 @@ ChartView {
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: updateConsumers()
|
||||
|
||||
QtObject {
|
||||
id: d
|
||||
property var thingsColorMap: ({})
|
||||
@ -56,6 +58,10 @@ ChartView {
|
||||
function updateConsumers() {
|
||||
consumersBalanceSeries.clear();
|
||||
|
||||
if (engine.thingManager.fetchingData) {
|
||||
return;
|
||||
}
|
||||
|
||||
var unknownConsumption = energyManager.currentPowerConsumption
|
||||
|
||||
var colorMap = {}
|
||||
@ -110,7 +116,6 @@ ChartView {
|
||||
Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font: Style.bigFont
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,8 +134,13 @@ ChartView {
|
||||
sortOrder: Qt.DescendingOrder
|
||||
}
|
||||
delegate: ColumnLayout {
|
||||
id: consumerDelegate
|
||||
width: parent.width
|
||||
spacing: 0
|
||||
property Thing consumer: consumers.getThing(model.id)
|
||||
property State currentPowerState: consumer ? consumer.stateByName("currentPower") : null
|
||||
property double value: currentPowerState ? currentPowerState.value : 0
|
||||
|
||||
Label {
|
||||
text: model.name
|
||||
Layout.fillWidth: true
|
||||
@ -138,14 +148,11 @@ ChartView {
|
||||
font: Style.extraSmallFont
|
||||
}
|
||||
Label {
|
||||
property Thing consumer: sortedConsumers.get(index)
|
||||
property State currentPowerState: consumer ? consumer.stateByName("currentPower") : null
|
||||
property double value: currentPowerState ? currentPowerState.value : 0
|
||||
|
||||
color: d.thingsColorMap[consumer]
|
||||
text: "%1 %2"
|
||||
.arg((value / (value > 1000 ? 1000 : 1)).toFixed(1))
|
||||
.arg(value > 1000 ? "kWh" : "W")
|
||||
.arg((consumerDelegate.value / (consumerDelegate.value > 1000 ? 1000 : 1)).toFixed(1))
|
||||
.arg(consumerDelegate.value > 1000 ? "kWh" : "W")
|
||||
Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font: Style.smallFont
|
||||
|
||||
@ -47,6 +47,10 @@ StatsBase {
|
||||
}
|
||||
}
|
||||
onCurrentValueChanged: {
|
||||
if (currentValue === undefined) {
|
||||
return
|
||||
}
|
||||
|
||||
var config = root.configs[currentValue.config]
|
||||
print("config:", config.startTime(), config.sampleRate)
|
||||
|
||||
@ -353,9 +357,6 @@ StatsBase {
|
||||
top: parent.top
|
||||
margins: Style.smallMargins
|
||||
}
|
||||
// Label {
|
||||
// text: powerBalanceLogs.count + ":" + categoryAxis.count + ":" + toolTip.idx
|
||||
// }
|
||||
|
||||
Label {
|
||||
text: categoryAxis.timestamps.length > toolTip.idx ? root.configs[selectionTabs.currentValue.config].toLongLabel(categoryAxis.timestamps[toolTip.idx]) : ""
|
||||
|
||||
Reference in New Issue
Block a user