Smartlocks und Zutritt
Nuki, LOQED, QRLock, Comydo und eigene Schlösser über Home Assistant, Node-RED oder n8n anbinden; wer öffnen darf und wie Zugangscodes entstehen.
vynst (inwendo ERP) steuert Türen, Tore und Schränke über Smartlock-Verbindungen. Eine Verbindung gehört zu einem Anbieter und bringt ein oder mehrere Schlösser mit. Mitglieder, Trainer und Mitarbeiter öffnen sie in der vynst App. vynst prüft dabei jedes Mal, ob die Person in diesem Moment darf, und schreibt jeden Versuch ins Schloss-Protokoll.
Anbieter
| Anbieter | Modus | So funktioniert es |
|---|---|---|
| Nuki | bridge |
vynst spricht die Nuki Bridge im lokalen Netz an (Host, Port, Token) |
| Nuki | web_oauth, web_api_token |
über die Nuki Web API, per Login oder API-Token |
| LOQED | loqed_web_api, loqed_bridge_api |
über die Aktions-URLs aus der LOQED-App |
| QRLock | qrlock_api |
QRLock erzeugt QR-Codes, die der Leser an der Tür prüft |
| Comydo | comydo_webhook |
ein QR-Scanner an der Tür fragt vynst, ob der Code gilt |
| Home Assistant | ha_webhook |
Schlösser aus Home Assistant, siehe Home Assistant |
| Node-RED | nodered_mqtt, nodered_push |
Relais, Türöffner, Shelly … aus Node-RED, siehe Node-RED |
| n8n | n8n_push |
Schlösser aus einem n8n-Workflow, siehe n8n |
Ein neuer Anbieter wird erst aktiv, wenn ihr Zugangsdaten einträgt. Dafür gibt es keinen eigenen Schalter.
Verbindung einrichten
Verbindungen legt ein Superadmin in der Verwaltung unter SmartLock-Verbindungen an, oder per API mit POST /api/event/smart_lock_connection.json.
| Feld | Für | Inhalt |
|---|---|---|
bridgeHost, bridgePort, bridgeToken |
Nuki Bridge | Adresse, Port (Standard 8080) und Token der Bridge |
webClientId, webClientSecret |
Nuki Web, QRLock | OAuth-Client von Nuki; bei QRLock E-Mail und Passwort des QRLock-Kontos |
webApiToken |
Nuki Web | API-Token statt Login |
loqedLockId, loqedOpenUrl, loqedLatchUrl, loqedNightLockUrl, loqedStatusUrl |
LOQED | Aktions-URLs aus der LOQED-App |
bridgeHost |
QRLock | optional eigene API-Adresse (Standard https://hms.qrlock.net/api) |
scanDeviceIds |
Comydo, QRLock | erlaubte Leser; bei Comydo je 12 Hex-Zeichen |
scanWebhookSigningSecret |
Comydo | Schlüssel für signierte Scanner-Anfragen |
Geheime Felder werden verschlüsselt gespeichert und nie wieder ausgegeben. Lasst sie beim Bearbeiten leer, bleiben sie unverändert.
Danach:
- Geräte synchronisieren (
POST …/smart_lock_connection/{id}/sync_devices.json): vynst holt die Schlösser des Anbieters. - Jedes Schloss bekommt seine Zugriffsregeln (siehe unten).
- Bei Nuki Web mit Login:
GET …/{id}/oauth_login.jsonliefert die Login-Adresse bei Nuki.
Home Assistant, Node-RED und n8n legen ihre Verbindung selbst an, wenn ihr dort Schlösser freigebt. Auch dann passiert nichts, bis ein Administrator in vynst die Geräte synchronisiert und Rechte vergibt.
Zum Ausprobieren ohne Hardware gibt es virtuelle Schlösser für Node-RED.
Wer darf öffnen?
vynst prüft bei jedem Öffnen, ob mindestens eine Regel passt:
- Selbstbedienung am Schloss: bestimmte Personen, Rollen oder Access-Tags. Mit
event_smart_lock_logged_in_access_enabledgilt der Zugriffstyp „Alle eingeloggten“ für jede angemeldete Person. - Raum oder Objekt: Das Schloss gehört zu einem buchbaren Objekt mit „Smartlock-Zugang erlaubt“.
- Buchung: Trainer und Teilnehmer einer Buchung dürfen etwa eine Stunde vor bis eine Stunde nach der Buchung öffnen. Ob Trainer und Teilnehmer das dürfen, legt der Veranstaltungstyp fest.
- Arbeitsvertrag oder Vertragsgruppe für Mitarbeiter.
- Superadmin darf immer.
Öffnen per App und API
| Aufruf | Zweck |
|---|---|
GET /api/event/smart_lock/my_accessible.json |
Schlösser, die die angemeldete Person öffnen darf |
POST /api/event/smart_lock/{id}/unlock.json |
öffnen |
POST /api/event/smart_lock/{id}/lock.json |
abschließen |
GET /api/event/smart_lock/{id}/status.json |
Zustand |
POST /api/event/smart_lock/{id}/access_code.json |
Zugangscode für QR-Leser erzeugen |
GET /api/event/smart_lock_log |
Protokoll (Administratoren) |
curl --request POST https://eure-instanz.iw-erp.de/api/event/smart_lock/12/unlock.json \
--header 'x-iw-jwt-token: <TOKEN>'
Ein API-Token öffnet nur, was sein Benutzer auch in der App öffnen dürfte.
Zugangscodes für QR-Leser
Bei Comydo, QRLock und Node-RED-Schlössern mit QR-Code zeigt die App einen Code, den der Leser an der Tür prüft:
- Ein Code gilt 300 Sekunden. vynst speichert nur seinen Hash.
- Bei QRLock erzeugt die QRLock-API den Code.
- Bei Comydo schickt der Scanner
{"device_id": "…", "content": "…"}an/api/event/smart_lock_webhook/comydo.jsonund bekommt{"success": true}oder einen Fehler zurück. Er meldet sich mit dem Token der Verbindung an (Bearer, Basic-Passwort oder HeaderAuth-Key) oder signiert die Anfrage:Hash= HMAC-SHA256 über Auth-Key,Timestampund SHA-256 des Inhalts, höchstens 300 Sekunden alt.
Weitere Zutrittswege
- Digitale Mitgliedskarte: Ihr QR-Code wird mit
/api/cp/validate_profile_card.jsongeprüft. - Kartenleser und Drehkreuze von Gantner melden sich per Webhook bei den Anwesenheitslisten.
- Check-in an einem Leser über Node-RED oder Home Assistant, siehe dort.
API
Die Endpunkte stehen im Bereich Smart Home und Automationen unter SmartLock, SmartLockConnection und SmartLockLog.