I have Neo Coolcam sensors which send from time to time wrong values:
Power Plugs send for their kWh values in rotatory good and bad values, like -21474641.41 instead of something close to 195.039993286 kWh.
So, some good values come in, then some bad (negative) numbers come in, some good, some bad… Absolutely regularly and repeatable.
They say it’s not their fault, it’s the hub I use, without asking what system I actually use…
Motion Sensors send temperature (and lumen) values too low, by a few degrees, down to zero. Very very seldom also a negative value.
Here’s the pattern the radio quality. Higher distance = higher chance to get a wrong value. I have twenty of them, most are fine, but 2 produce wrong messages more than others, regardless how far they are positioned.
Solution (not fully working):
In my (Python) rules I inspect the values and I set it back to the previous state if it’s bogus.
So in BasicUI the numeric values are always ok.
However, in the charts the large down-peaks are still visible and they ruin the view.
Attempts to fix
I tried this and that, but realized it’s probably hopeless because (it seems) there is no way to catch those values, because what I receive are sensor values, not commands, so I’m limited to when the rule triggers:
• To late:
@when(“Item ITEM_NAME received update”)
• Of course to late:
@when(“Item ITEM_NAME changed”)
• Does not trigger:
@when(“Item ITEM_NAME received command”)
I thought with autoupdate=“false” and the rule trigger “received update”, it should be possible, but the item updates, regardless of autoupdate=“false” in place.
Do I something wrong?
This is my item definition:
Number BD_Steckdose_Geraete_kWh "BD Geräte kWh [%.2f]" (BD_Group, kWhGroup) {channel="zwave:device:xxx:node23:meter_kwh", autoupdate="false"}
If autoupdate=“false” is not working, is there another way to catch sensor values early, before the item get’s updated?