Forum Lifedomus
Demande d'aide NUKI serrure - Version imprimable

+- Forum Lifedomus (http://forum-lifedomus.com)
+-- Forum : Les outils de configuration et design (http://forum-lifedomus.com/forumdisplay.php?fid=7)
+--- Forum : Config Studio (CS) (http://forum-lifedomus.com/forumdisplay.php?fid=8)
+---- Forum : Equipements (http://forum-lifedomus.com/forumdisplay.php?fid=38)
+----- Forum : Equipements (http://forum-lifedomus.com/forumdisplay.php?fid=158)
+------ Forum : Universel (Equipement générique) (http://forum-lifedomus.com/forumdisplay.php?fid=136)
+------ Sujet : Demande d'aide NUKI serrure (/showthread.php?tid=3537)



NUKI serrure - VYJ - 02-06-2017

Bonjour,

Je cherche à récupérer le retour d'état d'une serrure connectée NUKI.
La commande que j'ai mis dans un équipement universel HTTP est la suivante :
http://192.168.1.XXX:8080/lockState?nukiId=yyyyyy&token=zzzzzz
La réponse de la serrure est du type :
{"state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
Testée sur le serveur.

Comment récupérer la variable "state" et en utiliser la valeur ?

Merci,

JNV


RE: NUKI serrure - moicphil - 02-06-2017

Salut

Il faut donc créer un connecteur IP avec l'adresse locale du NUKI. ( http://192.168.1.xxx:8080 )
Dans ce connecteur, créer un JS pour récuperer la valeur .
J'ai pas testé mais quelque chose comme ceci devrait fonctionner :

Code :
var retour = trame;



    var state = retour.indexOf('"state"');      
if (state!=-1) {                                                      
       var cherche = retour.substr(state);                                
       if (state!=-1) {                                                    
           state = cherche.indexOf(':');                                  
           if (state!=-1) {
                cherche = cherche.substring(7,state);                          
                var state = cherche;                                        
           }
       }
   }

Voila le "JS" à importer directement dans le connecteur : [attachment=1514]

Un équipement universel avec ta "commande" ( /lockState?nukiId=yyyyyy&token=zzzzzz )

Dans cet équipement créer une variable type "double" avec comme nom "state"

C'est tout  ;)


RE: NUKI serrure - VYJ - 02-06-2017

Bonsoir et merci de la réponse rapide !

Je ne dois pas être doué, mais dans mon connecteur NUKI qui existe (je peux lock, unlock), j'ai chargé le fichier que tu as mis avec l'icone Json, à priori il prend mais rien n'est visible...
Après j'ai juste mis la variable state double, j'avais crée l'équipement générique, ou la commande est en GET.

Je mets un widget d'état indicé sur la variable... mais le widget reste en rouge, donc variable non reconnue...

Dans le connecteur le "listener" affiche juste "begin".

Cordialement,
JN


RE: NUKI serrure - VYJ - 02-06-2017

Au fait, les possibilité pour "state" sont (pas tout compris avec ton -1 dans le programme) :





Possible state values are:

● 0  uncalibrated

● 1  locked

● 2  unlocked

● 3  unlocked (lock ‘n’ go)

● 4  unlatched

● 5  locking

● 6  unlocking

● 7  unlatching

● 254 motor blocked
● 255 Undefined



RE: NUKI serrure - moicphil - 02-06-2017

Excuse moi je n'ai pas le temps de regarder ce soir ( et suis sur smartphone )
Essayes de jeter un oeil à ce fil, j'avais posté sur un sujet identique au tiens.

http://forum-lifedomus.com/showthread.php?pid=8777#pid8777


RE: NUKI serrure - VYJ - 02-07-2017

Merci anyway de ton temps !

J'ai regardé l'exemple et, après avoir douté du "7" qu'en comparaison j'aurais plutôt mis à 8 vu qu'il n'y a qu'un caractère d'écart dans le nom de la variable, j'ai trouvé un écart sur le cherche.indexOf(',') au lieu de (':') et avec 7, le listener me renvoi bien :
{"state": 1, "stateName": "locked", "batteryCritical": false, "success": true}

Quand je déclenche l'équipement, ca marche, j'ai le retour listener idem.

Par contre la variable state (paramétrée avec double) ne donne rien. J'ai refait l'équipement from scratch et pas mieux : déclenchement commande ok mais la variable ne donne rien (testée dans un automate et dans le restit).
Pas trouvé pour l'instant d'ou voient le bug...

cdlt, JN


RE: NUKI serrure - VYJ - 02-07-2017

Bonsoir,

après pas mal de tests infructueux...
Avec variable string, avec 8, je récupère bien la valeur pour mes changements d'état.
Ultime bug qui m'a perdu un moment : pas de restit sous lifedomus DS sur MAC mais restit sur iOS sur l'iPad...

Merci encore,
JN


RE: NUKI serrure - moicphil - 02-07-2017

Tant mieux si tout est OK maintenant. Étonnant concernant le non affichage sous DS Mac. À transmettre au support.