Closed beniwohli closed 2 years ago
Ugh. Overlooked that 0-value shortly after midnight. Looking at the logs, there was a re-connect at about 00:07, followed by the expected series of 0-values. A minute later, the bridge sent another series of 0-values, but not for all sensors (e.g. power usage didn't get one, see screenshot below)
So, the bridge always sends bogus values after re-connect, but also may send bogus values at other times.
Maybe we should store the previous value for each sensor, and if the new value is 0 and deviates by more than X from the previous value, discard it. But that gets a bit too complex for my taste...
Ugh. Overlooked that 0-value shortly after midnight. Looking at the logs, there was a re-connect at about 00:07, followed by the expected series of 0-values. A minute later, the bridge sent another series of 0-values, but not for all sensors (e.g. power usage didn't get one, see screenshot below)
So, the bridge always sends bogus values after re-connect, but also may send bogus values at other times.
Maybe we should store the previous value for each sensor, and if the new value is 0 and deviates by more than X from the previous value, discard it. But that gets a bit too complex for my taste...
I wonder if a better fix would be to specify a list of sensors where we disallow a value of 0. The speed sensors should never indicate 0, and the temperature should probably also fluctuate between 0.1 and -0.1 for example. I guess the issue is only with "analog" sensors.
Anyway, this is clearly an issue in the updated firmware, but I don't think Zehnder will be fast to fix this.
This has been fixed in a firmware update! See https://github.com/michaelarnauts/comfoconnect/issues/44#issuecomment-1235089446
With version U1.2.6 of the ComfoConnect LAN C bridge, the bridge started sending
0
for every monitored sensor once, before sending the correct values.To filter these values, we keep a set of sensor IDs for which we received a
0
. If a given ID is not in the set when receiving a0
, the value is ignored. The set is replaced with a new empty set on every re-connect.After applying this patch to my home assistant instance, the graphs look a bit more normal :)
This is a bit of a hack, but I think it's acceptable, as it won't break if Zehnder ever decides to fix this bug on their side.
fixes #44