Message populaire jojo Posté(e) le 26 septembre 2022 Message populaire Signaler Posté(e) le 26 septembre 2022 (modifié) Introduction • Un QA par Serrure Nuki (choix délibéré, car si plusieurs serrures, elles seraient dans différentes pièces) • Vous devez avoir un Nuki bridge, car tout passe par lui (qui peut servir plusieurs serrures) (=> Nuki v1 ou v2) • Merci à @Lazer, @jjacques68, @Did, @fredokl, …, pour leurs précieux conseils Objectif • récupérer l'état d'ouverture/fermeture • récupérer l'état des piles (de la serrure et du keypad si associé) • envoyer commande d'ouverture • envoyer commande de déverrouillage (et simple clic sur l'icône) • envoyer commande de verrouillage (et simple clic sur l'icône) • envoyer commande de lock’n’go (verrouillage temporisé) • envoyer commande de lock’n’go précédé d’une ouverture de porte Activation API La totalité de l'API est disponible ici : https://developer.nuki.io/page/documents/1/ Pour commencer, nous allons avoir besoin d’activer le mode Développeur via l’app sur Mobile. Cette manipulation peut être effectuée à l’installation du système : - Vous tomberez sur une page de recherche des réseaux WIFI et sur la partie basse, cocher la case API HTTP. OU Si vous avez déjà installé votre Nuki, procéder comme suit : - aller dans section gérer la Bridge (menu général de l'app -> Gérer mes appareils -> Bridge -> gérer la Bridge) - mettre la Bridge en mode maintenance - Une fois arrivé dans la section de gestion de la Bridge, pr esser sur l'icône de Bridge puis activer le HTTP API. Vous obtiendrez l’adresse IP du bridge, le port (par défaut le 8080) et surtout le token (jeton) à noter précieusement pour la suite de ce tuto. Une fois ces éléments enregistrés terminer l’installation de la Nuki. Pour la suite, on notera les éléments suivant : • IP du bridge = IP_NUKI • Port du bridge (par défaut le 8080) = PORT_NUKI • Token = TOKEN_NUKI Il reste encore à récupérer les IDs des NUKIs, pour cela ouvrir une page d’un navigateur internet. Puis entrez l’url suivante : http://IP_NUKI:PORT_NUKI/list?token=TOKEN_NUKI Vous devriez recevoir en retour l’état de vos Nukis avec leur nukiID qu’on notera par la suite ID_NUKI Voici un exemple de retour de cette URL/API : [ { "deviceType": 0, "nukiId": 123456789, "name": "Entrée", "firmwareVersion": "1.14.1", "lastKnownState": { "mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "batteryCharging": false, "batteryChargeState": 34, "keypadBatteryCritical": false, "timestamp": "2022-07-24T07:45:45+00:00" } }, { "deviceType": 0, "nukiId": 123456780, "name": "Cuisine", "firmwareVersion": "1.14.1", "lastKnownState": { "mode": 2, "state": 1, "stateName": "locked", "batteryCritical": false, "batteryCharging": false, "batteryChargeState": 62, "timestamp": "2022-07-24T20:00:06+00:00" } } ] Résumé sur les actions et les états disponibles Pour l’état (State) de la Nuki, nous obtenons une valeur numérique : 0 : non calibré (à faire à l’installation pour que la Nuki sache se positionner) 1 : verrouillé 2 : déverrouillage en cours 3 : déverrouillé 4 : verrouillage en cours 5 : porte ouverte 6 : lock’n’go (verrouillage temporisé) 7 : lock’n’g (porte en cours d’ouverture) (! bien comprendre la différence entre déverrouillé et ouverture) 254 : moteur bloqué 255 : erreur inconnue Pour les actions possibles : 1 : déverrouillage 2 : verrouillage 3 : ouverture porte 4 : lock’n’go (verrouillage temporisé) 5 : lock’n’go précédé d’une ouverture de porte Variables du QA A partir de la v5.0 du code, des variables sont générées automatiquement pour pouvoir, par exemple, être facilement réutilisées dans GEA Configuration du QA Toute la configuration personnelle se fait dans le fichier "config". Les informations suivantes doivent être complétées pour que le QA fonctionne. • ip = IP_NUKI - 192.168.1.xxx • port = PORT_NUKI - 8080 • token = TOKEN_NUKI - abcdef • id = ID_NUKI - 123456789 • refresh = par défaut 10s (si inférieur, il affiche une erreur-. C'est l'intervalle de temps auquel le QA va interroger la serrure pour connaître son état. Icones Ce QA est de type "Doorlock". Chargez d'abord ces deux icônes pour le statut du Nuki si batterie ok : Ensuite ces deux ci pour batterie à remplacer : Chacun de ces sets de 2 icônes à UN id. Voir ici comment le récupérer. ID des icônes sous HC3 - La Home Center pour les nuls - Domotique-fibaro Une voit récupérés, les introduire ici dans le fichier "config" (remplacer 0 par le vrai ID) icones = { batteryOK = 0, batteryKO = 0, roomOpen = "", roomClose = "", } N.B. si vous laissez 0, le QA utilisera l'icône par défaut et ne la modifiera pas en fonction de l'état de la batterie. si vous laissez "" pour les icônes des pièces, le QA utilisera l'icône par défaut de la pièce, et ne la modifiera pas en fonction de l'état de la serrure. Le QA Nuki_v5.0.fqa si vous avez déjà la version >= 4.0 vous pouvez simplement remplacer le code par cette version du code (et supprimer toutes les variables) : Nuki_v5.0_main.lua Nuki_v5.0_config.lua Historique des versions -- v5.0 (12/02/2024) : fichier config au lieu de variables -- v4.2 (31/01/2024) : bug changement de statut -- v4.1 (31/01/2024) : icone de la pièce -- v4.0 (21/01/2024) : optimisation du code (écrire que si changement) -- QA de type DoorLock -- v3.0 (19/12/2022) : colorisation des labels -- v2.0 (14/11/2022) -- v1.0 (26/09/2022) : initial version Idées d'utilisation • Verrouiller toutes les portes au coucher • Verrouiller toutes les portes lorsque l'alarme générale est branchée • Envoyer une notification quand il faut changer les piles d'une serrure Limitations Si le json ne sait pas retourner toutes les valeurs du tableau (car par exemple la serrure a perdu sa connexion avec la Bridge), les informations retournées peuvent ne pas être fiables. Exemple 1 : Si la serrure "Entrée" n'est plus connectée à la bridge, le json retourné ressemblera à ceci : { "nukiId": 123456789, "name": "Entrée", }, { "nukiId": 123456780, "name": "Cuisine", "firmwareVersion": "1.7.3", "lastKnownState": { "state": 1, "stateName": "locked", "batteryCritical": false, "timestamp": "2019-01-12T14:47:54+00:00" } } ] Exemple 2 : Si la serrure "Cuisine" n'est plus connectée à la bridge, le json retourné ressemblera à ceci : { "nukiId": 123456789, "name": "Entrée", "lastKnownState": { "state": 1, "stateName": "locked", "batteryCritical": false, "timestamp": "2019-01-12T13:04:25+00:00" } }, { "nukiId": 123456780, "name": "Cuisine", "firmwareVersion": "1.7.3", } ] Modifié le 12 février par jojo nouvelle version 9 1
Fred.domotique Posté(e) le 29 septembre 2022 Signaler Posté(e) le 29 septembre 2022 Salut Jojo, Je découvre ton QA, j'ai essayé la mep par contre pour moi pas de bridge car version 3.0 avec bridge intégrer. J'ai bien l'accès Nukiweb, j'ai mise en place un token. Pour avoir l'ID par contre la requete web ne me renvoie rien. Est ce que la méthode est différente au vu de la version ? ton avis. Sur l'appli je trouve un ID pour ma serrure, mais en renseignant le QA avec mon token, mon ID issu de l'appli => erreur connection refusé. Il me semble que tu as un nuki V2, est ce que quelqu'un à testé sur V3 ? si oui votre retour svp.
esolma Posté(e) le 29 septembre 2022 Signaler Posté(e) le 29 septembre 2022 (modifié) Salut, Depuis la dernièr mise à jours du HC3 la quickapp du site fibaro fonctionne à nouveau. J'ai modifié un peu la quickapp. J'ai essayé de faire le menage avec les truc qui pour moi sont inutile comme créé un code, ajouté un user, etc... J'ai laissé pour moi le stricte minimum. J'ai aussi rajouté une partie pour gerer la serrure via un interrupteur fibaro (ligne 84 à 92) : -- ajout perso pour controle couleur bouton if (ST == "locked") then fibaro.call({[1] = 72, [2] = 73, }, 'turnOff') self:debug("*************** Serrure Locked : rouge ****************") elseif (ST == "unlocked") then fibaro.call({[1] = 72, [2] = 73, }, 'turnOn') self:debug("**************** Serrure Locked : vert ****************") end -- fin ajout perso C'est pas top car le refresh se fait toutes les 15 secondes donc il y a une petite attente avant d'avoir le changement d'etat. J'aurai aimé avoir un retour instantané donc si quelqu'un sait amélioré ca serait sympa. De plus j'ai pas reussi à coriger les etats qui ne changent jamais : Après c'est pas trop grave du moment que j'arrive à ouvrir ou fermé NUKI (1).fqa Modifié le 29 septembre 2022 par esolma
jojo Posté(e) le 30 septembre 2022 Auteur Signaler Posté(e) le 30 septembre 2022 Il y a 20 heures, Fred.domotique a dit : Il me semble que tu as un nuki V2, j'ai même un v1, mais comme tout passe par le bridge, v1 ou v2 c'est le même. Maintenant pour la v3 avec bridge intégré, aucune idée. J'imagine qu'il doit y avoir beaucoup de différences. (Si tu m'offre une v3, je te développe le QA qui va bien )
Did Posté(e) le 30 septembre 2022 Signaler Posté(e) le 30 septembre 2022 Salut @jojo, Si tu préfères mes icônes pour illustrer ton QA.
jojo Posté(e) le 30 septembre 2022 Auteur Signaler Posté(e) le 30 septembre 2022 merci, elles sont jolies. Comme j'ai le corp noir, tu les auraient en noir ? https://www.google.com/shopping/product/15575482675167583782?q=nuki&newwindow=1&sxsrf=ALiCzsbPKvjIhXwdihAN61wd87ar549N3A:1664534823413&biw=1909&bih=1229&dpr=1&prds=eto:8421173034502473621_0,pid:16618375752568924740&sa=X&ved=0ahUKEwi7y-q7q7z6AhUGRBoKHX7QBIAQ8gIInQ0oAA
Did Posté(e) le 30 septembre 2022 Signaler Posté(e) le 30 septembre 2022 Ne quittez pas, je vais regardé ce que j'ai en rayon. 1
Lazer Posté(e) le 30 septembre 2022 Signaler Posté(e) le 30 septembre 2022 Il y a 1 heure, jojo a dit : Comme j'ai le corp noir Tu as bien profité de tes vacances à ce que je vois 1
Fred.domotique Posté(e) le 30 septembre 2022 Signaler Posté(e) le 30 septembre 2022 Salut @jojo Merci pour ta proposition "" (Si tu m'offre une v3, je te développe le QA qui va bien )"" Malheureusement la solution d' @esolma fonctionne, Merci ! Maintenant je vais un peu éplucher pour voir ce que tu as modifié cela me permettra d'apprendre un peu plus de cette HC3.. @esolma Attention dans le QA partagé tu as ton apitoken nuki dans la variable, il vaut mieux le supprimer pour le partage.
Did Posté(e) le 30 septembre 2022 Signaler Posté(e) le 30 septembre 2022 @jojo, Voici la version noire: La clé a un peu bougé à droite et j'ai modifié aussi les blanches du message au dessus. Et pour ceux qui ont des scénarios en rapport (j'ai mis la blanche parce noir sur noir, c'est moyen): 1 1
goldsvk Posté(e) le 1 octobre 2022 Signaler Posté(e) le 1 octobre 2022 Hello guys, thank you very much for you awsome work. I'm having troubles to make it work with HC3 lite version 5.120.10 and Nuki 3.0 pro. I tried @esolma version, i have input the api key, the console in Fibaro shows no error but the commands are not executed (it's not unlocking or locking). Please do you have any idea? I might be doing something wrong. Thank you.
jojo Posté(e) le 2 octobre 2022 Auteur Signaler Posté(e) le 2 octobre 2022 from my point of view, the Lite version of the Fibaro box does not allow to import/execute LUA code
goldsvk Posté(e) le 3 octobre 2022 Signaler Posté(e) le 3 octobre 2022 Hmm I see... is there anything I can do?
Lazer Posté(e) le 3 octobre 2022 Signaler Posté(e) le 3 octobre 2022 HC3 Lite can import any QuickApp containing LUA code, it's not limited as it was on fist generation HC Lite. But, there are some limitations, about the total number of QuickApp you can import. Furthermore, the CPU is limited and can't execute some advanced LUA code. We have already discovered that the Roborock QuickApp can't run on HC Lite, because of the cryptographic LUA library. I don't know for this Nuki QuickApp, but you may have some similar issues. You need some debug messages in the console window to be able to understand the problem.
esolma Posté(e) le 4 octobre 2022 Signaler Posté(e) le 4 octobre 2022 Le 30/09/2022 à 14:59, Fred.domotique a dit : Salut @jojo Merci pour ta proposition "" (Si tu m'offre une v3, je te développe le QA qui va bien )"" Malheureusement la solution d' @esolma fonctionne, Merci ! Maintenant je vais un peu éplucher pour voir ce que tu as modifié cela me permettra d'apprendre un peu plus de cette HC3.. @esolma Attention dans le QA partagé tu as ton apitoken nuki dans la variable, il vaut mieux le supprimer pour le partage. Salut merci j'en ai generé un autre
esolma Posté(e) le 9 octobre 2022 Signaler Posté(e) le 9 octobre 2022 Salut, J'ai un peu nettoyer le QA encore un peu. J'ai mis le % de batterie à la place du message OK et corriger le message de connexion tout en bas. Par contre je n'arrive toujours pas à regler ce parametre pour que l'icone et l'etat de la serrure soit modifier dans la HC3 : self:updateProperty("secured", 1) self:updateProperty("secured", 0) J'ai essayé un tas de truc mais rien à faire. Vous auriez une idée ? NUKI.fqa
jojo Posté(e) le 11 octobre 2022 Auteur Signaler Posté(e) le 11 octobre 2022 su ton QA est toujours un binary sensor, tu ne peux afficher que 2 statuts, donc 2 icônes self:updateProperty("value", true) Maintenant, si tu re-crées un QA de type Multilevel switch; tu pourra afficher 10 icônes différentes self:updateProperty("value", value) pi value va de 0 à 99 Tient du coup tu viens de me donner une idée.
esolma Posté(e) le 12 octobre 2022 Signaler Posté(e) le 12 octobre 2022 J'ai essayé avec : self:updateProperty("secured", true) self:updateProperty("secured", false) Mais toujours pas de changement... Si on regarde bien il y a le statut en jaune recuperer via l'api nuki qui dit lock. Mais par contre ni l'icone ni l'etat en dessous de NUKI ou celui avec le bouton bleu ne sont correcte...
jojo Posté(e) le 13 octobre 2022 Auteur Signaler Posté(e) le 13 octobre 2022 notmal, tu dois itolser Le 11/10/2022 à 23:07, jojo a dit : Si ton QA est toujours un binary sensor, tu ne peux afficher que 2 statuts, donc 2 icônes self:updateProperty("value", true) et PAS Il y a 22 heures, esolma a dit : elf:updateProperty("secured", true) self:updateProperty("secured", false)
esolma Posté(e) le 14 octobre 2022 Signaler Posté(e) le 14 octobre 2022 Merci ça marche ! Mais ca va à l'encontre de la logique de programmation... j'en ai fait y'a longtemps mais quand je vois "value" pour moi c'est un parametre à changer. Dans toutes les docs de dev quand y'a ce genre de mot y'a écrit juste en dessous "à remplacer par votre valeur/chiffres/etc".... Mais bon ca marche. Donc voilà la dernière version NUKI.fqa
jojo Posté(e) le 14 novembre 2022 Auteur Signaler Posté(e) le 14 novembre 2022 j'ai mis à jour le premier topic avec une nouvelle versio,
Moris Posté(e) le 21 novembre 2022 Signaler Posté(e) le 21 novembre 2022 Bonjour à tous, j'ai une question... mais pourquoi je ne vois pas les boutons avec les mots "LOCKED" et "UNLOCKED" mais foi "OFF" et "ON". Merci
jojo Posté(e) le 21 novembre 2022 Auteur Signaler Posté(e) le 21 novembre 2022 Locked & unlocked sont plus bas dans ta copie d'écran ... Les boutons ON/OFF et le slider viennent automatiquement avec ce type de QA
MrCoffee Posté(e) le 7 octobre 2023 Signaler Posté(e) le 7 octobre 2023 Le 19/12/2022 à 10:37, jojo a dit : nouvelle version Bonjour, Merci beaucoup pour votre excellent travail sur l'application Nuki Quick App. Dans votre dernière version, l'application Quick App est malheureusement sélectionnée comme type « Switch » et non comme « Door lock ». Est-il possible de changer cela d'une manière ou d'une autre ? Ce serait mieux si le choix n'était pas marche/arrêt mais verrouillage/déverrouillage. J'ai aussi maintenant un volet de fenêtre comme icône. Une serrure de porte serait mieux ;-) Merci beaucoup. Salutations
Messages recommandés