From 4fb80af76ea6be4f7ad6cf54c7bb00e921c6d28e Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 20 Dec 2022 23:38:38 +0100 Subject: [PATCH] Mennekes: Assume full range limits if vehicle or cable can't report the max --- mennekes/integrationpluginmennekes.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mennekes/integrationpluginmennekes.cpp b/mennekes/integrationpluginmennekes.cpp index 832cc9d..1569841 100644 --- a/mennekes/integrationpluginmennekes.cpp +++ b/mennekes/integrationpluginmennekes.cpp @@ -427,8 +427,13 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) qCDebug(dcMennekes()) << "min current limit changed:" << minCurrentLimit; thing->setStateMinValue(amtronECUMaxChargingCurrentStateTypeId, minCurrentLimit); }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::maxCurrentLimitChanged, thing, [thing](quint16 maxCurrentLimit) { + connect(amtronECUConnection, &AmtronECUModbusTcpConnection::maxCurrentLimitChanged, thing, [this, thing](quint16 maxCurrentLimit) { qCDebug(dcMennekes()) << "max current limit changed:" << maxCurrentLimit; + // If the vehicle or cable are not capable of reporting the maximum, this will be 0 + // We'll reset to the max defined in the json file in that case + if (maxCurrentLimit == 0) { + maxCurrentLimit = supportedThings().findById(amtronECUThingClassId).stateTypes().findById(amtronECUMaxChargingCurrentStateTypeId).maxValue().toUInt(); + } thing->setStateMaxValue(amtronECUMaxChargingCurrentStateTypeId, maxCurrentLimit); }); connect(amtronECUConnection, &AmtronECUModbusTcpConnection::hemsCurrentLimitChanged, thing, [thing](quint16 hemsCurrentLimit) {