ich möchte mein Smartmeter mittels NodeRed auslesen.
Als Eingang erhält mein Funktionsblock den msg Inhalt vom Baustein "smartmeter".
Nun möchte ich die Leistung L1 etc berechnen. Jedoch wird der Ausgang Leistung_L1 sowie die anderen Leistungsausgänge mit NaN in der Debugausgabe beziffert. Also es wird kein korrekter Wert berechnet. Könnt ihr mir sagen, an welcher Stelle ich was falsch mache?
Code: Alles auswählen
var Zaehlerwert = { payload: msg.payload["1-0:1.8.0*255"].values[0].value };
var MomentanVerbrauch = { payload: msg.payload["1-0:16.7.0*255"].values[0].value};
var SpannungL1= { payload: msg.payload["1-0:32.7.0*255"].values[0].value };
var SpannungL2= { payload: msg.payload["1-0:52.7.0*255"].values[0].value };
var SpannungL3= { payload: msg.payload["1-0:72.7.0*255"].values[0].value };
var Netzfreq = { payload: msg.payload["1-0:14.7.0*255"].values[0].value };
var StromL1 = { payload: msg.payload["1-0:31.7.0*255"].values[0].value };
var StromL2 = { payload: msg.payload["1-0:51.7.0*255"].values[0].value };
var StromL3 = { payload: msg.payload["1-0:71.7.0*255"].values[0].value };
var CosPhi_L1 = { payload: msg.payload["1-0:81.7.4*255"].values[0].value };
var CosPhi_L2 = { payload: msg.payload["1-0:81.7.15*255"].values[0].value };
var CosPhi_L3 = { payload: msg.payload["1-0:81.7.26*255"].values[0].value };
var Leistung_L1 = 0;
var Leistung_L2 = 0;
var Leistung_L3 = 0;
Leistung_L1 = (StromL1.payload*SpannungL1.payload*CosPhi_L1);
Leistung_L2 = (StromL2.payload*SpannungL2.payload*CosPhi_L2);
Leistung_L3 = (StromL3.payload*SpannungL3.payload*CosPhi_L3);
return [
Zaehlerwert,
MomentanVerbrauch,
SpannungL1,
SpannungL2,
SpannungL3,
Netzfreq,
StromL1,
StromL2,
StromL3,
{payload:Leistung_L1},
{payload:Leistung_L2},
{payload:Leistung_L3}
];