node-red-contrib-boolean-logic-ultimate
Advanced tools
Comparing version 1.0.52 to 1.0.53
@@ -6,2 +6,3 @@ module.exports = function (RED) { | ||
var node = this; | ||
node.math = config.math === undefined ? "sum" : config.math; | ||
this.topics = {}; | ||
@@ -56,10 +57,25 @@ | ||
var quantita = 0; | ||
var somma = Object.keys(node.topics).reduce(function (a, b) { | ||
++quantita; | ||
return a + node.topics[b]; | ||
}, 0); | ||
msg.payload = somma; // Sum | ||
msg.average = somma / quantita; // Average | ||
msg.measurements = quantita; // Topics | ||
if (node.math === "sum") { | ||
let somma = Object.keys(node.topics).reduce(function (a, b) { | ||
++quantita; | ||
return a + node.topics[b]; | ||
}, 0); | ||
msg.payload = somma; // Sum | ||
msg.average = somma / quantita; // Average | ||
msg.measurements = quantita; // Topics | ||
} else if (node.math === "multiply") { | ||
let moltiplicazione = Object.keys(node.topics).reduce(function (a, b) { | ||
try { | ||
++quantita; | ||
return (a > 0 ? a : 1) * node.topics[b]; // Avoid returning zero everytime | ||
} catch (error) { | ||
setNodeStatus({ fill: "red", shape: "ring", text: "Error " + error.message }); | ||
return 0; | ||
} | ||
}, 0); | ||
msg.payload = moltiplicazione; // Sum | ||
msg.average = undefined; // Average | ||
msg.measurements = quantita; // Topics | ||
} | ||
@@ -66,0 +82,0 @@ // overwrite topic if configured |
@@ -7,2 +7,7 @@ # node-red-contrib-boolean-logic-ultimate | ||
<p> | ||
<b>Version 1.0.53</b> June 2022<br/> | ||
- NEW: Math Ultimate. The old "Sum" node, now has become a math node, you can peform multipication other than sum.</br> | ||
- Updated README with samples of Math node. | ||
</p> | ||
<p> | ||
<b>Version 1.0.52</b> Mai 2022<br/> | ||
@@ -9,0 +14,0 @@ - NEW: Railway Switcher Ultimate: new node to switch the input message to an output pin (https://youtu.be/1SjYE7d04u4).</br> |
{ | ||
"name": "node-red-contrib-boolean-logic-ultimate", | ||
"version": "1.0.52", | ||
"version": "1.0.53", | ||
"description": "A set of Node-RED enhanced boolean logic and utility nodes, flow interruption, blinker, invert, filter, toggle etc.., with persistent values after reboot. Compatible also with Homeassistant ON and OFF values.", | ||
@@ -5,0 +5,0 @@ "author": "Supergiovane (https://github.com/Supergiovane)", |
@@ -331,5 +331,5 @@ # node-red-contrib-boolean-logic-ultimate | ||
# SUM ULTIMATE | ||
# MATH ULTIMATE | ||
The pourpose of this node is to sum the incoming values. Each incoming message MUST HAVE OWN TOPIC.<br /> | ||
The pourpose of this node is to do maths on the incoming values. Each incoming message MUST HAVE OWN TOPIC.<br /> | ||
@@ -339,3 +339,3 @@ <img src='https://raw.githubusercontent.com/Supergiovane/node-red-contrib-boolean-logic-ultimate/master/img/sum.png' width='60%'> | ||
<code> | ||
[{"id":"05b6ce0cb476abd5","type":"SumUltimate","z":"d8fbf871e381cf2c","name":"Sum","property":"payload","x":550,"y":160,"wires":[["567aa6a9719e463e","34fbca5daf8b9fab","e3c2a45a0b77af8f"]]},{"id":"6744e01b88d820b9","type":"inject","z":"d8fbf871e381cf2c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Watt Table Lamp","payload":"10","payloadType":"num","x":250,"y":140,"wires":[["05b6ce0cb476abd5"]]},{"id":"75823dbc7db78c3c","type":"inject","z":"d8fbf871e381cf2c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Watt Washing machine","payload":"20","payloadType":"num","x":270,"y":180,"wires":[["05b6ce0cb476abd5"]]},{"id":"567aa6a9719e463e","type":"debug","z":"d8fbf871e381cf2c","name":"Sum","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":690,"y":160,"wires":[]},{"id":"1793931ba218bc1d","type":"inject","z":"d8fbf871e381cf2c","name":"Reset","props":[{"p":"reset","v":"","vt":"date"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":210,"y":240,"wires":[["05b6ce0cb476abd5"]]},{"id":"0b3277af03f546d4","type":"comment","z":"d8fbf871e381cf2c","name":"Getting Sum, Average etc. from the SUM node.","info":"","x":320,"y":100,"wires":[]},{"id":"34fbca5daf8b9fab","type":"debug","z":"d8fbf871e381cf2c","name":"Average","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"average","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":200,"wires":[]},{"id":"e3c2a45a0b77af8f","type":"debug","z":"d8fbf871e381cf2c","name":"Measurements","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"measurements","targetType":"msg","statusVal":"","statusType":"auto","x":720,"y":240,"wires":[]}] | ||
[{"id":"05b6ce0cb476abd5","type":"SumUltimate","z":"2bf641f4b8742755","name":"Multiply","property":"payload","math":"multiply","x":400,"y":180,"wires":[["567aa6a9719e463e"]]},{"id":"6744e01b88d820b9","type":"inject","z":"2bf641f4b8742755","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Wh Washing machine","payload":"10","payloadType":"num","x":190,"y":180,"wires":[["05b6ce0cb476abd5"]]},{"id":"75823dbc7db78c3c","type":"inject","z":"2bf641f4b8742755","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Cost per KWh","payload":"20","payloadType":"num","x":160,"y":220,"wires":[["05b6ce0cb476abd5"]]},{"id":"567aa6a9719e463e","type":"debug","z":"2bf641f4b8742755","name":"Result","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":530,"y":180,"wires":[]},{"id":"1793931ba218bc1d","type":"inject","z":"2bf641f4b8742755","name":"Reset","props":[{"p":"reset","v":"","vt":"date"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":260,"wires":[["05b6ce0cb476abd5"]]},{"id":"0b3277af03f546d4","type":"comment","z":"2bf641f4b8742755","name":"Getting results, (Sum, Multiply etc...) from the MATH node.","info":"","x":270,"y":140,"wires":[]}] | ||
</code> | ||
@@ -355,5 +355,5 @@ </details> | ||
{ | ||
"payload": 30, // This is the SUM | ||
"topic": "Sum", // Node Topic | ||
"average": 15, // This is the AVERAVE | ||
"payload": 30, // This is the math result | ||
"topic": "MyMath", // Node Topic | ||
"average": 15, // This is the AVERAGE, in case of SUM | ||
"measurements": 2 // This is the number of topics that have been evaluated | ||
@@ -360,0 +360,0 @@ } |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1228301
1023