Merge PR #448: Update plugins to new smartmeter interface

This commit is contained in:
Jenkins nymea 2021-07-01 17:07:24 +02:00
commit a1a055a70f
12 changed files with 96 additions and 96 deletions

View File

@ -81,7 +81,7 @@ void FroniusInverter::updateThingInfo(const QByteArray &data)
// Set the inverter device state
if (dataMap.contains("PAC")) {
if(dataMap.value("PAC").toMap().values().at(0) == "W")
pluginThing()->setStateValue(inverterCurrentPowerStateTypeId, dataMap.value("PAC").toMap().values().at(1).toInt());
pluginThing()->setStateValue(inverterCurrentPowerStateTypeId, -dataMap.value("PAC").toMap().values().at(1).toDouble());
}
if (dataMap.contains("DAY_ENERGY")) {

View File

@ -151,7 +151,7 @@
"name": "inverter",
"displayName": "Fronius Solar Inverter",
"createMethods": ["auto"],
"interfaces" : ["extendedsmartmeterproducer", "connectable"],
"interfaces" : ["smartmeterproducer", "connectable"],
"paramTypes": [
{
"id": "f2f8c2f5-dd6a-4786-b336-82fc84e5bb98",
@ -184,7 +184,7 @@
"id": "788accbc-b86e-471b-b37f-14c9c6411526",
"name": "currentPower",
"displayName": "Current power",
"displayNameEvent": "Current Power changed",
"displayNameEvent": "Current power changed",
"type": "double",
"unit": "Watt",
"defaultValue": "0"
@ -223,7 +223,7 @@
"name": "meter",
"displayName": "Fronius smart meter",
"createMethods": ["auto"],
"interfaces": [ "extendedsmartmeterconsumer", "extendedsmartmeterproducer", "connectable" ],
"interfaces": [ "smartmeterconsumer", "smartmeterproducer", "connectable" ],
"paramTypes": [
{
"id": "cf3a7025-d368-475a-8f48-efc1344a8409",
@ -247,8 +247,8 @@
{
"id": "e5056ea1-88a2-410b-9c5e-6322aca4cb17",
"name": "currentPower",
"displayName": "Total current power",
"displayNameEvent": "Total current power changed",
"displayName": "Current power usage",
"displayNameEvent": "Current power usage changed",
"type": "double",
"unit": "Watt",
"defaultValue": "0"

View File

@ -181,24 +181,24 @@ void IntegrationPluginGenericThings::setupThing(ThingSetupInfo *info)
}
}
});
} else if (thing->thingClassId() == extendedSmartMeterConsumerThingClassId) {
} else if (thing->thingClassId() == smartMeterThingClassId) {
QTimer* smartMeterTimer = new QTimer(this);
int timeframe = thing->setting(extendedSmartMeterConsumerSettingsImpulseTimeframeParamTypeId).toInt();
int timeframe = thing->setting(smartMeterSettingsImpulseTimeframeParamTypeId).toInt();
smartMeterTimer->setInterval(timeframe * 1000);
m_smartMeterTimer.insert(thing, smartMeterTimer);
smartMeterTimer->start();
connect(thing, &Thing::settingChanged, smartMeterTimer, [smartMeterTimer] (const ParamTypeId &paramTypeId, const QVariant &value) {
if (paramTypeId == extendedSmartMeterConsumerSettingsImpulseTimeframeParamTypeId) {
if (paramTypeId == smartMeterSettingsImpulseTimeframeParamTypeId) {
smartMeterTimer->setInterval(value.toInt() * 1000);
}
});
connect(smartMeterTimer, &QTimer::timeout, thing, [this, smartMeterTimer, thing] {
double impulsePerKwh = thing->setting(extendedSmartMeterConsumerSettingsImpulsePerKwhParamTypeId).toDouble();
double impulsePerKwh = thing->setting(smartMeterSettingsImpulsePerKwhParamTypeId).toDouble();
int interval = smartMeterTimer->interval()/1000;
double power = (m_pulsesPerTimeframe.value(thing)/impulsePerKwh)/(interval/3600.00); // Power = Energy/Time; Energy = Impulses/ImpPerkWh
thing->setStateValue(extendedSmartMeterConsumerCurrentPowerStateTypeId, power*1000);
thing->setStateValue(smartMeterCurrentPowerStateTypeId, power*1000);
m_pulsesPerTimeframe.insert(thing, 0);
});
} else if (thing->thingClassId() == extendedStatefulGaragedoorThingClassId) {
@ -637,14 +637,14 @@ void IntegrationPluginGenericThings::executeAction(ThingActionInfo *info)
} else {
Q_ASSERT_X(false, "executeAction", QString("Unhandled actionTypeId: %1").arg(action.actionTypeId().toString()).toUtf8());
}
} else if (thing->thingClassId() == extendedSmartMeterConsumerThingClassId) {
if (action.actionTypeId() == extendedSmartMeterConsumerImpulseInputActionTypeId) {
bool value = info->action().param(extendedSmartMeterConsumerImpulseInputActionImpulseInputParamTypeId).value().toBool();
thing->setStateValue(extendedSmartMeterConsumerImpulseInputStateTypeId, value);
int impulsePerKwh = info->thing()->setting(extendedSmartMeterConsumerSettingsImpulsePerKwhParamTypeId).toInt();
} else if (thing->thingClassId() == smartMeterThingClassId) {
if (action.actionTypeId() == smartMeterImpulseInputActionTypeId) {
bool value = info->action().param(smartMeterImpulseInputActionImpulseInputParamTypeId).value().toBool();
thing->setStateValue(smartMeterImpulseInputStateTypeId, value);
int impulsePerKwh = info->thing()->setting(smartMeterSettingsImpulsePerKwhParamTypeId).toInt();
if (value) {
double currentEnergy = thing->stateValue(extendedSmartMeterConsumerTotalEnergyConsumedStateTypeId).toDouble();
thing->setStateValue(extendedSmartMeterConsumerTotalEnergyConsumedStateTypeId ,currentEnergy + (1.00/impulsePerKwh));
double currentEnergy = thing->stateValue(smartMeterTotalEnergyConsumedStateTypeId).toDouble();
thing->setStateValue(smartMeterTotalEnergyConsumedStateTypeId ,currentEnergy + (1.00/impulsePerKwh));
m_pulsesPerTimeframe[thing]++;
}
info->finish(Thing::ThingErrorNoError);
@ -829,9 +829,9 @@ void IntegrationPluginGenericThings::thingRemoved(Thing *thing)
m_extendedBlindTargetPercentage.remove(thing);
m_venetianBlindAngleTimer.take(thing)->deleteLater();
m_venetianBlindTargetAngle.remove(thing);
} else if (thing->thingClassId() == extendedSmartMeterConsumerThingClassId) {
} else if (thing->thingClassId() == smartMeterThingClassId) {
m_pulsesPerTimeframe.remove(thing);
} else if (thing->thingClassId() == extendedSmartMeterConsumerThingClassId) {
} else if (thing->thingClassId() == smartMeterThingClassId) {
m_smartMeterTimer.take(thing)->deleteLater();
m_pulsesPerTimeframe.remove(thing);
}

View File

@ -1133,10 +1133,10 @@
},
{
"id": "c3123967-f741-4fe1-a0d4-9a3e405d7e52",
"name": "extendedSmartMeterConsumer",
"name": "smartMeter",
"displayName": "Impulse based energy meter",
"createMethods": ["user"],
"interfaces": ["extendedsmartmeterconsumer"],
"interfaces": ["smartmeterconsumer"],
"settingsTypes": [
{
"id": "c361732b-68eb-447e-a434-e84031231871",
@ -1162,8 +1162,8 @@
{
"id": "5983d714-5f80-42d8-bee2-9228b6382b3b",
"name": "currentPower",
"displayName": "Power",
"displayNameEvent": "Power changed",
"displayName": "Current Power usage",
"displayNameEvent": "Current Power usage changed",
"type": "double",
"defaultValue": 0.00,
"unit": "Watt"

View File

@ -418,7 +418,7 @@ void IntegrationPluginKeba::onReportThreeReceived(const KeContact::ReportThree &
thing->setStateValue(wallboxVoltagePhase1EventTypeId, reportThree.voltagePhase1);
thing->setStateValue(wallboxVoltagePhase2EventTypeId, reportThree.voltagePhase2);
thing->setStateValue(wallboxVoltagePhase3EventTypeId, reportThree.voltagePhase3);
thing->setStateValue(wallboxPowerConsumptionStateTypeId, reportThree.power);
thing->setStateValue(wallboxCurrentPowerStateTypeId, reportThree.power);
thing->setStateValue(wallboxSessionEnergyStateTypeId, reportThree.energySession);
thing->setStateValue(wallboxPowerFactorStateTypeId, reportThree.powerFactor);
thing->setStateValue(wallboxTotalEnergyConsumedStateTypeId, reportThree.energyTotal);

View File

@ -216,11 +216,11 @@
},
{
"id": "7af9e93b-099d-4d9d-a480-9c0f66aecd8b",
"name": "powerConsumption",
"name": "currentPower",
"displayName": "Power consumption",
"displayNameEvent": "Power consumtion changed",
"type": "double",
"unit": "KiloWatt",
"unit": "Watt",
"defaultValue": 0.00
},
{

View File

@ -927,7 +927,7 @@ void IntegrationPluginShelly::onPublishReceived(MqttChannel *channel, const QStr
}
if (topic == "shellies/" + shellyId + "/light/0/power") {
// qCDebug(dcShelly()) << "Payload:" << payload;
// qCDebug(dcShelly()) << "Payload:" << payload;
if (currentPowerStateTypeMap.contains(thing->thingClassId())) {
double power = payload.toDouble();
thing->setStateValue(currentPowerStateTypeMap.value(thing->thingClassId()), power);
@ -1015,26 +1015,26 @@ void IntegrationPluginShelly::onPublishReceived(MqttChannel *channel, const QStr
QVariant value = payload;
QHash<int, QHash<QString, StateTypeId>> channelMap;
QHash<QString, StateTypeId> stateTypeIdMap;
stateTypeIdMap["power"] = shellyEm3PhaseAPowerStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PhaseAPowerFactorStateTypeId;
stateTypeIdMap["current"] = shellyEm3PhaseACurrentStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3PhaseAVoltageStateTypeId;
stateTypeIdMap["total"] = shellyEm3PhaseATotalEnergyConsumedStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3PhaseATotalEnergyReturnedStateTypeId;
stateTypeIdMap["power"] = shellyEm3CurrentPowerPhaseAStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PowerFactorPhaseAStateTypeId;
stateTypeIdMap["current"] = shellyEm3CurrentPhaseAStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3VoltagePhaseAStateTypeId;
stateTypeIdMap["total"] = shellyEm3EnergyConsumedPhaseAStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3EnergyProducedPhaseAStateTypeId;
channelMap[0] = stateTypeIdMap;
stateTypeIdMap["power"] = shellyEm3PhaseBPowerStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PhaseBPowerFactorStateTypeId;
stateTypeIdMap["current"] = shellyEm3PhaseBCurrentStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3PhaseBVoltageStateTypeId;
stateTypeIdMap["total"] = shellyEm3PhaseBTotalEnergyConsumedStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3PhaseBTotalEnergyReturnedStateTypeId;
stateTypeIdMap["power"] = shellyEm3CurrentPowerPhaseBStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PowerFactorPhaseBStateTypeId;
stateTypeIdMap["current"] = shellyEm3CurrentPhaseBStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3VoltagePhaseBStateTypeId;
stateTypeIdMap["total"] = shellyEm3EnergyConsumedPhaseBStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3EnergyProducedPhaseBStateTypeId;
channelMap[1] = stateTypeIdMap;
stateTypeIdMap["power"] = shellyEm3PhaseCPowerStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PhaseCPowerFactorStateTypeId;
stateTypeIdMap["current"] = shellyEm3PhaseCCurrentStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3PhaseCVoltageStateTypeId;
stateTypeIdMap["total"] = shellyEm3PhaseCTotalEnergyConsumedStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3PhaseCTotalEnergyReturnedStateTypeId;
stateTypeIdMap["power"] = shellyEm3CurrentPowerPhaseCStateTypeId;
stateTypeIdMap["pf"] = shellyEm3PowerFactorPhaseCStateTypeId;
stateTypeIdMap["current"] = shellyEm3CurrentPhaseCStateTypeId;
stateTypeIdMap["voltage"] = shellyEm3VoltagePhaseCStateTypeId;
stateTypeIdMap["total"] = shellyEm3EnergyConsumedPhaseCStateTypeId;
stateTypeIdMap["total_returned"] = shellyEm3EnergyProducedPhaseCStateTypeId;
channelMap[2] = stateTypeIdMap;
StateTypeId stateTypeId = channelMap.value(channel).value(stateName);
if (stateTypeId.isNull()) {
@ -1052,17 +1052,17 @@ void IntegrationPluginShelly::onPublishReceived(MqttChannel *channel, const QStr
// and calculate the total ourselves. In order to not produce intermediate totals for each incoming message
// we'll only refresh the total when we get the last value for the last channel.
if (channel == 2 && stateName == "total_returned") {
double grandTotal = thing->stateValue(shellyEm3PhaseATotalEnergyConsumedStateTypeId).toDouble();
grandTotal += thing->stateValue(shellyEm3PhaseBTotalEnergyConsumedStateTypeId).toDouble();
grandTotal += thing->stateValue(shellyEm3PhaseCTotalEnergyConsumedStateTypeId).toDouble();
double grandTotal = thing->stateValue(shellyEm3EnergyConsumedPhaseAStateTypeId).toDouble();
grandTotal += thing->stateValue(shellyEm3EnergyConsumedPhaseBStateTypeId).toDouble();
grandTotal += thing->stateValue(shellyEm3EnergyConsumedPhaseCStateTypeId).toDouble();
thing->setStateValue(shellyEm3TotalEnergyConsumedStateTypeId, grandTotal);
double grandTotalReturned = thing->stateValue(shellyEm3PhaseATotalEnergyReturnedStateTypeId).toDouble();
grandTotalReturned += thing->stateValue(shellyEm3PhaseBTotalEnergyReturnedStateTypeId).toDouble();
grandTotalReturned += thing->stateValue(shellyEm3PhaseCTotalEnergyReturnedStateTypeId).toDouble();
double grandTotalReturned = thing->stateValue(shellyEm3EnergyProducedPhaseAStateTypeId).toDouble();
grandTotalReturned += thing->stateValue(shellyEm3EnergyProducedPhaseBStateTypeId).toDouble();
grandTotalReturned += thing->stateValue(shellyEm3EnergyProducedPhaseCStateTypeId).toDouble();
thing->setStateValue(shellyEm3TotalEnergyProducedStateTypeId, grandTotalReturned);
double totalPower = thing->stateValue(shellyEm3PhaseAPowerStateTypeId).toDouble();
totalPower += thing->stateValue(shellyEm3PhaseBPowerStateTypeId).toDouble();
totalPower += thing->stateValue(shellyEm3PhaseCPowerStateTypeId).toDouble();
double totalPower = thing->stateValue(shellyEm3CurrentPowerPhaseAStateTypeId).toDouble();
totalPower += thing->stateValue(shellyEm3CurrentPowerPhaseBStateTypeId).toDouble();
totalPower += thing->stateValue(shellyEm3CurrentPowerPhaseCStateTypeId).toDouble();
thing->setStateValue(shellyEm3CurrentPowerStateTypeId, totalPower);
}
}

View File

@ -111,7 +111,7 @@
"name": "shelly1pm",
"displayName": "Shelly 1PM",
"createMethods": ["discovery"],
"interfaces": [ "gateway", "extendedsmartmeterconsumer", "wirelessconnectable", "update" ],
"interfaces": [ "gateway", "smartmeterconsumer", "wirelessconnectable", "update" ],
"paramTypes": [
{
"id": "6df5db8a-4e27-49e5-8cf9-78cb8497d831",
@ -228,7 +228,7 @@
"name": "shelly1l",
"displayName": "Shelly 1L",
"createMethods": ["discovery"],
"interfaces": [ "gateway", "extendedsmartmeterconsumer", "wirelessconnectable", "update" ],
"interfaces": [ "gateway", "smartmeterconsumer", "wirelessconnectable", "update" ],
"paramTypes": [
{
"id": "afd5f2c5-dbe4-4d60-80a6-97b77264ad7c",
@ -551,7 +551,7 @@
"name": "shellyPlug",
"displayName": "Shelly Plug/PlugS",
"createMethods": ["discovery"],
"interfaces": [ "powersocket", "extendedsmartmeterconsumer", "wirelessconnectable", "update" ],
"interfaces": [ "powersocket", "smartmeterconsumer", "wirelessconnectable", "update" ],
"paramTypes": [
{
"id": "bd5679fc-b761-4a56-a472-97717418c425",
@ -1457,7 +1457,7 @@
"name": "shellyEm3",
"displayName": "Shelly 3EM",
"createMethods": ["discovery"],
"interfaces": [ "extendedsmartmeterconsumer", "extendedsmartmeterproducer", "wirelessconnectable", "update"],
"interfaces": [ "energymeter", "wirelessconnectable", "update"],
"paramTypes": [
{
"id": "a80894d2-dfba-4699-892d-081702b0f1f5",
@ -1530,9 +1530,9 @@
},
{
"id": "432ba180-936d-4700-907e-766264bfdd35",
"name": "phaseAPower",
"displayName": "Power (Phase A)",
"displayNameEvent": "Power (Phase A) changed",
"name": "currentPowerPhaseA",
"displayName": "Power usage (Phase A)",
"displayNameEvent": "Power usage (Phase A) changed",
"type": "double",
"unit": "Watt",
"defaultValue": 0,
@ -1540,7 +1540,7 @@
},
{
"id": "50be490b-ba5d-4b1f-806c-9e15b915c1eb",
"name": "phaseAPowerFactor",
"name": "powerFactorPhaseA",
"displayName": "Power factor (Phase A)",
"displayNameEvent": "Power factor (Phase A) changed",
"type": "double",
@ -1548,7 +1548,7 @@
},
{
"id": "5fa79319-756b-4b2c-87b1-59ff996b8435",
"name": "phaseACurrent",
"name": "currentPhaseA",
"displayName": "Current (Phase A)",
"displayNameEvent": "Current (Phase A) changed",
"type": "double",
@ -1558,7 +1558,7 @@
},
{
"id": "5977ffab-cdcf-409c-940b-aa0a59de84a5",
"name": "phaseAVoltage",
"name": "voltagePhaseA",
"displayName": "Voltage (Phase A)",
"displayNameEvent": "Voltage (Phase A) changed",
"type": "double",
@ -1567,7 +1567,7 @@
},
{
"id": "ba25ef68-bb52-4e96-a8fb-137aae966104",
"name": "phaseATotalEnergyConsumed",
"name": "energyConsumedPhaseA",
"displayName": "Total consumed energy (Phase A)",
"displayNameEvent": "Total consumed energy (Phase A) changed",
"type": "double",
@ -1576,7 +1576,7 @@
},
{
"id": "34562cd3-b178-4f68-903d-a01e20d0ad76",
"name": "phaseATotalEnergyReturned",
"name": "energyProducedPhaseA",
"displayName": "Total returned energy (Phase A)",
"displayNameEvent": "Total returned energy (Phase A) changed",
"type": "double",
@ -1585,9 +1585,9 @@
},
{
"id": "02edeedb-8a93-41f8-8bc5-09031b7d2d4d",
"name": "phaseBPower",
"displayName": "Power (Phase B)",
"displayNameEvent": "Power (Phase B) changed",
"name": "currentPowerPhaseB",
"displayName": "Power usage (Phase B)",
"displayNameEvent": "Power usage (Phase B) changed",
"type": "double",
"unit": "Watt",
"defaultValue": 0,
@ -1595,7 +1595,7 @@
},
{
"id": "f56504bb-0c6c-4425-831c-771b23aadf19",
"name": "phaseBPowerFactor",
"name": "powerFactorPhaseB",
"displayName": "Power factor (Phase B)",
"displayNameEvent": "Power factor (Phase B) changed",
"type": "double",
@ -1603,7 +1603,7 @@
},
{
"id": "a4151601-fe77-418a-a2c1-6376e32da3bd",
"name": "phaseBCurrent",
"name": "currentPhaseB",
"displayName": "Current (Phase B)",
"displayNameEvent": "Current (Phase B) changed",
"type": "double",
@ -1612,7 +1612,7 @@
},
{
"id": "7c846993-fb06-48ef-987c-7b35d9671070",
"name": "phaseBVoltage",
"name": "voltagePhaseB",
"displayName": "Voltage (Phase B)",
"displayNameEvent": "Voltage (Phase B) changed",
"type": "double",
@ -1621,7 +1621,7 @@
},
{
"id": "6636e6a0-e3ca-4654-9506-4302c4e8eed7",
"name": "phaseBTotalEnergyConsumed",
"name": "energyConsumedPhaseB",
"displayName": "Total consumed energy (Phase B)",
"displayNameEvent": "Total consumed energy (Phase B) changed",
"type": "double",
@ -1630,7 +1630,7 @@
},
{
"id": "d70a0d1a-cac1-4250-85fa-4859ad2dc947",
"name": "phaseBTotalEnergyReturned",
"name": "energyProducedPhaseB",
"displayName": "Total returned energy (Phase B)",
"displayNameEvent": "Total returned energy (Phase B) changed",
"type": "double",
@ -1639,9 +1639,9 @@
},
{
"id": "82277a4e-49cc-45f4-8b29-470ce99333b6",
"name": "phaseCPower",
"displayName": "Power (Phase C)",
"displayNameEvent": "Power (Phase C) changed",
"name": "currentPowerPhaseC",
"displayName": "Power usage (Phase C)",
"displayNameEvent": "Power usage (Phase C) changed",
"type": "double",
"unit": "Watt",
"defaultValue": 0,
@ -1649,7 +1649,7 @@
},
{
"id": "2e2c622f-1575-4d0b-a0c0-78bc03748c1e",
"name": "phaseCPowerFactor",
"name": "powerFactorPhaseC",
"displayName": "Power factor (Phase C)",
"displayNameEvent": "Power factor (Phase C) changed",
"type": "double",
@ -1657,7 +1657,7 @@
},
{
"id": "ab78aa9c-aa73-4f5d-8d21-38c83c5e9e7c",
"name": "phaseCCurrent",
"name": "currentPhaseC",
"displayName": "Current (Phase C)",
"displayNameEvent": "Current (Phase C) changed",
"type": "double",
@ -1666,7 +1666,7 @@
},
{
"id": "cd7af1b2-d5f0-4c2e-b85c-84f23ae1fbb9",
"name": "phaseCVoltage",
"name": "voltagePhaseC",
"displayName": "Voltage (Phase C)",
"displayNameEvent": "Voltage (Phase C) changed",
"type": "double",
@ -1675,7 +1675,7 @@
},
{
"id": "452c2159-aa2f-4217-80e5-4b492b69671e",
"name": "phaseCTotalEnergyConsumed",
"name": "energyConsumedPhaseC",
"displayName": "Total consumed energy (Phase C)",
"displayNameEvent": "Total consumed energy (Phase C) changed",
"type": "double",
@ -1684,7 +1684,7 @@
},
{
"id": "de248e26-b617-4d22-9175-752e2d695274",
"name": "phaseCTotalEnergyReturned",
"name": "energyProducedPhaseC",
"displayName": "Total returned energy (Phase C)",
"displayNameEvent": "Total returned energy (Phase C) changed",
"type": "double",
@ -1930,7 +1930,7 @@
"name": "shellyGenericPM",
"displayName": "Shelly connected device",
"createMethods": ["auto"],
"interfaces": ["power", "extendedsmartmeterconsumer", "wirelessconnectable"],
"interfaces": ["power", "smartmeterconsumer", "wirelessconnectable"],
"settingsTypes": [
{
"id": "8c60a23c-5e5b-42ba-abae-aeeb3d379d79",
@ -2065,7 +2065,7 @@
"name": "shellyLightPM",
"displayName": "Shelly connected light",
"createMethods": ["auto"],
"interfaces": ["light", "extendedsmartmeterconsumer", "wirelessconnectable"],
"interfaces": ["light", "smartmeterconsumer", "wirelessconnectable"],
"settingsTypes": [
{
"id": "01cc242a-268d-4dd9-96ce-5502dd1bd430",
@ -2200,7 +2200,7 @@
"name": "shellySocketPM",
"displayName": "Shelly connected power socket",
"createMethods": ["auto"],
"interfaces": ["powersocket", "extendedsmartmeterconsumer", "wirelessconnectable"],
"interfaces": ["powersocket", "smartmeterconsumer", "wirelessconnectable"],
"settingsTypes": [
{
"id": "9880a51b-57da-4b65-a0ec-23eb0fdcb8ac",
@ -2277,7 +2277,7 @@
"name": "shellyRoller",
"displayName": "Shelly connected Roller Shutter",
"createMethods": ["auto"],
"interfaces": ["extendedshutter", "extendedsmartmeterconsumer", "wirelessconnectable"],
"interfaces": ["extendedshutter", "smartmeterconsumer", "wirelessconnectable"],
"paramTypes": [
{
"id": "281385a5-5084-4ded-80a4-66c0dc1096a8",

View File

@ -787,7 +787,7 @@
"name": "smartMeter",
"displayName": "Smart Meter",
"createMethods": ["user"],
"interfaces": ["extendedsmartmeterconsumer", "extendedsmartmeterproducer", "connectable" ],
"interfaces": ["smartmeterconsumer", "smartmeterproducer", "connectable" ],
"paramTypes": [ ],
"stateTypes": [
{
@ -801,8 +801,8 @@
{
"id": "d57f4d9c-759e-40eb-999e-a1acbc8df2b1",
"name": "currentPower",
"displayName": "Current power flow",
"displayNameEvent": "Power power flow changed",
"displayName": "Current power usage",
"displayNameEvent": "Power power usage changed",
"type": "double",
"unit": "Watt",
"defaultValue": 0
@ -832,7 +832,7 @@
"name": "solarPanel",
"displayName": "Solar panel",
"createMethods": ["user"],
"interfaces": ["extendedsmartmeterproducer"],
"interfaces": ["smartmeterproducer"],
"paramTypes": [],
"stateTypes": [
{

View File

@ -134,7 +134,7 @@ void IntegrationPluginSolarLog::getData(Thing *thing)
thing->setStateValue(solarlogYieldMonthStateTypeId, (map.value(QString::number(JsonObjectNumbers::YieldMonth)).toDouble()/1000.00));
thing->setStateValue(solarlogYieldYearStateTypeId, (map.value(QString::number(JsonObjectNumbers::YieldYear)).toDouble()/1000.00));
thing->setStateValue(solarlogTotalEnergyProducedStateTypeId, (map.value(QString::number(JsonObjectNumbers::YieldTotal)).toDouble()/1000.00));
thing->setStateValue(solarlogCurrentTotalConsumptionStateTypeId, map.value(QString::number(JsonObjectNumbers::ConsPac)));
thing->setStateValue(solarlogPowerUsageStateTypeId, map.value(QString::number(JsonObjectNumbers::ConsPac)));
thing->setStateValue(solarlogConsYieldDayStateTypeId, map.value(QString::number(JsonObjectNumbers::ConsYieldDay)));
thing->setStateValue(solarlogConsYieldYesterdayStateTypeId, map.value(QString::number(JsonObjectNumbers::ConsYieldYesterday)));
thing->setStateValue(solarlogConsYieldMonthStateTypeId, map.value(QString::number(JsonObjectNumbers::ConsYieldMonth)));

View File

@ -13,7 +13,7 @@
"name": "solarlog",
"displayName": "Solar-Log",
"createMethods": [ "user", "discovery" ],
"interfaces": ["extendedsmartmeterproducer", "connectable" ],
"interfaces": ["smartmeterproducer", "connectable" ],
"paramTypes": [
{
"id": "84bd8a41-2411-4bb0-87a9-ab7e01044b10",
@ -125,7 +125,7 @@
},
{
"id": "5b665247-278a-4b59-9046-add40763e937",
"name": "currentTotalConsumption",
"name": "powerUsage",
"displayName": "Current total power consumption",
"displayNameEvent": "Current total power consumption changed",
"type": "double",

View File

@ -62,7 +62,7 @@
"name": "kasaPlug110",
"displayName": "Kasa Smart Wi-Fi Plug With Energy Monitoring (HS110)",
"createMethods": ["discovery"],
"interfaces": [ "powersocket", "extendedsmartmeterconsumer", "wirelessconnectable" ],
"interfaces": [ "powersocket", "smartmeter", "wirelessconnectable" ],
"paramTypes": [
{
"id": "de3238f7-fe94-440d-b212-61cd4e221b50",
@ -178,7 +178,7 @@
"name": "kasaPowerStrip300",
"displayName": "Kasa Smart Wi-Fi Power Strip (HS300)",
"createMethods": ["discovery"],
"interfaces": [ "gateway", "extendedsmartmeterconsumer", "wirelessconnectable" ],
"interfaces": [ "gateway", "smartmeter", "wirelessconnectable" ],
"paramTypes": [
{
"id": "62b38ddf-f6d7-44e1-955f-f04b375d960d",