
jjacques68
Membres confirmés-
Compteur de contenus
4 364 -
Inscription
-
Dernière visite
-
Jours gagnés
39
Tout ce qui a été posté par jjacques68
-
Il faut tout recréer dans des QA (les label, boutons, ...) Après tu peux "copier/coller" du code de la HC2 vers la HC3, mais il y a quand même beaucoup de chose qui ont changé !!! Il faudra adapter ligne par ligne... Il y a de nouvelle notions telles que les variables propres aux QA (qui évite de passer par des VG par exemple) il y a une section sur le fofo https://www.domotique-fibaro.fr/forum/120-quick-app-developpeur/ où beaucoup de QA ont été réalisé, tu peux largement t'en inspirer. Et oui ce sera du boulo...
-
Non il n'y a pas de VD sur la HC3. L'equivalent est le Quick App (QA). voir ici : https://manuals.fibaro.com/home-center-3-quick-apps/ et la section Quick App de ce forum... bonne chance
-
Topic unique Matériel Pour Domotiser Arrosage Jardin
jjacques68 a répondu à un(e) sujet de jjacques68 dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
prends alors les HV-MM, comme ça pas de raccord à faire -
Je ne sais pas ce que tu appelles "long"... mais peut-être qu'un caractère particulier est interpreté comme marqueur de fin ! Peut être qu'il faudrait mieux utiliser la fonction sock:readUntil() voir ici : https://manuals.fibaro.com/home-center-3-quick-apps/ Tu pourras ainsi définir un marqueur de fin de trames spécifique... C'est ce que j'utilise et aucun soucis, après mes trames ne sont pas "longues"...
-
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
Alors peut on accéder de la même manière à d'autre info qui ne sont pas dans "properties" ? comme par exemple le roomID d'un device ? J'ai essayé ça mais ça ne marche pas : local RoomID = api.get("/devices/203/roomID") -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
@Krikroff : mais oui biensûr !! je n'y avais pas penser pour le get !! Directement cibler la propriété que l'on souhaite dans la commande ! J'essaye ça ce soir ! oulala, va y avoir de l'optimisation de code dans l'air ce weekend... -
si tu copies les commentaires dans notepad++ et tu affiches les caractères spéciaux, tu vois qqch à la fin de ces lignes ?
-
Topic unique Matériel Pour Domotiser Arrosage Jardin
jjacques68 a répondu à un(e) sujet de jjacques68 dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
les HV100 sont de très bon produits, idem pour la Miniclick. J'ai ça depuis plusieurs années, j'ai absolument aucun soucis... Je recommande. -
azimut QA - Azimut Soleil
jjacques68 a répondu à un(e) sujet de jjacques68 dans Quick App Developpeur
oui les traces je les ai commenté... juste gardé l'essentiel... -
pfffiou les gars, j'ai du mal à suivre, mais je suis d'accord ! sur quoi ? avec qui ? je sais pas... Mais je suis tout cœur avec vous. ( @mprinfo fais gaffe avec tes cœurs )
-
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
@mprinfo -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
oui j'avais observé ça, les 4 cœurs montent en flèches -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
pas moyen de savoir quel cœur est utilisé ? je me suis posé ces questions de performances, suite à mes problèmes liés au manque de multi instances des scènes. Un gars sur le fofo officiel m'a proposé d'utilité l'API RefreshStates. Qui recense tous les événements. Je l'interroge toutes les 200 ms. selon des filtres que j'ai mis en place, je lance des fonctions dans des QA. Du coup, avec ce procédé, je ne passe plus par des scènes triggées. Et j'ai donc résolu le problème d'événements "loupé" ou plutôt d'actions non effectuées. Mais ! je constate une légère latence dans les actions... -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
ben suis entrain de me demander si c'est parce qu'elle est chargée ou parce que je code comme un pied -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
@Lazer : j'ai repris le code de @Steven comme tu proposais : os.clock() n'existe pas, il me retourne une erreur, je l'ai donc enlevé dommage... -- Parameters -- local NameScene = "Test" local id_exist = 600 local global_exist = "DelayVmc" local nbIteration = 1000 -- Do not touch please --- local id_not_exist = 100056 local global_not_exist = "AABBCCDDEEFFGGHHIIFFF" function log(name, start) if (start) then fibaro.trace(NameScene,string.format("%s instruction time : %ds", name, os.time()-start)) else fibaro.trace(NameScene,string.format("%s", name)) end end function execute(name, func) if not pcall(function() local start = os.time() for i= 1, nbIteration do func() end log(name, start) end) then fibaro.warning(NameScene, "ERROR : " .. name) end end log("Nb runs : " .. nbIteration .. " | id : " .. id_exist .. " | G.Variable : " .. global_exist) log("----------------------------------------------") log("") -- Tests --- execute("getValue Exist_________________:", function() fibaro.getValue(id_exist, "value") end) execute("getValue Not Exist_____________:", function() fibaro.getValue(id_not_exist, "value") end) execute("turnOn_________________________:", function() fibaro.call(id_exist, "turnOn") end) execute("getGlobalVariable Exist________:", function() fibaro.getGlobalVariable(global_exist) end) execute("getGlobalVariable Not Exist____:", function() fibaro.getGlobalVariable(global_not_exist) end) execute("setGlobalVariable______________:", function() fibaro.setGlobalVariable(global_exist, fibaro.getGlobalVariable(global_exist)) end) execute("getType________________________:", function() fibaro.getType(id_exist) end) execute("getName________________________:", function() fibaro.getName(id_exist) end) execute("getRoomID______________________:", function() fibaro.getRoomID(id_exist) end) execute("getRoomName____________________:", function() fibaro.getRoomName(fibaro.getRoomID(id_exist)) end) execute("getSunrise_____________________:", function() fibaro.getValue(1, "sunsetHour") end) log("") log("----------------------------------------------") log("ALL DONE") Résultat : [06.06.2020] [17:31:04] [TRACE] [TEST]: Nb runs : 1000 | id : 600 | G.Variable : DelayVmc [06.06.2020] [17:31:04] [TRACE] [TEST]: ---------------------------------------------- [06.06.2020] [17:31:04] [TRACE] [TEST]: [06.06.2020] [17:31:08] [TRACE] [TEST]: getValue Exist_________________: instruction time : 4s [06.06.2020] [17:31:11] [TRACE] [TEST]: getValue Not Exist_____________: instruction time : 3s [06.06.2020] [17:32:11] [TRACE] [TEST]: turnOn_________________________: instruction time : 60s [06.06.2020] [17:32:11] [TRACE] [TEST]: getGlobalVariable Exist________: instruction time : 0s [06.06.2020] [17:32:11] [TRACE] [TEST]: getGlobalVariable Not Exist____: instruction time : 0s [06.06.2020] [17:32:11] [TRACE] [TEST]: setGlobalVariable______________: instruction time : 0s [06.06.2020] [17:32:25] [TRACE] [TEST]: getType________________________: instruction time : 14s [06.06.2020] [17:32:37] [TRACE] [TEST]: getName________________________: instruction time : 12s [06.06.2020] [17:32:50] [TRACE] [TEST]: getRoomID______________________: instruction time : 13s [06.06.2020] [17:33:07] [TRACE] [TEST]: getRoomName____________________: instruction time : 17s [06.06.2020] [17:33:10] [TRACE] [TEST]: getSunrise_____________________: instruction time : 3s [06.06.2020] [17:33:10] [TRACE] [TEST]: [06.06.2020] [17:33:10] [TRACE] [TEST]: ---------------------------------------------- [06.06.2020] [17:33:10] [TRACE] [TEST]: ALL DONE -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
rapide conclusion de ce test, si on peut en faire une à ce stade, il faut mieux utiliser les commande Fibaro, du moins pour le GET !! j'aurai jamais pensé ça ! -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
Alors dans une scène : déjà la fonction os.difftime() est pas dispo par grave, j'ai contourné... voilà le résultat : [06.06.2020] [12:03:01] [TRACE] [TEST SCENE]: Start GET with API [06.06.2020] [12:03:21] [TRACE] [TEST SCENE]: Get with API : 20 secondes [06.06.2020] [12:03:21] [TRACE] [TEST SCENE]: Start GET with FIBARO [06.06.2020] [12:03:24] [TRACE] [TEST SCENE]: Get with FIBARO : 3 secondes ---------------------------------------------------------------------------- [06.06.2020] [12:03:24] [TRACE] [TEST SCENE]: Start CALL with API [06.06.2020] [12:04:58] [TRACE] [TEST SCENE]: CALL with API : 94 secondes [06.06.2020] [12:04:58] [TRACE] [TEST SCENE]: Start CALL with FIBARO [06.06.2020] [12:06:15] [TRACE] [TEST SCENE]: CALL with FIBARO : 77 secondes -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
et pour le CALL : function QuickApp:button3(event) local t1 = os.time() self:trace("Start CALL with API") for i = 1, 1000 do res = api.post("/devices/203/action/turnOn",{}) end self:trace("CALL with API : ", os.difftime(os.time(),t1), "secondes") end function QuickApp:button4(event) local t1 = os.time() self:trace("Start CALL with FIBARO") for i = 1, 1000 do res = fibaro.call(203, "turnOn") end self:trace("CALL with FIBARO : ", os.difftime(os.time(),t1), "secondes") end résultat : [06.06.2020] [11:48:05] [TRACE] [QUICKAPP600]: Start CALL with API [06.06.2020] [11:49:30] [TRACE] [QUICKAPP600]: CALL with API : 85.0 secondes [06.06.2020] [11:49:36] [TRACE] [QUICKAPP600]: Start CALL with FIBARO [06.06.2020] [11:51:04] [TRACE] [QUICKAPP600]: CALL with FIBARO : 88.0 secondes donc ça c’était depuis un QA, je vais essayer depuis une scène... -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
oh ben merde ! je m'y attendais pas à ça !!!! function QuickApp:button1(event) local t1 = os.time() self:trace("Start GET with API") for i = 1, 1000 do res = api.get("/devices/38").properties.value end self:trace("Get with API : ", os.difftime(os.time(),t1), "secondes") end function QuickApp:button2(event) local t1 = os.time() self:trace("Start GET with FIBARO") for i = 1, 1000 do res = fibaro.getValue(38, "value") end self:trace("Get with FIBARO : ", os.difftime(os.time(),t1), "secondes") end résultat : [06.06.2020] [11:38:57] [TRACE] [QUICKAPP600]: Start GET with API [06.06.2020] [11:39:10] [TRACE] [QUICKAPP600]: Get with API : 13.0 secondes [06.06.2020] [11:39:13] [TRACE] [QUICKAPP600]: Start GET with FIBARO [06.06.2020] [11:39:16] [TRACE] [QUICKAPP600]: Get with FIBARO : 3.0 secondes -
performances Performance des commandes "Fibaro"
jjacques68 a répondu à un(e) sujet de jjacques68 dans Support
pas bête vais le faire, je posterai les résultats... -
hello !! Je me pose la question suivante, niveau performances (rapidité d'exécution, réactivité, autres ...) : j'essaye de prendre des précautions dans les termes choisi... faudrait-il mieux utiliser : par exemple : api.post("/devices/xxx/action/turnOn", {}) ou fibaro.call(xxx, "turnOn") autre exemple : api.get("/devices/xxx").properties.value ou fibaro.getValue(xxx, "value") je demande ça car j'ai l'impression qu'il y a une différence au niveau de la "latence" ou "réactivité", certes très légère... Mais quand les script commencent à devenir lourd, ça peut peut-être avoir son importance non ? J'ai envie de dire que passer par l'API semble plus rapide qu'utiliser les fonctions Fibaro ! Je me trompe ? c'est juste une impression ? Y a t il une règle spécifique ? Qu'en pensez vous ?
-
y aurait pas un tableau recap des modules bon à changer qqpart ?
-
@TonyC : ben je crois bien qu'en effet, le changement de ces paramètres a réglé le problème. j'ose pas m'avancer trop vite, mais cela fais 2 jours que j'ai les volets qui ont enfin le bon status dans la HC3...
-
23 chez moi... @TonyC je vais essayer de modifier tes paramètres 40 à 43 à 0
-