FredVoyage

Smart Lock Nuki

J'ai mis en place différents système de domotique ces dernières années, dans mon logement et dans mon entreprise. Il faut bien rester vigilant concernant la sécurité, mais c'est très intéressant de faire en sorte de bien tout contrôler à distance.

Aujourd'hui, je vais vous parler de Nuki. C'est un Smart Lock, autrement dit, une serrure intelligente, qui permet d'ouvrir à distance la porte de mon appartement ou de mon bureau, sans clé, en Bluetooth ou en Wifi.

La sécurité, pour un Smart Lock, c'est très important, mais il faut des 2 côté de la porte : pouvoir être en sécurité chez soi, c'est-à-dire que le smart lock doit être sécurisé, avec des clés de cryptage et la possibilité de distribuer ces clés de manière sécurisé ; mais aussi à l'extérieur, c'est-à-dire que si la Smart Lock tombe en panne pour une raison ou une autre, il faut pouvoir ouvrir la porte.

Avant d'aller plus loin, pour ce qui est de la sécurité permettant de ne pas rester enfermé dehors, c'est important car cela peut se produire de plusieurs manières : la serrure peut tomber en panne, le réseau wifi qui gère la serrure peut tomber en panne, mon téléphone peut tomber en panne ou le bluetooth peut ne plus fonctionner, et enfin, et souvent on oublie cette partie-là : les batteries du module peuvent être à plat.

Dans tous ces cas-là, une solution simple, décrite sur le site de Nuki mais pas assez mise en avant, je trouve : le cylindre débrayable. Le cylindre, c'est le petit tube dans lequel on met la clé. Débrayable signifie que l'on peut mettre une clé d'un côté, donc de celui où se trouve la Smart Lock, et aussi de l'autre côté, pour ouvrir si la Smart Lock est en panne. Un cylindre débrayable coût un peu plus cher qu'un cylindre standard, mais en cas de panne, c'est plus simple de laisser une clé de secours dans la voiture, dans son sac ou dans une boîte à clé, que de passer la nuit dehors.

Les modèles

Il existe différents modèles de Smart Lock. Ici, je vais vous parler de la marque Nuki, que j'ai acheté et que j'utilise depuis 2019, et qui reste fiable, malgré un petit soucis qui m'a obligé de renvoyer un des boîtiers en SAV, et j'ai été totalement satisfait du SAV aussi.

Voici à quoi ressemble le boitier, qui se décompose en 3 parties :

On a, de gauche à droite, le petit cube, c'est le bridge, ensuite le grand boitier à tête ronde, c'est le boîtier qui se place sur la serrure, et le petit carré noir, c'est le capteur de porte ouverte.

Ce modèle, c'est Nuki 2.0, que j'ai acheté avec le bridge sur Amazon sous forme de pack en 2019 et 2020 pour 299€TTC. Actuellement, vous pouvez acheter le modèle de 4ème génération. Il existe en version simple, sans wifi, pour 189€, ou bien vous pouvez acheter la version Pro qui inclut le back de batteries et le connecteur wifi, pour 289€. Si vous voulez une remise de 10%, vous pouvez utiliser ce code : REF97AJPDM2ZK (dans ce cas, je recevrai aussi un bon d'achat de Nuki).


Ils ont aussi plein de packs, et des accessoires, notamment une télécommande qui permet de donner la clé physiquement à une personne pour ouvrir la porte, ce qui me sert, dans mon entreprise, pour l'accès du personnel de ménage, à qui je ne donne pas de clé électronique, car ils n'ont pas toujours le téléphone adapté, mais cette télécommande qui s'avère très utile et très facile à transmettre.

L'application

Au quotidien, j'utilise donc Nuki avec l'application qui fonctionne sur Android et sur iPhone, et qui ressemble à ça :

Suivant le dessin, on voit si la porte est, successivement fermée, mais pas à clé (image de gauche), fermée à clé, ou bien ouverte pour l'image de droite.

On peut donc facilement connaître l'état de la porte. Sur l'application, il est aussi possible de voir l'état de la batterie, mais il ne faut jamais en tenir compte car cela arrive régulièrement que la batterie soit indiquée comme à moitié pleine, et qu'elle ne soit pas capable de faire tourner la clé dans la serrure. Il est donc préférable de recharger les batteries régulièrement, une fois par mois en usage intense, et une fois par trimestre, ça suffit, en usage occasionnel, et à la moindre faiblesse, il faut recharger, ça s'entend facilement.

La dernière image, montrant la porte ouverte, est visible grâce à un capteur. C'est un petit aimant que l'on positionne sur le mur à côté de la porte, pendant la calibration de la porte, et qui permet de montrer l'état de la porte :

C'est assez pratique si on n'est pas sur place, et pour savoir si les personnes ont bien fermé la porte.

Dans l'application, on voit l'état de la porte, à quelle heure elle a été ouverte, fermée, déverrouillée et verrouillée à nouveau.

Les API

Il y a un moyen très intéressant de s'amuser avec ce boîtier : avec les API.

Pour pouvoir utiliser les API, il faut une version avec le Wifi, ou un bridge. Pour ma part, j'ai le bridge, qui permet de faire plusieurs choses, avec quelques limitations.

Avec le bridge, il est possible de connecter le Smart Lock, en ligne, à des outils comme Alexa ou Google Assistant ou encore avec Matter, depuis la version 4. Le bridge propose aussi des API qui permettent de faire tout ce que l'on peut faire avec le bridge, et de manière très simple avec des appels API standard, c'est à dire verrouiller et déverrouiller la porte, et être prévenu quand la porte change d'état.

L'inconvénient cependant, c'est que pour verrouiller ou déverrouiller la porte, il faut que l'appel soit faire en local, car le bridge n'a qu'une IPv4 et qu'une IP locale. Pour être prévenu quand la porte s'ouvre, dans le modèle que j'utilise, l'appel peut se faire vers une URL, quel qu'elle soit, mais le protocole doit être HTTP uniquement, impossible de faire un appel vers HTTPS malheureusement.

En référence, voici le lien vers le forum portant sur les API (en anglais), et le lien direct vers la référence des API (en anglais aussi).

Pour activer les APIs, il faut créer un token sur le bridge. Pour cela, il faut être à côté du bridge, lancer la commande et appuyer sur le bouton du bridge pendant que la LED est allumée (environ 30 secondes). Vous devez connaître l'IP du bridge, cela peut se retrouver sur le serveur DHCP, sur votre box ou bien le bridge utilise son IP par défaut :

curl "http://192.168.1.50:8080/list?token=roiaz4d"

La réponse est en format JSON et contient le token en clair.

Ensuite, pour récupérer la liste des boîtiers connectés au bridge (on aura pris soin de suivre cette étape de connexion lors de l'installation du bridge avant de s'occuper des API), on peut utiliser cette commande, avec le token et l'IP qu'il faut :

curl http://192.168.1.50:8080/list?token=

La réponse sera, en format JSON, la liste des boîtiers, leur référence et la version du firmware de chaque boîtier, leur état, et l'heure du dernier changement d'état :

[
  {
    "deviceType": 0,
    "nukiId": 435300001,
    "name": "Home",
    "firmwareVersion": "2.14.5",
    "lastKnownState": {
      "mode": 2,
      "state": 1,
      "stateName": "locked",
      "batteryCritical": false,
      "batteryCharging": false,
      "batteryChargeState": 100,
      "doorsensorState": 2,
      "doorsensorStateName": "door closed",
      "timestamp": "2024-04-15T16:06:38+00:00"
    }
  }
]

Ensuite, pour verrouiller la porte, on utilise cet appel :

curl "http://192.168.1.50:8080/lock?token=sra1ps&nukiId=435309261"

Et pour déverrouiller, cet appel :

curl "http://192.168.1.50:8080/unlock?token=roiaz4d&nukiId=435300001"

Un json contenant un champs success est renvoyé.

Enfin, ce sont les API de callback qui m'intéressaient le plus, toutefois l'absence de sécurité réelle est un peu gênante. Après, cette API ne fait que passer une information d'ouverture ou de fermeture avec succès, ce n'est pas considéré comme une information critique (à mon sens, seul le nukiId est un peu sensible).

Pour lister les appels aux callback :

curl "http://192.168.1.50:8080/callback/list?token=roiaz4d"

Pour créer un appel à une callback :

curl "http://192.168.1.50:8080/callback/add?token=roiaz4d&url=http%3A%2F%2Fapi.mnosite.com%2Fnuki"

Pour supprimer un appel à un callback :

curl "http://192.168.1.50:8080/callback/remove?token=roiaz4d&id=0"

Il est possible de stocker jusqu'à 3 appels à des callbacks différents dans un bridge.

Les appels vers les API se feront en POST, avec un json contenant ce type d'information :

{
  "nukiId": 11,
  "deviceType": 0,
  "mode": 2,
  "state": 1,
  "stateName": "locked",
  "batteryCritical": false,
  "doorsensorState": 2,
  "doorsensorStateName": "door closed"
}

Cela permet d'avoir un certain contrôle sur le Smart Lock, en action et en retour.

Conclusion

Depuis que j'ai acheté ces Smart Locks Nuki, j'ai eu une panne, avec retour SAV qui m'a été renvoyé en quelques jours, donc j'ai été plutôt satisfait. J'ai aussi du vérifier le niveau des batteries pour ne pas resté coincé dehors et devoir utiliser la clé de secours.

A part ces quelques petits soucis, le temps de comprendre comment tout fonctionne, je suis plutôt content de Nuki et de son fonctionnement. Le transfert des clés se fait assez facilement avec un code ou un QR Code, on peut aussi décider de donner un accès pendant une période donnée, ce qui rend les choses beaucoup plus simple qu'avec une clé physique en métal. Et surtout, ça dépanne quand on a oublié que le plombier devait passer et qu'il est devant la porte, pareil pour le livreur, je peux facilement lui ouvrir la porte, et la verrouiller une fois qu'il a terminé.