21.01.2021 // API Meeting
Bootstrap Interface, für Informationen ohne Authentifizierung Von dort aus kann man sich dann Authentifizieren
Bootstrap Interface:
- Serverinformationen
- sich authentifizieren
- Ping
- (Post Prototype) Server-Module auslesen
Maschine Subsystem:
-
Maschinen lesen
-
Maschinen reservieren
-
Maschinen editieren
-
Maschinen (als Dummy / ohne weitere Informationen) erstellen (Nur fuer 3rd party client)
- QR-Code
TIS-23D
=> Maschine ID<namespace>/TIS-23D
=> Permissionbffh.machine.create.<namespace>.*
- QR-Code
-
Tags - Key / Value
- Key: Position - Value: Map Kind $Value
- Key: Static - Value: struct Position on a map
- Key: Preise - value: ??
- Super wichtig fuer foederierte Aktionen wo Preise von $zuhause zu $foederiertemVerein unterschiedlich sind.
- Key: Stromverbrauch - Value: Ampere-Wert
- Key: Custom(String) - Value: Leaf Bytes (Tree Bytes)
Good:
- Key: "https://lastenrad.de/fabaccess-ns/kilometerstand" - Value: Varint
Bad:
- Key: "varint" - Value: Bool
- Key: Position - Value: Map Kind $Value
-
Metadaten
Permission Subsystem (Admin):
- Berechtigungen lesen
- Berechtigungen erstellen
- Berechtigungen editieren
- Nutzer lesen
- Nutzer erstellen
- Nutzer editieren
Interaction Subsystem:
- Mapping Initiator => Machine (Event)
- kommt ungefragt und asynchron rein
- FabAccess weiß vorher was kommt
- .. um einen Wert einer Maschine (z.B. aus/an) zu ändern
- Mapping Machine => Actor (Actor)
- Mapping Sensor => Machine (Behaviour)
- wird von FabAccess regelmäßig abgefragt
- oder kommt ungefragt und asynchron rein
- .. Wert der draussen aktuell ist und zur weiteren Verarbeitung zur Verfügung steht.
- Effekte / Rule (Effect) (Event / Behaviour -> Event / Behaviour)
- Kann (wenn das gut ist) NodeRed verwenden.
- Oder ähnlich wie in OpenHAB.
- ... gerne textbasiert & funktioniert
- wenn web/app/...-basiert gerne auch, Hauptsache funktioniert.
Föderation Subsystem:
- Nutzer validieren
- Rollen eines Nutzer auslesen koennen
- Alle (fuer den jeweiligen Server sichtbaren) Rollenbeschreibungen auslesen koennen
- Rollen sind immer lokal, koennen aber auf eine remote gruppe gemapt werden, i.e. als diese equivalent gesetzt werden
- Remote user die in einer remote role sind kriegen damit trotzdem lokale roles
Über das Bootstrap Interface können mehrer Verbindungen aufgemacht werden.
Föderated Sachen sind immer authentifiziert über ein Zertifikat.
Quelle: https://hackmd.io/w15ON1YoRLKO3BFx1oEzdQ
Keine Kommentare vorhanden
Keine Kommentare vorhanden