//msg.payload format = { voltages: , temps: , SOC : , SOH:, STATUS: ,PACK_V : , PACK_I : , BTEMP:} ;
Npacks = global.get("No_of_packs") ;
data = msg.payload ;
flow.set("data2",data);
acsii = 97 ;
var pack = {} ;
bats =
{
"id": -1,
"RATEDCAP_AH":-1,
"Max_V": 0,
"Max_I": 0,
"Bat_V": 0,
"Bat_I": 0,
"SOC":-1,
"SOH":-1,
"Cells_V": [],
"PCB_TEMP": [],
"EXT_TEMP": [],
"Serial_No": "",
"RUNNING_TIME_MIN" : 0 ,
"STATUS":"",
"LAST_DATA":""
};
for (i=0 ; i < Npacks ;i++) {
datav = ;
pack = {} ;
if (global.get("Bat0"+(i+1))==undefined) {
global.set("Bat0"+(i+1) , bats);
}
h = (i+1) ;
h = h.toString() ;
pack = global.get("Bat0"+h ) ;
node.warn(data.voltages[i]) ; // this shows the correct data
node.warn(i);
datav = data.voltages[i] ; // this seems to set the same value in both batteries and not the correct value
pack.Cells_V = datav ;
pack.id= (i+1)*10 ; // id is set to tha same on both packs ????
node.warn(pack) ;
}
return msg;