This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 1,000,000+ packages pre-installed, including
node-red-contrib-aggregator with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
This node can be used to aggregate numeric values over a specific time span.
The aggregator stores the retrieved values per topic for the pending time span. He assumes that every topic has the same mightiness, regardless of how many values he retrieved per topic. Once the time span times out, this assumption leads to the following calculation of all retrieved values:
If Submit one message per topic is selected, the second aggregration step will be skipped. One individual message is sent for each topic along with the original topic name.
The Aggregator node aggregates on a whole unit of time selected. For example, every 4 hours starting at 12:30:00 will aggregate at [16:00:00], 20:00:00, 00:00:00 etc. The first aggregation result at 16:00:00, containing the values over the first "incomplete" timespan of 3.5 hours (12:30 - 16:00), is only outputted if the "Submit incomplete interval on start?" option is selected. If the option is not selected, the first output would be at 20:00 with the values between 16:00 and 20:00.
In practise this option should be deselected if you have to ensure that all aggregation results are based on an equal timespan. If this is not an issue or you explicitly want also the first values aggregated for your application, then this option should be selected.
In your Node-RED directory, execute:
npm install node-red-contrib-aggregator
Please just raise a pull request on GitHub.
Many thanks to following people who helped finding bugs and adding more functionalities:
Copyright 2016, Roger Jaggi and Pascal Bohni under the Apache 2.0 license.