Lazer Posté(e) le 22 octobre 2020 Auteur Signaler Posté(e) le 22 octobre 2020 Tu es certain que c'est le même port ?
PdB Posté(e) le 22 octobre 2020 Signaler Posté(e) le 22 octobre 2020 (modifié) J'ai une petite question @Lazer. J'utilisais jusqu'à présent ta scene qui fonctionnait parfaitement pour moi (grand merci!!). Je viens de passer de migrer le contrôleur d'une Cloud Key à une Dream Machine Pro, et je n'arrive pas à adapter la scène.... L'IP du contrôleur est désormais la même que le routeur. On accède au contrôleur par : https://IPROUTEUR/network Mais https://IPROUTEUR/network/api/... ne pointe pas sur l'API du contrôleur et renvoie au dashboard.... Je n'ai pas trouvé d'info sur le sujet... Aurais-tu des idées? D'avance merci!!! PS: j'ai bien trouvé ça, mais c'est du Chinois pour moi.... https://community.ui.com/questions/Unifi-API-on-an-Unifi-Dream-Machine/dcbda0aa-8c37-4a23-acdd-ee5fd11de588 Modifié le 22 octobre 2020 par PdB
Lazer Posté(e) le 22 octobre 2020 Auteur Signaler Posté(e) le 22 octobre 2020 Non désolé je ne sais pas, mais tu n'as pas répondu à ma question, es-tu certain que c'est le même port ? Mais si l'API a changé, ça va être compliqué...
PdB Posté(e) le 22 octobre 2020 Signaler Posté(e) le 22 octobre 2020 J’avais pas vu.... Non pas certain pour le port...
PdB Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 Rien trouvé sur le port ou l'API qui aurait changé juste l'adresse de l'API qui est introuvable...
nasp Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 Bonjour,Essaie en https avec le port 8443 comme sur les ck. Il faut peut être démarrer avec l’application téléphone en Bluetooth pour la première fois comme sur les cloud keys. Envoyé de mon iPhone en utilisant Tapatalk
PdB Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 bjr, non rien avec https://IP:8443/network/api/s/default/stat/sta hélas....
yoim Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 (modifié) Bonjour, J'ai aussi une dream machine pro. Je n'ai pas réussi a faire fonctionner la detection de presence. Je pense que l'api a changer. @Lazer On est sur le port ssl 443. Modifié le 23 octobre 2020 par yoim
Lazer Posté(e) le 23 octobre 2020 Auteur Signaler Posté(e) le 23 octobre 2020 C'est bien dommage.... Espérons que ça évolue...
PdB Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 Je pense pas que l’API ait changée, mais juste son accès via l’UDM Pro...
PdB Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 J'ai avancé ici: https://ubntwiki.com/products/software/unifi-controller/api Le endpoint pour l'API est https://IP/proxy/network et pour le login: /api/auth/login au lieu de api/login En revanche j'ai une erreur de login [DEBUG] 11:28:46: Need to login and get new cookie[DEBUG] 11:28:46: Login[DEBUG] 11:28:46: 2020-10-23 11:28:46.360354 [ error] Handshake error: certificate verify failed[DEBUG] 11:28:46: httpClient:request() : Error : certificate verify failed
nasp Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 Il faut désactiver la vérification de validité des certificats au niveau de la scène.Il y avait un post là-dessus mais je ne l’ai pas en tête. Envoyé de mon iPhone en utilisant Tapatalk
Lazer Posté(e) le 23 octobre 2020 Auteur Signaler Posté(e) le 23 octobre 2020 Cool ça Pour le certificat, c'est plus compliqué que ça. Le checkcertificate = false est déjà dans les options de la requête http effectuée par le code LUA Le problème, c'est la HC2 qui ne supporte pas la suite de chiffrement utilisée par Unifi. En première page j'ai donné la modification à faire sur le fichier de configuration du contrôleur Unifi, je ne sais pas si c'est valable pour l'UDM.... encore faut-il avoir accès en root au système... est-ce le cas sur UDM ?
PdB Posté(e) le 23 octobre 2020 Signaler Posté(e) le 23 octobre 2020 C’est moi qui était repasse en checkcertificzte = true en tentant de bidouiller avant. en repassant a false j’ai [DEBUG] 12:02:43: Need to login and get new cookie[DEBUG] 12:02:43: Login[DEBUG] 12:02:43: Error : status=401
Lazer Posté(e) le 23 octobre 2020 Auteur Signaler Posté(e) le 23 octobre 2020 Google => HTTP 401 => Unauthorized problème d'authentification donc....
PdB Posté(e) le 24 octobre 2020 Signaler Posté(e) le 24 octobre 2020 Impossible en tout cas d’accéder au system.properties sur le nouveau UDM PRO....
PdB Posté(e) le 26 octobre 2020 Signaler Posté(e) le 26 octobre 2020 Bonjour, J'ai finalement réussi à avoir un accès en root, trouver le fichier system.properties et le modifier... J'arrive à m'authentifier à l'UDM PRO sans souci en utilisant Postman: Malgré tout la scène suivante me renvoie encore une erreur 401: local credential = {username = "Fibaro", password = "XXXXXX"} credential = json.encode(credential) local httpClient = net.HTTPClient() httpClient:request("https://192.168.0.254/api/auth/login", { success = function(response) print(json.encode(response.status)) end, error = function(err) end, options = { method = 'POST', checkCertificate = false, data = credential } }) Auriez-vous une idée de ce qui cloche???
nasp Posté(e) le 26 octobre 2020 Signaler Posté(e) le 26 octobre 2020 Après avoir modifié le fichier le fichier system.properties il faut rebooter l’udm pro. Envoyé de mon iPhone en utilisant Tapatalk
PdB Posté(e) le 27 octobre 2020 Signaler Posté(e) le 27 octobre 2020 Il y a 8 heures, nasp a dit : Après avoir modifié le fichier le fichier system.properties il faut rebooter l’udm pro. Envoyé de mon iPhone en utilisant Tapatalk Déjà fait hélas...
PdB Posté(e) le 27 octobre 2020 Signaler Posté(e) le 27 octobre 2020 ALLELUIA !!!!! Ca y est, j'ai enfin réussi. Pour ceux que cela intéresse donc sur un UDM-PRO: - il faut activer la connection SSH dans le contrôleur - Se logger en "root" avec le mot de passe que vous avez choisi et accéder au fichier system.properties qui se trouve dans /data/unifi/data - et le modifier selon les consignes de @Lazer. Il faut ensuite modifier un petit peu la scene de @Lazer - pour le LOGIN : L'IP à utiliser est URL .. "/api/auth/login" - dans les options de la requête HTTP pour le login, il faut rajouter: headers = {['Content-Type'] = 'application/json'}, sinon erreur 401 systématique.... - dans la récupération du cookie, il faut supprimer la ligne: if jsonTable.meta and jsonTable.meta.rc and jsonTable.meta.rc == "ok" then et en miroir: else Message("red", "Error : status = " .. tostring(response.status) .. " - rc = " .. (jsonTable.meta and jsonTable.meta.rc or "???") .. " - msg = " .. (jsonTable.meta and jsonTable.meta.msg or "???")) end qui ne correspondent plus au format de la réponse. Dans GetDevices(): il faut modifier l'URL cible par : URL .. "/proxy/network/api/s/default/stat/sta" Enfin, si besoin, il faut modifier le fichier system.properties. Pour cela: - il faut activer la connection SSH dans les reglages de l'UDM PRO - Se logger en "root" avec le mot de passe que vous avez choisi et accéder au fichier system.properties qui se trouve dans /data/unifi/data - et le modifier selon les consignes de @Lazer. Et tout roule chez moi ... Merci à ceux qui m'ont aidé!!!! 2 1
Lazer Posté(e) le 27 octobre 2020 Auteur Signaler Posté(e) le 27 octobre 2020 Cool, bravo @PdB J'ajoute un lien en première page vers ton message
yoim Posté(e) le 27 octobre 2020 Signaler Posté(e) le 27 octobre 2020 @PdB Merci pour tout ca. J'ai fais les modifications que tu as proposé. Malgré la suppression de la ligne du cookie j'ai toujours cette erreur : [DEBUG] 15:42:43: 27/10/2020 : Scene instance autostart [DEBUG] 15:42:43: GetDevices [DEBUG] 15:42:43: Need to login and get new cookie [DEBUG] 15:42:43: Login [DEBUG] 15:42:43: Error : status=401 Une idée ?
yoim Posté(e) le 28 octobre 2020 Signaler Posté(e) le 28 octobre 2020 Le 26/10/2020 à 22:17, PdB a dit : Bonjour, J'ai finalement réussi à avoir un accès en root, trouver le fichier system.properties et le modifier... J'arrive à m'authentifier à l'UDM PRO sans souci en utilisant Postman: Malgré tout la scène suivante me renvoie encore une erreur 401: local credential = {username = "Fibaro", password = "XXXXXX"} credential = json.encode(credential) local httpClient = net.HTTPClient() httpClient:request("https://192.168.0.254/api/auth/login", { success = function(response) print(json.encode(response.status)) end, error = function(err) end, options = { method = 'POST', checkCertificate = false, data = credential } }) Auriez-vous une idée de ce qui cloche??? J'ai essayé ca aussi. J'ai toujours mon erreur 401
PdB Posté(e) le 28 octobre 2020 Signaler Posté(e) le 28 octobre 2020 @yoim As-tu modifié la scène de Lazer? Dans la partie Login tu dois avoir ca: -- -- Login function -- function Login(command) Message("fuchsia", "Login") local httpClient = net.HTTPClient() if debug then Message("grey", URL .. "/api/login") end -- Login httpClient:request(URL .. "/api/auth/login", { success = function(response) if debug then Message("gray", json.encode(response)) end if response.status == 200 then if response.data and response.data ~= "" then local jsonTable = json.decode(response.data) -- Get cookie if response.headers and response.headers['Set-Cookie'] then -- "Set-Cookie": "unifises=L1IADETuhsX6AwY44w72nCKftDOa1c1j; Path=\/; Secure; HttpOnly, csrf_token=b5y9pwpKD5dIcLqAxfHxUO2dQ6HUuvcL; Path=\/; Secure", if debug then Message("yellow", response.headers['Set-Cookie']) end -- Store cookie Cookie = response.headers['Set-Cookie'] fibaro:setGlobal(VG_Unifi_Cookie, Cookie) -- Execute given function as argument if command and type(command) == "function" then setTimeout(function() command() end, 0) end else Message("red", "Error : missing Cookie in Response Headers") end else Message("red", "Error : empty response") end else Message("red", "Error : status=" .. tostring(response.status)) end end, error = function(err) Message("red", 'httpClient:request() : Error : ' .. err) end, options = { method = 'POST', checkCertificate = false, headers = {['Content-Type'] = 'application/json'}, data = json.encode({username=username, password=password, strict=true}) } }) end -- function 1
Messages recommandés