Energy: Make energy meter a three phase
parent
4c65fc0828
commit
5eeaccd3fd
|
|
@ -1,7 +1,7 @@
|
|||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
*
|
||||
* Copyright 2013 - 2020, nymea GmbH
|
||||
* Copyright 2013 - 2025, nymea GmbH
|
||||
* Contact: contact@nymea.io
|
||||
|
||||
* This file is part of nymea.
|
||||
|
|
@ -103,15 +103,35 @@ void IntegrationPluginGenericEnergy::executeAction(ThingActionInfo *info)
|
|||
}
|
||||
} else if (thing->thingClassId() == energyMeterThingClassId) {
|
||||
if (action.actionTypeId() == energyMeterCurrentPowerActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPowerStateTypeId, action.paramValue(energyMeterCurrentPowerActionCurrentPowerParamTypeId));
|
||||
thing->setStateValue(energyMeterCurrentPowerStateTypeId,
|
||||
action.paramValue(energyMeterCurrentPowerActionCurrentPowerParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterTotalEnergyConsumedActionTypeId) {
|
||||
thing->setStateValue(energyMeterTotalEnergyConsumedStateTypeId, action.paramValue(energyMeterTotalEnergyConsumedActionTotalEnergyConsumedParamTypeId));
|
||||
thing->setStateValue(energyMeterTotalEnergyConsumedStateTypeId,
|
||||
action.paramValue(energyMeterTotalEnergyConsumedActionTotalEnergyConsumedParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterTotalEnergyProducedActionTypeId) {
|
||||
thing->setStateValue(energyMeterTotalEnergyProducedStateTypeId, action.paramValue(energyMeterTotalEnergyProducedActionTotalEnergyProducedParamTypeId));
|
||||
thing->setStateValue(energyMeterTotalEnergyProducedStateTypeId,
|
||||
action.paramValue(energyMeterTotalEnergyProducedActionTotalEnergyProducedParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPowerPhaseAActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPowerPhaseAStateTypeId,
|
||||
action.paramValue(energyMeterCurrentPowerPhaseAActionCurrentPowerPhaseAParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPowerPhaseBActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPowerPhaseBStateTypeId,
|
||||
action.paramValue(energyMeterCurrentPowerPhaseBActionCurrentPowerPhaseBParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPowerPhaseCActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPowerPhaseCStateTypeId,
|
||||
action.paramValue(energyMeterCurrentPowerPhaseCActionCurrentPowerPhaseCParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPhaseAActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPhaseAStateTypeId, action.paramValue(energyMeterCurrentPhaseAActionCurrentPhaseAParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPhaseBActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPhaseBStateTypeId, action.paramValue(energyMeterCurrentPhaseBActionCurrentPhaseBParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterCurrentPhaseCActionTypeId) {
|
||||
thing->setStateValue(energyMeterCurrentPhaseCStateTypeId, action.paramValue(energyMeterCurrentPhaseCActionCurrentPhaseCParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterVoltagePhaseAActionTypeId) {
|
||||
thing->setStateValue(energyMeterVoltagePhaseAStateTypeId, action.paramValue(energyMeterVoltagePhaseAActionVoltagePhaseAParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterVoltagePhaseBActionTypeId) {
|
||||
thing->setStateValue(energyMeterVoltagePhaseBStateTypeId, action.paramValue(energyMeterVoltagePhaseBActionVoltagePhaseBParamTypeId));
|
||||
} else if (action.actionTypeId() == energyMeterVoltagePhaseCActionTypeId) {
|
||||
thing->setStateValue(energyMeterVoltagePhaseCStateTypeId, action.paramValue(energyMeterVoltagePhaseCActionVoltagePhaseCParamTypeId));
|
||||
}
|
||||
info->finish(Thing::ThingErrorNoError);
|
||||
} else if (thing->thingClassId() == impulseSmartMeterThingClassId) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Copyright 2013 - 2020, nymea GmbH
|
||||
* Copyright 2013 - 2025, nymea GmbH
|
||||
* Contact: contact@nymea.io
|
||||
*
|
||||
* This file is part of nymea.
|
||||
|
|
@ -31,8 +31,9 @@
|
|||
#ifndef INTEGRATIONPLUGINGENERICENERGY_H
|
||||
#define INTEGRATIONPLUGINGENERICENERGY_H
|
||||
|
||||
#include "integrations/integrationplugin.h"
|
||||
#include "plugintimer.h"
|
||||
#include <integrations/integrationplugin.h>
|
||||
#include <plugintimer.h>
|
||||
|
||||
#include "extern-plugininfo.h"
|
||||
|
||||
#include <QTimer>
|
||||
|
|
|
|||
|
|
@ -75,6 +75,56 @@
|
|||
"unit": "Ampere",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "37097a51-063e-4b04-aa7b-67ddda8a3c81",
|
||||
"name": "currentPhaseB",
|
||||
"displayName": "Current on phase B",
|
||||
"displayNameAction": "Set current on phase B",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Ampere",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "6c3497fd-9894-4485-a295-15b0d829d023",
|
||||
"name": "currentPhaseC",
|
||||
"displayName": "Current on phase C",
|
||||
"displayNameAction": "Set current on phase C",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Ampere",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "91e82743-2d97-41e9-8bf2-cb6034818079",
|
||||
"name": "currentPowerPhaseA",
|
||||
"displayName": "Current power on phase A",
|
||||
"displayNameAction": "Set current power on phase A",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Watt",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "7ecbec82-71ec-4df3-b298-837e7f37aa4b",
|
||||
"name": "currentPowerPhaseB",
|
||||
"displayName": "Current power on phase B",
|
||||
"displayNameAction": "Set current power on phase B",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Watt",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "eded281b-217b-48f5-8b91-b5142ea87505",
|
||||
"name": "currentPowerPhaseC",
|
||||
"displayName": "Current power on phase C",
|
||||
"displayNameAction": "Set current power on phase C",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Watt",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "03deaf24-e515-4649-8979-ef8ae8ee7c02",
|
||||
"name": "voltagePhaseA",
|
||||
|
|
@ -84,6 +134,26 @@
|
|||
"defaultValue": 0.00,
|
||||
"unit": "Volt",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "7e1514fb-7e69-4849-90c4-8f27dbd6453a",
|
||||
"name": "voltagePhaseB",
|
||||
"displayName": "Voltage on phase B",
|
||||
"displayNameAction": "Set voltage on phase B",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Volt",
|
||||
"writable": true
|
||||
},
|
||||
{
|
||||
"id": "b6e69a07-a362-4eef-87b7-5a670e332919",
|
||||
"name": "voltagePhaseC",
|
||||
"displayName": "Voltage on phase C",
|
||||
"displayNameAction": "Set voltage on phase C",
|
||||
"type": "double",
|
||||
"defaultValue": 0.00,
|
||||
"unit": "Volt",
|
||||
"writable": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue