NEWS
Json parsen mit Javascript - Speicherort ändern
-
Hallo,
ich muss gleich vorweg zugeben ich habe keine Ahnung von Javascript.
Ich lese einen Smartzähler per Json aus. Der String wird mit einem Javascript in "seine Bestandteile " zerlegt, damit ich die Einzelnen Daten an die Datenbank bzw Grafana schicken kann
Das ist der String den ich vom Zähler auslese: {"1.8.0":25683123,"2.8.0":0,"3.8.1":382320,"4.8.1":8439002,"1.7.0":314,"2.7.0":0,"3.7.0":0,"4.7.0":273,"1.128.0":0}Ich habe das Script im Internet gefunden - und es hat bis zu einem Update auch perfekt funktioniert.
Ich vermute dass der Speicherort ( javascript.o.mqtt. ... ) gesperrt ist . Es wird einmal hingeschrieben, aber die Daten nicht aktualisiert.
Meine Frage nun - kann man in dem Script den Speicherort ändern - oder was könnte sonst das Problem sein??Danke für eure Hilfe !!
function iter(name, obj) { for(let i in obj) { if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]); else { log(name + '.' + i + ': ' + obj[i]); if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]); else createState(name + '.' + i, obj[i]); // type: "mixed" } } } function SendRequest(){ var options = { url: 'http://192.168.0.155/rest' }; request(options, function (error, response, body){ if (!error) iter('mqtt.1.amis.out', JSON.parse(body)); else console.error(error); }); } schedule('*/5 * * * * *', SendRequest); -
Hallo,
ich muss gleich vorweg zugeben ich habe keine Ahnung von Javascript.
Ich lese einen Smartzähler per Json aus. Der String wird mit einem Javascript in "seine Bestandteile " zerlegt, damit ich die Einzelnen Daten an die Datenbank bzw Grafana schicken kann
Das ist der String den ich vom Zähler auslese: {"1.8.0":25683123,"2.8.0":0,"3.8.1":382320,"4.8.1":8439002,"1.7.0":314,"2.7.0":0,"3.7.0":0,"4.7.0":273,"1.128.0":0}Ich habe das Script im Internet gefunden - und es hat bis zu einem Update auch perfekt funktioniert.
Ich vermute dass der Speicherort ( javascript.o.mqtt. ... ) gesperrt ist . Es wird einmal hingeschrieben, aber die Daten nicht aktualisiert.
Meine Frage nun - kann man in dem Script den Speicherort ändern - oder was könnte sonst das Problem sein??Danke für eure Hilfe !!
function iter(name, obj) { for(let i in obj) { if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]); else { log(name + '.' + i + ': ' + obj[i]); if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]); else createState(name + '.' + i, obj[i]); // type: "mixed" } } } function SendRequest(){ var options = { url: 'http://192.168.0.155/rest' }; request(options, function (error, response, body){ if (!error) iter('mqtt.1.amis.out', JSON.parse(body)); else console.error(error); }); } schedule('*/5 * * * * *', SendRequest);Versuche es mal mit geänderter Zeile 17:
if (!error) iter('0_userdata.0.amis.out', JSON.parse(body)); -
Versuche es mal mit geänderter Zeile 17:
if (!error) iter('0_userdata.0.amis.out', JSON.parse(body));ja so einfach kanns gehen wenn man eine Ahnung davon hat .
Danke dir - aber frag nicht wie lange ich schon davor sitzte... und wieviele Sachen ich da schon probiert habe ..
LG Christoph
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