From b2b21a186a78a53ca7cdc90ff23b90ff0b9a2341 Mon Sep 17 00:00:00 2001 From: pakutz79 Date: Wed, 1 Apr 2026 07:13:48 +0200 Subject: [PATCH] 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 --- keba/kebaproductinfo.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/keba/kebaproductinfo.cpp b/keba/kebaproductinfo.cpp index 34660d97..dc207a42 100644 --- a/keba/kebaproductinfo.cpp +++ b/keba/kebaproductinfo.cpp @@ -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; }