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 /TIS-23D => Permission bffh.machine.create..* 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 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 Authorisierung passiert auf Interface Level. Über das Bootstrap Interface können mehrer Verbindungen aufgemacht werden. Föderated Sachen sind immer authentifiziert über ein Zertifikat. Audit Log