diff --git a/.gitignore b/.gitignore index 35bfdc73..cde35f7a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ platformio-user.ini /src/AmsToMqttBridge.ino.cpp /test /web/test.html +/sdkconfig diff --git a/src/AmsData.cpp b/src/AmsData.cpp index a6dd97e2..29135a39 100644 --- a/src/AmsData.cpp +++ b/src/AmsData.cpp @@ -22,7 +22,7 @@ AmsData::AmsData(uint8_t meterType, bool substituteMissing, HanReader& hanReader extractFromKamstrup(hanReader, listSize, substituteMissing); break; case METER_TYPE_OMNIPOWER: - extractFromOmnipower(hanReader, listSize); + extractFromOmnipower(hanReader, listSize, substituteMissing); break; } } @@ -261,8 +261,16 @@ void AmsData::extractFromKamstrup(HanReader& hanReader, uint8_t listSize, bool s } } -void AmsData::extractFromOmnipower(HanReader& hanReader, uint8_t listSize) { +void AmsData::extractFromOmnipower(HanReader& hanReader, uint8_t listSize, bool substituteMissing) { switch(listSize) { + case (uint8_t)Kamstrup::List3PhaseITShort: + case (uint8_t)Kamstrup::List3PhaseShort: + case (uint8_t)Kamstrup::List1PhaseShort: + case (uint8_t)Kamstrup::List3PhaseITLong: + case (uint8_t)Kamstrup::List3PhaseLong: + case (uint8_t)Kamstrup::List1PhaseLong: + extractFromKamstrup(hanReader, listSize, substituteMissing); + break; case (uint8_t)Omnipower::DLMS: meterTimestamp = hanReader.getTime( (uint8_t)Omnipower_DLMS::MeterClock, true, true); activeImportCounter = ((float) hanReader.getInt((uint8_t)Omnipower_DLMS::CumulativeActiveImportEnergy)) / 100; diff --git a/src/AmsData.h b/src/AmsData.h index 7476fd3b..d4e71134 100644 --- a/src/AmsData.h +++ b/src/AmsData.h @@ -63,7 +63,7 @@ private: void extractFromKaifa(HanReader& hanReader, uint8_t listSize); void extractFromAidon(HanReader& hanReader, uint8_t listSize, bool substituteMissing); void extractFromKamstrup(HanReader& hanReader, uint8_t listSize, bool substituteMissing); - void extractFromOmnipower(HanReader& hanReader, uint8_t listSize); + void extractFromOmnipower(HanReader& hanReader, uint8_t listSize, bool substituteMissing); }; #endif