Benutzer-Werkzeuge

Webseiten-Werkzeuge


development:api:start

Dies ist eine alte Version des Dokuments!


API

Das API ist zentrale Schnittstelle des Backends. Es gliedert sich in zwei Teile

  • Kommunikation zwischen Frontend und Backend
  • Kommunikation zwischen Controller und Backend
    Hier besitzt volkszaehler.org die Möglichkeit auch APIs anderer Hersteller bzw. Projekte zu unterstützen.
    • Flukso
    • Google Power Meter
    • Yello Strom Zähler (mehr Informationen benötigt)

reference

Aufgaben der API

  • die komplette Kommunikation mit dem Backend übernehmen (Logging, Auswertung & Verwaltung)
  • die Möglichkeit bieten Daten in Paketen an den Backend-Server schicken, um die Netzwerkverbindung zu entlasten und dadurch Strom zu sparen oder Verbindungsprobleme zum Backend-Server abfangen können
  • nicht nur Pulse übertragen können, sondern auch Messwerte anderer Sensoren (Temperatur, Wind, Luftdruck etc.).
  • eine eindeutige Versionierung beinhalten
  • jeden Kanal eindeutig referenzieren (UCID - 'u'nique 'c'hannel 'i'd)
  • Fehlfunktionen der Sensoren/Controller übermitteln können

Umsetzung

Das API baut auf dem HTTP Protokoll auf und orientiert sich an [http://de.wikipedia.org/wiki/Representational_State_Transfer REST]. Die Daten werden mit JSON codiert übertragen.

HTTP

  • wird nur selten in Netzwerken gefiltert
  • kann getunnelt oder durch Proxies benutzt werden
  • ermöglicht einfache Auswertung über einen Webserver mit PHP
  • ist durch vorhande Bibliotheken gut nutzbar und weit verbreitet

REST

  • die Zustandslosigkeit ist gerade für schwache Controller von Vorteil.
  • wird auch von Flukso genutzt

JSON

  • von Menschen lesbar
  • geringer Overload im Vergleich zu XML
  • performante Verarbeitung der Daten mit Javascript

Zukunftsmusik

  • Direktzugriff auf den Controller für Echtzeitdarstellung & Steuerung des Controllers (Ethersex besitzt bereits einen HTTPD, Flukso auch)
    • Matthias von mysmartgrid hat das bereits für den Flukso Controller implementiert
  • Erkennung und Übertragung der Sensortypen, Auflösungen etc..
  • Google Power Meter like Workflow zum installieren neuer Zähler
development/api/start.1280413117.txt.gz · Zuletzt geändert: 2011/05/29 13:09 (Externe Bearbeitung)