Zum Hauptinhalt springen

(Get)ComponentInfo

Über dieses Paketpaar fordert der neuroomNet Software API Server in der Anmeldephase von einer Komponente eine Beschreibung an und erwartet diese im Gegenzug als nächstes Paket.

Anforderung der Komponentenbeschreibung

{
"apiVersion": "1.0",
"command": "GetComponentInfo"
}

Codierung String: GetComponentInfo<TAB>apiVersion<TAB>1.0

Die apiVersion beschreibt, welche Protokollversion der Software API vom Dienst unterstützt wird. Da diese immer abwärts kompatibel gehalten wird, muss eine Komponente mit einer älteren Version im Allgemeinen nichts unternehmen. Ist die Komponente aber auf Basis einer neueren Version entwickelt worden, so sollte sie die Kommunikation mit dem Dienst entsprechend anpassen.

Melden der Komponentenbeschreibung

{
"apiVersion": "1.0",
"command": "ComponentInfo",
"displayName": "Personenzähler",
"id": "perscounter.1",
"status": "OK",
"type": "counter"
}

Codierung String: ComponentInfo<TAB>apiVersion<TAB>1.0<TAB>displayName<TAB>Personenzähler<TAB>id<TAB>perscounter.1<TAB>status<TAB>OK<TAB>type<TAB>counter

Hinweis: die Reihenfolge der Felder ist egal, optionale Felder können weggelassen werden. Eine korrektes String Codierung wäre daher auch: ComponentInfo<TAB>type<TAB>count<TAB>status<TAB>OK<TAB>apiVersion<TAB>1.0

Mit der apiVersion verhält es sich wie oben beschrieben, nur hier muss sich der Dienst an ältere Komponenten geeignet anpassen. Bei neueren Komponenten wird erwartet, dass sich die Komponente entsprechend anpasst, da der Dienst dazu keine Chance hat.

displayName und id sind optional - in der aktuellen Version 1.0 wird der Anzeigename sogar gänzlich ignoriert. Der Umgang mit der eindeutigen Kennung ist in der allgemeinen Konzeptbeschreibung erläutert.

Für status sind nur die Werte OK, FAIL und OFFLINE erlaubt und beschreiben den initialen Zustand der Komponente. Dieser kann jederzeit durch ein Status Paket aktualisiert werden.

type ist ein freier Wert und bezeichnet die Art der Komponente. Auch dieser Wert wird zurzeit ignoriert, muss aber angegeben werden und darf nicht leer sein.