Keba: fix Shutter parser definitively + add step debug labels (v1.14.2+etm2)

- Fix: current parser used connectorTypeValue ('S') instead of connectorCurrentValue
  for Shutter connector type, causing m_isValid=false for KC-P30-ESS400U2-E00-PV
- Add: explicit qCWarning step labels on all m_isValid=false paths to ease debugging
- Bump version to 1.14.2+etm2 so reprepro replaces the broken 1.14.2+etm1 in repo
This commit is contained in:
Patrick Schurig 2026-04-01 07:13:48 +02:00
parent e7be9b51af
commit b2b21a186a

View File

@ -77,6 +77,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
m_connector = ConnectorCable;
qCDebug(dcKeba()) << "Connector: Cable";
} else {
qCWarning(dcKeba()) << "Invalid at step: connector" << connectorValue;
m_isValid = false;
return;
}
@ -89,6 +90,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
} else if (connectorTypeValue.toLower() == QChar('s')) {
m_connectorType = Shutter;
} else {
qCWarning(dcKeba()) << "Invalid at step: connectorType" << connectorTypeValue;
m_isValid = false;
return;
}
@ -112,7 +114,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
m_current = Current13A;
qCDebug(dcKeba()) << "Current (Shutter): 13A";
} else {
qCWarning(dcKeba()) << "Current (Shutter): valeur inconnue" << connectorCurrentValue;
qCWarning(dcKeba()) << "Invalid at step: current (Shutter)" << connectorCurrentValue;
m_isValid = false;
return;
}
@ -125,6 +127,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
} else if (connectorCurrentValue.isDigit() && connectorTypeValue == QChar('4')) {
m_current = Current32A;
} else {
qCWarning(dcKeba()) << "Invalid at step: current" << connectorCurrentValue << "connectorType" << connectorTypeValue;
m_isValid = false;
return;
}
@ -149,6 +152,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
m_cable = Cable5p5m;
qCDebug(dcKeba()) << "Cable: 5.5 meter";
} else {
qCWarning(dcKeba()) << "Invalid at step: cable" << cableValue;
m_isValid = false;
return;
}
@ -186,7 +190,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
m_series = SeriesSpecial;
qCDebug(dcKeba()) << "Series: Special" + m_productString.right(2);
} else {
qCWarning(dcKeba()) << "Series: Unknown" << productString << "value:" << seriesValue;
qCWarning(dcKeba()) << "Invalid at step: series" << seriesValue;
m_isValid = false;
return;
}
@ -198,6 +202,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
} else if (phaseCountValue == QChar('2')) {
m_phaseCount = 3;
} else {
qCWarning(dcKeba()) << "Invalid at step: phaseCount" << phaseCountValue;
m_isValid = false;
return;
}
@ -221,6 +226,7 @@ KebaProductInfo::KebaProductInfo(const QString &productString) :
m_meter = MeterCalibratedNationalCertified;
qCDebug(dcKeba()) << "Meter: Calibrated meter (national certified)";
} else {
qCWarning(dcKeba()) << "Invalid at step: meter" << meterValue;
m_isValid = false;
return;
}