NEWS
[Script] Ordnerstruktur auslesen
-
Hallo zusammen,
ich lese mithilfe JS meinen MQTT Ordner aus um daraus ein JSON Objekt zu erstellen...
Ordnerstrukrur:
mqtt.0.hersteller.generation.stadt.strasse.nummer.datenpunkte.weiteredatenpunkte.... (in so einem ordner liegen gerne 200 datenpunkte)$('mqtt.0.hersteller.generation.*').each(function(id, i) { //MQTT Ordnerstruktur durchsuchen // console.log(id) let stadt = id.split('.')[4]; let strasse = id.split('.')[5]; let nr = id.split('.')[6]; if(devices.indexOf(stadt) == -1) devices.push(stadt); //Variablen mit gleichen namen entfernen if(devices.indexOf(strasse) == -1) devices.push(strasse); //Variablen mit gleichen namen entfernen if(devices.indexOf(nr) == -1) devices.push(nr); //Variablen mit gleichen namen entfernen }); // array zusammensetzen for(var i=0; i< devices.length;i++) { if(i%3==0) { devices2.push(devices[i]+"."+devices[i+1]+"."+ devices[i+2]); // zusammensetzen stadt.strasse.nr } } setState("0_userdata.0.hersteller.generation.anlagen", JSON.stringify(devices2));
jetzt kommt es aber vor dass ich im Bereich Stadt zwei Strassen habe und das ganze leider nicht mehr so funktioniert... d.h. das array verschiebt sich...
hat hier jemand eine Idee?
VG
Dome -
@znyde
Weshalb so kompliziert in 2 Schritten? Vorschlag:const devices = []; $('mqtt.0.hersteller.generation.*').each(function(id, i) { //MQTT Ordnerstruktur durchsuchen // console.log(id) id = id.split('.'); let adresse = id[4] + '.' + id[5] + '.' + id[6]; if(devices.indexOf(adresse) == -1) devices.push(adresse); //Variablen mit gleichen namen entfernen }); setState("0_userdata.0.hersteller.generation.anlagen", JSON.stringify(devices), true);
-
Natürlich
wie dumm von mir
Danke klappt bestens