Aller au contenu
yoim

non affichage des icones apres backup ou reboot

Recommended Posts

Bonjour,

 

Lors d'un reboot ou backup, mes icones de mes modules virtuels disparaissent. Je suis obligé d'actionner un bouton pour qu'il me remette les icones.

 

Les icones par defaut qui n'apparaissent plus.

 

Quelqu'un à une idée.

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

 Bonsoir @yoim,

Tu es en quelle version?

Moi aussi j'ai le problème, je l'ai déjà évoqué dans le sujet sur la 4.130 (c'est depuis cette version que je l'ai constaté mais je n'ai pas mis la 4.131).

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai la 4.130. Comme toi je n'ai pas mis la version beta.

 

On va attendre le correctif alors :P

 

Merci de ta reponse.

Partager ce message


Lien à poster
Partager sur d’autres sites

 Oui, on a pas le choix.

Mais je ne sais pas si quelqu'un l'a remonté sur le forum officiel.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

je vais regarder. Sinon je vais mettre un post sur ce sujet. ;)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 Ce serait bien. :60:

Merci.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut messieurs,

 

Parfois ca m'arrive aussi, j'utilise ceci, un code du master @Steven pour remettre l'icone courante avant le redémarrage ou backup.

toutes ne sont pas remises, on se heurte à la limitation du nombre d'instances ;-) c'est déjà bien ;-)

Usage :

- créer une variable globale

- Sous properties, mettre l'id concerné par la remise de l'icone et la propriété currentIcon


 

--[[
%% autostart
%% properties
4 currentIcon
15 currentIcon
18 currentIcon
19 currentIcon
20 currentIcon
32 currentIcon
33 currentIcon
34 currentIcon
35 currentIcon
37 currentIcon
50 currentIcon
72 currentIcon
--]]
     
local variableGlobale = "Icones"
     
local trigger = fibaro:getSourceTrigger()

   
if (trigger.type == "autostart" or trigger.type == "other") then
     
  fibaro:debug("Mise à jour des icones sur les Virtual Device")
     
   local icones = json.decode(fibaro:getGlobalValue(variableGlobale))
      -- On parcours toutes les entrées et on met l'icone à jour
      for k,v in pairs(icones) do
        fibaro:debug(string.format("Module : %s - currentIcon %s", k, v))
        fibaro:call(tonumber(k), "setProperty", "currentIcon", v)
      end  
     
 elseif (trigger.type == "property") then
     
      local prop = trigger.propertyName
      local device = trigger.deviceID
      local val = fibaro:getValue(device, prop)
     
      fibaro:debug(string.format("Module Virtuel %s (%d) propriété %s = %s", fibaro:getName(device), device, prop, val))
     
      local icones = json.decode(fibaro:getGlobalValue(variableGlobale))
      if (not icones) then
        icones = {}
      end
      -- On ajoute/modifie la valeur du couple Virtual Device/Icone
      icones[device] = val
      -- On remet cela en json dans la variable globale "Icones"
      fibaro:setGlobal(variableGlobale, json.encode(icones))
     
  end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @pepite

 

En variable Globale on mets :

 

Icones

 

On met quoi comme valeur pour la variable Globale Icones ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @yoim,

 

En fait tu crées une variable non definie. Sans valeur.

Oui tu peux créer une variable Icones comme tu veux. L'important est de renseigner la variable que tu auras créée ici

 

local variableGlobale = "Icones"

Partager ce message


Lien à poster
Partager sur d’autres sites

Thx @pepite

 

J'ai une erreur en ligne27

 

[DEBUG] 15:16:39: Mise à jour des icones sur les Virtual Device
[DEBUG] 15:16:39: line 27: bad argument #1 to 'pairs' (table expected, got nil)
      for k,v in pairs(icones) do

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu ne dois rien avoir dans la table icones.

Si aucune de tes icones n'a encore changé c'est normal pour moi.

Partager ce message


Lien à poster
Partager sur d’autres sites

Chez moi, j'ai ajouté une petite ligne de code dans le main du VD pour chercher l'icône au démarrage du module.

avec un 

fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", Id_Icone)

Suivi d'un

fibaro:abort()

Pour ne pas rappeler ce code toute les x secondes.

ça m'a régler le problème de ces icônes qui disparaissent au démarrage.

 

Mais risque de poser problème si on a besoin d'exécuter ke bouclage Main du VD...

 

Mais @pepite ton petit bout de code me plait :) je vais l'utiliser, c'est plus simple de tout centraliser au même endroit...

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite

 

J'ai ca comme erreur :

 

J'ai mon icone TV où il prend bien le bon icon mais les autres je suis en currentIcon = 0

 

[DEBUG] 00:49:02: Mise à jour des icones sur les Virtual Device
[DEBUG] 00:49:02: line 27: bad argument #1 to 'pairs' (table expected, got number)
[DEBUG] 00:49:19: Module Virtuel TV (106) propriété currentIcon = 1003
[DEBUG] 00:49:19: line 45: attempt to index local 'icones' (a number value)
[DEBUG] 09:13:59: Mise à jour des icones sur les Virtual Device
[DEBUG] 09:13:59: line 27: bad argument #1 to 'pairs' (table expected, got number)
[DEBUG] 09:15:37: Module Virtuel Bouton Virtuel (93) propriété currentIcon = 0
[DEBUG] 09:15:37: line 45: attempt to index local 'icones' (a number value)
[DEBUG] 09:16:14: Mise à jour des icones sur les Virtual Device
[DEBUG] 09:16:14: line 27: bad argument #1 to 'pairs' (table expected, got number)
[DEBUG] 09:16:53: Module Virtuel Chauffage Salon (252) propriété currentIcon = 0
[DEBUG] 09:16:53: line 45: attempt to index local 'icones' (a number value)

une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @yoim,

 

Partage ta scene stp pour voir. Heuu pour l'instant pas d'idée ;-)

tu as bien renseigné ton entete ?

Partager ce message


Lien à poster
Partager sur d’autres sites
--[[
%% autostart
%% properties
106 currentIcon
93 currentIcon
252 currentIcon
266 currentIcon
267 currentIcon
138 currentIcon
315 currentIcon
314 currentIcon
319 currentIcon
172 currentIcon
--]]
     
local variableGlobale = "plop"
     
local trigger = fibaro:getSourceTrigger()

   
if (trigger.type == "autostart" or trigger.type == "other") then
     
  fibaro:debug("Mise à jour des icones sur les Virtual Device")
     
   local icones = json.decode(fibaro:getGlobalValue(variableGlobale))
      -- On parcours toutes les entrées et on met l'icone à jour
      for k,v in pairs(icones) do
        fibaro:debug(string.format("Module : %s - currentIcon %s", k, v))
        fibaro:call(tonumber(k), "setProperty", "currentIcon", v)
      end  
     
 elseif (trigger.type == "property") then
     
      local prop = trigger.propertyName
      local device = trigger.deviceID
      local val = fibaro:getValue(device, prop)
     
      fibaro:debug(string.format("Module Virtuel %s (%d) propriété %s = %s", fibaro:getName(device), device, prop, val))
     
      local icones = json.decode(fibaro:getGlobalValue(variableGlobale))
      if (not icones) then
        icones = {}
      end
      -- On ajoute/modifie la valeur du couple Virtual Device/Icone
      icones[device] = val
      -- On remet cela en json dans la variable globale "Icones"
      fibaro:setGlobal(variableGlobale, json.encode(icones))
     
  end

J'ai l'impression que ca met du temps a enregister les icones dans la table ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as raison, il faut ajouter une pause 

 

...

 elseif (trigger.type == "property") then
  
      fibaro:sleep(2000)
   
      local prop = trigger.propertyName
      local device = trigger.deviceID
      local val = fibaro:getValue(device, prop)

...

 

Edit : Heuuu, non même pas, il faut sauver 2x l'icone pour que le scénario soit capable de retrouvé l'information ... étrange.

Partager ce message


Lien à poster
Partager sur d’autres sites

Rien remarque de tel de mon cote. Bizarre.

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

erreur 503 ^^

 

Ca fonctionne pas. 

 

 

Même avec la méthode de @jjacques68

 

c triste :P

 

Le 16/06/2017 à 06:57, jjacques68 a dit :

Chez moi, j'ai ajouté une petite ligne de code dans le main du VD pour chercher l'icône au démarrage du module.

avec un 


fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", Id_Icone)

Suivi d'un


fibaro:abort()

Pour ne pas rappeler ce code toute les x secondes.

ça m'a régler le problème de ces icônes qui disparaissent au démarrage.

 

Mais risque de poser problème si on a besoin d'exécuter ke bouclage Main du VD...

 

Mais @pepite ton petit bout de code me plait :) je vais l'utiliser, c'est plus simple de tout centraliser au même endroit...

 

Partager ce message


Lien à poster
Partager sur d’autres sites

alors là mon pauvre... je sais pas quoi te dire, moi j'ai ça dans presque tous mes VD...

 

ah tout hasard, tu as bien remplacer "Id_Icone" par le numéro de l'icone ?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@jjacques68 Avec la methode de pepite j'etais resté sur l'id des modules.

 

Merci beaucoup ! Ca fonctionne impec avec l'id des icones. :60:

Modifié par yoim

Partager ce message


Lien à poster
Partager sur d’autres sites

×