Direkt zum Hauptinhalt

Client benutzen und typische Konfigurationsfehler bei Server und Clients

Nach Download und Installation des Clients kann's endlich praktisch werden!

Der FabAccess Client "Borepin"

Anwendung starten

Der Client sieht beim ersten Öffnen so aus:

Screenshot_20241129-030717_FabAccess.png Screenshot_20241129-025456_FabAccess.png

Mit Server(n) verbinden (Connect to Server)

Das Verbinden mit einem FabAccess BFFH Server kann durch Eingabe des Hosts erfolgen. Entweder ist die Adresse bekannt und wird manuell angegeben oder ein QR-Code (SCAN QR-CODE) wird gescannt. Der QR-Code enthält den Host im Plaintext-Format (keine URN-Syntax wie bei Ressourcen notwendig). Die Hostadresse erlaubt verschiedene, übliche Formate. Zum Beispiel:

  • FQDN, ohne Port (z.B. demo.fab-access.org)
  • FQDN, mit Port (z.B. demo.fab-access.org:59661)
  • ein Hostname aus dem lokalen Netzwerk, ohne Port, z.B. fabaccess.local
  • ein Hostname aus dem lokalen Netzwerk, inkl. Port, z.B. fabaccess.local:59661
  • eine IPv4-Adresse, ohne Port, z.B. 192.168.188.31
  • eine IPv4-Adresse, mit Port, z.B. 192.168.188.31:59661
  • eine IPv6-Adresse, ohne Port, z.B. [2003:f3:1736:db00:3e10:77ba:cb8b:6633]
  • eine IPv6-Adresse, mit Port, z.B. [2003:f3:1736:db00:3e10:77ba:cb8b:6633]:59661

Die stabilste Art und Weise der Verbindung kann dir dein FabAccess-Administrator des Vertrauens mitteilen. Wir verbinden uns mit dem Button CONNECT TO SERVER. Das Verbinden dauert in der Regel ein paar Sekunden - je nach Leistungsfähigkeit des Servers, des Clients, des Netzwerks und der Komplexität der Gesamtkonfiguration des Systems.

grafik.png Screenshot_20241129-025716_FabAccess.png

Nach dem Verbinden: Einloggen

Nach erfolgreicher Verbindung zum Server folgt der nächste Screen, der nach Login-Daten fragt. Hier gibt es drei Interaktionsmöglichkeiten:

  • Mit Passwort einloggen (LOGIN WITH PASSWORD)
  • mit Karte einloggen (LOGIN WITH CARD) - aktuell nicht funktional ???
  • Account anlegen, also neu registrieren (REGISTER) - aktuell nicht funktional ???

grafik.png

 Hauptmenü

Ist der Nutzer mit dem Server verbunden, so hat er verschiedene Möglichkeiten der Interaktion. Zum einen kann die Maschinenübersicht (MACHINES) aufgerufen werden. Ist der Nutzer Administrator, so können auch serverweit die Benutzer verwaltet werden (USERS). Außerdem kan das eigene Profil angepasst werden (MY PROFILE). Zudem gibt es eine Übersicht über alle auf dem Endgerät aktuell konfigurierten Serververbindungen (SERVERS: Borepin kann mit mehreren Servern bzw. auch je Server mit verschiedenen Benutzern verbunden werden).

grafik.png

Maschinenübersicht

Die Maschinenübersicht zeigt alle für den Nutzer sichtbaren Geräte (genauer gesagt Ressourcen) an (Berechtigung disclose), getrennt nach Kategorie bzw. Raum, Zone oder Sektor. Die Übersicht zeigt an, welche Geräte vom Benutzer gerade in Benutzung sind (In Use by Me), sowie welche Ressourcen noch frei (Free) oder durch jemand anderen gerade in Benutzung sind (In Use). Die Ansicht aktualisiert sich nicht automatisch - dafür gibt es den Button REFRESH.

Ein praktischer Button ist der große ganz oben: es ist möglich eine Ressource direkt aufzurufen, indem wir einen speziell formatierten QR-Code beispielsweise von einem gedruckten Sticker scannen (SCAN QR-CODE).

Screenshot_20241123-152802_FabAccess.png

Eine Ressource bedienen

Nach Auswahl einer Ressource aus der Maschinenübersicht gibt es verschiedene Handlungen, die ein Nutzer ausführen kann:

  • Benutzen (USE) oder zurückgeben, falls gerade in der eigenen Benutzung (GIVEBACK)
  • Wiki-Link öffnen (falls eine URL hinterlegt wurde) - hier öffnet sich ein Browser im Vollbildmodus
  • Falls die Manager-Rolle zur Verfügung steht:
    • Maschine freigeben (erzwungene Rückgabe) (FREE MACHINE)
    • Maschine reservieren (BLOCK MACHINE)
    • Maschine deaktivieren (z.B. für eine anstehende Wartung oder weil ein Defekt eingetreten ist) (DISABLE MACHINE)

In der rechten oberen Ecke ist zudem der aktuelle Zustand der Ressource erkennbar, z.B. Free, In Use, Blocked, Disabled

Eine hilfreiche Information ist außerdem auch die Anzeige, welcher Nutzer die Ressource zuletzt benutzt hat (Last User).

grafik.png

Benutzer verwalten

Dieses Menü obliegt der Rolle des Administrators bzw. Managers und erlaubt das Filtern (Search User), sowie das Anpassen oder Löschen (DELETE) bestehender Nutzer (Rollen zuweisen, Passwort zurücksetzen per FORCE PASSWORD RESET) und das Anlegen neuer Nutzer (ADD NEW USER). Beim Anlegen eines neuen Nutzers können lediglich Benutzername und Passwort konfiguriert werden. Etwaige Keycard-Codes müssen durch den Administrator in der users.toml Konfiguration hinterlegt werden. Das Löschen bestehender Nutzer erfolgt mit Bestätigungsdialog.

grafik.png grafik.png Screenshot_20241129-025834_FabAccess.png Screenshot_20241129-025857_FabAccess.png

Servers - Verbindungen managen

In diesem Menü werden alle Verbindungen (Server + Login) angezeigt, die erfolgreich zum Borepin Client hinzugefügt wurden (Historie). Es wird auch die aktuell genutzte Verbindung angezeigt. Hier kann eine Verbindung ausgewählt und als Standardverbindung gesetzt werden (SET AS DEFAULT CONNECTION). Außerdem können wir uns hier auch vom aktuellen Server abmelden (DISCONNECT) oder eine andere Verbindung zum Verbinden wählen (CONNECT). Selbstverständlich können unbenötigte Verbindungen entfernt werden (DELETE). Das Löschen erfolgt mit Rückvergewisserungsdialog zur Bestätigung des Vorgangs (weiter mit CONFIRM oder abbrechen durch CANCEL).

grafik.png grafik.png Screenshot_20241129-151804_FabAccess.png grafik.png Screenshot_20241129-025437_FabAccess.png

Profil verwalten

Die eigene Profilverwaltung ist relativ übersichtlich. Hier kann lediglich das Passwort neu gesetzt werden. Das Ändern des Namens muss vom Administrator beauftragt werden. Der Benutzer kann seinen Account nicht selbst löschen.

grafik.png

Probleme mit dem Client

"Connection failed. Connection time exceeded."

Ein Typischer Fehler und dieser kann verschiedene Gründe haben. Prüfen:

  • läuft der BFFH Server? Log bzw. Journal überprüfen!
  • läuft der MQTT Server? Log bzw. Journal überprüfen!
  • Laufen MQTT und BFFH auf den korrekten Netzwerk-Interfaces?
  • ist die Client Version mit dem Server kompatibel?
  • möglicherweiser gibt es ein Port-Problem auf dem Client (Firewall überprüfen!)
  • Tipp: Verbindung mit telnet prüfen: telnet fabaccess.local 59661

Screenshot_20241120-012409_FabAccess.png

"Connection failed. Unable to connect to server."

Dieser Fehler drückt aus, dass der Server nicht per DNS auflösbar ist. Hier ist es sinnvoll verschiedene Verbindungskonstellationen durchzuprobieren, zum Beispiel:

  • fabaccess
  • fabaccess.local
  • fabaccess:59661
  • fabaccess.local:59661
  • 192.168.188.1:59661
  • sonstige FQDNs
  • Tipp: Verbindung mit telnet prüfen: telnet fabaccess.local 59661

Unter Umständen wird der Fehler auch hervorgerufen, weil der Client mit einem VPN-Netwerk verbunden ist und es Konflikte in der DNS-Auflösung oder IP-Adressbereich gibt.

Screenshot_20241120-173332_FabAccess.png

Server-Seitige Fehlermeldungen

Fehlkonfigurationen auf dem Server (z.B. wegen fehlenden Ordnern oder Berechtigungen darauf) oder ungeeigneten oder unvollständigen Einstellungen in bffh.dhall führen zu Fehlern beim Start von bffhd.

config::notfound

Error: config::notfound

  × The config file '/etc/diflouroborane.dhall' does not exist or is not readable
  help: Make sure the config file and the directory it's in are readable by the user running bffh

Dieser Fehler tritt dann auf, wenn bffhd ohne Konfigurationsdatei gestartet wird. Verwende den Parameter --config, um eine entsprechende dhall-Datei (z.B. bffh.dhall) anzugeben.

Failed to open socket on 127.0.0.1:5961:59661: Address already in use (os error 98)

ERROR diflouroborane::capnp: Failed to open socket on 127.0.0.1:5961:59661: Address already in use (os error 98)
    at bffhd/capnp/mod.rs:103

Auf dem angegebenen Port und Interface läuft bereits eine (andere) Anwendung. Prüfen Sie, ob bffh bereits läuft oder ein anderer Dienst den gleichen Port für sich beansprucht oder ob Firewall-Einschränkungen dazu führen.

Ermitteln von Anwendungen, die auf dem Port lauschen:

sudo lsof -i tcp:59661
netstat -an | grep LISTEN | grep 59661

failed to initialize state database

Error:
   × failed to initialize state database
   ├─▶ opening the state db environment failed
   ╰─▶ Permission denied

Dieser Fehler drückt aus, dass die Datenbankdatei bffh nicht zum Schreiben geöffnet werden kann. Möglicherweise existiert das Zielverzeichnis nicht oder es gehört dem falschem Benutzer. Prüfen Sie den Schlüssel db_path.

audit log failed

Error:
   × audit log failed
   ╰─▶ Permission denied (os error 13)

Dieser Fehler drückt aus, dass die Datenbankdatei bffh.audit nicht zum Schreiben geöffnet werden kann. Möglicherweise existiert das Zielverzeichnis nicht oder es gehört dem falschem Benutzer. Prüfen Sie den Schlüssel auditlog_path.

error in actor subsystem

   × error in actor subsystem
   ├─▶ MQTT connection failed
   ├─▶ I/O: failed to lookup address information: Name or service not known
   ╰─▶ failed to lookup address information: Name or service not known

Die Verbindung zum MQTT Server konnte nicht hergestellt werden. Der Schlüssel mqtt_url sollte überprüft werden:

  • Ist das Protokoll (z.B. tcp://, mqtt:// oder mqtts://) korrekt vorrangestellt?
  • Stimmen Benutzername, Passwort, Host und Port?
  • Läuft der Mosquitto MQTT Server korrekt und ist er vom Server aus erreichbar? (Firewall prüfen!)

failed to initialize TLS config

Error:
   × failed to initialize TLS config
   ├─▶ failed to open certificate file at path examples/cert.pem
   ╰─▶ No such file or directory (os error 2)

Das angegebene SSL Zertifikat konnte nicht gefunden werden. Überprüfen Sie den Schlüssel certfile in bffh.dhall. Existiert die Datei? Hat bffhd Zugriff darauf?

Error:
   × failed to initialize TLS config
   ├─▶ failed to open private key file at path examples/key.pem
   ╰─▶ No such file or directory (os error 2)

Der Private Key für das SSL Zertifikat konnte nicht gefunden werden. Überprüfen Sie den Schlüssel keyfile in bffh.dhall. Existiert die Datei? Hat bffhd Zugriff darauf?