Inhaltsverzeichnis

API

Die Software auf volkszaehler.org besteht aus 2 Komponenten:

Frontend

Das ist die Visualisierung der Werte, i.d.R. also ein Browser, in dem der Verlauf der Stromverbrauchswerte angezeigt wird. Alternativ zum Browser sind aber auch andere Frontends angedacht: eine direkte Anzeige des aktuellen Verbrauchswertes z.B. via Chumby.

Middleware

Hierbei handelt es sich im Wesentlichen um einen Wrapper um die Datenbank. Sämtliche Kommunikation in Richtung Datenbank wird über die Middleware abgewickelt.

Entsprechend besteht die API aus 2 Teilen:

Frontend-API

Diese definiert die Kommunikation zwischen dem Frontend und der Middleware.

Middleware-API

Das ist jetzt leicht: die Middleware-API beschreibt die Kommunikation zwischen dem Messgerät (AVR Net-IO, Flukso, …) und der Middleware.

Hier geht's zur Referenz

Aufgaben der API

Umsetzung

Die gesamte Kommunikation mit der Middleware wird ausnahmslos über HTTP-Anfragen abgewickelt. Beim Entwurf der API wurde auf folgende Punkte geachtet:

HTTP-Protokoll

REST-Architektur

JSON-Format

Beispiel

(nachträgliches) Auslesen von Zählerständen zum 01. des laufenden Monats

(alles auf eine Zeile schreiben)

http://IP/middleware.php/data.csv?
  uuid[]=...&
  uuid[]=...&
  group=month&
  options=raw&
  to=first%20day%20of%20this%20month%20midnight

Man kann beliebig viele `uuid[]=…` (also auch nur einen einzigen) Abschnitte angeben und erhält ein CSV zurück, in dem die Zählerstände zum 01. des Monats Mitternacht enthalten sind.