Aller au contenu

Messages recommandés

Posté(e)

merci @mprinfo

non je ne l'avais pas fait, j'etais allé voir l'api et j'avais mis à  la main la latitude et longitude ;-)

 

parfait comme cela !! 

 

tourne tous les combiens ce VD ? 

Posté(e)

J ai rien mis dans le main loop

Mais je peux te donner le code en fonction de ce que tu veux

Envoyé de mon SM-G900F en utilisant Tapatalk

Posté(e)

JE veux bien oui pour ma culture et verifier si j'ecrirais dans le meme genre !! 

 

1 fois par jour par exemple ;-)

 

 

Mais j'avoue je vais appuyer sur le bouton avec GEA ;-)

Posté(e)

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

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

Posté(e)

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

Question: Le main loop d'un device virtuel en LUA n'est pas déjàexécuté automatiquement toutes les minutes ?

Je me pose la question par rapport au code de mprinfo avec la boucle...

Posté(e)

Bonjour,

 

Merci à  vous pour le partage, super j'ai la météo   :60:

 

Par contre, les prévisions annoncé par la box sont pas fiable, j'ai pourtant vérifié ma bonne localisation ! 

Posté(e)

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.

Posté(e)

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

Posté(e)

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

Posté(e)

Je suis pas trop pour gea car j ai envi d apprendre le lua de plus avec ma méthode tu peux importé le MV sans rien a faire pratique lors d'un recovery par exemple.

Envoyé de mon SM-G900F en utilisant Tapatalk

Posté(e)

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

Posté(e)

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

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

Posté(e)

J avais rien mis dans le main loop du module que j ai posté je laisse a chacun ca méthode

Envoyé de mon SM-G900F en utilisant Tapatalk

Posté(e)

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

Posté(e)

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

Posté(e)

@lazer je pense a un truc mais je sais pas si c'est possible

peux ton utilisé la date comme trigger comme ca change tous les 24h ca éviterais la boucle qui ne dérange rien au bon fonctionnement de la box

×
×
  • Créer...