DrPepper Posté(e) le 16 juillet 2019 Signaler Posté(e) le 16 juillet 2019 Bonjour à tous ! Je cherche à identifier l'id de l'utilisateur qui lance une scène quand elle n'est pas lancée automatiquement ! J'ai cherché, rien trouvé... Vous avez une idée de comment le récupérer ? Y'a bien http://ip_box//api/users qui donne la liste des users, mais comment avoir CELUI qui lance la scène ... Merci de votre aide ! ++
Lazer Posté(e) le 16 juillet 2019 Signaler Posté(e) le 16 juillet 2019 Pas sûr que ça soit la meilleure méthode, mais au début de ta scène, tu peux commencer par regarder le user qui a la plus faible valeur de "lastActivity" dans /api/userActivity Normalement, si tu as un 0 dans ce champ, c'est que c'est l'utilisateur actif. Le risque c'est qu'un autre utilisateur fasse une action au même moment, du coup tu aurais 2 utilisateurs avec cette valeur à 0, donc impossible à différencier.
Lazer Posté(e) le 16 juillet 2019 Signaler Posté(e) le 16 juillet 2019 (modifié) Trouvé, en fait il faut regarder directement dans /api/loginStatus { "status": true, "userID": 2, "username": "user@domaine.com", "type": "superuser", "analyticsUserIdHash": "abcdefghijklmnopqrstuvwxyz" } { "status": true, "userID": 127, "username": "Lazer", "type": "user", "analyticsUserIdHash": "abcdefghijklmnopqrstuvwxyz" } Donc au début de ta scène, tu vas chercher cette info avec api:get("/loginStatus"), puis tu l'affiches dans le debug de ta scène. Ainsi, en regardant la zone de debug, tu verras tous les utilisateurs qui ont exécuté ta scène, avec l'heure précise. Modifié le 16 juillet 2019 par Lazer 2
DrPepper Posté(e) le 17 juillet 2019 Auteur Signaler Posté(e) le 17 juillet 2019 local user = api.get("/loginStatus") print(user.username) local user = api.get("/loginStatus") print(user.username) Ca marche ... NICKEL !!!
DrPepper Posté(e) le 25 juillet 2019 Auteur Signaler Posté(e) le 25 juillet 2019 Ca marchait et bim... depuis la 4.55 ca ne marche plus ! Ce qui est étonnant, car en pointant l'URL vers http://<ip>/api/loginStatus on a bien les éléments du tableau Mais dans le code LUA, on a autre chose.. {['limit'] = 5,['timeLeft'] = 0,['status'] = false,['retryNumber'] = 0} Une idée ? Mes fonctions buguent...
Kana-chan Posté(e) le 25 juillet 2019 Signaler Posté(e) le 25 juillet 2019 (modifié) Bonjour, Ca veut dire que le code LUA est exécuté sans qu'il y aie un utilisateur de connecté. Pour cela, il faut d'abord tester 'status' et si il est à true alors prendre le 'username'. Voilà ... Modifié le 25 juillet 2019 par Kana-chan
DrPepper Posté(e) le 28 juillet 2019 Auteur Signaler Posté(e) le 28 juillet 2019 Comment un utilisateur ne peut pas etre connecté, puisque j'utilise le code dans une fonction à déclenchement manuel ? (donc forcément connecté pour y avoir accès...) Je vais faire quelques tests ! Merci pour l'explication !
Lazer Posté(e) le 28 juillet 2019 Signaler Posté(e) le 28 juillet 2019 Tu devrais poser la question au support Fibaro, car ce changement de comportement ressemble à un nouveau bug.
Messages recommandés