Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Stand 15.06.2017, basierend auf die NUKI API Version 1.5 (Entwickler-Website von NUKI)

Es gibt mehrere Möglichkeiten ein Nuki.io Türschloss in Loxone einzubinden:

Nuki per Nuki Bridge bzw. Android Bridge einbinden

Einrichtung von NUKI und der NUKI Bridge bzw. Android Bridge

Die Bridge bzw. Android Bridge muss mit dem oder den NUKI's eingerichtet und funktionsfähig sein.

In der Android App auf die Bridge klicken und dort die Entwickleroption aktivieren. Dahinter verbirgt dich die benötigte IP-Adresse der Bridge und vor allem der TOKEN.

Für die API ist zudem die ID des NUKI Keyturners (bei mehreren NUKI's entsprechend mehrere IDs) erforderlich.

Test der Bridge und Abruf der NUKIID

Im Browser eingeben:

http://*IP*:8080/list?token=*TOKEN*

*IP* und *TOKEN* muss natürlich durch deine Werte ersetzt werden.

Sollte der Webbrowser einen Download anbieten, dann die Datei speichern und im Editor öffnen.

Die angegebene NukiId (die Zahl) muss später bei den Aufrufen eingesetzt werden.

Einrichtung in Loxone

Downloads

Template für Virtual In: VirtualIn_NUKI_Status.zip

Template für Virtual Out: VirtualOut_NUKI_Aktionen.zip

Beispieldatei: NUKI-Integration.Loxone (Überarbeitung der Stati auf APi V1,5)

Abfragehäufigkeit 

Laut Jürgen Pansy, CPO NUKI, wird eine Abfrage des Schloss-Zustands über die API an den Keyturner weitergereicht und dort abgefragt (Link). Das regelmäßige Abfragen von Loxone (das sich leider nicht steuern lässt) wird sich vermutlich negativ auf die Batterielebensdauer auswirken. Eventuell das Abfrageintervall (im Beispiel 60 Sekunden) entsprechend höher stellen. Leider erhält man dadurch kein zeitnahes Feedback mehr, ob eine gesendete Aktion erfolgreich war.

Pairing mit der NUKI Android Bridge

Beim Verbindungsaufbau NUKI Keyturner ↔ NUKI Android Bridge machte es den Anschein, dass das Pairen nicht funktioniert, wenn das Android-Gerät nicht am Ladestecker angeschlossen ist. Ein Hinweis dazu wird in der App nicht angezeigt, und ich habe das auch nicht weiter getestet bzw. verfolgt.

WLAN Passwort NUKI Bridge

Die NUKI Bridge kann keine WLAN Passwörter mit Sonderzeichen verarbeiten.


Nuki mit Node-RED in Loxone einbinden

Anforderungen

  • Node-RED Installation (z.b. auf einem Raspberry Pi)
  • ein Nuki Türschloss - die Bridge wird NICHT benötigt!
  • Bluetooth (z.b. über ein USB Bluetooth Dongle)


Der node-red-contrib-nukible Node muss auf dem Node-RED installiert werden. Dieser Node basiert auf "nukible" - einer Open Source Anbindung  verfügbar unter https://github.com/as19git67/nukible Danach muss man das Pairing durchführen und die Zugangsdaten in Node-RED eingeben - und schon kann man die Tür öffnen, schließen, verriegeln und natürlich auch den Status abfragen. Die Anbindung an Loxone kann man schlussendlich wieder mit dem Loxone Node-RED Node (siehe Installation node-red auf RPi für node-red-contrib-loxone) erstellen. Weitere Informationen zum Node-Red Nuki Node findet man hier: npmjs und node-red-contrib-nukible

 

37 Kommentare

  1. Super Arbeit!!  Habe alles so gemacht, aber mir kommt vor – das Kombinierte Status (steht bei mir - Nuki nicht erreichbar?, obwohl alles  geht und das schloss auch angesprochen wird. Schließzustand steht immer abgeschlossen ?  "state":\v   müssen hier die Anführungszeichen weg?  Hat jemand vielleicht eine Idee? DANKE

    1. Hallo Walter, zeigen die virtuellen Eingänge selbst was an? Im Screenshot beim kombinierten Status hab ich ja einen Fehler mit dem Fehlerausgang (das was ich bei PS beschrieben hab). Lg, Christian 

  2. Stefan K sagt:

    Hallo,

    funktioniert auf Anhieb. - Danke für die super Anleitung!!

     

    mfg

    Stefan 

  3. Roland p sagt:

    Hi,

    coole Sache, funktionier!

    in der Zwischenzeit gibt es eine neue Version der Nuki API (https://nuki.io/wp-content/uploads/2016/04/Bridge-API-v1.5.pdf). Das coole daran ist, dass man ein Gerät registrieren kann zu welchem dann jede Statusmeldung des Nuki gepusht wird. Hierzu wird ein Jason geschickt. Ich weiß aber nicht, wie ich das dann in der Loxone auswerten kann. 

    Wär cool, wenn du das noch ergänzen könntest.

    lg Roland

  4. Detlef sagt:

    Habe das Nuki am Start und läuft.

    Konnte die Dateien gut verarbeiten

     

  5. Volker sagt:

    Hallo Christian,

    topp Wiki-Eintrag, vielen Dank. Er hat mir seeehr geholfen.

    Wäre das nicht sehr geeignet für ein Plugin für den Loxberry?

    Stelle mir vor, das Plugin sucht die Bridge, holt sich das Token und kann dann über die o.a. Verbinder den NUKI steuern. Zugegeben einfache Funktionalität für den Loxberry verglichen mit Sonos o.ä., wäre aber dann alles auf der Loxberry-Oberfläche.

    Liebe Grüße,

    Volker

    1. Hallo Volker, 
      ich denke, solange die Integration direkt mit dem Loxone Miniserver möglich ist, besteht keine Notwendigkeit, nochmal eine Schnittstelle dazwischen zu schalten. Das würde nur unnötig die Komplexität, Ausfallsicherheit und Zugriffssicherheit belasten (schließlich wird damit die Tür geöffnet). 
      Aktuell werden jene Funktionen priorisiert, die ohne zusätzliche Schnittstelle mit dem Miniserver überhaupt nicht funktionieren. Zudem hab ich aktuell keinen NUKI, kann daher auch nichts testen.
      lg, Christian

      1. Roland p sagt:

        Hallo Volker,

        in der letzten Version der NUKI API kann der Status auch gepusht werden. Ist ein HTTP Post mit einem JSON.

        The new lock state will be sent to the callback url by executing a POST request and posting a JSON list in the following format:

        Kann das die Loxone eventuell mit PicoC? Out of the Box geht das scheinbar nicht. Das wäre denke ich auch ein Anwendungsfall für die Loxberry Integration. Das Pollen würde dann auch wegfallen.

        lg Roland

  6. Wolfgang sagt:

    Wirklich tolle Anleitung - riesen Dank dafür !!!

    Zwei Fragen dazu:

    1) Wenn man mehrere Locks über eine Bridge bedienen möchte.
    Was muss man alles mehrfach ausführen wenn man alle Schlösser nur gemeinsam bedienen möchte ?
    Was muss man alles mehrfach ausführen wenn die einzelnen Schlösser auch getrennt bedienen möchte ?

    2) Wenn man beim Scharf/unscharf schalten der Alarmanlage die Schlösser verriegeln/entriegeln möchte, muss ich dann nur die Nuki-Aktionen "Verriegeln" bzw. "Entriegeln" (invertiert) am AQ-Ausgang des Alarmbausteins anhängen ?

  7. philox sagt:

    Hallo zusammen,

     

    ich möchte nochmals den Post von Roland p aufgreifen. Ich habe ein Nuki mit Bridge und würde bei gewissen Statusänderungen des Locks eine Aktion ausführen. Dazu müsste ich aber den Zustand des Locks auf den Miniserver pushen lassen, da ansonsten das Ganze zu verzögert (60s) passiert. Auf Seite 9 des unten genannten pdfs ist beschrieben wie das geht, allerdings fehlen mir die Kenntnisse das umzusetzen. Vielleicht kann mir jemand dabei helfen?

    https://nuki.io/wp-content/uploads/2016/04/Bridge-API-v1.5.pdf

    Danke.

     

    Grüße,

    philox

  8. Roland p sagt:

    Hallo Philox!

    Das Polling funktionierte bei mir furchtbar schlecht. ich habe den kleinsten Wert am Miniserver eingestellt (glaube 10s), dadurch war die Nuki Bridge überlastet und nahm viele Befehle nicht mehr auf.

    in der Zwischenzeit habe ich auf die Callback funktion umgestellt .. da funktioniert auch sehr gut. Einziges Manko, es geht mit dem Miniserver nicht out Of the Box. Ich habe einen Raspberry mit einem php Script dazwischengeschalten. Dieser nimmt den Pushrequest von Nuki und macht daraus einen http request an die Loxone.

    ich glaube nicht, dass es direkt mit der Loxone funktioniert. Bin leider kein Programmierer, ein Freund hat mit das Gesamtpackage in einer Stunde aufgesetzt (Lächeln)

    kann die paar Zeilen php gerne zur Verfügung stellen.

    lg Roland

    1. philox sagt:

      Hallo Roland p!

      Das klingt doch schon mal gut! Wäre super wenn du mir die Datei(en) schicken könntest. Ich schicke dir meine Email per PN. Vielleicht kann Christian Fenzl daraus ein Plugin machen?! (breites Grinsen)

      Grüße,

      philox

      EDIT: Habe gerade gesehen das man hier im Wiki keine PNs schicken kann...wie heißt du den im Loxforum? (Lächeln)

    2. Volker sagt:

      Hallo Roland,

      super, ich werde mal versuchen, das auf - möglichst auch auf dem Loxberry - zum Laufen zu kriegen. Bin mal gespannt, ob ich das schaffe. Hast Du's auf dem Loxberry laufen oder auf einem anderen Raspberry?

      Christian Fenzl: Die Integration ist direkt zwar einfach, das Pollen frisst aber die Batterien des Nuki auf, oder aber das Abfrage-Intervall ist viel zu lang. Deshalb wäre die Loxberry-Integration toll, da dann das Nuki per Post die JSON an den Loxberry schicken könnte, dieser dann weiter an den Miniserver.

      Grüsse,

      Volker

  9. Roland p sagt:

    keinProblem hier der Code (Lächeln)

    Im Miniserver musst du dann einen virtuellen Eingang anlegen. In diesem Beispielt ist das VI54.. die Nummer siehst du beim Eingang in der Miniserver Konfig.

    ist die Batterie schwach wird "42" auf VI87 geschrieben, sosnt "1"

    als Webserver auf dem Raspberry nutze ich NGINX; hier kann ich aber leider sogut wie 0 Support bieten.. kenne mich da auch nicht aus.

    Viel Erfolg! Mich wundert, dass es noch keine anderen Stimmen nach der Integration gab. 

     

    <html>
    <body>

    <?php
    echo "hello world";

    $data = file_get_contents('php://input');
    file_put_contents('/tmp/nuki.json', $data);

    $msg = json_decode($data);

    // Sent lock state
    $url = "http://admin:LoxonePassword@LoxoneIP/dev/sps/io/VI54/$msg->state";
    file_put_contents('/tmp/nuki-request.log\n', $url);
    $ignore = file_get_contents($url);

    // Sent battery state
    if($msg->batteryCritical === false) {
    // Der Batteriestatus is OK!
    $url = "http://admin:LoxonePassword@LoxoneIP/dev/sps/io/VI87/42";
    } else {
    // Der Batteriestatus is KRITISCH!!!!!
    $url = "http://admin:LoxonePassword@LoxoneIP/dev/sps/io/VI87/1";
    }
    file_put_contents('/tmp/nuki-request.log\n', $url);
    $ignore = file_get_contents($url);


    ?>
    </body>
    </html>

    1. Find ich gut!

      Als LB-Plugin ist das ein wenig komplexer, weil darin (zur Vollständigkeit) auch die Callback-Registrierungen geprüft/verwaltet werden müssen, und halt dynamisch x Stück Nukis an y Stück Bridges  mit z Stück Miniserver kommunizieren wollen.

    2. Volker sagt:

      Bekomme es noch nicht hin... Wie heisst die Datei mit o.g. Content bei Dir? Welche URL hast Du als Callback in der Bridge eingestellt?

      1. philox sagt:

        Ich weiß leider nicht mal wo ich ansetzen müsste um das zu machen, deshalb kann ich dir nicht helfen. Wenn jemand eine etwas detailiertere Anleitung dazu schreiben könnte, wäre ich sehr dankbar.

  10. Volker sagt:

    Ich hab es inzwischen hinbekommen. Folgendermaßen:

    • Im Loxberry über ssh einloggen und zu folgendem Verzeichnis wechseln: /webfrontend/html
    • dort mit z.B. nano eine Datei erzeugen, die oa. Inhalt hat. Diese dann z.B. nuki.php nennen
    • in dem o.a. Verzeichnis ein Verzeichnis mit Name tmp anlegen
    • Kannst die Funktion testen, in dem Du im Browser folgendes eingibst:
    • http://loxberry/nuki.php. Antwort sollte hello world sein.

    Im Browser folgendes eingeben:

    So hat es zumindest bei mir funktioniert. Für Richtigkeit und Folgen wird wie immer keine Haftung übernommen...(Lächeln)...hoffe, es hat was geholfen.

  11. Roland p sagt:

    Super danke! Perfekt zusammengefasst! 

  12. philox sagt:

    Hallo Volker,

    bei mir hat es auch auf Anhieb geklappt, allerdings musste ich die php Datei in das Unterverzeichnis /html legen.

    Ansonster SUPER! Vielen Dank!

     

    1. Volker sagt:

      So stehts oben...(Lächeln)..

  13. philox sagt:

    Komischerweise bekomme ich die Stati die eine Bewegung des Nukis anzeigen (2,4,6, und 7) nie angezeigt. Habe mal mit einem Tracker versucht rauszufinden ob das einfach zu schnell geht, aber ich konnte nichts finden. Hat jemand anders diese Erfahrung gemacht oder kann dies bestätigen?

  14. Detlef sagt:

    Hallo ich habe die Nuki bei mir auch am laufen.

    Klappt gut mit allen Statusmeldungen.

    Ist nur sehr träge.

    Ich habe ein Willkommenslicht programmiert aber das schaltet  sehr spät.

     

  15. philox sagt:

    Kommen bei euch de Stati (2,4,6 und 7)? Alles Stati die anzeigen das das Schloss auf irgendeine Weise "in Bewegung" ist.

    Bei mir ist die Verzögerung ca. 3s damir kann ich leben. Wieviel ist es bei euch?

  16. Detlef sagt:

    Ja wird bei mir  angezeigt ob die Tür verriegelt ist oder nicht.

    Mit der Statusmeldung schalte ich ja mein Licht.

    Die Verzögerung ist schon länger bei mit 20 bis 25 Sekunden

  17. philox sagt:

    Die Verriegelung wird bei mir auch angezeigt (Status 1), aber auf dem Weg zum Verriegeln müsste ja der Status 4 (verriegle) kurz angezeigt werden. Dieser kommt bei mir nämlich nicht. Hintergrund wäre das dieser ja deutlich vor dem tatsächlichem Schließstatus kommten müsste und sich somit für eine die Verwendung von weiteren Aktionen anbieten würde. Nutzt du auch die Callback Funkton wie oben von Volker beschrieben?  

  18. Volker sagt:

    Ist bei mir teilweise auch recht lang. Wovon die Zeit abhängt weiss ich nicht. Manchmal paar Sekunden, machmal fast 1 Minute. Damit werden die Verfahrmeldungen aber nicht angezeigt, wenn die Callback so spät kommt.

    Naja, beim Pollen mit 60s-Einstellung ist das ja auch nicht besser...und kostet mehr Batterie.

  19. Roland p sagt:

    Ich habe das ganze schon ein paar Monate in Betrieb; 2 Dinge sind mir störend aufgefallen

    1. Die Brigde bekommt unmittelbar nach dem Sperrvorgang die Sperrmeldung vom Schloss, danach vergehen exakt 4 Sekunden bis der Callback initiiert wird. der 4 Sekunden Delay ist immer exakt 4 Sekunden. Antwort von Nuki hierzu: 
         Der Delay von ein paar Sekunden ist leider aufgrund der Bridge.
         Diese sendet den PostDone verspätet, da noch andere Anfragen durchgeführt bzw. überprüft werden.
         Die Verzögerung können wir leider nicht anpassen.
    2. Es wird nur der Status geschlossen und offen gesendet, kein locking, unlocking oder unlocked (lock ‘n’ go). Antwort Nuki:
         Über Callbacks können leider nur "geschlossen" oder "offen" übermittelt werden.
         Wir werden dein Feedback für weitere Status berücksichtigen.
    1. philox sagt:

      Danke für das Posten der Stellungnahmen des Supports. Wäre echt gut wenn weitere Stati in den Callback eingebaut werden. Ich frage mich aber dennoch weshalb die Stati locking, unlocking etc. implementiert wurden da dies hinsichtlich der Verzögerungen aus meiner Sicht wenig Sinn macht.

  20. Roland p sagt:

    ein anderes Thema, vielleicht kann mir jemand von Euch helfen.

    Mit der HW-Bridge funktionierte es ganz gut, leider ist diese nun defekt, bis zum Austausch setze ich auf die Android Bridge auf einem alten Smartphone.

    Funktioniert grundsätzlich genauso, aber ich habe ein Problem beim Absetzen einer Action

    Der command http://IP:8080/lockAction?nukiID=xxx&action=1&token=xxxx funktioniert im Browser ohne Probleme.

    Probiere ich das ganze über die Loxone, erhalte ich folgende fehlermeldung im Loxone Log

    00006004 IP 22:06:29.530 22:06:29.576 Stream connect error 192.168.1.22:8080

    Was ist das für ein Fehler? an der LoxConfig kann es ja nicht wirklich liegen, da die selbe Logik mit der HW Bridge funktioniert. Die Android Bridge wiederum funktioniert über Chrome auch.

     

  21. Hi, weil das hier zu einem Chat ausgeartet ist, möchte ich euch bitten, technische Ergänzungen direkt im Artikel durchzuführen, und für Fragen das Loxforum zu benutzen. Danke!

  22. Spitzenklasse! Vielen Dank für die nuki.php. Die läuft nun auf meiner Synology, ist echt schnell und spart mir Geld fürs Batterie-wechseln.

    Es wäre nur noch Spitzenklasse wenn einer den Beitrag noch abändern/ ergänzen könnte, damit es ohne das Lesen von Kommentaren auch schon klappt. (Zwinkern)

    1. Einer wie du? (Zwinkern)

  23. Braucht man den wirklich die Nuki Bridge oder geht das auch nur über Bluetooth? Ein mögliches Szenario wäre z.B., dass man Nuki direkt über einen Raspberry Pi über Bluetooth steuert. Könnte das funktionieren?

    1. Roland p sagt:

      Das geht sicher! Auf der Nuki Homepage ist eine Beschreibung über die Bluetooth API zu finden https://nuki.io/wp-content/uploads/2016/04/20160731-Smartlock-API-v1.02.pdf

      Jetzt brauchts noch einen Programmierer dazu :-)

  24. Sieht nicht so einfach aus. Deswegen nimmt wahrscheinlich jeder die Bridge. Ist einfacher.

  25. Falls jemand schneller ist: https://github.com/jandebeule/nukiPyBridge

    Derzeitiger Status

    • Authentifizierung hat zwischen nukyPyBridge und Nuki hat geklappt
    • Lock / Unlock funktioniert
    • Status (locked, unlocked) inkl. Batterie Status funktioniert

    => Sehe keinen Grund, diese Bibliothek nicht zu verwenden. Es fehlt noch eine Möglichkeit, das ganze schön in Loxone einzubinden. Ich denke, da lässt sich jedoch was machen (z.b. mit node-red)

    Für mich steht fest, die original Nuki Bridge brauche ich nicht - meine Türschlossdaten bleiben brav lokal.

    ---

    Es gibt auch noch https://github.com/as19git67/nukible

    Dieses Projekt wird gerade (Stand Jan 2018) sehr aktiv weiterentwickelt. Pairing, Auf und Zusperren funktioniert.


    Beste Grüße,

    Bernhard