Bonjour, je dois décoder (splitter) 1 messages entrants... IoT. J'ai un gros souci avec les loops à partir de // now need to get the bases dans le messages. Sachant qu'il peut y avoir + de 7 bases... et que c'est variable (donc inutile d'écrire un script avec les valeurs numériques ci-dessous).
Le message est le suivant :
J'ai trouvé le commencement du code js à écrire mais arrivé avant 9520 ça ne fonctionne plus...//IWAP02,zh_cn,0,7,460,0,9520|3671|13,9520|3672|12,9520|3673|11,9520|3674|10,9520|3675|9,9520|3676|8,9520|3677|7#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 let answer = {} let elements = msg.payload.split(",") // this gives an array containing the bits answer.command = elements[0] answer.languageNotice = elements[1] answer.flag = elements[2] node.warn(`flag is: ${answer.flag}`) answer.baseCount = elements[3] // you can work out how to put the node.warn statements in yourself answer.mcc = elements[4] answer.mnc = elements[5] // now need to get the bases let i; answer.bases = [] for (i=6, i<5+answer.baseCount, i++) { let baseElements = elements[i].split("|") answer.push({lac: baseElements[0], cid: baseElements[1], dbm: baseElements[2]}) } // the rest needs to go in here msg.payload = answer return msg
QQ'un a 1 idée? Merciiii !!!!!![]()
Partager