Um die Installationen benutzen zu können müssen wir erst einen neuen Kanal (Zähler/Sensor) erstellen:
Im WebFrontend unten links: Kanal hinzufügen → Kanal erstellen
Die Parameter im Fenster „Kanal hinzufügen“ gliedern sich in Pflicht-Parameter (schwarze Schrift) und Wahl-Parameter (graue Schrift). Die Parameter haben folgende Bedeutung:
Pfad zum Script middleware.php, in der Regel unter ./middleware.php, d.h. beispielsweise auf der Linux-Festplatte unter /var/www/volkszaehler.org/htdocs/
Typ des Kanals (z.B. Sensor, Zähler), den Umfang der zurzeit verfügbaren Sensoren bzw. Zähler findet sich in der Datei EntityDefinition.json in den Scriptes des Frontends, d.h. beispielsweise auf der Linux-Festplatte unterhalb von /var/www/volkszaehler.org/ und auch hier im Wiki z.B.:
Name des Kanals, der im Frontend angezeigt werden soll
Bei einem Kanal vom Typ Stromzähler, die Anzahl der Impulse pro kWh über die s0-Schnittstelle, z.B. bei einem Wechselstromzähler Eltako WSZ12DE-32A sind es 2000 Impulse pro kWh. Bei einem Gaszähler mit einer Auflösung von 0,01m³/Impuls wird eine Auflösung von 100 eingetragen.
Für Stromzähler mit Absolutwerten (Zählerstände) wird ebenfalls die Einheit kWh angenommen. Sind die Rohdaten in Wh wäre die korrekte Auflösung 1000.
Bei virtuellen Kanälen oder freiem Typ „Sensor“ ist keine physikalische Einheit vordefiniert, die soll hier eingegeben werden.
Wenn hier der Haken gesetzt wird ist der Kanal später im Frontend unter „öffentliche Kanäle“ auswählbar. Wenn der Haken nicht gesetzt wird kann man den Kanal nur an Hand seiner UUID abrufen. Vor allem wenn man im Browser die Cookies löscht … Wer einen lokalen, privaten Server betreibt sollte „öffentlich“ einschalten, erspart viel Tipperei der UUIDs. Bei Servern die im Internet erreichbar sind sollte das aus bleiben !
Farbe für die Darstellung des Graphen im Frontend
Wahl der Darstellung der Messwerte im Diagramm des Frontends. Zurzeit existieren die Styles lines, steps, states und points.
Temperaturen: lines
S0-Impulse, Zählerstand, Leistungswerte: steps
Deckungsgrad der Farbe unterhalb des Graphen.
Hier kann der horizontalen Skala zu dem Kanal eine höher Priorität zugeordnet werden. In den meisten Fällen ist auto passend.
Bei einem Kanal vom Typ Stromzählern werden hier die Kosten in €/kWh eingetragen. Betragen die Kosten beispielsweise 22.6 Cent pro kWh, so steht in der Datenbank in der Tabelle properties ein Datensatz mit pkey = cost und value = 0.226.
Ausgängszählerstand bei Inbetriebnahme des Kanals. Dient dazu den Gesamtzählerstand zu ermitteln und in der Tabelle unterhalb des Graphen mit auszugeben. Auch bei Kanälen in denen tatsächliche Zählerstände geloggt werden ist es erforderlich und sollte dem aktuellen Zählerstand bei erstellen des Kanals entsprechen.
Grundlage für die permanente Speicherung einer Ansicht des Frontends im Browser. Sollen verschiedene Ansichten des Frontends abrufbar sein, wird die Nutzung von multi-user-fähigen Browsern (iOS-app: switch, Firefox-Add-On: CookieSwap) empfohlen.
Für virtuelle Kanäle ist eine Formel nötig um Daten aus anderen Kanälen ermitteln zu können. Es sind einfache mathematische Operationen möglich. Dazu müssen Eingang (1-4) passend zur Formel definiert sein.
Z.B. würde val(in1) - val(in2)
den Eingang 2 von Eingang 1 subtrahieren.
Für brauchbare Werte müssen die Einheiten der Eingänge zueinander passen. Ausnahme sind Zählerstände (Wh), sie werden von der Middleware grundsätzlich von der Zeit „befreit“ und stehen z.B. als Leistung (W) zur Verfügung. Dementsprechend ist die Einheit des virtuellen Kanals auch immer ohne Zeit (W).
Hier sind die UUID der Kanäle einzutragen aus denen der virtuelle Kanal errechnet werden soll.
Eingang 1 (in1)
ist Pflicht, Eingänge 2-4 ((in2)
, (in3)
und (in4)
) sind optional.
Die UUID wird beim Anlegen eines Kanals automatisch erzeugt und wird nach Anlegen des Kanals in einem Fenster angezeigt. Später kann die über das (i) rechts neben dem Kanal abgefragt werden.
Ein alternativer Weg. Der gesamte, verfügbare Funktionsumfang kann unter Referenz eingesehen werden.
http://<server>/<path>/middleware.php/channel.json?operation=add&title=Testzaehler&type=power&resolution=1000&description=Swissnox[...]
Die Middleware antwortet daraufhin mit einer JSON codierten Antwort, die die UUID des Kanals enthält.
Die UUID läßt sich auch per phpMyAdmin aus der Tabelle „entities“ entnehmen.
Mit folgendem Request können wir dann bereits die ersten Impulse/Messwerte simulieren:
http://<server>/<path>/middleware.php/data/<uuid>.json?operation=add&value=<1|Sensor Wert>
und mit folgendem die Daten zurücklesen:
http://<server>/<path>/middleware.php/data/<uuid>.json
Um uns nun die Daten anzeigen zu können, müssen wir nur noch das Frontend mit der entsprechenden UUID aufrufen:
http://<server>/<path>/?uuid=<uuid>
a301d8d0-903b-1234-94bb-d943d061b6a8
Alternativ kann man die UUID auch über das Fenster im Frontend direkt eingeben.