[RELEASE] Averaging Plus - Average just about anything. Get notifications based on set points

I am currently using a custom averaging app that takes 2 or more Temp readings and forwards them to a Virtual Thermostat. This works well, but there is no truncation on the average decimals, so sometimes I end up with a very long temperature "reading". I have no Groovy knowledge so don't know how to change it. In addition to this the current app has multiple non-nested instances, which doesn´t look super nice.

image

I was hoping that I could use your Averaging Plus app for this, but it seems I need to create a new virtual device or use an existing one but with a specific driver. I suppose I could create a new device and copy the temp to the thermostat, but that just adds more devices, which is something I was trying to avoid.

Any idea if I could do this differently with Averaging Plus ?

First, I would recommend contacting the author of the custom app that you are using. Most are very accommodating.

Yes, that's so the app knows how to 'talk' to the device. That device is specifically designed to work with AP.

Once you get the average temp into the device, you can do anything you like with the data. Read it into other apps or use it with RM for examples.

2 Likes

I only just started using this app. I've created 2 virtual temperature sensors using it. Tonight at midnight, I got the following errors in the log, 1 for each.

[dev:422](http://192.168.1.134/logs#dev422)2020-08-14 12:00:00.402 am [error](http://192.168.1.134/device/edit/422)java.lang.ArrayIndexOutOfBoundsException: 1 on line 86 (virtualAverage)
[dev:225](http://192.168.1.134/logs#dev225)2020-08-14 12:00:00.321 am [error](http://192.168.1.134/device/edit/225)java.lang.ArrayIndexOutOfBoundsException: 1 on line 86 (virtualAverage)

Please download the updated driver and capture a debug log. Post a screenshot of the log, not just the error.

thanks

Updated and turned on debugging logging. Will post if I notice any errors.

I don't know if this would make the virtual devices to bulky, but it would be sweet if the log, or a variable state included all the incoming variables being tabulated. Also, is there any math/logic/option to toss out obvious bad data? Like when one sensor fails, or batteries die, etc. Perhaps a mode that throws out sensors that haven't updated in the last hour, and the option to also achieved a "trimmed mean," which in the statistics world means you toss out the top and bottom 10%. When I'm doing 10-15 temperature sensors and one of them is reporting something bogus, it would be nice to have that feature. Then the virtual device could report the instantaneous high/low as well. That could be useful if you not only want to work with the average, but also extremes.

Just tossing out some ideas. Thanks!

Hi @bptworld - I just started using this - I'm not sure if it's just coincidence but it looks like when averaging temperatures it seems to round up or down to the nearest whole temp. However it would be really useful to have at least one decimal place so that the hysteresis of my thermostats can work properly with this. thanks!

New version on GitHub...

1.1.2 - 12/04/20 - Added one decimal point to average

1 Like

Thank you!

1 Like