Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 328
  • Inscription

  • Dernière visite

  • Jours gagnés

    239

Tout ce qui a été posté par mprinfo

  1. je viens de faire un test avec plusieurs port donc plusieurs Qa cela fonctionne super bien
  2. @TonyC je cherche pas a avoir raison ou tord mais juste de comprendre la partie PUT en fait je suis dans l'inconnu Excuse moi si j'ai semblé vouloir imposé mon idée ce n'est pas le car j’essaie juste de comprendre de plus je n'ai testé qu'avec un port POE Je suis nul en rédactionnelle donc on j'ai souvent du mal a me faire comprendre surtout par écrit Je suis content a mon age j'arrive a faire des enfants mais la gestion n'est pas simple pour moi la en bidouillant c'est loin d'être propre j'arrive a faire un enfant pour le poe du port et 1 pour le poe total du switch
  3. En général c'est pour les 2 donc on verra bien [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  4. @Cardane tu peux modifier le titre comme ceci STP merci HC3 & HCL3 - v 5:100:22 stable- 22/12/2021
  5. je te réponds ici mais normalement c'est l'autre topic Faux la table override exit elle n'est pas vide voila comment ce compose le json d'un device unifi Pour trouver le device il faut faire une boucle car l'index est numérique Une fois le switch trouvé on est a ce json { "_id": "61e19e28dfde79156707c91c", "ip": "xxx.xxx.xxx.xxx", "mac": "xx:xx:xx:xx:xx:xx", "model": "UDMPROSE", "model_in_lts": false, "model_in_eol": false, "type": "udm", "version": "2.3.11.6510", "adopted": true, "site_id": "61e19e12dfde79156707c8f9", "x_authkey": "d054b00830d5dfed3cd7f3b4551e445a", "cfgversion": "e3a334c32ec746bc", "syslog_key": "e1e9d7b703f3b0a5d7ab2c99e651aa0be21692fee6c45ca97b9171f8ebf98d3b", "config_network": {........}, "setup_id": "ae4268e1-908e-4e02-9258-86d3eae422ff", "jumboframe_enabled": false, "flowctrl_enabled": false, "stp_version": "rstp", "stp_priority": "32768", "dot1x_portctrl_enabled": false, "power_source_ctrl_enabled": false, "license_state": "registered", "unsupported": false, "unsupported_reason": 0, "inform_url": "http://localhost:8080/inform", "inform_ip": "127.0.0.1", "x_aes_gcm": true, "config_network_lan": {...............}, "required_version": "1.0.15", "kernel_version": "4.19.152-ui-alpine", "architecture": "aarch64", "board_rev": 19, "manufacturer_id": 4, "model_incompatible": false, "ethernet_table": [ "port_table": {...............}, "ethernet_overrides": {...............}, "usg_caps": 3008508, "has_speaker": false, "has_eth1": false, "fw_caps": 1659805231, "hw_caps": 24, "wifi_caps": 22986461, "lcm_brightness": 80, "lcm_night_mode_enabled": true, "lcm_night_mode_begins": "22:00", "lcm_night_mode_ends": "08:00", "switch_caps": {...............}, "has_fan": false, "has_temperature": false, "temperatures": [...............}, "storage": [...............}, "ruleset_interfaces": [...............}, "connected_at": 1643545087, "provisioned_at": 1643649915, "name": "UDM Pro SE", "hostname": "UDM-Pro-SE", "setup_provision_completed": true, "setup_provision_tracking": false, "device_domain": "784558ca594d06260985066e59a40617a14f9.id.ui.direct", "port_overrides": [...............}, "two_phase_adopt": false, "serial": "784xxxxxxx", "hash_id": "a41f1116852aaxxx", "anon_id": "3a177196-e62c-418a-841f-1116852aae86", "device_id": "61e19e28dfde79156707c91c", "state": 1, "start_disconnected_millis": 1643545085249, "last_seen": 1643730722, "min_inform_interval_seconds": 1, "upgradable": false, "adoptable_when_upgraded": false, "rollupgrade": false, "known_cfgversion": "e3a334c32ec746bc", "uptime": 185721, "_uptime": 185721, "locating": false, "start_connected_millis": 1643545087388, "next_interval": 26, "sys_stats": {...............}, "system-stats": {...............}, A ce niveau on peut récuperer quelques info pour l'affichage Pour la mise a jour de l'affichage j'utilise la table "port_table" Pour le PUT recupérer la valeur de "port_overrides" "port_overrides" et une table avec index numérique qui contient des objets sous forme de table (1 table) par port Voici le json de "port_overrides" "port_overrides": [ { "autoneg": true, "poe_mode": "auto", "port_security_mac_address": [], "full_duplex": false, "port_idx": 1, "portconf_id": "61e19e1edfde79156707c912", "name": "Port 1", "speed": 10, "op_mode": "switch" }, { "autoneg": false, "portconf_id": "61e19e1edfde79156707c912", "poe_mode": "auto", "name": "Port 2", "port_security_mac_address": [], "full_duplex": true, "port_idx": 2, "speed": 1000 }, { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 3", "full_duplex": true, "speed": 1000, "port_idx": 3, "poe_mode": "auto" }, { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 4", "full_duplex": true, "speed": 1000, "port_idx": 4, "poe_mode": "auto" }, { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 5", "full_duplex": true, "speed": 100, "port_idx": 5, "poe_mode": "auto" }, { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 6", "full_duplex": true, "speed": 100, "port_idx": 6, "poe_mode": "auto" }, { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 7", "full_duplex": true, "speed": 100, "port_idx": 7, "poe_mode": "auto" }, { "autoneg": true, "poe_mode": "auto", "port_security_mac_address": [], "full_duplex": true, "port_idx": 8, "portconf_id": "61e19e1edfde79156707c912", "name": "Port 8", "speed": 100, "op_mode": "switch" }, { "autoneg": true, "op_mode": "switch", "name": "Port 9", "speed": 1000, "full_duplex": true, "port_idx": 9, "portconf_id": "61e19e1edfde79156707c912" }, { "autoneg": true, "op_mode": "switch", "name": "SFP+ 1", "speed": 1000, "full_duplex": true, "port_idx": 10, "portconf_id": "61e19e1edfde79156707c912" }, { "autoneg": true, "op_mode": "switch", "name": "SFP+ 2", "speed": 1000, "full_duplex": true, "port_idx": 11, "portconf_id": "61e19e1edfde79156707c912" } ], la configuration d'un port et donc comme ceci { "autoneg": true, "op_mode": "switch", "portconf_id": "61e19e1edfde79156707c912", "name": "Port 7", "full_duplex": true, "speed": 100, "port_idx": 7, "poe_mode": "auto" }, si j'ai bien compris ton code tu crées une table temporaire du port pour le PUT cela ne sert a rien puisque elle existe il faut juste la récupere c'est pour cela que je préfère utiliser pour lire une table avec index numérique le j me donne le numéro d'index de la table for j=1,#data_port_overrides do Après tu fais le PUT juste avec la table du port et c'est la que je comprends pas il faudrait que je fasse des tests, si tu injectes la tables du port dans table ("port_overrides") comment peux tu êtres sur qu'elle modifira la bonne table du port vu que tu ne donne pas l'index, c'est peut être possible en lua ? Moi je récupere la table "port_overrides" je cherche la table du port "port_idx" et je modifie la valeur "poe_mode" de cette table Ensuite je fais un PUT de la table complète Comme cela je suis sur que "port_overrides" aura la bonne valeur et je ne serai pas obliger de faire une restauration Voila le code que j'utilise -- By MPRInfo -- Version v0.62b -- UDM Pro SE et UDM Pro gestion des ports POE -- Date 30/01/2022 à 15:00 -- https://www.domotique-fibaro.fr ------------------------------------------------------------------------------------------------------------------------ -- Gestion du bouton du QA ------------------------------------------------------------------------------------------------------------------------ function QuickApp:turnOn() self:debug("binary switch turned on") --self:updateProperty("value", true) self:LoadProfilPorts("auto") end function QuickApp:turnOff() self:debug("binary switch turned off") --self:updateProperty("value", false) self:LoadProfilPorts("off") end ------------------------------------------------------------------------------------------------------------------------ -- connection au controleueur et recupération du cookie ------------------------------------------------------------------------------------------------------------------------ function QuickApp:loginUnifi() if self.cookie == nil then self.http:request("https://"..self.controller..":443/api/auth/login", { options = { checkCertificate = false, method = 'POST', headers = { ["content-type"] = "application/json", }, data = json.encode({ ['username'] = self.login, ['password'] = self.password }) }, success = function(response) --print("status = ", response.status) --print("response",json.encode(response.data)) --print("['Set-Cookie'] = ", response.headers['Set-Cookie']) --print("['X-CSRF-Token'] = ", response.headers['X-CSRF-Token']) if response.status == 200 then self.cookie = response.headers['Set-Cookie'] self.CSRF = response.headers['X-CSRF-Token'] self:trace("X-CSRF-Token = ", self.CSRF) self:updateView("label6", "text", "X-CSRF-Token = "..self.CSRF) --self:debug("loginUnifi() Connecté") --self:debug("Cookie = ", self.cookie) end end, error = function(error) self:error("loginUnifi() Erreur: ", json.encode(error)) end }) end end ------------------------------------------------------------------------------------------------------------------------ -- Mise a jour du profil des ports ------------------------------------------------------------------------------------------------------------------------ function QuickApp:SaveProfilPorts(data_port_overrides, device_id, action) --print("-----------------------------------------------------------SaveProfilPorts()") ---------------------------------------------------------------------------------------------- -- Traitement de la table [data_port_overrides] -- modificaton variable "poe_mode" avec la valeur auto ou off -- cette table servira pour le PUT qui va allumer ou eteindre le port POE ---------------------------------------------------------------------------------------------- local port = 0 local EtatPort = "erreur" for j=1,#data_port_overrides do --if data_port_overrides[j]["poe_mode"] == nil then -- self:trace("port : "..data_port_overrides[j]["port_idx"].." - Status : Non POE") --else -- self:trace("port : "..data_port_overrides[j]["port_idx"].." - Status : "..data_port_overrides[j]["poe_mode"]) --end -- Si le port_idx et egal a la variable POE_Port if data_port_overrides[j]["port_idx"] == tonumber(self:getVariable("Port_POE")) then port = j -- si auto alors off sinon auto alors auto self:trace("Port "..j.." : "..data_port_overrides[j]["poe_mode"]) if (data_port_overrides[j]["poe_mode"] == "auto" and action == "off") or (data_port_overrides[j]["poe_mode"] == "off" and action == "auto") then if data_port_overrides[j]["poe_mode"] == "auto" then data_port_overrides[j]["poe_mode"] = "off" EtatPort = "Auto vers Off" self:updateProperty("value", false) --self:updateView("label4", "text", "Nouveau Etat Port "..j.." : "..data_port_overrides[j]["poe_mode"]) else data_port_overrides[j]["poe_mode"] = "auto" EtatPort = "Off vers Auto" self:updateProperty("value", true) --self:trace("Port "..j.." : Nouveau Status - Auto") end else return end --break end end local dataProfil = {["port_overrides"] = data_port_overrides} if self.cookie ~= nil then self.http:request(self.URL.."rest/device/"..device_id, { options = { checkCertificate = false, --method = 'POST', method = 'PUT', headers = { ["content-type"] = "application/json", ["Accept"] = "application/json", ['Cookie'] = self.cookie, ['X-CSRF-Token']=self.CSRF }, data = json.encode(dataProfil) }, success = function(response) --self:trace("response.status = ", response.status) --print("sucess", json.encode(response)) --print("response.status", response.status) self:trace("Nouveau Etat Port : "..EtatPort) self:updateView("label4", "text", "Nouveau Etat Port : "..port.." - "..EtatPort.." - Status : Ok") return end, error = function(error) self.cookie = nil self:updateView("label4", "text", "Nouveau Etat Port : Echec...") self:error("SaveProfilPorts() échoué: ", json.encode(error)) end }) end end ------------------------------------------------------------------------------------------------------------------------ -- Recupération du profil des ports POE controleur unifi ------------------------------------------------------------------------------------------------------------------------ function QuickApp:LoadProfilPorts(action) --print("----------------------------------------------------------- LoadProfilPorts()") if self.cookie ~= nil then self.http:request(self.URL.."stat/device", { options = { checkCertificate = false, method = 'GET', headers = { ["content-type"] = "application/json", ["Accept"] = "application/json", ['Cookie'] = self.cookie } }, success = function(response) --self:trace("response.status = ", response.status) --self:trace(json.encode(response.data)) local data = json.decode(response.data) if response.status == 200 then if data['meta']['rc'] == "ok" then -- Si reponse OK local POE_Port = tonumber(self:getVariable("Port_POE")) local data = json.decode(response.data) local data_port_table = nil -- Table de la configuration des ports du switch local data_port_overrides = nil -- Table des ports du switch a modifier pour faire le PUT local device_id = "" -- id du switch qui va servir pour l'url du PUT local NonSwitch = "" --self:trace("Nombres devices UNIFI : "..#data["data"]) self:updateView("label1", "text", "Nombres devices UNIFI : "..#data["data"]) for i=1,#data["data"] do -- Scan des devices UNIFI --Liste des device UNIFI avec leurs adresses MAC --self:trace("Mac : "..data["data"][i]["mac"].." - "..librairie.DeviceUnifiName("model", data["data"][i]["model"])) -- Recherche du profil du Switch avec la MAC if data["data"][i]["mac"] == self:getVariable("MAC_Switch") then -- Recherche du profil du Switch avec la MAC -- ID du profile du switch utilisé pour la création de l'url du PUT device_id = data["data"][i]["device_id"] --Recupartion de la table [port_table] information complete du switch data_port_table = data["data"][i]["port_table"] --Recupartion de la table [port_override] Table a modifier qui va servir pour le put data_port_overrides = data["data"][i]["port_overrides"] -- Mise a jour du label NonSwitch = librairie.DeviceUnifiName("model", data["data"][i]["model"]).." - IP :"..data["data"][i]["ip"] --self:updateView("label2", "text", NonSwitch.." : "..#data_port_overrides.." Ports - IP :"..data["data"][i]["ip"]) --self:trace("Switch :".."Table N°("..i..") - MAC : "..data["data"][i]["mac"].." - IP : "..data["data"][i]["ip"]) data = nil break-- Switch trouvé on peut donc arrété la recherche end end if data_port_overrides == nil then self:error("la Mac ne correspond a aucun Switch sur ce controleur") return end ---------------------------------------------------------------------------------------------- -- Traitement de la table [data_port_table] -- Table contenant toute la config des ports du switch -- dans cette exemple je vais récuperer la consommation éléctrique d'un port ---------------------------------------------------------------------------------------------- local consommation = 0 local labelPort = "" local portActif = 0 for i=1,#data_port_table do if tonumber(data_port_table[i]["poe_power"]) > 0 then portActif = portActif + 1 end if data_port_table[i]["port_idx"] == tonumber(self:getVariable("Port_POE")) then self:updateProperty("log", data_port_table[i]["poe_power"].."w") --print("Port "..data_port_table[i]["port_idx"].." : "..data_port_table[i]["poe_power"].."w - Status : "..data_port_table[i]["poe_mode"]) self:updateView("label4", "text", "Port "..data_port_table[i]["port_idx"].." : "..data_port_table[i]["poe_power"].."w - Status : "..data_port_table[i]["poe_mode"]) if data_port_table[i]["poe_mode"] == "auto" then self:updateProperty("value", true) else self:updateProperty("value", false) end end consommation = consommation + data_port_table[i]["poe_power"] if data_port_table[i]["poe_mode"] == nil then labelPort = labelPort.."#"..data_port_table[i]["port_idx"].." : Non POE - " else labelPort = labelPort.."#"..data_port_table[i]["port_idx"].." : "..data_port_table[i]["poe_mode"].." - " end end self:updateView("label2", "text", NonSwitch) self:updateView("label5", "text", labelPort) self:updateView("label3", "text", "POE Actif : "..portActif.."/"..#data_port_table.." - Consommation Total POE : "..consommation.."w") self:trace(NonSwitch.." Consommation POE : "..consommation.."w") if action ~= "mainLoop" then self:SaveProfilPorts(data_port_overrides, device_id, action) end else self.cookie = nil end end end, error = function(error) self.cookie = nil self:error("LoadProfilPorts() échoué: ", json.encode(error)) end }) end end ------------------------------------------------------------------------------------------------------------------------ -- boucle principale ------------------------------------------------------------------------------------------------------------------------ function QuickApp:mainLoop() self:loginUnifi() fibaro.setTimeout(3*1000, function() self:LoadProfilPorts("mainLoop") end) fibaro.setTimeout(self.frequency * 1000, function() self:mainLoop("mainLoop") end) end --------------------------------------------------------------------------------------------------------------------- -- Initialisation du QA --------------------------------------------------------------------------------------------------------------------- function QuickApp:onInit() self:trace("---------------------------------------------------------------------") self:trace("Demarrage du Quick App - UnifiOS Switch port POE auto/off ") self:trace("---------------------------------------------------------------------") -- __TAG = "QA_UDM_Pro_POE_" .. plugin.mainDeviceId --self:updateProperty("log", "Port: "..self:getVariable("Port_POE")) --- frequency self.frequency = self:getVariable("frequency") assert(self.frequency ~= "", "la fréquence n'est pas définie") self.frequency = tonumber(self.frequency) assert(self.frequency ~= nil, "la fréquence n'est pas un nombre") --- login self.login = self:getVariable("login") --- password self.password = self:getVariable("password") --- IP URL self.controller = self:getVariable("IP_UDM_Pro") self.URL = "https://"..self.controller..":443".."/proxy/network/api/s/default/" self.http = net.HTTPClient({ timeout = 2000 }) self:mainLoop() end
  6. mprinfo

    HC2 Freeze 4 LEDs allumées

    Effectivement si tu comptes rester chez fibaro la garder serait judicieux Cela te permettra de te faire la main tranquillement. Moi j'attends que le moteur zwave 3 soit stable avant de peut-être migrer. Par contre tout mes QA sont prêts j'ai juste à inclure les modules le jours où je ferai la migration Envoyé de mon BLA-L29 en utilisant Tapatalk
  7. mprinfo

    HC2 Freeze 4 LEDs allumées

    Tu as 14 jours pour retourner la hc3. Pour madame je sais pas [emoji23] Envoyé de mon BLA-L29 en utilisant Tapatalk
  8. On va arrêter de polluer le typic de Christophe je vais me faire tuer [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  9. Normalement au premier démarrage tu as la question avant de faire la configuration Après ta box avait peut être un vieux firmware qui ne propose pas le zwave 3 Envoyé de mon BLA-L29 en utilisant Tapatalk
  10. Tu as bien pris le moteur zwave2 j'espère Car le zwave 3 est en bêta Envoyé de mon BLA-L29 en utilisant Tapatalk
  11. Non c'est différent les firmware de la hc3 sont bien plus stable même en bêta L'erreur n'est pas un bug mais des changements dans la structure des QA Il faut donc adapter le QA au nouveau profil Envoyé de mon BLA-L29 en utilisant Tapatalk
  12. C'est l'erreur que j'ai eu@Lazer si tu te souviens c'est le 20 dans les paramètres de création du QA qui ne passe pas. Il y a pas mal de modifications à chaque bêta car à chaque fois il y a conversion de la BD Envoyé de mon BLA-L29 en utilisant Tapatalk
  13. @tonyC je viens de regarder ton code si j'ai bien compris ne renvoie pas la table complète des ports mais juste la table du port cela fonctionne t'il bien ? toi tu es un vrai lua men tu utilises les for pair do moi je suis basic men j'utilise for i do il y a un truc que tu as modifier dans la mainloop ------------------------------------------------------------------------------------------------------------------------ -- boucle principale ------------------------------------------------------------------------------------------------------------------------ function QuickApp:mainLoop() --[[ --- frequency self.frequency = self:getVariable("frequency") assert(self.frequency ~= "", "la fréquence n'est pas définie") self.frequency = tonumber(self.frequency) assert(self.frequency ~= nil, "la fréquence n'est pas un nombre") ]]-- self.login = self:getVariable("login") self.password = self:getVariable("password") self.mac_switch = self:getVariable("MAC_Switch") self.controller = self:getVariable("IP_UDM_Pro") self.URL = "https://"..self.controller..":443".."/proxy/network/api/s/default/" self.http = net.HTTPClient({ timeout = 3000 }) self:loginUnifi() self:LoadProfilPorts() fibaro.setTimeout(4*1000, function() self:LoadProfilPorts() end) --fibaro.setTimeout( 10* 1000/30, function() -- end)--self.frequency end je sais pas pourquoi tu récupères les valeurs des variables du QA a chaque boucle vu qu'elles ne changent jamais je préfère les mettres dans le onInit(), on les charges un fois est cela suffit pour les boutons function QuickApp:turnOn() --self:debug("binary switch turned on") self:updateProperty("value", true) self:mainLoop() end je ne mets pas le updateProperty car c'est pas parce que tu l'as actionné que cela a fonctionné je mets cela a la fin du PUT si l'action a réussi je ne lance pas mainLoop() mais LoadProfilPorts() function QuickApp:turnOn() self:debug("binary switch turned on") --self:updateProperty("value", true) self:LoadProfilPorts("auto") end function QuickApp:turnOff() self:debug("binary switch turned off") --self:updateProperty("value", false) self:LoadProfilPorts("off") end j'ai fais comme cela avec la valeur auto ou off et pour le mainloop ------------------------------------------------------------------------------------------------------------------------ -- boucle principale ------------------------------------------------------------------------------------------------------------------------ function QuickApp:mainLoop() self:loginUnifi() fibaro.setTimeout(3*1000, function() self:LoadProfilPorts("mainLoop") end) fibaro.setTimeout(self.frequency * 1000, function() self:mainLoop("mainLoop") end) end et je récupere l'action comme cela function QuickApp:LoadProfilPorts(action) si l'action est autre que mainloop c'est a dire auto ou off on pourrait verrouiller plus d'ailleurs je fais ma demande de PUT est j'y ajoute la table et le ID_Profil if action ~= "mainLoop" then self:SaveProfilPorts(data_port_overrides, device_id, action) end voici mon oninit() function QuickApp:onInit() self:trace("--------------------------------------------------------------------") self:trace("Demarrage du Quick App - UnifiOS Switch port POE auto/off ") self:trace("--------------------------------------------------------------------") -- __TAG = "QA_UDM_Pro_POE_" .. plugin.mainDeviceId --self:updateProperty("log", "Port: "..self:getVariable("Port_POE")) --- frequency self.frequency = self:getVariable("frequency") assert(self.frequency ~= "", "la fréquence n'est pas définie") self.frequency = tonumber(self.frequency) assert(self.frequency ~= nil, "la fréquence n'est pas un nombre") --- login self.login = self:getVariable("login") --- password self.password = self:getVariable("password") --- IP URL self.controller = self:getVariable("IP_UDM_Pro") self.URL = "https://"..self.controller..":443".."/proxy/network/api/s/default/" self.http = net.HTTPClient({ timeout = 2000 }) self:mainLoop() end voila le résultat Tu remarques que maintenant je guère le Non POE Tu as l'etat de tout les ports du Switch le nombre de port actif (port qui consomme du POE) et le nombre total de ports pour la librairie unifi -- Device Unifi mise a jour le 30/01/2022 librairie = {} librairie._VERSION = 1.0 -- -- Recherche le nom du device unifi -- function librairie:DeviceUnifiName(model) local BaseNameDevice = json.decode('{"BZ2":{"base_model":"BZ2","display":"UniFi AP"},"BZ2LR":{"base_model":"BZ2","display":"UniFi AP-LR"},"S216150":{"base_model":"US24P250","display":"UniFi Switch 16 AT-150W","include_fw":"USC8"},"S224250":{"base_model":"US24P250","display":"UniFi Switch 24 AT-250W","include_fw":"USC8"},"S224500":{"base_model":"US24P250","display":"UniFi Switch 24 AT-500W","include_fw":"USC8"},"S248500":{"base_model":"US24P250","display":"UniFi Switch 48 AT-500W","include_fw":"USC8"},"S248750":{"base_model":"US24P250","display":"UniFi Switch 48 AT-750W","include_fw":"USC8"},"S28150":{"base_model":"US24P250","display":"UniFi Switch 8 AT-150W","include_fw":"USC8"},"U2HSR":{"base_model":"U2HSR","display":"UniFi AP-Outdoor+"},"U2IW":{"base_model":"U2IW","display":"UniFi AP-In Wall"},"U2Lv2":{"base_model":"U2Sv2","display":"UniFi AP-LR v2"},"U2O":{"base_model":"BZ2","display":"UniFi AP-Outdoor"},"U2Sv2":{"base_model":"U2Sv2","display":"UniFi AP v2"},"U5O":{"base_model":"BZ2","display":"UniFi AP-Outdoor 5G"},"U6ENT":{"base_model":"U6ENT","display":"U6-Enterprise"},"U6EXT":{"base_model":"U6EXT","display":"U6-Extender"},"U6IW":{"base_model":"U6IW","display":"U6-IW"},"U6M":{"base_model":"U6M","display":"U6-Mesh"},"U7E":{"base_model":"U7E","display":"UniFi AP-AC"},"U7EDU":{"base_model":"U7PG2","display":"UniFi AP-AC-EDU"},"U7Ev2":{"base_model":"U7E","display":"UniFi AP-AC v2"},"U7HD":{"base_model":"U7HD","display":"UniFi AP-HD"},"U7IW":{"base_model":"U7PG2","display":"UniFi AP-AC-In Wall"},"U7IWP":{"base_model":"U7PG2","display":"UniFi AP-AC-In Wall Pro"},"U7LR":{"base_model":"U7PG2","display":"UniFi AP-AC-LR"},"U7LT":{"base_model":"U7PG2","display":"UniFi AP-AC-Lite"},"U7MP":{"base_model":"U7PG2","display":"UniFi AP-AC-Mesh-Pro"},"U7MSH":{"base_model":"U7PG2","display":"UniFi AP-AC-Mesh"},"U7NHD":{"base_model":"U7NHD","display":"UniFi AP-nanoHD"},"U7O":{"base_model":"U7E","display":"UniFi AP-AC Outdoor"},"U7P":{"base_model":"U7P","display":"UniFi AP-Pro"},"U7PG2":{"base_model":"U7PG2","display":"UniFi AP-AC-Pro"},"U7SHD":{"base_model":"U7HD","display":"UniFi AP-SHD"},"UAE6":{"base_model":"UAE6","display":"U6-Extender-EA"},"UAIW6":{"base_model":"UAIW6","display":"U6-IW-EA"},"UAL6":{"base_model":"UAL6","display":"U6-Lite"},"UALR6":{"base_model":"UALR6","display":"U6-LR-EA"},"UALR6v2":{"base_model":"UALR6v2","display":"U6-LR"},"UALR6v3":{"base_model":"UALR6v3","display":"U6-LR"},"UAM6":{"base_model":"UAM6","display":"U6-Mesh-EA"},"UAP6":{"base_model":"UAP6","display":"U6-LR"},"UAP6MP":{"base_model":"UAP6MP","display":"U6-Pro"},"UBB":{"base_model":"UBB","display":"UniFi Building Bridge"},"UBBXG":{"base_model":"UBBXG","display":"UniFi Building-to-Building XG"},"UCK":{"base_model":"UCK","display":"UniFi Cloud Key"},"UCKG2":{"base_model":"UCKG2","display":"UniFi Cloud Key Gen2"},"UCKP":{"base_model":"UCKP","display":"UniFi Cloud Key Plus"},"UCMSH":{"base_model":"U7HD","display":"UniFi AP-MeshXG"},"UCXG":{"base_model":"U7HD","display":"UniFi AP-XG"},"UDC48X6":{"base_model":"UDC48X6","display":"UniFi Data Center 100G-48X6"},"UDM":{"base_model":"UDM","display":"UniFi Dream Machine"},"UDMB":{"base_model":"U7NHD","display":"UDM Beacon"},"UDMPRO":{"base_model":"UDMPRO","display":"UniFi Dream Machine PRO"},"UDMPROSE":{"base_model":"UDMPROSE","display":"UniFi Dream Machine PRO SE"},"UDMSE":{"base_model":"UDMSE","display":"UniFi Dream Machine SE"},"UDR":{"base_model":"UDR","display":"UniFi Dream Router"},"UDW":{"base_model":"UDW","display":"UniFi Dream Wall"},"UFLHD":{"base_model":"U7NHD","display":"UniFi Flex HD"},"UGW3":{"base_model":"UGW3","display":"UniFi Security Gateway"},"UGW4":{"base_model":"UGW4","display":"UniFi Security Gateway-Pro"},"UGWXG":{"base_model":"UGWXG","display":"UniFi Security Gateway XG-8"},"UHDIW":{"base_model":"U7NHD","display":"UniFi AP-HD-In Wall"},"ULTE":{"base_model":"ULTE","display":"UniFi AP-LTE"},"ULTEPEU":{"base_model":"ULTEPEU","display":"UniFi LTE Pro EU"},"ULTEPUS":{"base_model":"ULTEPUS","display":"UniFi LTE Pro US"},"UP1":{"base_model":"UP1","display":"UniFi Smart Power Plug"},"UP6":{"base_model":"UP6","display":"UniFi Smart Power 6-Port Power Strip"},"US16P150":{"base_model":"US24P250","display":"UniFi Switch 16 POE-150W","include_fw":"USC8"},"US24":{"base_model":"US24P250","display":"UniFi Switch 24","include_fw":"USC8"},"US24P250":{"base_model":"US24P250","display":"UniFi Switch 24 POE-250W","include_fw":"USC8"},"US24P500":{"base_model":"US24P250","display":"UniFi Switch 24 POE-500W","include_fw":"USC8"},"US24PL2":{"base_model":"US24PL2","display":"UniFi Switch 24 L2 POE"},"US24PRO":{"base_model":"US24PRO","display":"UniFi Switch Pro 24 PoE"},"US24PRO2":{"base_model":"US24PRO2","display":"UniFi Switch Pro 24"},"US48":{"base_model":"US24P250","display":"UniFi Switch 48","include_fw":"USC8"},"US48P500":{"base_model":"US24P250","display":"UniFi Switch 48 POE-500W","include_fw":"USC8"},"US48P750":{"base_model":"US24P250","display":"UniFi Switch 48 POE-750W","include_fw":"USC8"},"US48PL2":{"base_model":"US24PL2","display":"UniFi Switch 48 L2 POE"},"US48PRO":{"base_model":"US48PRO","display":"UniFi Switch Pro 48 PoE"},"US48PRO2":{"base_model":"US48PRO2","display":"UniFi Switch Pro 48"},"US624P":{"base_model":"US624P","display":"UniFi Switch Enterprise 24 PoE"},"US648P":{"base_model":"US648P","display":"UniFi Switch Enterprise 48 PoE"},"US68P":{"base_model":"US68P","display":"UniFi Switch Enterprise 8 PoE"},"US6XG150":{"base_model":"US6XG150","display":"UniFi Switch 6 XG PoE"},"US8":{"aka_by":"USC8","base_model":"US24P250","display":"UniFi Switch 8","include_fw":"USC8"},"US8P150":{"base_model":"US24P250","display":"UniFi Switch 8 POE-150W","include_fw":"USC8"},"US8P60":{"base_model":"US24P250","display":"UniFi Switch 8 POE-60W","include_fw":"USC8"},"USAGGPRO":{"base_model":"USAGGPRO","display":"Unifi Switch Pro Aggregation"},"USC8":{"base_model":"USC8P450","display":"UniFi Switch 8","hide":true,"include_fw":"US24P250"},"USC8P450":{"base_model":"USC8P450","display":"UniFi Switch Industrial"},"USF5P":{"base_model":"USF5P","display":"UniFi Switch Flex"},"USFXG":{"base_model":"USFXG","display":"UniFi Switch Flex XG"},"USL16LP":{"base_model":"USL16LP","display":"UniFi Switch Lite 16 POE"},"USL16P":{"base_model":"USL16P","display":"UniFi Switch 16 POE"},"USL24":{"base_model":"USL24","display":"UniFi Switch 24"},"USL24P":{"base_model":"USL24P","display":"UniFi Switch 24 POE"},"USL48":{"base_model":"USL48","display":"UniFi Switch 48"},"USL48P":{"base_model":"USL48P","display":"UniFi Switch 48 POE"},"USL8A":{"base_model":"USL8A","display":"UniFi Switch Aggregation"},"USL8LP":{"base_model":"USL8LP","display":"UniFi Switch Lite 8 POE"},"USL8MP":{"base_model":"USL8MP","display":"UniFi Switch Mission Critical"},"USMINI":{"base_model":"USMINI","display":"Unifi Switch Mini"},"USPPDUP":{"base_model":"USPPDUP","display":"UniFi Smart Power Power Distribution Unit Pro"},"USPRPS":{"base_model":"USF5P","display":"UniFi Smart Power Redundant Power System"},"USXG":{"base_model":"USXG","display":"UniFi Switch XG"},"USXG24":{"base_model":"USXG24","display":"UniFi Switch Enterprise XG 24"},"UXBSDM":{"base_model":"U7HD","display":"UniFi AP-BlackBaseStationXG"},"UXGPRO":{"base_model":"UXGPRO","display":"UniFi NeXt-Gen Gateway PRO"},"UXSDM":{"base_model":"U7HD","display":"UniFi AP-BaseStationXG"},"p2N":{"base_model":"p2N","display":"PicoStation M2"}}') return BaseNameDevice[model]["display"] end
  14. mprinfo

    Difference HC2 HC3

    Effectivement la nouvelle application mobile fibaro n'est pas top je préfère l'ancienne. D'ailleurs ça me fait penser qu'il faudrait que je partage mon QA onkyo pour le moment je suis à fond unifi Envoyé de mon BLA-L29 en utilisant Tapatalk
  15. mprinfo

    Difference HC2 HC3

    @Lazer ne le décourage pas Après tu es parti de 0 il n'y avait pas beaucoup de QA disponible Tu es aussi un perfectionniste tu fais du code propre et partageable. On peut facilement transcrire un vd en QA sans avoir à tout refaire certes on n'utilisera avantage des QA mais on aura ce dont on a besoins Exemple les quelques qa que j'ai fais juste en traduction. Envoyé de mon BLA-L29 en utilisant Tapatalk
  16. Voilà pour la qa https://www.domotique-fibaro.fr/topic/15510-quick-app-unifios-switch-port-poe-autooff/&share_tid=15510&share_fid=79825&share_type=t&link_source=app Envoyé de mon BLA-L29 en utilisant Tapatalk
  17. @TonyC c'est maintenant ici pour le poe unifi Envoyé de mon BLA-L29 en utilisant Tapatalk
  18. Oui j'ai un peu temps les soirs Le plus dur c'est de si mettre [emoji12] La banquette est tellement confortable [emoji24] Envoyé de mon BLA-L29 en utilisant Tapatalk
  19. Je vais voir ta logique Et on fera un mixte Moi j'ai coder en prévision des childs Car j'en ai déjà fais après je ne me rappelle pas de tout J'ai ajouté une lib pour avoir le nom du devices unifi à partir du nom court J'ai fait comme cela car autrement je devais me taper du xml Envoyé de mon BLA-L29 en utilisant Tapatalk
  20. Je suis à 0.61 J'ai ouvert un topics ou je partage le qa Envoyé de mon BLA-L29 en utilisant Tapatalk
  21. @TonyC tu as une vieille version Le QA que j'ai posté gère les valeurs à nil Je t'avais donné la méthode avec un code brut J'ai même optimiser la taille des variables Pour les childs le plus simple c'est 1 QA par switch 1 variable QA ou tu mets les ports que tu veux actionné et ensuite tu crées les childs Sinon on va avoir trop de childs Pour la consommation je pense qu'il faut un childs avec la consommation poe du switch et la consommation du port on l'affiche dans les log J'ai donc 2 tables Une avec les paramètres de chaque port Une qui sert pour le put L'index entre les 2 tables est port_idx Ça sert d'avoir programmé sous dbase [emoji12] Envoyé de mon BLA-L29 en utilisant Tapatalk
  22. mprinfo

    HC2 Freeze 4 LEDs allumées

    Pour le zwave le module ne peux être inclus que sur une box après tu peux avoir des modules sur hc2 et le reste sur hc3 Il y a un QA pour récupérer les données sur la hc2 En fais les modules zwave de la hc2 apparesses sur la hc3 Pour les vd aucun soucis tu peux avoir le vd sur hc2 et sont équivalent QA sur hc3 Tu verras au début c'est un peut chiant mais franchement lorsque tu as compris le truc c'est top Envoyé de mon BLA-L29 en utilisant Tapatalk
  23. mprinfo

    HC2 Freeze 4 LEDs allumées

    Non pour le clone du disque cela ne fonctionnera pas fibaro à mis des protection Tu peux l'envoyer en Pologne pour réparation Envoyé de mon BLA-L29 en utilisant Tapatalk
  24. mprinfo

    HC2 Freeze 4 LEDs allumées

    Acheté la maintenant cela te permettra de te faire la main On en trouve au alentours des 400 euros c'est correct comme prix Envoyé de mon BLA-L29 en utilisant Tapatalk
  25. mprinfo

    Difference HC2 HC3

    Le plus gros avantage de la hc3 par rapport à la hc2 c'est les QA Après elle est zwave plus On peut en bêta mettre à jour le firmware des modules non fibaro L'interface est plus ergonomique Envoyé de mon BLA-L29 en utilisant Tapatalk
×
×
  • Créer...