Aller au contenu

Main Loop


Rem's

Messages recommandés

J'avais une suggestion pour nos domoticiens en herbe :

 

Pouvez-vous nous expliquer à  quoi sert le main loop, quel genre de script on y insère, quel est son action.

 

Mon incompétence et moi vous remercient par avance ... :)

Lien vers le commentaire
Partager sur d’autres sites

C'est la boucle principale. Main loop.

Elle s'exécute toutes les x secondes (ce temps est géré je sais plus où dans la config de la HC2).

C'est en quelque sorte une scène limitée au module virtuel.

Tu y mets ce que tu veux ;) du moment que ce que tu veux doit s'exécuter de façon cyclique :

Test en tout genre -> si porte ouverte alors message machin ; Si il fait nuit -> allume la lampe machine ; ...

Lien vers le commentaire
Partager sur d’autres sites

Juste une mise en garde. La durée entre deux main loop est définie par Fibaro. Avant la dernière mise àjour, la main loop était appelé toutes les secondes. Après la mise àjour, c'est toutes les 3 secondes. Il ne faut donc pas utiliser la durée comme une valeur sûre.

Lien vers le commentaire
Partager sur d’autres sites

Oui d'ailleurs si tu utilises un fibaro:sleep(x*1000), le délai réel sera de x secondes + 3 secondes (tant que fibaro restera à3 secondes).

Elle s'exécute toutes les x secondes (ce temps est géré je sais plus où dans la config de la HC2).

J'ai confondu le réglage de l'interrogation des périphériques avec le timer du main loop ;)

Lien vers le commentaire
Partager sur d’autres sites

Par contre, attention, en cas de bug, la main loop s'arrête et ne repars jamais (jusqu'àce qu'on enregistre ànouveau le module virtuel). C'est notamment le cas quand on utilise les fonctions Net.FHttp() et json.decode()

Pour cette raison, quelques domoticiens de ce forum préfèrent ne pas utiliser la main loop, mais une scène qui appelle un bouton du module virtuel.

Lien vers le commentaire
Partager sur d’autres sites

Tiens ça tombe bien, j'ai une question sur la "main loop"
 
J'ai mis un truc du style

Local DeviceId = fibaro:getSelfId()
fibaro:call(DeviceId, "pressButton", "2")
fibaro:sleep(3*60*60*1000) -- Toutes les 3 heures normallement 

 
 
et j'ai l'impression que mon device s'exécute toutes les 40 minutes  :(

Lien vers le commentaire
Partager sur d’autres sites

préfèrent ne pas utiliser la main loop, mais une scène qui appelle un bouton du module virtuel.

Perso j'utilise comme JM13 le main loop du module virtuel pour exécuter un pushbutton.

@JM13 : As-tu essayé 10800*1000 pour voir ?

Lien vers le commentaire
Partager sur d’autres sites

Je reviens après qqles tests ...et c'est étrange car je ne trouve pas de cohérence logique entre les paramètres que je mets dans le fibaro:sleep(XX) et le temps réel !

 

10800*1000 me donne bien ~40mn 

20800*1000 me donne ~1heure

 

Pouvez vous me dire s'il y a un paramètre qqle part pour configurer le timing ?

 

J'ai rebooté le HC2 par principe et je suis en 3.950

Lien vers le commentaire
Partager sur d’autres sites

Par curiosité, je viens de modifier le sleep d'un de mes vd avec une valeur de 6870000 pour tester sur 2 heures pour voir ... Mais il est possible que le sleep soit "bridé", cela n'est pas incohérent je trouve bien au contraire ! Alors qu'il est tellement plus efficace de vérifier l'heure dans une boucle pour exécuter une action, en plus cela permet de ne pas "bloquer" le vd pendant la période d'inactivité ;)

Lien vers le commentaire
Partager sur d’autres sites

je confirme le problème, une sieste de 2 heures en Pologne dure 40 minutes Lol... Bah oui faut bien trouver des solutions pour sortir le V4 :98:

 

[DEBUG] 09:43:00: Start at Fri Jun 6 09:43:00 2014
[DEBUG] 10:25:58: Loop #1 since 00:42:58
[DEBUG] 11:08:56: Loop #2 since 01:25:56
[DEBUG] 11:51:54: Loop #3 since 02:08:54
[DEBUG] 12:34:52: Loop #4 since 02:51:52
[DEBUG] 13:17:50: Loop #5 since 03:34:50
[DEBUG] 14:00:48: Loop #6 since 04:17:48
[DEBUG] 14:43:46: Loop #7 since 05:00:46
[DEBUG] 15:26:44: Loop #8 since 05:43:44
[DEBUG] 16:09:42: Loop #9 since 06:26:42
[DEBUG] 16:52:40: Loop #10 since 07:09:40
[DEBUG] 17:35:38: Loop #11 since 07:52:38

 

...

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...