Zum Inhalt springen
Developer

Node-RED

Smart Home und Automationen4 EndpunkteDataWarehouse / Node-RED

Node-RED bietet seine Schlösser an. Legt eine Smart-Lock-Verbindung an oder aktualisiert sie (Anbieter "nodered"); die Schlösser werden zu Smart Locks, wenn ein Administrator die Geräte dieser Verbindung synchronisiert.

POST/api/nodered/smart_lock/register

Erwartet JSON-Body: { "instance_id": "<zufällige ID der Schloss-Bridge>", "secret": "<gemeinsames Geheimnis, 32-256 Zeichen>", "name": "Node-RED Vereinsheim", "delivery": "mqtt", // mqtt (Standard, die ERP veröffentlicht auf ihrem Broker) oder push "webhook_url": "https://…", // nur push: empfängt die signierten Befehle "locks": [{"id": "front_door", "name": "Haupteingang", "state": "locked", "unlock_method": "remote"}] }

Antworten

200Ergebnis der Registrierungobject

Felder anzeigen (5)
  • statusstring

    created, updated oder restored

  • connection_idinteger
  • locksinteger
  • smart_locksinteger

    Smart Locks, die der Administrator bereits synchronisiert hat

  • mqttobject

    Delivery MQTT: Broker-Zugang der Bridge

    Felder anzeigen (6)
    • urlstring
    • usernamestring
    • passwordstring

      MQTT-JWT, gültig 30 Tage

    • client_idstring
    • topicstring
    • valid_untilstring
Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/nodered/smart_lock/register \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "status": "string",
  "connection_id": 42,
  "locks": 1,
  "smart_locks": 1,
  "mqtt": {
    "url": "https://vynst.de",
    "username": "lena.hartmann@example.org",
    "password": "••••••••",
    "client_id": "42",
    "topic": "string",
    "valid_until": "string"
  }
}
Anfrage
curl --request DELETE \
  --url https://eure-instanz.iw-erp.de/api/nodered/smart_lock/register \
  --header 'x-iw-jwt-token: <TOKEN>'
Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/nodered/smart_lock/commands/42/result \
  --header 'x-iw-jwt-token: <TOKEN>'

Darf ein Berechtigungsnachweis, den ein Leser bei Node-RED liest (App-QR-Code des Schlosses, QR der Mitgliedskarte, RFID-Kartennummer), das Schloss öffnen? Schreibt das Smart-Lock-Protokoll.

POST/api/nodered/smart_lock/check_access

Erwartet JSON-Body: { "instance_id": "...", "lock_id": "front_door", // ein Schloss dieser Node-RED-Instanz "smart_lock_id": 12, // oder ein beliebiges ERP-Smart-Lock "credential": "04A1B2C3D4", "credential_type": "auto", // auto, access_code, member_card oder card "open": false // die ERP öffnet ein Schloss eines anderen Anbieters selbst }

Antworten

200Zugriffsentscheidungobject

Felder anzeigen (6)
  • grantedboolean
  • reasonstring

    granted, unknown_credential, no_access, invalid_code or code_expired

  • credential_typestring
  • smart_lockobject
    Felder anzeigen (2)
    • idinteger
    • namestring
  • personobject
    Felder anzeigen (2)
    • idinteger
    • namestring
  • openedboolean
Anfrage
curl --request POST \
  --url https://eure-instanz.iw-erp.de/api/nodered/smart_lock/check_access \
  --header 'x-iw-jwt-token: <TOKEN>'
Antwort 200 application/json
{
  "granted": true,
  "reason": "string",
  "credential_type": "string",
  "smart_lock": {
    "id": 42,
    "name": "Beispiel"
  },
  "person": {
    "id": 42,
    "name": "Beispiel"
  },
  "opened": true
}