Aller au contenu
barth74

Actualiser un icône de VD après changement d'état

Recommended Posts

Bonjour a tous,

j'ai domotiser mon portail avec un smart implan, celui ci pilote l'ouverture avec le contacte libre de potentiel 1 et je fait le retour d'état avec un contact magnétique fixer au portail et je récupère le signale sur l'entrée 1. j'ai crée un VD avec deux boutons (ouvrir / fermé) une icone pour chaque bouton. tout fonctionne bien, mais j'ai juste un petit souci, l'icone du VD ne change pas quand j'ouvre ou je ferme le portail, par contre si je clic sur le VD ou si je rafraichi la page de mon home center l'icone ce met a jour....

savez vous comment faire pour accualiser l'icone de mon VD a chaque action du portail ?

 

D'avance merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Alors effectivement, tu as assigné une icône par bouton. Ce qui met bien à jour l’icône principale du VD quand tu appuies sur un de ceux-ci.

Cependant, si l’action ne vient pas directement de ces boutons et que tu veux quand même voir une icône à jour, il faut ajouter autre chose pour surveiller régulièrement l’état de ce module pour savoir quelle icône afficher. Cela se passe dans la boucle principale (Main loop) du VD (tout en bas).

 

Tu vas devoir connaître l’ID de tes icônes stockés dans la HC2 : Ici

Et ensuite ajouter une condition qui vérifiera l’état du module et affichera une icône en fonction de celui-ci : un exemple ici.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

alors petit retour qui n'est pas concluant....

j'ai bien récupéré l'ID des icônes, ensuite j'ai copier ceci dans le man loop en changeant bien sur les ID des icônes et j'ai remplacer "phone_GG_Present" par le nom de l'entrée du smart implant qui reçois l'état du portail "position portail" hélas ceci ne fonctionne pas, j'ai essayer de remplacer "position portail" par l'ID mais rien non plus... portant l'icône de l'entrée du capteur magnétique change bien quand j'ouvre et ferme le portail....

 

si qq un vois ou je fait une erreur ....

 

Bonne soirée,

merci.

 

local thismodule = fibaro:getSelfId(); 
local status = fibaro:getGlobal("Phone_GG_Present")
-- fibaro:debug(thismodule);
if
status == "0"
then 
fibaro:call(thismodule, "setProperty", "currentIcon", 1037)
end


if
status == "1"
then 
fibaro:call(thismodule, "setProperty", "currentIcon", 1036)
end


fibaro:sleep(1000);

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

Alors oui, cela nécessite un peu d'adaptation du code, essaie plutôt comme cela (en remplaçant 999 par l'ID de ton Smart Implant)

local Etat = fibaro:getValue(999, "value");

if Etat == "0" then 
  fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1037)
else
  fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1036)
end

 

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

merci pour ton aide,

j'ai corriger le man loop comme tu me l'a conseiller mais toujours rien, j'ai bien remplacer le 999 par l'ID de l'entrée du smart implant et changer les numéros des icônes....

mais l'icône ne s'actualise pas tout seul, je suis obliger de rafraîchir la page sur mon PC ou relancer l'appli sur mon smartphone.

 

il n'y aurai pas une ligne de code pour lancer le rafraichissement de l'icône a mettre dans le main loop par hasard ?

 

merci.

 

 

Capture d’écran 2020-05-07 à 18.04.48.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, appuie sur le bouton "Déboguer" et montre nous ce que tu as dans cette fenêtre s'il-te-plaît.

Partager ce message


Lien à poster
Partager sur d’autres sites

Essaie avec ce code dans la Main Loop :

local ID = 11
local Etat = fibaro:getValue(ID, "value");

if Etat == "0" then
  fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1002);
  fibaro:debug("["..fibaro:getName(ID).."] Etat = "..Etat.." - Icone 1002");
else
  fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1001);
  fibaro:debug("["..fibaro:getName(ID).."] Etat = "..Etat.." - Icone 1001");
end

 

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

bon toujours pareil....

je t'ai fait plusieurs capture de mon VD au cas ou j'ai fait une erreur...

 

Capture d’écran 2020-05-07 à 19.14.20.png

Capture d’écran 2020-05-07 à 19.14.12.png

Capture d’écran 2020-05-07 à 19.14.03.png

Capture d’écran 2020-05-07 à 19.13.45.png

Capture d’écran 2020-05-07 à 19.13.37.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Visiblement la main loop est ok.

Le changement d’icône n’est pas instantané, il se fait sur la page d’accueil, après quelques secondes (le temps que la main loop fasse la vérification).

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai beau laisser la page d'accueil ouverte plusieurs minutes mais l'icone ne change pas, alors que celui de l'entrée du module et immédiat....

 

après ce n'est pas trop grave car mon portail s'ouvre et ce ferme correctement et c'est l'essentiel :D

 

encore merci pour ton aide :60:

  

Partager ce message


Lien à poster
Partager sur d’autres sites

×