Aller au contenu
Steven

My Batteries

Recommended Posts

Super module, merci beaucoup  :60: Essayer c'est l'adopter !

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites
@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

Partager ce message


Lien à poster
Partager sur d’autres sites

@steven

T'es un champion !  :60:

Tu es fier de ta grande communauté de béta testeurs ?  :P

... je sors  :15:

Partager ce message


Lien à poster
Partager sur d’autres sites

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) :)

  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

je n'en attendais pas moins de toi.

Toujours très réactif dès qu'on te tend la perche !  ;)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

àpropos de gros, demain c'est ma présentation domotique sur D.I.

Prépare les Dolipranes !!!

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?  :P

Partager ce message


Lien à poster
Partager sur d’autres sites

As-tu vraiment besoin que je te réponde ???

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

ça va faire juste... quoi que tu n'as pas mis l'heure de fin chaque jour !

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas plus d' 1 heure 30 par jour, c'est mon seuil de tolérance à  tes articles  :15:

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu lis vite, ça devrait peut-être le faire !  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Fredo & Steven ... on dirait un vieux couple qui se dispute  :rolleyes: on va finir par vous paxer tous les deux !    :rolleyes:

 

 

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 ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Effectivement sans batterie, il ne pourra jamais t'envoyer son état.

N'as-tu pas coché par mégarde "Ne pas marquer comme mort" ?

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est une double négation "Ne pas marquer comme mort" ...j'ai répondu non !

Partager ce message


Lien à poster
Partager sur d’autres sites

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);

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok je regarde ça ce soir

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

Désolé...résurrection  :) même sans pile ...c'est un capteur mutant  :D

[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 !!

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×