NEWS

Suche einfachen Weg, JSON-Daten online zur Verfügung zu stellen


  • Ich möchte gerne eine super-leichtgewichtige Visualisierung umsetzen (VIS ist zwar genial, schleppt aber für simple Anwendungen arg viel Ballast mit).

    Meine Grundidee:
    Der Client zeigt im Browser eine Webseite an (lokal geladen oder von einem Server ist egal). Diese enthält etwas JavaScript, das die aktuellen Daten als JSON nachlädt und in die Seite einfügt.
    Von der ioBroker-Seite müsste regelmäßig ein JSON-String mit aktuellen Werten erzeugt werden (das dürfte mit etwas JavaScript kein Problem sein). Dieser müsste dann "irgendwie" per Webserver zur Verfügung gestellt werden.

    Ich bin mir sicher, dass das machbar ist, habe derzeit aber einen etwas aufwendigen Weg vor Augen:

    • Ein per cron regelmäßig laufendes Script erstellt das JSON-Objekt mit allen Daten.
    • Diese werden mit einem Exec-Befehl in eine lokale Datei geschrieben.
    • Der Zielort dieser Datei liegt im Ordner eines separat auf der gleichen Maschine laufenden Webservers, der dann die Aufgabe übernimmt, das nach außen zur Verfügung zu stellen.

    Hat jemand Ideen, wie ich das einfacher realisieren kann?

    Da ja sowieso schon ein Webserver im ioBroker läuft, wäre es natürlich viel schöner, wenn ich diesen nutzen könnte. Die URL der Daten dürfte gerne auch in einer tiefer verschachtelten Verzeichnisebene liegen.

    Lässt sich das mit den vorhandenen Mitteln irgendwie realisieren?

    Mir geht es auch darum, dass das Konstrukt im "Ruhezustand" keine Netzlast erzeugen soll. D.h. ich möchte nicht, dass die Daten ungefragt jede Minute auf einen Server im Netz geschrieben werden. Nur wenn der Client aktiv ist, soll er selbst regelmäßig ein Update der Daten per HTTP(S) anfragen.

    Vielen Dank für alle hilfreichen Tipps und Ideen!

  • Developer

    Das dürfte gehen mit dem Adapter Simple-API:
    https://github.com/ioBroker/ioBroker.simple-api

    Statt in eine Datei kannst du das JSON als String in einen Datenpunkt schreiben und diesen in Rohform mit getPlainValue durch den Client abrufen lassen
    => https://github.com/ioBroker/ioBroker.simple-api#getplainvalue

Suggested Topics

  • 7
  • 4
  • 6
  • 7
  • 20
  • 5
  • 23
  • 2

1.7k
Online

34.9k
Users

40.9k
Topics

560.9k
Posts