Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 556
  • Inscription

  • Dernière visite

  • Jours gagnés

    186

Tout ce qui a été posté par jojo

  1. @Nico, tu nous as dit que l'inclusion éloignée fonctionnait nickel mais si on recommence tout depuis 0, il faut d'abord exclure les modules. Est-ce que l'exclusion éloignée fonctionne aussi bien (je vois une option pour l'inclusion éloignée, mais pas pour l'exclusion éloignée). ? Merci de ton retour
  2. @Krikroff, "Pas encore officiellement sur HCL", même sur les nouvelles qui sont livrées en v4.x
  3. le mieux pour faire cela est de : créer une scène dans ton HCL qui va armer les devices que tu veux créer une autre scène qui va désarmer les devices que tu veux créer des tâches dans tasker pour faire appel aux scènes ci-dessus : http://tutoriels.domotique-store.fr/content/49/45/fr/api-commander-le-home-center-par-des-requ%C3%AAtes-http.html pour des raisons de sécurité, je te recommande de créer un utilisateur spécifique (sur ton HCL) pour cela qui n'aura d'autorisation que sur ces 2 scènes pour avoir accès depuis l'extérieur, il faudra faire une redirection de port sur ton router
  4. jojo

    0 > 21 ?

    en fait, tu mets l'opérateur, et dans le carré vert APRES les choix possibles, tu mets la valeur que tu veux
  5. jojo

    Problème D'affichage

    "tout problème a une solution" Si pas de solution, cela devient une contrainte ... Ca c'était pour la partie philosophique de ta question. Pour la partie informatique : "Google est mon ami" : http://lua-users.org/wiki/SimpleRound
  6. jojo

    Problème D'affichage

    peux-tu faire un traitement dan tes VD pour arrondir ?
  7. jojo

    Problème D'affichage

    es-tu sûr de ce qui est envoyé au Fibaro ? Car Fibaro n'affiche que ce qu'il reçoit, il ne va pas s'amuser àrajouter des décimales où elles n'existent pas
  8. ok, donc la prochaine version sera une v5.0, qui aura perdu la compatibilité avec la V3.x.
  9. voici une version 4.2 DeadNodesAnalysis_v4.2.vfib paramétrisation de la fréquence d'analyse (en secondes) dans le champ TCP Port Possibilité d'exclure un liste de devices (table exclude) amélioration diverses de l'affichage Encore à venir : possibilité de ne pas répéter les notifications pour les noeuds morts à une fréquence possibilité de réveiller ou pas les noeuds morts P.S. : cela commence à devenir lourd de maintenir le code en double. Y a-t-il toujours des gens intéressés par les évolutions en v3.600 ?
  10. j'utilisais déjà port pour notification oui/non Je peux utiliser IP adresse pour la fréquence. Mais je pensais que tu voulais que si une alerte avait déjà été envoyée pour un device, elle ne soit pas répétée à la fréquence de vérification globale des noeuds morts. Et pour celà il faudrait une variable. QUESTION pour ceux qui sont toujours en 3.6 : utilisez-vous ce script ? Si oui, ce sera avec plaisir que je continuerai à maintenir la compatibilité, sinon, je fais que pour v4.x. Mais faites vous connaître
  11. làtu nous as donné envie, puis grosses déceptions : prix disponibilité Oct 2015 merci pour le partage
  12. Merci pour ces bonnes idées. J'ai remarqué depuis que je suis passé en v4.x que le bouton send notif Yes/No ne fonctionnait qu'en v3.x => j'ai corrigé, mais je devrais publier. Question : y en a-t-il qui sont intéressé que je garde une compatibilité v3.x / v4.x. Si non, je simplifie le code. Je vais rajouter la possibilité d'exclure des devices. Pour la possibilité d'envoyer qu'une seule fois la notif (et tant qu'à faire avec un rappel toutes les x heure ?) je crains qu'il faille passer par stocker l'info dans une variable, et j'aimerais éviter la multiplication des variables. Qu'en pensez-vous ? Si on sait qu'un device est mort pendant un certain temps, on le rajouterait à la liste des devices à exclure du test. Ne serait-ce pas suffisant ? je rajoute également un paramètre pour la fréquence de vérification
  13. merci d'avoir prisle temps de détailler tot cela. Si ça commence àfoirer chez moi, je réinstalle tout
  14. @mprinfo : le VD est implémenté, avec un double clic pour confirmer
  15. Merci beaucoup pour ce code. Mais ma question initiale était : Est-ce qu'un reboot toutes les nuits éliminerait le risque d'erreur 503 après quelques jours ?
  16. Mais pour les nons experts comme moi, est-ce que un restart de la box toutes les nuits résolverait le problème ? Il me semble avoir vu passer un post qui explique comment programmer cela dans la box.
  17. Pour info, j'ai fait un split de mes instances GEA en v4.x. Une instance avec le minimum minimorum : activation des lampes sur base des détecteurs de mouvement. Une autre instance avec tout le reste, y compris l'extinction des lampes allumées par la première instance. Ce n'est pas encore instantané, mais cela vaut la peine de faire le split
  18. Merci pour le retour, j'ai exactement la même config que toi, une idée ?
  19. j'ai aussi tout renommé, et toujours pas de plantage. Wait and see. Je vais splitter mon GEA en 2 instances : une qui devrait être super rapide (le lumières et détecteurs) et une autre. J'espère ainsi que ça ira mieux.
  20. J'ai également essayé sur un PC (burck ...) et j'observe la même chose. Chez vous les icônes des VD changent automatiquement sans refresh manuel de la page ?
  21. J'ai pas compris grand chose à ces explications très techniques, sauf que tu as trouvé une solution à un problème de Fibaro. Je suis sà»r que si tu envoie un mail à support@fibaro.com avec cette explication détaillée et la solution, elle fera partie de la prochaine mise à jour. J'ai la naà¯veté de croire que cela risque d'être plus efficace que le bugtracker
  22. Maintenant que je suis en v4.x j'ai trouvé comment tester si le device était sur batterie. Donc aussi sur batterie, il n'y a pas de tentative de réveil (inutile). Voici donc la v4.1 du module : DeadNodesAnalysis_v4.1.vfib Si vous avez déjà les version précédentes, il suffit de mettre ce code dans le bouton "Dead Nodes Analysis" : -------------------------- -- User Settings -------------------------- local IconeDead = 1129 local IconeOk = 1081 local IconeRun = 1083 local push_dev = 2 -- id of the user to send push message to (2 is admin user) ---------------------------------- -- DO not change bellow this line ---------------------------------- local selfID = fibaro:getSelfId() fibaro:call(selfID, "setProperty", "currentIcon", IconeRun) -- check if notification to be sned local SendNotification = "" -- Push / no push notification when a dead node is discovered local Notification = fibaro:get(selfID,"TCPPort") Notification = tonumber(Notification) if Notification == 0 then SendNotification = "No" else SendNotification = "Yes" end function SendNotif(msg) if SendNotification == "Yes" then fibaro:call(push_dev, "sendEmail", "Dead nodes discovering", msg) end end function DisplLabel(dead, label) if dead <= 9 then fibaro:call(selfID, "setProperty", "ui.DeadNode" ..dead.. ".value", label) end end local dead = 0 -- counts # dead nodes local devices = 0 -- counts # devices discovered local i = 0 local type = "" local disabled -- device caché == 1 local Label = "" -- clear labels for i = 1, 9 do DisplLabel(i, Label) end -- détermination de la version du firmware local HC2 = Net.FHttp("127.0.0.1",11111) version = "" payload = "/api/settings/info" response, status, errorCode = HC2:GET(payload) if tonumber(status) == 200 then jsonTable = json.decode(response) if tonumber(jsonTable.softVersion) >= 4 then version = "4.x" else version = "3.x" end else fibaro:log("--- ERROR ---") fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>') end fibaro:debug('version = ' ..version) if version == "3.x" then -- v3.x -- dead nodes analysis for i = 2, 1300 do -- pas de check sur node 1 = box type = fibaro:getType(i) disabled = tonumber(fibaro:getValue(i, "disabled")) -- si type <> "" et visible if (type ~= "" and disabled == 0 ) then devices = devices + 1 -- si node i est dead/mort if tonumber(fibaro:getValue(i, "dead")) == 1 then -- le node i est dead dev = fibaro:getName(i) dead = dead + 1 -- affichage du node qui est dead si <=9 Label = dev.. " (" ..i.. ")" DisplLabel(dead, Label) -- wakeup dead node only if not on battery et "parentID" = "1" if (tonumber(fibaro:getValue(i, "isBatteryOperated")) == 0 and tonumber(fibaro:getValue(i, "parentID")) == 1) then fibaro:call(selfID, "setProperty", "currentIcon", IconeDead) fibaro:call(1, "wakeUpDeadDevice", i) fibaro:sleep(30*1000) -- attendre 30s pour tester si le node est réveillé if tonumber(fibaro:getValue(i, "dead")) == 1 then -- le node i est toujours dead msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..i..") is still dead after unsuccessful wakeup" else -- le node i a été réveillé dead = dead - 1 -- effacer le node qui a été réveillée si <=9 DisplLabel(dead, " ") msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..i..") was awakened successfully" end else msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..i..") is on battery and was NOT awakened" -- fibaro:debug ("device " ..i.. " " ..dev.. "is on battery, no wakeup") end -- envoi notification SendNotif(msg) end end end else --v4.x -- Récupération de la liste des modules reponse = HC2:GET("/api/devices") jsonResponse = json.decode(reponse) -- dead nodes analysis for k, v in ipairs(jsonResponse) do fibaro:debug("k="..k) if v.visible == true and v.properties.dead ~= nil then devices = devices + 1 fibaro:debug("#devices "..devices.. " - devID = "..v.id.. " - devName = " ..v.name.. " - dead = " ..v.properties.dead) -- si node est dead/mort if v.properties.dead == "true" then -- le node k est dead dev = v.name devID = tonumber(v.id) type = v.type dead = dead + 1 fibaro:debug ("#dead = "..dead) -- affichage du node qui est dead si <=9 Label = dev.. " (" ..devID.. ")" DisplLabel(dead, Label) -- wakeup dead node only if not on battery -- a voir comment faire en v4.x ?? if v.properties.batteryLevel == nil then -- il n'est pas sur batteie fibaro:call(selfID, "setProperty", "currentIcon", IconeDead) fibaro:call(1, "wakeUpDeadDevice", devID) fibaro:sleep(30*1000) -- attendre 30s pour tester si le node est réveillé if v.properties.dead == "true" then -- le node est toujours dead msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..devID..") is still dead after unsuccessful wakeup" else -- le node i a été réveillé dead = dead - 1 -- effacer le node qui a été réveillée si <=9 DisplLabel(dead, " ") msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..devID..") was awakened successfully" end else -- il est sur batterie msg = os.date("%d/%m/%y %H:%M").." : "..type.." "..dev.." ID("..devID..") is on battery and was NOT awakened" end -- envoi notification SendNotif(msg) end end end end fibaro:call(selfID, "setProperty", "ui.DeadNodes.value", dead) fibaro:call(selfID, "setProperty", "ui.DateCheck.value", os.date("%d/%m/%y %H:%M")) fibaro:call(selfID, "setProperty", "ui.Devices.value", devices) if dead >= 1 then fibaro:call(selfID, "setProperty", "currentIcon", IconeDead) -- affichage du message en bas de l'icône en continu, -- durant la minute entre chaque test i=0 while i < 61 do fibaro:log(dead.. " DeadNodes - Send Notification = " ..SendNotification ) fibaro:sleep(9*1000) i = i + 9 end else fibaro:call(selfID, "setProperty", "currentIcon", IconeOk) -- affichage du message en bas de l'icône en continu, -- durant la minute entre chaque test i=0 while i < 61 do fibaro:log("No Dead Nodes - Send Notification = " ..SendNotification ) fibaro:sleep(9*1000) i = i + 9 end end
  23. comme on était déjà demain , j'ai regardé, et il ne m'affiche plus rien de trop. Je pense donc qu'en plus, on devra faire un test sur la longueur de la variable result, et dès qu'elle atteint 2000 car, l'imprimer et recommencer. Mais maintenant je dois aller dormir
  24. comme je suis impatient, j'ai fait le test en supprimant les devices invisibles for k, v in pairs(devicesJSon) do local doit = (dead or not v.dead) -- exclure les device invisibles if v.visible == false then doit = false end if (doit) then et j'ai réduit result à2897 caractères, mais c'est encore de trop. Je continuerai àchercher demain
  25. Sorry, je ne comprends pas. Comment vais-je réduire la taille de la variable result si je modifie ça result = result .. "<BR>--"..rooms[v.roomID].."<BR>" en ça ? result=result .. "<BR>--"..rooms[v.roomID].."<BR>"
×
×
  • Créer...