RedAlan Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 Super module, merci beaucoup Essayer c'est l'adopter ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 Super module et j'ai même fait une version Zwave (noeuds morts) avec la même structure de code.(si ça intéresse qql'un je peux le poster) Par contre ce matin, j'ai un smoke sensor qui s'est arrêté (problème de pile qui était à 50% depuis qqles jours et qui est passée de 50% à ... 0,5v tout d'un coup) Donc 2 questions : 1) Je "vois" toujours le smoke sensor avec une batterie à 50% (malgré plusieurs mises à jour) Strange ! le smoke sensor indique 0°C en température et est vraiment sans pile! le HC2 a l'air de ne pas se mettre à jour (rapidement) 2) Est-ce normal de changer les piles d'un smoke sensor en qqles mois (moins de 6 mois) ? Au début, j'avais mis un "intervalle de réveil à 3600 mais depuis que je suis passé à 50% de batterie je suis revenu à 21600...Quelqu'un a-t-il une expérience avec ce capteur ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 @JM13 J'avais oublié un petit détail, lorsqu'une pile est à l'état critique, Fibaro renvoi 255 au lieu du pourcentage de batterie restant. Une nouvelle version est donc disponible, le 255 est remplacer par 0 pour affiché le module en tête de liste. Pour les flemmards ou ceux qui ont personnalisé leur module, le code modifié est ici, c'est juste la ligne 7 qui a été ajoutée : local modules = {} for i = 1, 350 do if (string.find(fibaro:get(i, 'isBatteryOperated'), "1" )) then local batt = fibaro:getValue(i, 'batteryLevel') if (batt and (tonumber(batt) ~= nil)) then if (tonumber(batt) == 255) then batt = 0 end table.insert(modules, {batt, fibaro:getName(i) .. " (" .. i .. ")"}) end end end function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. " ... " .. value[1] .. "%") end ) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 @steven T'es un champion ! Tu es fier de ta grande communauté de béta testeurs ? ... je sors Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 C'est vrai que c'est agréable, sur ce forum il y a une grande communauté de béta testeurs et un béta tout court (mais je l'aime bien quand même celui-ci) 3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 je n'en attendais pas moins de toi. Toujours très réactif dès qu'on te tend la perche ! 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 C'était pas une perche mais l'arbre de Tule Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 àpropos de gros, demain c'est ma présentation domotique sur D.I. Prépare les Dolipranes !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 Pour l'instant, je ne les lit pas et je comptais me réserver une soirée complète pour le faire. Maintenant que je sais que tu y participes, je vais rajouter une soirée à mon agenda. Tu penses que cela va suffire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 As-tu vraiment besoin que je te réponde ??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 C'est agendé Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 @Steven ça va faire juste... quoi que tu n'as pas mis l'heure de fin chaque jour ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 Pas plus d' 1 heure 30 par jour, c'est mon seuil de tolérance à tes articles Lien vers le commentaire Partager sur d’autres sites More sharing options...
fredo Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 Si tu lis vite, ça devrait peut-être le faire ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 Même làtu as réussi me cité (bon pour une fois, c'est pas méchant WAF->HAF) Cool tes 658 premières pages, tu auras fini quand les 2765 autres ? 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Fredo & Steven ... on dirait un vieux couple qui se dispute on va finir par vous paxer tous les deux ! Pour le VD sur les batteries, la modif en effet corrige une faiblesse de l'algorithme mais je pense quand même qu'il doit y avoir un loup dans le HC2. Comme mon smoke sensor est SANS batterie, j'ai l'impression qu'il n'y a pas de mise à jour de la dernière valeur connue...donc reste à 50%. Ce qui est étrange aussi c'est que le HC2 ne voit pas ce capteur comme "mort" (même après 24h et reboot) A suivre ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 29 août 2014 Auteur Signaler Partager Posté(e) le 29 août 2014 Effectivement sans batterie, il ne pourra jamais t'envoyer son état. N'as-tu pas coché par mégarde "Ne pas marquer comme mort" ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 C'est une double négation "Ne pas marquer comme mort" ...j'ai répondu non ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Ce qui est bizarre, c'est que même le script ne le voit pas mort. J'ai repris ta structure et fait le module suivant : -- ------------------- DEVICES SETTINGS --------------------- local userID = 2; -- User ID (email used to notify) 2 = admin local SmartPhone = 33; -- SmartPhone local Max_Node = 350; -- List of nodes you want to check local dtLog = os.date(); -- Datation local modules = {} -- Fonction Printlog ----------------- function Printlog(message) fibaro:debug(message) fibaro:log(message) end -- Fonction comparaison ----------------- function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end -- ---------------- START ENGINE LOOP PROCESS ------------------ Printlog("Zwave script started at " .. dtLog); fibaro:sleep(500); -- Analyse du réseau Zwave -- for id = 1, 5 do --RAZ Affichage des 5 premiers affichages fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..id..".value", "RAS") end for id = 1, Max_Node do if (string.find(fibaro:getValue(id, 'dead'), "1" )) then -- dead node found table.insert(modules, {id, fibaro:getName(id) .. " (" .. id .. ")"}) fibaro:debug("Le device : "..id.." est taggé comme mort"); local name = fibaro:getName(id); local room = fibaro:getRoomNameByDeviceID(id); local message = dtLog .. "[status] Le device (" .. name .. " ID#" .. id .. " dans la pièce [" .. room .. "]) est taggé comme noeud mort." -- try to wakeUp device fibaro:wakeUpDeadDevice(id); fibaro:sleep(1000); -- send mail & PUSH fibaro:call(userID, "sendEmail", "Information Zwave - Noeuds morts", message); -- fibaro:call(SmartPhone, "sendPush", "Information Zwave - Noeuds morts "..message); -- Affichage fibaro:call(fibaro:getSelfId(), "setProperty", "ui.status.value", "Dead node found"); Printlog(message) end -- end dead node found end table.sort(modules,comp) for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2]) end ) end fibaro:call(userID, "sendEmail", "Information HC2 - Test Zwave réalisé ", dtLog); fibaro:call(SmartPhone, "sendPush", "Information HC2 - Test Zwave réalisé le "..dtLog); Printlog("Zwave script done the " .. dtLog); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 29 août 2014 Auteur Signaler Partager Posté(e) le 29 août 2014 Ben si ton module n'apparait pas comme "Dead" à l'écran, c'est qu'il n'est pas notifié comme "Dead" dans la base de données de ta HC2. Ton script ne verra donc rien, puisqu'il interroge la base uniquement. Il serait intéressant de connaitre l'intervalle de réveille et de le comparer ... pourrais-tu essayer ce code : local id = 16 local modifSensor = fibaro:getModificationTime(tonumber(id), "valueSensor") local modifValue = fibaro:getModificationTime(tonumber(id), "value") local wakeup = os.time()-fibaro:getValue(tonumber(id), "wakeUpTime") local recent = math.max(modifSensor, modifValue) fibaro:debug(os.date("%c", recent)) fibaro:debug(os.date("%c", wakeup)) if (recent > wakeup) then fibaro:debug(fibaro:getName(id) .. " est en vie") else fibaro:debug(fibaro:getName(id) .. " est probablement mort") end Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 29 août 2014 Signaler Partager Posté(e) le 29 août 2014 Ok je regarde ça ce soir Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikael2235 Posté(e) le 30 août 2014 Signaler Partager Posté(e) le 30 août 2014 Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 31 août 2014 Signaler Partager Posté(e) le 31 août 2014 Steven, Effectivement, ton petit code remonte bien que le capteur est "probablement mort" MAIS le capteur n'ayant plus de piles depuis le 27/08 à 18h le débug ci-dessous reste étrange [DEBUG] 09:12:18: 1409375018 [DEBUG] 09:12:18: 1409204558 [DEBUG] 09:12:18: 1409447538 [DEBUG] 09:12:18: Sat Aug 30 07:03:38 2014 [DEBUG] 09:12:18: Sun Aug 31 03:12:18 2014 [DEBUG] 09:12:18: Smoke_Sensor est probablement mort Là , je crois que c'est le HC2 qui n'ayant plus de communication avec le capteur, ne remets pas les données à jour (ce qui n'est pas le cas pour d'autres capteurs) Lien vers le commentaire Partager sur d’autres sites More sharing options...
JM13 Posté(e) le 31 août 2014 Signaler Partager Posté(e) le 31 août 2014 Désolé...résurrection même sans pile ...c'est un capteur mutant [DEBUG] 09:31:54: 1409470189 [DEBUG] 09:31:54: 1409204558 [DEBUG] 09:31:54: 1409448714 [DEBUG] 09:31:54: Sun Aug 31 09:29:49 2014 [DEBUG] 09:31:54: Sun Aug 31 03:31:54 2014 [DEBUG] 09:31:54: Smoke_Sensor est en vie Il est cette fois noté comme mort dans l'interface Fibaro (c'est déjà bien ) mais le script le voit "vivant". Je crois que c'est le moment de remettre la pile ... et d'attendre la V4 pour voir s'il la gestion du Zwave s'est améliorée !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés