Fix smartmeter interfaces
This commit is contained in:
parent
0d60c17c28
commit
ec07bb3fdb
@ -170,16 +170,17 @@ Interfaces::Interfaces(QObject *parent) : QAbstractListModel(parent)
|
|||||||
addInterface("smartmeter", tr("Smart meter"));
|
addInterface("smartmeter", tr("Smart meter"));
|
||||||
|
|
||||||
addInterface("smartmeterconsumer", tr("Smart meters"), {"smartmeter"});
|
addInterface("smartmeterconsumer", tr("Smart meters"), {"smartmeter"});
|
||||||
addStateType("smartmeterconsumer", "totalEnergyConsumed", QVariant::Double, false, tr("Total energy consumed"), tr("Total energy consumed changed"));
|
addStateType("smartmeterconsumer", "totalEnergyConsumed", QVariant::Double, false, tr("Total energy consumed"), tr("Total consumed energy changed"));
|
||||||
|
addStateType("smartmeterconsumer", "currentPower", QVariant::Double, false, tr("Current power"), tr("Current power changed"));
|
||||||
addInterface("extendedsmartmeterconsumer", tr("Smart meters"), {"smartmeterconsumer"});
|
|
||||||
addStateType("extendedsmartmeterconsumer", "currentPower", QVariant::Double, false, tr("Current power"), tr("Current power changed"));
|
|
||||||
|
|
||||||
addInterface("smartmeterproducer", tr("Smart meters"), {"smartmeter"});
|
addInterface("smartmeterproducer", tr("Smart meters"), {"smartmeter"});
|
||||||
addStateType("smartmeterproducer", "totalEnergyProduced", QVariant::Double, false, tr("Total energy producedd"), tr("Total energy produced changed"));
|
addStateType("smartmeterproducer", "totalEnergyProduced", QVariant::Double, false, tr("Total energy produced"), tr("Total produced energy changed"));
|
||||||
|
addStateType("smartmeterproducer", "currentPower", QVariant::Double, false, tr("Current power"), tr("Current power changed"));
|
||||||
|
|
||||||
addInterface("extendedsmartmeterproducer", tr("Smart meters"), {"smartmeterproducer"});
|
addInterface("energymeter", tr("Smart meters"), {"smartmeter"});
|
||||||
addStateType("extendedsmartmeterproducer", "currentPower", QVariant::Double, false, tr("Current power"), tr("Current power changed"));
|
addStateType("energymeter", "totalEnergyConsumed", QVariant::Double, false, tr("Total energy consumed"), tr("Total consumed energy changed"));
|
||||||
|
addStateType("energymeter", "totalEnergyProduced", QVariant::Double, false, tr("Total energy produced"), tr("Total produced energy changed"));
|
||||||
|
addStateType("energymeter", "currentPower", QVariant::Double, false, tr("Current power"), tr("Current power changed"));
|
||||||
|
|
||||||
addInterface("useraccesscontrol", tr("User access control systems"), {"accesscontrol"});
|
addInterface("useraccesscontrol", tr("User access control systems"), {"accesscontrol"});
|
||||||
addStateType("useraccesscontrol", "users", QVariant::StringList, false, tr("Users"), tr("Users changed"));
|
addStateType("useraccesscontrol", "users", QVariant::StringList, false, tr("Users"), tr("Users changed"));
|
||||||
|
|||||||
@ -353,9 +353,9 @@ ApplicationWindow {
|
|||||||
case "smartmeter":
|
case "smartmeter":
|
||||||
case "smartmeterconsumer":
|
case "smartmeterconsumer":
|
||||||
case "smartmeterproducer":
|
case "smartmeterproducer":
|
||||||
case "extendedsmartmeterconsumer":
|
|
||||||
case "extendedsmartmeterproducer":
|
|
||||||
return Qt.resolvedUrl("images/smartmeter.svg")
|
return Qt.resolvedUrl("images/smartmeter.svg")
|
||||||
|
case "energymeter":
|
||||||
|
return Qt.resolvedUrl("images/energy.svg")
|
||||||
case "heating":
|
case "heating":
|
||||||
return Qt.resolvedUrl("images/thermostat/heating.svg")
|
return Qt.resolvedUrl("images/thermostat/heating.svg")
|
||||||
case "cooling":
|
case "cooling":
|
||||||
|
|||||||
@ -78,10 +78,9 @@ Item {
|
|||||||
"daylightsensor": "gold",
|
"daylightsensor": "gold",
|
||||||
"presencesensor": "darkblue",
|
"presencesensor": "darkblue",
|
||||||
"closablesensor": "green",
|
"closablesensor": "green",
|
||||||
|
"smartmeterconsumer": "orange",
|
||||||
"smartmeterproducer": "lightgreen",
|
"smartmeterproducer": "lightgreen",
|
||||||
"extendedsmartmeterproducer": "lightgreen",
|
"energymeter": "deepskyblue",
|
||||||
"smartmeterconsumer": "deepskyblue",
|
|
||||||
"extendedsmartmeterconsumer": "deepskyblue",
|
|
||||||
"heating" : "gainsboro",
|
"heating" : "gainsboro",
|
||||||
"thermostat": "dodgerblue",
|
"thermostat": "dodgerblue",
|
||||||
"irrigation": "lightblue",
|
"irrigation": "lightblue",
|
||||||
|
|||||||
@ -665,6 +665,7 @@ MainPageTile {
|
|||||||
ListElement { ifaceName: "noisesensor"; stateName: "noise" }
|
ListElement { ifaceName: "noisesensor"; stateName: "noise" }
|
||||||
ListElement { ifaceName: "smartmeterconsumer"; stateName: "totalEnergyConsumed" }
|
ListElement { ifaceName: "smartmeterconsumer"; stateName: "totalEnergyConsumed" }
|
||||||
ListElement { ifaceName: "smartmeterproducer"; stateName: "totalEnergyProduced" }
|
ListElement { ifaceName: "smartmeterproducer"; stateName: "totalEnergyProduced" }
|
||||||
|
ListElement { ifaceName: "energymeter"; stateName: "currentPower" }
|
||||||
ListElement { ifaceName: "thermostat"; stateName: "targetTemperature" }
|
ListElement { ifaceName: "thermostat"; stateName: "targetTemperature" }
|
||||||
ListElement { ifaceName: "heating"; stateName: "power" }
|
ListElement { ifaceName: "heating"; stateName: "power" }
|
||||||
ListElement { ifaceName: "extendedHeating"; stateName: "percentage" }
|
ListElement { ifaceName: "extendedHeating"; stateName: "percentage" }
|
||||||
|
|||||||
@ -74,26 +74,20 @@ ThingsListPageBase {
|
|||||||
Repeater {
|
Repeater {
|
||||||
model: ListModel {
|
model: ListModel {
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
if (itemDelegate.thing.thingClass.interfaces.indexOf("smartmeterproducer") >= 0) {
|
if (itemDelegate.thing.thingClass.stateTypes.findByName("totalEnergyConsumed") !== null) {
|
||||||
append( {interfaceName: "smartmeterproducer", stateName: "totalEnergyProduced" })
|
append( {stateName: "totalEnergyConsumed" })
|
||||||
}
|
}
|
||||||
if (itemDelegate.thing.thingClass.interfaces.indexOf("smartmeterconsumer") >= 0) {
|
if (itemDelegate.thing.thingClass.stateTypes.findByName("totalEnergyProduced") !== null) {
|
||||||
append( {interfaceName: "smartmeterconsumer", stateName: "totalEnergyConsumed" })
|
append( {stateName: "totalEnergyProduced" })
|
||||||
}
|
}
|
||||||
var added = false;
|
if (itemDelegate.thing.thingClass.stateTypes.findByName("currentPower") !== null) {
|
||||||
if (itemDelegate.thing.thingClass.interfaces.indexOf("extendedsmartmeterproducer") >= 0) {
|
append({stateName: "currentPower"});
|
||||||
append({interfaceName: "extendedsmartmeterconsumer", stateName: "currentPower"});
|
|
||||||
added = true;
|
|
||||||
}
|
|
||||||
if (!added && itemDelegate.thing.thingClass.interfaces.indexOf("extendedsmartmeterconsumer") >= 0) {
|
|
||||||
append({interfaceName: "extendedsmartmeterconsumer", stateName: "currentPower"});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: RowLayout {
|
delegate: RowLayout {
|
||||||
id: sensorValueDelegate
|
id: sensorValueDelegate
|
||||||
visible: itemDelegate.thing.thingClass.interfaces.indexOf(model.interfaceName) >= 0
|
|
||||||
Layout.preferredWidth: contentItem.width / dataGrid.columns
|
Layout.preferredWidth: contentItem.width / dataGrid.columns
|
||||||
|
|
||||||
property StateType stateType: itemDelegate.thing.thingClass.stateTypes.findByName(model.stateName)
|
property StateType stateType: itemDelegate.thing.thingClass.stateTypes.findByName(model.stateName)
|
||||||
|
|||||||
Reference in New Issue
Block a user