Steven Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 Tu n'as pas de logTemp dans le json d'un VD ?
jojo Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 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
BenjyNet Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 Mais c'est excellent ça !! Adopté !
Lazer Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 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 ?
pepite Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 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
Nico Posté(e) le 6 avril 2016 Auteur Signaler Posté(e) le 6 avril 2016 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 ??
Lazer Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 @pepite en gros : Chaque VD ouverture de porte se compose de : 2 boutonsOuvert Fermé 2 labelsLast 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.
Nico Posté(e) le 6 avril 2016 Auteur Signaler Posté(e) le 6 avril 2016 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.
Nico Posté(e) le 6 avril 2016 Auteur Signaler Posté(e) le 6 avril 2016 Bon, testé rapidement, moi quand je ferme et ré-ouvre la session sur la HC2, le texte n'apparaît plus...
pepite Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 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 ;-)
Berale64 Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 Une nouvelle session, de même qu'un refresh, perd le contenu du log.
Nico Posté(e) le 6 avril 2016 Auteur Signaler Posté(e) le 6 avril 2016 Ahh, donc le mainloop est bien obligatoire, mes tests sont ok. J'ai remis dans le mainloop.
Berale64 Posté(e) le 6 avril 2016 Signaler Posté(e) le 6 avril 2016 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.
Nico Posté(e) le 6 avril 2016 Auteur Signaler Posté(e) le 6 avril 2016 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.
Berale64 Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 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.
Lazer Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 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à
Berale64 Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 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.
Steven Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 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.
jojo Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 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 ?
jojo Posté(e) le 7 avril 2016 Signaler Posté(e) le 7 avril 2016 ce qui pourrait expliquer pourquoi ça ne fonctionne pas chez moi
Berale64 Posté(e) le 10 avril 2016 Signaler Posté(e) le 10 avril 2016 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.
Messages recommandés