Aller au contenu

bencol

Messages recommandés

Voila Monsieur

la commande appuiera sur le bouton 1 tous les jours a 00h01

while true do
   local Var_Heure = os.date("%H:%M")
   fibaro:debug("heure OS : " ..Var_Heure)
   if Var_Heure == "00:01" then
      fibaro:call(fibaro:getSelfId(), "pressButton", "1")
   end
   fibaro:sleep(60*1000)
end
Lien vers le commentaire
Partager sur d’autres sites

excellent !! 

 

Je suis d'accord avec toi aussi, je suis debutant en lua et je veux apprendre mais GEA est tres pratique aussi ;-) 

Bon ben je ne l'aurais deja pas ecrit du tout comme toi...je suis vraiment pas tres bon encore hihih

 

L'avantage de GEA est que tout est dans une meme scene ;-)

 

Vrai pour les sauvegardes, que je ne fais pas encore d'ailleurs, va falloir que je cree un sujet pour poser la question aux esperts de leur moyen de sauvegarde ;-)

Lien vers le commentaire
Partager sur d’autres sites

Merci le Lorrain :)

 

Sinoin pour xpenology cela ne sent pas bon, je pense que pour le forum c'est mort. Il devait être hébergé je ne sais où et du coup compte fermé... Maintenant le .nl rouvrira peut être un autre forum.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Ced600f, Le main loop est exécuté toutes les 3 secondes, ce qui est beaucoup trop rapide pour raffraichir les infos météos.

Et si tu rajoutes un gros sleep (pour faire plaisir à  mprinfo...) de 24h avec tout le code dans la main loop, ça finira par planter pour d'obscures raisons....

 

Donc le mieux est de laisser le code complexe dans un bouton, et de laisser la main loop appuyer sur ce bouton toutes les 24h avec l'exemple de petit bout de code proposé par mprinfo.

Ou sinon utiliser une scène, ou GEA.

Lien vers le commentaire
Partager sur d’autres sites

@Lazer: J'avais compris le principe, mais le code de mprinfo dans le main loop contient un while true do

Comment réagit la box dans ce cas-là  ?

 

Est-ce qu'elle lance systèmatiquement toutes les 3s une instance de la main loop avec une boucle infinie ? Ou elle attend que la fonction soit terminée et relance la fonction 3s plus tard...?

Lien vers le commentaire
Partager sur d’autres sites

ça se passe que ça finit par planter au bout de quelques itérations.... car il y a des bugs avec les fonctions Net.FHTTP() et json.decode()

(seule la main loop du module plante, le reste de la box fonctionne normalement)

 

et pour répondre à  ta 2nde question, il y a une seule instance de la main loop qui tourne en boucle infinie, donc elle attend bien que les instructions soient terminées, avant d'attendre 3s puis relancer à  nouveau.

Lien vers le commentaire
Partager sur d’autres sites

OK, mais n'est pas moins "buggé" si l'on ne fait pas de boucle infinie mais juste un sleep de 57s en sortie de la main loop ??

 

Du coup, la main loop est relancée toutes les minutes (virtuellement grâce au sleep) et les variables locale sont détruites... enfin je pense

Lien vers le commentaire
Partager sur d’autres sites

Non justement, ce n'est pas clair, mais il semble que les variables locales ne soient pas bien détruites, et justement avec les 2 fonctions citées précédemment ça plante.

Donc dans une main loop, il faut mettre du code très simple, et déporter les fonctions élaborées dans des boutons.

 

Ou alors il faut protéger les bouts de codes sensibles avec des pcall(), mais là  il faut s'appeler Krikroff ou Steven pour en maitriser les subtilités.... tu peux trouver quelques exemples d'utilisation de cette fonction sur le forum.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Perso j evite de mettre du code dans le main loop comme dit lazer je mets le code dans des bouton ou des scènes. Je n utilise les VD pour avoir un affichage dans des etiquettes ou pour mettre a jour une variable en manuel.

Envoyé de mon SM-G900F en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

ouiiiiii rien de complexe dans le main loop ;-)

 

@mprinfo : je drais sauvegarde des scenes et VD..je pense avec le toolkit de krikroff

 

j'avoue je n'ai aps approfondi comment sauvegarder toute la conf de HC2 encore...grosse lacune il est vrai et grosse betise de ma part je pense

Lien vers le commentaire
Partager sur d’autres sites

salut pepite oui tu peux utilisé le toolkit c'est super ce prog merci krikroff

pour les VD tu peux les exporter ("Exporter un dispositif virtuel")

pour les scènes le mieux c'est le toolkit tu auras un fichier.txt avec le code.

par contre pour les scénes bloc tu auras le code dans un fichier texte je pense pas que l'on peut sauvegarder autrement enfin j'ai pas trouver

pour la sauvegarde de ta config il y en a une a chaque mise a jour donc tu dois en avoir pas mal

perso je fais toujours une sauvegarde avant d'inclure un nouveau module

lors de mon dernier recovery j'ai inclus les modules qui n'avait pas de problèmes et j'ai fais une sauvegarde tous les 5 modules

j'inclus ensuite les modules a pile car plus simple a faire donc je dois avoir une dizaines de sauvegarde

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...