node-red-contrib-average 0.1.7

A Node-RED node to calculate average.

npm install node-red-contrib-average

node-red-contrib-average

GitHub version NPM version Dependencies Status

A Node-RED node to calculate average (avg).


Table of Contents


Install

Run the following command in your Node-RED user directory - typically ~/.node-red:

npm install node-red-contrib-average

Usage

Calculate the average of incoming msg.payload values from across a number of different msg.topic.

Incoming msg.topic has to be used to separate and identify values. Messages not containing a valid numeric value will be rejected.

Will return the current average of all different msg.topic values as msg.payload. Every other data will be pushed through.

The average can be reset with an incoming message that contains msg.reset. Then all stored data will be removed and the initial average starts at zero again.

Example Flow

Simple example showing how to calculate and average of static values.

example.png

[{"id":"5a8eea2a.b67d3c","type":"debug","z":"470977d9.9fb538","name":"debug","active":true,"console":"false","complete":"true","x":870,"y":200,"wires":[]},{"id":"c79942e7.6ae498","type":"inject","z":"470977d9.9fb538","name":"1","topic":"name_one","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":470,"y":80,"wires":[["60d50df3.aacf5c"]]},{"id":"5b6c2de0.a35dc4","type":"inject","z":"470977d9.9fb538","name":"2","topic":"name_two","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"x":470,"y":120,"wires":[["60d50df3.aacf5c"]]},{"id":"689a005a.9f41b8","type":"inject","z":"470977d9.9fb538","name":"3","topic":"name_three","payload":"3","payloadType":"num","repeat":"","crontab":"","once":false,"x":470,"y":160,"wires":[["60d50df3.aacf5c"]]},{"id":"4b264eb1.263c88","type":"inject","z":"470977d9.9fb538","name":"4","topic":"name_four","payload":"4","payloadType":"num","repeat":"","crontab":"","once":false,"x":470,"y":200,"wires":[["60d50df3.aacf5c"]]},{"id":"60d50df3.aacf5c","type":"average","z":"470977d9.9fb538","name":"","topic":"","x":740,"y":200,"wires":[["5a8eea2a.b67d3c"]]},{"id":"96ae6e69.adecc8","type":"inject","z":"470977d9.9fb538","name":"reset","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":470,"y":240,"wires":[["49c46c67.385fc4"]]},{"id":"49c46c67.385fc4","type":"function","z":"470977d9.9fb538","name":"msg","func":"msg.reset = true;\nreturn msg;","outputs":1,"noerr":0,"x":590,"y":240,"wires":[["60d50df3.aacf5c"]]}]

Bugs / Feature request

Please report bugs and feel free to ask for new features directly on GitHub.

License

This project is licensed under Apache 2.0 license.

Donation

You like to support me?
You appreciate my work?
You use it in commercial projects?

Feel free to make a little donation! :wink:

Node Info

Version: 0.1.7
Updated 8 years, 6 months ago
License: Apache-2.0
Rating: 3.0 2

Categories

Actions

Rate:

Downloads

70 in the last week

Nodes

  • average

Keywords

  • node-red
  • average
  • avg

Maintainers