Aller au contenu

jojo

Recommended Posts

@Yannick

 

C'est assez simple.

 

1.     Regarder combien il y a de modules qui doivent apparaître sur la VD.

2.     Mettre autant d'étiquette (Label) qu'il y a de modules.

3.     Modifier la routine :

 

         -- clear labels

        for i = 1, xx do  -- xx nombres d'etiquettes totals

          fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label" ..i.. ".value", "")

       end

 

4.     Faire la sauvegarde de la VD

 

Et voilà c'est bon :60:

 

Bonne journée.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

tout a fait d'accord, après dans la boucle tu recuperes ceux qui ont un niveau de batterie < X

local batt = fibaro:getValue(v, "batteryLevel")

if batt <.......end

 

@jojo

dans son code envoie un push si le niveau de batteries est < X, sur le meme principe tu peux afficher NOM, piece niveau de batterie dans les etiquettes

 

Modifié par pepite
Lien vers le commentaire
Partager sur d’autres sites

Hello,

 

En utilisant fibaro:getRoomNameByDeviceID(v.id) ça fonctionne nickel !

 

Ca donne ceci :

 

table.insert(modules, {batt, v.name .." (" .. (fibaro:getRoomNameByDeviceID(v.id))..") "})

 

 

  • Like 1
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Bonjour,

 

Vis-à-vis de la dernière version en date (5.3), la seule modification que j'ai du faire pour que tout fonctionne en 4.150 est à la ligne 49 :

 

  if (type(v.properties.batteryLevel) == "number") then
 

Qui devient :

 

  if (tonumber(v.properties.batteryLevel) ~= nil) then

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Le 17/12/2017 à 11:15, neliger a dit :

Bonjour,

 

Vis-à-vis de la dernière version en date (5.3), la seule modification que j'ai du faire pour que tout fonctionne en 4.150 est à la ligne 49 :

 

  if (type(v.properties.batteryLevel) == "number") then
 

Qui devient :

 

  if (tonumber(v.properties.batteryLevel) ~= nil) then

Merci :D c'est exactement ca.

Lien vers le commentaire
Partager sur d’autres sites

fichier avec la modif de @Crunchy

 

en ligne 72

remplacer la ligne

table.insert(modules, {batt, v.name .."-" ..(fibaro:getRoomID(v.id)).."(" .. v.id.. ")"})

 

par

 

fibaro:getRoomNameByDeviceID(v.id)

table.insert(modules, {batt, v.name .." (" .. (fibaro:getRoomNameByDeviceID(v.id))..") "})   
 

 

vous aurez alors le name de la room au lieu du numero 

 

My_Batteries_v6.1.vfib

Lien vers le commentaire
Partager sur d’autres sites

@flamalex

 

Attention, pour les modules non assignés à une pièce, room vaut zéro et fibaro:getRoomNameByDeviceID(v.id) retourne nil...

Je propose :

local room = fibaro:getRoomName(fibaro:getRoomID(v.id));
if (room == nil) then room = "???"; end
table.insert(modules, {batt, v.name .. " (" ..room..")"});

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...