@mschaeffler/node-red-logic 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/math_statistics.js +11 -3
  2. package/package.json +1 -1
@@ -81,10 +81,12 @@ module.exports = function(RED) {
81
81
  count: item.length,
82
82
  min: Number.MAX_SAFE_INTEGER,
83
83
  max: Number.MIN_SAFE_INTEGER };
84
- let sum = 0;
84
+ let sumV = 0;
85
+ let sumT = 0;
85
86
  for( const value of item )
86
87
  {
87
- sum += value.value;
88
+ sumV += value.value;
89
+ sumT += value.time;
88
90
  if( value.value < msg.stat.min )
89
91
  {
90
92
  msg.stat.min = value.value;
@@ -94,14 +96,20 @@ module.exports = function(RED) {
94
96
  msg.stat.max = value.value;
95
97
  }
96
98
  }
97
- msg.stat.average = sum/msg.stat.count;
99
+ msg.stat.average = sumV / msg.stat.count;
100
+ const avgT = sumT / msg.stat.count;
98
101
  let varianz = 0;
102
+ let zaehler = 0;
103
+ let nenner = 0;
99
104
  for( const value of item )
100
105
  {
101
106
  varianz += ( value.value - msg.stat.average ) ** 2;
107
+ zaehler += ( value.value - msg.stat.average ) * ( value.time - avgT );
108
+ nenner += ( value.time - avgT ) ** 2;
102
109
  }
103
110
  msg.stat.deviation = Math.sqrt( varianz / msg.stat.count );
104
111
  msg.stat.variation = msg.stat.deviation / msg.stat.average;
112
+ msg.stat.slope = msg.stat.count > 1 ? zaehler / nenner * 1000 : null;
105
113
  if( node.showState )
106
114
  {
107
115
  node.status({fill:"green",shape:"dot",text:`${msg.stat.count} / ${tools.formatNumber(msg.stat.deviation)}`});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mschaeffler/node-red-logic",
3
- "version": "3.6.1",
3
+ "version": "3.7.0",
4
4
  "description": "nodes for simple operations.",
5
5
  "license": "LGPL-2.1",
6
6
  "homepage": "https://github.com/m-schaeffler/node-red-my-nodes/tree/main/node-red-logic",