Skip to content

Commit

Permalink
make fronius null-frame checking more generic
Browse files Browse the repository at this point in the history
We're still occasionally seeing a report from the field where an
energy counter is impossibly high, pointing to the previous null-frame
issue still happening. Possibly with a different vendor error code than
10.

Therefore make this more generic. Ignore all null frames where the operating
state is fault, not just those due to Solar.Net timeouts.

victronenergy/venus#549
  • Loading branch information
izak committed Sep 7, 2022
1 parent ede66f7 commit 8313bf0
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions software/src/fronius_inverter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// want to filter for those.
static const QVector<quint16> FroniusNullFrame = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 10 };
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 };


FroniusInverter::FroniusInverter(VeQItem *root, const DeviceInfo &deviceInfo,
Expand All @@ -28,7 +28,7 @@ bool FroniusInverter::validateSunspecMonitorFrame(QVector<quint16> frame)
// state of 7 (Fault) and a vendor state of 10. Fronius recommendeds
// that we simply filter these values.
if (deviceInfo().retrievalMode == ProtocolSunSpecIntSf &&
frame.mid(2, 38) == FroniusNullFrame)
frame.mid(2, 37) == FroniusNullFrame)
return false;
return true;
}

0 comments on commit 8313bf0

Please sign in to comment.