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 -
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);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden