Aller au contenu
Nico

Interface : Texte En Gris

Recommended Posts

Tu n'as pas de logTemp dans le json d'un VD ?

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, mais j'ai des soucis lorsque je mets l'instruction fibaro:log dans le main loop : il n'affiche rien ou parfois qqch, c'est alléatoire

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais c'est excellent ça !! Adopté !

Partager ce message


Lien à poster
Partager sur d’autres sites

quelqu'un a essayé de forcer la création de la propriété lastbreach sur un VD, pour voir si l'appli ne pourrait pas le reprendre avec un peu de chance ?

Partager ce message


Lien à poster
Partager sur d’autres sites

confirme, aussi avec le blablabla de @Berale depuis une scene sur un VD sans MainLoop, c'est permanent ;-)

 

C'est TOP !!

 

vous pouvez me reexpliquer le coup du Label, pas bien compris hihi

Partager ce message


Lien à poster
Partager sur d’autres sites

Euh et comment tu créer cette propriété ???

Du coup Berale, sans mainloop, cela reste affiché en continu, même si tu fermes et ré-ouvres ta session sur la HC2 ??

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite en gros :

Chaque VD ouverture de porte se compose de :

  • 2 boutons
    • Ouvert
    • Fermé
  • 2 labels
    • Last Update
    • Last Change

 

Lors d'un événement EnOcean, la passerelle FHEM vient cliquer sur le bouton Ouvrir ou Fermer du VD, au travers de l'API de la HC2.

Chaque bouton contient seulement 2 lignes de codes afin de mettre à  jour les 2 labels avec le statut de la porte, ainsi que le timestamp.

 

L'idée suggérée c'est juste d'en profiter pour mettre à  jour le texte dans le log sous l'icone du VD.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pepite, alors pour un détecteur de mouvements chez moi par exemple :

 

Premier bouton de mon VD (Repos) :

local deviceId = fibaro:getSelfId();
fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Repos")

Second bouton (Alarme) :

 

local deviceId = fibaro:getSelfId();
fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Alarme")
fibaro:call(deviceId, "setProperty", "ui.Label2.value", os.date("%m %B %Y - %H:%M:%S"))

Mainloop :

local deviceId = fibaro:getSelfId();
local value = fibaro:getValue(deviceId, "ui.Label2.value")
fibaro:log(value)
fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", "TxtGray" )

Et voilà  le travail. Maintenant si je peux virer le main loop, c'est encore mieux, je testerai ce soir.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, testé rapidement, moi quand je ferme et ré-ouvre la session sur la HC2, le texte n'apparaît plus...

Partager ce message


Lien à poster
Partager sur d’autres sites

ok merci messieurs @nico et @lazer.

 

Je n'avais pas compris que vous vouliez récuperer la valeur d'un Label pour le mettre dans le LOG ;-)

 

Testé aussi depuis les serveurs home.fibaro, c'est permanent tant qu'on ne ferme pas la session..

Le MainLoop dans ce cas a l'air obligatoire ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je dirai que oui.

Partager ce message


Lien à poster
Partager sur d’autres sites

Une nouvelle session, de même qu'un refresh, perd le contenu du log.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ahh, donc le mainloop est bien obligatoire, mes tests sont ok. J'ai remis dans le mainloop.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne vois pas les choses comme toi.

Mettre dans le main loop c'est réafficher toutes les 3 secondes, pas un affichage permanent.

En ce qui me concerne, j'affiche depuis une scène, donc pas de main loop et comme ma session est en continue je ne perds rien. :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, sauf que moi je l'ouvre par exemple de chez moi au boulot, et boom, je n'ai plus l'info, donc cela ne va pas. Moi je veux l'info partout, quelque soit la session, le lieu ou la personne qui se connecte.

Avec le mainloop, cela est affiché en permanence, car cela s'efface après 3s, et vu qu'il rafraîchi au bout de 3s, on est bien sur du permanent au niveau affichage.

 

Mais effectivement, chacun son besoin.

Partager ce message


Lien à poster
Partager sur d’autres sites

Encore un petit test:

 

J'ai mis:

fibaro:log("blablabla")

dans le bouton d'un VD et le texte reste 9s.

 

Je l'ai ensuite remplacé par:

fibaro:call(fibaro:getSelfId(), "setProperty", "log", "blablabla" );

et le texte est permanent.

 

Si ça peut aider.

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne comprends pas, c'est exactement identique au test que tu as fait hier à  10h20 non ?

Pourtant Nico disais que ce n'est pas persistant.

 

Désolé je ne peux pas faire le test là 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hier, j'ai commencé par un test dans le main loop, puis depuis une scène pour afficher dans un VD.

 

L'affichage depuis une scène est permanent tant que tu ne quittes pas la session ou que tu ne fais pas un refresh de la page.

 

ici, je compare le comportement de fibaro:call et fibaro:log depuis un bouton de VD et il n'est pas le même.

fibaro:log reste 9s et fibaro:call est permanent.

Je trouve ça étrange et ça montre une fois de plus que la programmation de fibaro est très particulière.

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand tu fais un fibaro:log(...) cela doit déclencher un timer qui dans 9sec va effacer le texte. Alors que quand tu attaques directement le "call" tu court-circuites le timer.

Partager ce message


Lien à poster
Partager sur d’autres sites
Je l'ai ensuite remplacé par:

fibaro:call(fibaro:getSelfId(), "setProperty", "log", "blablabla" );

et le texte est permanent.

 

Si ça peut aider.

@BEraele24,

C'est EXACTEMENT ce à  quoi je souhaite arriver, mais ça ne fonctionne pas chez moi : il est dans un bouton, et rien ne s'affiche.

Je suis en firmware 4.063b. Es-tu toujours en 4.056 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

ce qui pourrait expliquer pourquoi ça ne fonctionne pas chez moi

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans mes tests j'avais mis la fameuse ligne avec le "blablabla" puis je l'avais supprimée.

Mais régulièrement le "blablabla" revenait. J'ai pensé m'être trompé et j'ai cherché vainement cette ligne un peu partout, mais rien.

Alors, pris d'un doute, j'ai fait un reboot de la box et maintenant tout va bien.

 

Je n'ai jamais aimé le main loop des VD, voilà  une raison de plus. :angry:

Partager ce message


Lien à poster
Partager sur d’autres sites

×