mprinfo Posté(e) le 6 janvier 2022 Signaler Partager Posté(e) le 6 janvier 2022 Quick App - Monitoring UDM Pro SE Ce quick App et destiné aux UDM Pro SE et Pro Voici les Informations qu'il retourne : Etat de la connexion Internet Nom de l'UDM Pro SE La version du firmware de l'UDM Pro SE Date Heure demarrage UDM Pro SE Charge CPU de l'UDM Pro SE Temperature du CPU de l'UDM Pro SE La version du contrôleur UNIFI Taille disque Interne Utilisation du disque interne en Mo et % Etat et la version du controleur UNIFI Le nombre de Switch UNIFI totale Le nombre d' AP UNIFI totale Le nombre de Cilients Totale connectés Le nombre de Clients Filaire connectés Le nombre de Clients WIFI connectés Le nombre de Clients invités connectés une étiquette est réservée à l'affichage des messages d'erreur Saisir : Adresse IP de l'USM Nom d'utilisateur Mots de passe Prequency : le taux de rafraichissement Version 1.00 : UDM_Pro_Ver_1.00.fqa Documentation API UDM Pro : ICI NOTE: All calls are relative to the base controller URL Calls return both a web status as well as JSON formatted output. 200 codes indicate a successful call and other indicate errors. I am using the placeholder `{site}` for the site name which for many installations will be `default`. # Login required { "data" : [ ] , "meta" : { "msg" : "api.err.LoginRequired" , "rc" : "error"}} # Call was a success but returned no values { "data" : [ ] , "meta" : { "rc" : "ok"}} # NOTE: If meta contains a count it's because the data values have been truncated 'meta': {'count': 4818, 'rc': 'ok'} # from the api/s/{site}/stat/event endpoint UDM Pro API NOTE: There are two critical differences between Unifi controllers and the UDM Pro's API: The login endpoint is /api/auth/login All API endpoints need to be prefixed with /proxy/network (e.g. https://192.168.0.1/proxy/network/api/s/default/self) Examples curl curl -k -X POST --data '{"username": "usr", "password": "$pw"}' -b cookie.txt https://udmp:443/proxy/network/api/auth/login # responds with 'Not Found' curl -k -X GET -b cookie.txt https://udmp/proxy/network/api/s/default/self # responds with proper json python Controller Endpoints These are REST calls that can be made without a site context. I do not believe any updates ( PUT ) can be called on these endpoints. Path Method Notes status GET Returns some very basic server information - This appears to be the only endpoint that can be reached without an authentication { "data" : [ ] , "meta" : { "rc" : "ok" , "server_version" : "5.7.23" , "up" : true , "uuid" : "0e727580-ffff-ffff-ffff-403dcd5a7bd4"}} api/login POST requires dict of username, password, and optionally remember=true for long-running sessions. Returns 200 for success and a cookie that is your session. NOTE: On UDM Pros this is api/auth/login. api/logout POST destroys the sever side session id which will make future attempts with that cookie fail api/self GET Logged in user NOTE: On UDM Pros this is api/users/self. api/self/sites GET Get basic information for all sites on this controller api/stat/sites GET Same as above with an additional information on health and new alerts for each site api/stat/admin GET List administrators and permissions for all sites api/system/poweroff POST Turns off the UDM NOTE: X-CSRF-Token header required (from e.g. the login response) + Super Admin access rights api/system/reboot POST Reboot the UDM NOTE: X-CSRF-Token header required (from e.g. the login response) + Super Admin access rights Site Endpoints All commands are presumed to be prefixed with api/s/{site} Path Method Notes stat/health GET Health status of the site self GET Logged in user stat/ccode GET List of country codes stat/current-channel GET List of all RF channels based on the site country code stat/sysinfo GET Some high-level information about the controller stat/event GET List site events by most recent first, 3000 result limit rest/event GET List site events by oldest, no limit? stat/alarm GET List alarms by most recent, 3000 result limit? rest/alarm GET List alarms by oldest, no limit? stat/sta GET List of all _active_ clients on the site rest/user GET/POST/PUT List of all configured/known clients on the site stat/device-basic GET List of site devices with only 'adopted', 'disabled', 'mac', 'state', 'type' keys, useful for filtering on type stat/device GET/POST Detailed list of all devices on site. (Controller only) Can be filtered by POSTing {"macs": ["mac1", ... ]} stat/device/{mac} GET (UDM only) Detailed list of device filtered by mac address rest/device/{_id} PUT Updates to devices get PUT here, why? rest/setting GET/PUT Detailed site settings, updating requires adding key and _id to path for PUT ../setting/{key}/{_id} stat/routing GET All active routes on the device rest/routing GET/PUT User defined routes rest/firewallrule GET/PUT User defined firewall rules. This does not show auto-generated rules rest/firewallgroup GET/PUT User defined firewall groups. rest/wlanconf GET/PUT List WLANs, edit current WLANs and create new WLANs rest/wlanconf/{_id} PUT Update configuration of current WLAN designated by '_id' rest/tag GET/PUT? Tagged macs stat/rogueap GET/POST Neighboring APs optional json post 'within' = seen in the last x hours stat/sitedpi GET/POST DPI stats requires type="by_app" or "by_cat" stat/stadpi GET/POST DPI stats requires type="by_app" or "by_cat" optionally filtered macs=[…, ] stat/dynamicdns GET DynamicDNS information and status like current ip, last changed, and status rest/dynamicdns GET/PUT DynamicDNS configuration rest/portconf GET Switch port profiles stat/spectrumscan GET Get RF scan results, can be for a specific mac by appending to endpoint rest/radiusprofile GET/POST/PUT Radius profiles rest/account GET/POST/PUT Radius accounts rest/portforward GET List all port forwards configured on the site stat/report/{interval}.{type} POST Intervals are '5minutes', 'hourly', and 'daily'. Report types are 'site', 'user', and 'ap'. Must specify attributes to be returned 'bytes', 'wan-tx_bytes', 'wan-rx_bytes', 'wlan_bytes', 'num_sta', 'lan-num_sta', 'wlan-num_sta', 'time', 'rx_bytes', 'tx_bytes'. Can be filtered with 'macs': […] Callable commands Posting to the endpoint api/s/{site}/cmd/<manager> with the json {"cmd": "command"} you can invoke commands on the controller. Manager Call Notes evtmgt archive-all-alarms sitemgr add-site desc = Descriptive name ( required ), name = shortname ( in the URL ) sitemgr delete-site name = short name ( required ) sitemgr update-site desc = Descriptive name ( required ) sitemgr get-admins List all administrators and permission for this site sitemgr move-device mac = device mac ( required ), site_id = 24 digit id ( required ) sitemgr delete-device mac = device mac ( required ) stamgr block-sta mac = client mac ( required ) stamgr unblock-sta mac = client mac ( required ) stamgr kick-sta Disconnect: mac = client mac (required ) stamgr forget-sta Forget a client ( controller 5.9.x only ) stamgr unauthorize-guest Unauthorize a client device, mac = client mac (required) devmgr adopt mac = device mac ( required ) devmgr restart mac = device mac ( required ) devmgr force-provision mac = device mac ( required ) devmgr power-cycle mac = switch mac ( required ), port_idx = PoE port to cycle ( required ) devmgr speedtest Start a speed test devmgr speedtest-status get the current state of the speed test devmgr set-locate mac = device mac ( required ) blink unit to locate devmgr unset-locate mac = device mac ( required ) led to normal state devmgr upgrade mac = device mac ( required ) upgrade firmware devmgr upgrade-external mac = device mac ( required ), url = firmware URL ( required ) devmgr migrate mac = device mac ( required ), inform_url = New Inform URL to push to device (required) devmgr cancel-migrate mac = device mac ( required ) devmgr spectrum-scan mac = device mac ( ap only, required ) trigger RF scan backup list-backups list of autobackup files backup delete-backup filename ( required ) system backup create a backup. This appears to backup to a fixed location in the filesystem stat clear-dpi resets the site wide DPI counters 6 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 7 janvier 2022 Signaler Partager Posté(e) le 7 janvier 2022 Marche nickel merci @mprinfo 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 7 janvier 2022 Auteur Signaler Partager Posté(e) le 7 janvier 2022 De rien copain. Si j'ai un peu de temps je ferais quelques petites améliorations.Après si tu as d'autres idées d'améliorationJe suis preneur. Envoyé de mon BLA-L29 en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 7 janvier 2022 Signaler Partager Posté(e) le 7 janvier 2022 Je viens tout juste de m'équiper en ubiquiti, alors le temps de maturer tout ça et je te dis. En tout cas beau boulot, merci encore ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 7 janvier 2022 Auteur Signaler Partager Posté(e) le 7 janvier 2022 C'est assez simple à faireJ'ai pas peu avoir la température elle n'est pas présente dans l api ni sur l'interface Web donc ?Moi je viens de prendre un UDM Pro Se c'est top mais sur dimensionner par rapport à mes besoins. Je viens aussi de passer en full unifi avant j'avais juste un switch poe et 3 bornes J'ai donc viré mon Cisco SG350-28 que j'ai remplacé par un USW-24-ProPar contre plus cher c'est la facture électrique je suis à plus de 200w/h en consommation dans mon armoire réseau Envoyé de mon BLA-L29 en utilisant Tapatalk 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 7 janvier 2022 Signaler Partager Posté(e) le 7 janvier 2022 (modifié) c'est cool! j'ai pris l'udm pour essayer, j'ai hésité avec la version pro et idem surdimensionné pour mon usage mais bon j'ai aussi pris comme toi un usw-24-pro plus 2 flex mini qui sont en route et j'attends que le lite 8 poe soit dispo pour le garage. Et oui la conso pique un peu EDIT: j'oubliais j'ai également pris une nanoHD, je prendrai un peu plus tard 1 ou 2 autres AP pour l'extérieur puis idem pour l'intérieur. Modifié le 7 janvier 2022 par TonyC Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 8 janvier 2022 Auteur Signaler Partager Posté(e) le 8 janvier 2022 je viens de faire une petite correction sur le qa Si tu perds la connection internet le QA plante car la valeur de l'IP WAN et égale à nil voici le correctif if wan_ip == nil then wan_ip = "Connection INTERNET Perdu" end A mettre en dessous de cette ligne (152) if SysUDM['meta']['rc'] == "ok" then local wan_ip = SysUDM['data'][2]['wan_ip'] 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 8 janvier 2022 Signaler Partager Posté(e) le 8 janvier 2022 Merci @mprinfo, j'applique la modif Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 8 janvier 2022 Auteur Signaler Partager Posté(e) le 8 janvier 2022 Je suis entrain de tout modifier je suis arrivé a avoir l'api de l'os unifi donc j'ai accès a pleins de choses A venir 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 8 janvier 2022 Signaler Partager Posté(e) le 8 janvier 2022 Alors là c'est top ! penses tu pouvoir faire un switch off sur un port POE ? je n'ai pas encore eu le temps de trop me plonger dedans, je suis en plein recâblage, j'espère pouvoir y passer plus de temps le we prochain. Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 9 janvier 2022 Auteur Signaler Partager Posté(e) le 9 janvier 2022 Pour le switch sur un port POE ou c'est faisable mais il faut passé par l'api du contrôleur Avec ce QA je suis sur l'api de OS unifi voici une nouvelle version du QA pourrais tu tester STP version 1.0 Fichier QA version 1.0 : UDM_Pro_Ver_1.00.fqa Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 9 janvier 2022 Signaler Partager Posté(e) le 9 janvier 2022 Salut @mprinfo ! je download ça tout de suite, je l'installerai à l'apéro après la journée câblage et tri de mon souk ! Je te fais un retour dès que j'ai un peu de recule. Merci encore !! 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 9 janvier 2022 Auteur Signaler Partager Posté(e) le 9 janvier 2022 OK impeccable merciBon câblage Chez-moi c'est presque fini le câblageEnvoyé de mon BLA-L29 en utilisant Tapatalk 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 9 janvier 2022 Signaler Partager Posté(e) le 9 janvier 2022 (modifié) Belle installation !!! je suis loin loin loin d’avoir la même ! Modifié le 9 janvier 2022 par TonyC Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 10 janvier 2022 Auteur Signaler Partager Posté(e) le 10 janvier 2022 Paris ne c'est pas fait en un jour j'ai commencé à tirer mes premiers câbles en 2010, en 2012 j'ai installer mon armoire réseau et au fur et mesure que je refais une pièce je tire de nouveau câbles Cette années je pense que je vais ajouter une dizaines de prises réseau car je dois refaire les sols du RDC 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
flacon030 Posté(e) le 10 janvier 2022 Signaler Partager Posté(e) le 10 janvier 2022 cela peut t'il fonctionner avec un USG-3P? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 10 janvier 2022 Auteur Signaler Partager Posté(e) le 10 janvier 2022 Non car l udm a son propre os et l api est différenteEnvoyé de mon BLA-L29 en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 16 janvier 2022 Signaler Partager Posté(e) le 16 janvier 2022 Salut @mprinfo quelques news, j'ai reçu et installé l'UDM pro, j'attends de recevoir un AP en début de semaine avant de tout rebasculer dessus. Ca remplacera donc mon UDM qui fera un retour à l'envoyeur, que j'ai prévenu et chez qui j'ai repris la version pro. Pour mémoire l'UDM (pas pro) fait aussi office d'AP, c'est donc la raison pour laquelle je dois attendre l'AP avant de terminer la migration. En ce qui concerne la dernière version du QA il plante avec la version en prod de l'UDM don pas la version pro. Il report sur des ports Ethernet qui sont au nombre de 8 sur la version pro et 4 sur la version "lite", j'ai en attendent patché à l'arrache car dès que la version pro sera up, ce problème sera résolu. Avant de déconnecté mon UDM si j'y pense je remettrai la version originale du QA pour tracer les messages d'erreurs que je n'ai pas conservé, ça pourra être utile pour ceux qui auront la version UDM "lite". Sinon pour les petits correctifs, il faudrait intervertir le résultat dans les labels mémoire et stockage interne qui dans ton exemple donne pour la mémoire 4.04Gb/1.7GB, il faudrait avoir l''inverse 1.7GB/4.04GB et comme évoqué idem sur le stockage interne. Pour l'instant rien d'autre à signalé, je continuerai à regarder lorsque la version pro sera up and running ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 16 janvier 2022 Auteur Signaler Partager Posté(e) le 16 janvier 2022 @tonyC le titre est bien explicite "UDM Pro ou UDM Pro SE" après je pourrai l'adapter pour qu'il soit compatible avec un UDM si il y a de la demande Moi j'ai commencé avec un udm pro et après j'ai vu qu'il existait l'udm pro SE, j'ai donc gardé mon udm pro, 4 jours avant de le retourner J'ai voulu être raisonnable j'ai donc acheté un USG PRO 4 pour 130 euros, j'avais une VM UNIFI sur mon GEN8 tout était parfait Puis 5 jours plus tard j'ai trouvé un UDM Pro SE pour 400 euros avec facture il avait 1 mois J'ai donc revendu mon USG PRO Personnellement je t'aurais conseillé l'udm pro SE qui a plusieurs avantage, les 8 port sont 2.5GB et POE et le WAN RJ45 et 2.5GB, après il y a un ssd 128GO mais utilisable qu'avec protect donc inutile pour moi L'avantage d'avoir du 2.5GB c'est que je ne suis plus dans l'optique d'acheter un switch 2.5GB comme par exemple USW enterprise. Pour une utilisation perso je pense que 8 ports en 2.5GB c'est largement suffisant perso je vais en utilisé 2, 1 pour mon nas et 1 pour mon PC. les différences importantes entre USW-PRO et USW-Enterprise USW-PRO = 1GB et POE++ USW-Enterprise = 2.5GB et POE+ dommage que la version enterprise ne soit pas POE++ Je ne passe pas mon NAS en 10GB car les cartes ont tendances à chauffer et la consommation électrique explose Je me suis pris 2 SFP+ Fibre car a priori en cuivre la consommation d'un SFP+ est de 5 à 7w en fibre 0.5w Si tu n'as pas beaucoup de devices POE l'udm suffit donc la aussi ca baissera la consommation électrique Exemple de consommation a vide USW-16- POE = 6w UDM pro SE = 26w USW-24-Pro = 10w US-24-250w POE = 28w j'ai donc virer mon US-24-250w et j'ai garder USW-24-Pro cela ma fait gagner environ 30w Sachant que je consomme 200w 24/24 cela me coute environ 300 euros Pour les modifs du QA je vais faire cela de suite Par contre j'arrive a remonter la consommation des ports POE, il faudrait que l'on puisse affiché cela dans des childs mais la je sais pas trop comment faire j'ai joué avec les childs il y a longtemps J'arrive aussi a remonter l'état des devices UNIFI pareil on pourrait faire des childs Par contre je maitrise l'api UNIFI avec les GET mais pour les PUT ou POST la je sèche, je voudrais pouvoir allumé ou éteindre un port poe je sais ou modifier mais je sais pas comment faire 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 16 janvier 2022 Auteur Signaler Partager Posté(e) le 16 janvier 2022 voici le correctif pour l'affichage ligne 142 --memoire self:updateView("memoire", "text", "Memoire : " ..(math.floor((data["memory"]["total"]/10000))/100)-(math.floor((data["memory"]["available"]/10000))/100).."GB / " ..(math.floor((data["memory"]["total"]/10000))/100).."GB - Utilisée : " ..(math.floor((data["memory"]["total"]-data["memory"]["available"])/data["memory"]["total"]*1000)/10).." %" ) --Internal Storage self:updateView("storage", "text", "Stockage Interne : " ..(math.floor(data["storage"][1]["used"]/10000)/100).." Mo / " ..(math.floor(data["storage"][1]["size"]/10000)/100).." Mo - : " ..(math.floor(data["storage"][1]["used"]/data["storage"][1]["size"]*1000)/10).." %" ) 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 17 janvier 2022 Signaler Partager Posté(e) le 17 janvier 2022 @mprinfo pour le POE j'utilise mon switch 24, sinon tu as absolument raison, il vaudrait mieux directement partir sur la version SE, mais cette dernière n'est pas encore officiellement commercialisée, tu as eu de la chance d'en toper une surtout à ce prix ! Merci pour le patch pour réaligner les labelles ! Si tu as une api officielle de l'ubiquiti je serrais intéressé, à l'occase je jetterai un oeil pour commander les ports POE, avant d'utiliser l'unifi j'avais un switch poe sur lequel j'avais mes cameras, que je n'allumais qu'en cas d'absence ou dès que les volets se fermaient, c'était pas mal pour économiser qlqs watts... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 janvier 2022 Auteur Signaler Partager Posté(e) le 17 janvier 2022 @TonyC il n'y a pas de doc officielle pour l'api. Par contre tu peux regarder ici : Documentation API UDM Pro : ICI NOTE: All calls are relative to the base controller URL Calls return both a web status as well as JSON formatted output. 200 codes indicate a successful call and other indicate errors. I am using the placeholder `{site}` for the site name which for many installations will be `default`. # Login required { "data" : [ ] , "meta" : { "msg" : "api.err.LoginRequired" , "rc" : "error"}} # Call was a success but returned no values { "data" : [ ] , "meta" : { "rc" : "ok"}} # NOTE: If meta contains a count it's because the data values have been truncated 'meta': {'count': 4818, 'rc': 'ok'} # from the api/s/{site}/stat/event endpoint UDM Pro API NOTE: There are two critical differences between Unifi controllers and the UDM Pro's API: The login endpoint is /api/auth/login All API endpoints need to be prefixed with /proxy/network (e.g. https://192.168.0.1/proxy/network/api/s/default/self) Examples curl curl -k -X POST --data '{"username": "usr", "password": "$pw"}' -b cookie.txt https://udmp:443/proxy/network/api/auth/login # responds with 'Not Found' curl -k -X GET -b cookie.txt https://udmp/proxy/network/api/s/default/self # responds with proper json python Controller Endpoints These are REST calls that can be made without a site context. I do not believe any updates ( PUT ) can be called on these endpoints. Path Method Notes status GET Returns some very basic server information - This appears to be the only endpoint that can be reached without an authentication { "data" : [ ] , "meta" : { "rc" : "ok" , "server_version" : "5.7.23" , "up" : true , "uuid" : "0e727580-ffff-ffff-ffff-403dcd5a7bd4"}} api/login POST requires dict of username, password, and optionally remember=true for long-running sessions. Returns 200 for success and a cookie that is your session. NOTE: On UDM Pros this is api/auth/login. api/logout POST destroys the sever side session id which will make future attempts with that cookie fail api/self GET Logged in user NOTE: On UDM Pros this is api/users/self. api/self/sites GET Get basic information for all sites on this controller api/stat/sites GET Same as above with an additional information on health and new alerts for each site api/stat/admin GET List administrators and permissions for all sites api/system/poweroff POST Turns off the UDM NOTE: X-CSRF-Token header required (from e.g. the login response) + Super Admin access rights api/system/reboot POST Reboot the UDM NOTE: X-CSRF-Token header required (from e.g. the login response) + Super Admin access rights Site Endpoints All commands are presumed to be prefixed with api/s/{site} Path Method Notes stat/health GET Health status of the site self GET Logged in user stat/ccode GET List of country codes stat/current-channel GET List of all RF channels based on the site country code stat/sysinfo GET Some high-level information about the controller stat/event GET List site events by most recent first, 3000 result limit rest/event GET List site events by oldest, no limit? stat/alarm GET List alarms by most recent, 3000 result limit? rest/alarm GET List alarms by oldest, no limit? stat/sta GET List of all _active_ clients on the site rest/user GET/POST/PUT List of all configured/known clients on the site stat/device-basic GET List of site devices with only 'adopted', 'disabled', 'mac', 'state', 'type' keys, useful for filtering on type stat/device GET/POST Detailed list of all devices on site. (Controller only) Can be filtered by POSTing {"macs": ["mac1", ... ]} stat/device/{mac} GET (UDM only) Detailed list of device filtered by mac address rest/device/{_id} PUT Updates to devices get PUT here, why? rest/setting GET/PUT Detailed site settings, updating requires adding key and _id to path for PUT ../setting/{key}/{_id} stat/routing GET All active routes on the device rest/routing GET/PUT User defined routes rest/firewallrule GET/PUT User defined firewall rules. This does not show auto-generated rules rest/firewallgroup GET/PUT User defined firewall groups. rest/wlanconf GET/PUT List WLANs, edit current WLANs and create new WLANs rest/wlanconf/{_id} PUT Update configuration of current WLAN designated by '_id' rest/tag GET/PUT? Tagged macs stat/rogueap GET/POST Neighboring APs optional json post 'within' = seen in the last x hours stat/sitedpi GET/POST DPI stats requires type="by_app" or "by_cat" stat/stadpi GET/POST DPI stats requires type="by_app" or "by_cat" optionally filtered macs=[…, ] stat/dynamicdns GET DynamicDNS information and status like current ip, last changed, and status rest/dynamicdns GET/PUT DynamicDNS configuration rest/portconf GET Switch port profiles stat/spectrumscan GET Get RF scan results, can be for a specific mac by appending to endpoint rest/radiusprofile GET/POST/PUT Radius profiles rest/account GET/POST/PUT Radius accounts rest/portforward GET List all port forwards configured on the site stat/report/{interval}.{type} POST Intervals are '5minutes', 'hourly', and 'daily'. Report types are 'site', 'user', and 'ap'. Must specify attributes to be returned 'bytes', 'wan-tx_bytes', 'wan-rx_bytes', 'wlan_bytes', 'num_sta', 'lan-num_sta', 'wlan-num_sta', 'time', 'rx_bytes', 'tx_bytes'. Can be filtered with 'macs': […] Callable commands Posting to the endpoint api/s/{site}/cmd/<manager> with the json {"cmd": "command"} you can invoke commands on the controller. Manager Call Notes evtmgt archive-all-alarms sitemgr add-site desc = Descriptive name ( required ), name = shortname ( in the URL ) sitemgr delete-site name = short name ( required ) sitemgr update-site desc = Descriptive name ( required ) sitemgr get-admins List all administrators and permission for this site sitemgr move-device mac = device mac ( required ), site_id = 24 digit id ( required ) sitemgr delete-device mac = device mac ( required ) stamgr block-sta mac = client mac ( required ) stamgr unblock-sta mac = client mac ( required ) stamgr kick-sta Disconnect: mac = client mac (required ) stamgr forget-sta Forget a client ( controller 5.9.x only ) stamgr unauthorize-guest Unauthorize a client device, mac = client mac (required) devmgr adopt mac = device mac ( required ) devmgr restart mac = device mac ( required ) devmgr force-provision mac = device mac ( required ) devmgr power-cycle mac = switch mac ( required ), port_idx = PoE port to cycle ( required ) devmgr speedtest Start a speed test devmgr speedtest-status get the current state of the speed test devmgr set-locate mac = device mac ( required ) blink unit to locate devmgr unset-locate mac = device mac ( required ) led to normal state devmgr upgrade mac = device mac ( required ) upgrade firmware devmgr upgrade-external mac = device mac ( required ), url = firmware URL ( required ) devmgr migrate mac = device mac ( required ), inform_url = New Inform URL to push to device (required) devmgr cancel-migrate mac = device mac ( required ) devmgr spectrum-scan mac = device mac ( ap only, required ) trigger RF scan backup list-backups list of autobackup files backup delete-backup filename ( required ) system backup create a backup. This appears to backup to a fixed location in the filesystem stat clear-dpi resets the site wide DPI counters 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
TonyC Posté(e) le 17 janvier 2022 Signaler Partager Posté(e) le 17 janvier 2022 Merci @mprinfo je la garde sous le coude ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 janvier 2022 Auteur Signaler Partager Posté(e) le 17 janvier 2022 Voila la façon pour récupérer le token avec curl curl --insecure --cookie ${cookie} --cookie-jar ${cookie} --header "Content-Type: application/json" \ --request POST \ --data '{"username":"Username","password":"Password"}' \ https://192.168.1.1/api/auth/login Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 janvier 2022 Auteur Signaler Partager Posté(e) le 17 janvier 2022 <?php /** * Exemple d'utilisation de l'API PHP pour activer le PoE des ports de commutation sélectionnés sur "off" ou "auto" * * contribué par : @Kaltt * description : un cas d'utilisation de ce script consiste à désactiver le PoE du port auquel une caméra est connectée afin d'éteindre la caméra * * utilisation : si le fichier est appelé via une URL Web, il doit être appelé comme suit : update_switch_poe-mode.php?poe_mode=off * Si le fichier est appelé via la ligne de commande, il doit être appelé comme suit : php update_switch_poe-mode.php off * Les valeurs peuvent être "off" ou "auto" */ /** * en utilisant le chargeur automatique de compositeur */ require_once 'vendor/autoload.php' ; /** * inclure le fichier de configuration (placez-y vos identifiants, etc. s'ils ne sont pas déjà présents) * voir le fichier config.template.php pour un exemple */ require_once 'config.php' ; /** * le site à utiliser pour se connecter au contrôleur */ $ site_id = '<nom court d'un site auquel les informations d'identification utilisées ont accès>' ; /** * l'adresse MAC de l'appareil AC-IW à reconfigurer */ $ device_mac = '<entrez l'adresse MAC>' ; /** * $lanports est un tableau qui définit quels ports doivent être modifiés */ $ ports_lan = [ 6 ]; /** * Il s'agit de la fonction qui lit la configuration actuelle du port et modifie la valeur de poe_mode pour les ports définis dans $lanports */ fonction update_ports ( $ running_config , $ ports , $ poe_mode ) { /** * Mettre à jour les ports déjà non par défaut */ $ running_config_count = count ( $ running_config ); for( $ je = 0 ; $ je < $ running_config_count ; $ je ++){ if ( in_array ( $ running_config [ $ i ]-> port_idx , $ ports )){ $ running_config [ $ i ]-> poe_mode = $ poe_mode ; unset( $ ports [ array_search ( $ running_config [ $ i ]-> port_idx , $ ports )]); } } $ add_conf = [] ; foreach ( $ ports as $ port ){ $ add_conf [] = [ 'port_idx' => $ port , 'poe_mode' => $ poe_mode ] ; } return array_merge ( $ running_config , $ add_conf ); } $ unifi_connection = new UniFi_API \ Client ( $ controlleruser , $ controllerpassword , $ controllerurl , $ site_id , $ controllerversion , false ); $ set_debug_mode = $ unifi_connection -> set_debug ( faux ); $ loginresults = $ unifi_connection -> connexion (); $ data = $ unifi_connection -> list_devices ( $ device_mac ); $ device_id = $ data [ 0 ]-> device_id ; $ current_conf = $ data [ 0 ]-> port_overrides ; /** * Cela lit les valeurs fournies via l'URL ou dans la ligne de commande, si rien n'est défini, poe_mode sera défini sur "auto" */ si ( isset ( $ _GET [ 'poe_mode' ])) { $ poe_mode = $ _GET [ 'poe_mode' ]; } elseif ( isset ( $ argv [ 1 ])) { $ poe_mode = $ argv [ 1 ]; } sinon { $ poe_mode = 'auto' ; } $ new_ports_config = [ 'port_overrides' => update_ports ( $ current_conf , $ lanports , $ poe_mode ) ] ; $ update_device = $ unifi_connection -> set_device_settings_base ( $ device_id , $ new_ports_config ); si (! $ update_device ) { $ erreur = $ unifi_connection -> get_last_results_raw (); echo json_encode ( $ erreur , JSON_PRETTY_PRINT ); } echo json_encode ( $ update_device , JSON_PRETTY_PRINT ); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés