Voor mijn wasmachine wil ik de gemiddelde stroom berekenen en dan notificaties sturen (begonnen, klaar)
Er staan meerdere voorbeelden online maar ik krijg er geen een aan de gang.
Inmiddels het ik het zelf gemaakt en alles werkt behalve die berekening.
Ik snap helemaal niets van die flows voor average berekening, wie kan mee helpen ?
stroom sensor is iedere 20 seconde een meting
5 minuten > 10 watt is begonnen
5 minute < 10 watt is klaar
Natuurlijk, gemiddelde is 15 waardes bij elkaar optellen en delen door 15
Maar wanneer voer je die berekening uit ?
Je zou denken bij iedere state change maar soms blijft de waarde het zelfde... (geen change)
Is deze function node aan te passen naar mijn smaak ?
Er staan meerdere voorbeelden online maar ik krijg er geen een aan de gang.
Inmiddels het ik het zelf gemaakt en alles werkt behalve die berekening.
Ik snap helemaal niets van die flows voor average berekening, wie kan mee helpen ?
stroom sensor is iedere 20 seconde een meting
5 minuten > 10 watt is begonnen
5 minute < 10 watt is klaar
Natuurlijk, gemiddelde is 15 waardes bij elkaar optellen en delen door 15
Maar wanneer voer je die berekening uit ?
Je zou denken bij iedere state change maar soms blijft de waarde het zelfde... (geen change)
Is deze function node aan te passen naar mijn smaak ?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| FUNCTION NODE: Calculate the power
var power = msg.payload.StatusSNS.ENERGY.Power;
var timer = flow.get("timeout");
var total = flow.get("Total");
var cost = flow.get("CostArray");
//check if array exists
if(!total || !total.length || total === undefined){
total = [];
}
//push element
total.unshift(power);
//remove X elementh
if(total[timer] === undefined) {
flow.set("Total", total);
}
else {
total.splice(timer, 1);
flow.set("Total", total);
} |
[ Voor 32% gewijzigd door Woodski op 21-01-2022 21:04 ]