Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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 ?

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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.

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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.

Posté(e)

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.

Posté(e)

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à 

Posté(e)

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.

Posté(e)

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.

Posté(e)
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 ?

Posté(e)

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:

×
×
  • Créer...