NEWS
Wie Json eines anderen Adapters einlesen
-
Hi,
ist es möglich in der AdminOberfläche eines Adapters eine Json aus dem Verzeichnis: "iobroker.data/files/vis.0/" ein zu lesen?
Nun habe ich versucht es einfach über die Verzeichnissstruktur zu machen.
Meine AdminOberfläche ist unter diesem DateiPfad zu finden :/opt/iobroker/node_modules/iobroker.viewswitch/admin/
Und die Json die ich einlesen möchte hier: /opt/iobroker/iobroker-data/files/vis.0/Was natürlich nicht funktioniert, hier bekomme ich folgende Fehlermeldung:
0:113 GET http://192.168.2.13:8081/adapter/viewswitch/vis.0/_data.json 404 (Not Found)
Hier sieht man dass ich immernoch in dem viewswitch Verzeichnis bin.
Die verwendete Funktion ist folgende:
async function loadJson(url) { try { const response = await fetch(url); data = await response.text(); if (data) { value = JSON.parse(data); console.log(value) } } catch (err) { console.error(err); } } loadJson('././././iobroker-data/files/vis.0/_data.json');
-
muss das nicht
loadJson('../../../../iobroker.data/files/vis.0/_data.json');
heissen ? Wobei ich nicht sicher bin ob da Leserechte exisiteren.
A.
-
@Asgothian
selbstverständlich hast du Recht funktioniert aber leider trozdem nicht.Aufruf: loadJson(('../../../iobroker-data/files/vis.0/_data.json'); Fehler: GET http://192.168.2.13:8081/iobroker-data/files/vis.0/_data.json 404 (Not Found)
-
@Peoples
Ich habe es in schoolfree wie folgt gelöstIch denke dir fehlt folgendes:
https://github.com/simatec/ioBroker.schoolfree/blob/0082ea3aef5f8c2be787eb8c98192f6f1c567d7d/admin/index_m.html#L24 -
@Peoples sagte in Wie Json eines anderen Adapters einlesen:
AdminOberfläche eines Adapters eine Json aus dem Verzeichnis: "iobroker.data/files/vis.0/" ein zu lesen?
Ich würde den Adapter selbst die Datei lesen lassen. Aus der Admin-Oberfläche kannst du mit sendTo eine Nachricht an den Adapter senden, der die Datei liest und anschließend mit dem Inhalt auf die Nachricht antwortet.
An die Systemdaten kommst du per fetch nicht dran.
-
Das klingt super aber gibt's da irgendwo ne Doku oder ein Beispiel zu?
Edit
Habe einen alten Beitrag gefunden und versuche das mal nach zu stellen -
- Edit *
Hat sich erledigt hatte einen Schreibfehler
- Edit *