Hi - this is such a good topic that I’ve split it out into its own thread.
Invalid values are something that I see from time to time on a Zwave network (typically once every two month I get a wild reading, usually with some correct digits, from my power meter readers) but I’ve never seen it on a MySensors network. This seems to be a particularly bad case and surely points to some other problem with the sensor or network?
That being said, incorrect values happen and need to be dealt with. DataMine has a filter for this, and so, in fact, does DataYours, but it’s done very differently. We need to take a dive into the working of DataYours, a highly modular system which can be distributed over multiple processors. The basic acquisition chain is something like this:
incoming data → DataWatcher → optional daemons → DataCache → Whisper database → DataGraph → plotted graph
Each one of the processed in the chain can be on a different machine, but it’s an implementation decision as to whether you want to filter data before it goes into the database, or afterwards. Chris’s (the original dataMine author) choice was to do it afterwards, in the plotting. We had some discussion of this about three years ago: Automatically cleaning up erroneous logged data, and he said:
I don’t know whether or not @ConstantSphere has changed this philosophy in version 2.
Anyway, in DataYours you have the choice. At this time, if you define a stored graph, you have the option of setting Y-axis limits, which would effectiely do what you need for display purposes. The alternative, not currently implemented but almost trivial to do, is to insert another daemon in the chain at “optional daemons” which implements whatever filtering you like, before the data goes into the Whisper database.