Shyrka973 Posté(e) le 22 mai 2014 Signaler Posté(e) le 22 mai 2014 Bonjour, Je constate que les scènes qui tournent indéfiniment finissent par s'arrêter toutes seules. Exemple: J'ai créé une scène avec le script GEA de Steven.Elle fonctionne très bien, mais après quelque temps, il s'arrête de fonctionner. Il n'y a pas d'erreur. Dès que j'enregistre la scène, elle se remet à fonctionner pour plus ou moins 24h. J'ai créé une scène qui ping mon Karotz toutes les 30s. C'est exactement la même chose. Elle fonctionne pendant un certain temps, puis s'arrête. Dès que j'enregistre la scène, elle se remet à fonctionner normalement. Avez-vous ce genre de soucis avec vos scènes qui tournent en boucle ? S'arrêtent-elles toutes seules ? Je suis en v3.590. Je viens de relancer le HC2 (Le 21 à 22h20 pour moi). J'indiquerai le temps que les scènes ont mis avant de s'arrêter.
Krikroff Posté(e) le 22 mai 2014 Signaler Posté(e) le 22 mai 2014 Et sans utiliser GEA as tu le même problème, il y a peut-être un bug ? De mon côté pas de problèmes, toutes mes scènes fonctionnent mais je n'utilise pas le GEA de Steven.
Shyrka973 Posté(e) le 22 mai 2014 Auteur Signaler Posté(e) le 22 mai 2014 Le script GEA de Steven fonctionne très bien. Merci àlui pour ce script de qualité. Il y a quelles règles simples du style: allume la lumière du couloir quand j'ouvre la porte, éteint la lumière du couloir après 3mn. Un script simple qui tourne sur lui même avec une tempo entre chaque itération fini par se bloquer, comme bloquer par un sleep. Ce matin, le script GEA fonctionne toujours et celui qui vérifie la présence du lapin sur le réseau aussi (Krikroff, j'utilise ton "ping"). Ils ont démarrés ensemble lors du reboot du HC2. Envoyé de mon iPad àl'aide de Tapatalk
Krikroff Posté(e) le 22 mai 2014 Signaler Posté(e) le 22 mai 2014 Il n'y avait pas de message subliminale par rapport au script de Steven... C’était juste pour procéder par élimination pour t'aider sur ton problème car par expérience lorsqu'il y a des blocages avec les scènes sur le HC2 c'est toujours la même origine -> un bug dans un script. Mais je te confirme que le moteur de scène du HC2 est très STABLE mais bon après tu as peut-être un problème matériel avec ton HC2. 1
Steven Posté(e) le 22 mai 2014 Signaler Posté(e) le 22 mai 2014 Je confirme. Mon code est encore jeune et expérimentale. La prochaine version sera plus stable, je travaille justement sur sa stabilisation. Néanmoins, j'ai aussi les mêmes soucis que toi et ce avant même que GEA soit dans ma tête
Shyrka973 Posté(e) le 22 mai 2014 Auteur Signaler Posté(e) le 22 mai 2014 J'ai créé cette scène assez simple: --[[ %% properties %% globals --]] local count = 0; while true do count = count + 1; fibaro:debug(os.date("%x") .. ": " .. count) fibaro:sleep(60 * 1000); end Elle boucle indéfiniment en affichant un compteur avec une pause d'une minute à chaque itération. Elle ne devrait jamais s'arrêter en principe.
Krikroff Posté(e) le 22 mai 2014 Signaler Posté(e) le 22 mai 2014 Est-ce que la case "Do not allow alarm to stop scene while alarm is running" est bien cochée ? Tu peux ajouter ceci en début de script pour savoir exactement quand le script a démarré et éviter les instances multiples de ta scène pour raison X ou Y... fibaro:debug("HC2 start script at " .. os.date()); if (fibaro:countScenes() > 1) then fibaro:debug("Script already running."); fibaro:abort(); end Mais oui cette scène ne devrait jamais s'arrêter en principe. Ce n'est pas le cas ?
Shyrka973 Posté(e) le 22 mai 2014 Auteur Signaler Posté(e) le 22 mai 2014 La case est bien cochée. Merci Krikroff. Le script devient donc: --[[ %% properties %% globals --]] fibaro:debug("HC2 start script at " .. os.date()); if (fibaro:countScenes() > 1) then fibaro:debug("Script already running."); fibaro:abort(); end local count = 0; while true do count = count + 1; fibaro:debug(os.date("%x") .. ": " .. count) fibaro:sleep(60 * 1000); end Le bouton bleu "Désactiver" se trouvant sous le fenêtre debug désactive le script en question mais redémarre tous les scripts. Il ne faut pas que je touche à cette scène pendant un bon moment si je veux constater son arrêt. Je le surveille et je vous tiens au courant.
Shyrka973 Posté(e) le 22 mai 2014 Auteur Signaler Posté(e) le 22 mai 2014 Krikroff, peux-tu me confirmer ceci ? J'ai trois boutons au dessus de la fenêtre "Debug": "Démarrer", "Arrêter" et "Nettoyer". "Démarrer" démarre la scène. "Arrêter" arrête la scène même si elle fait une boucle infinie avec "while do done". "Nettoyer" efface le fenêtre "Debug". C'est exact ?
Shyrka973 Posté(e) le 22 mai 2014 Auteur Signaler Posté(e) le 22 mai 2014 Désolé pour cette question stupide car c'est exactement ça
Shyrka973 Posté(e) le 23 mai 2014 Auteur Signaler Posté(e) le 23 mai 2014 Le "Main Loop" de mon module virtuel Karotz s'est arrêté en moins de 24h. Je rappelle que ce "Main Loop" fait un ping du Karotz toutes les 30s. La scène GEA (v3.21) et ma scène "Test Boucle Infinie" fonctionnent depuis 1395mn.
Krikroff Posté(e) le 23 mai 2014 Signaler Posté(e) le 23 mai 2014 Cherche pas c'est le Karotz qui ne doit pas répondre correctement a un moment et bloquer Net.FHttp et le mainloop plante, le problème que nous rencontrons tous avec la couche Net. du HC2 . Change le ping à 120s cela peut aider, voir si le script "catch" bien toutes les éventuelles erreurs aussi... Donc le problème est avec les VD et pas les scènes ...
Shyrka973 Posté(e) le 23 mai 2014 Auteur Signaler Posté(e) le 23 mai 2014 Le Karotz (sous openKarotz) est connecté en filaire depuis une semaine car il y avait trop déconnexion en Wifi. Maintenant, son interface est toujours accessible quelque soit les moments de la journée. Je passe le ping à120s. Maintenant qu'il est toujours accessible, je n'ai plus besoin de ce "Main Loop" mais je le garde car le fait qu'il plante tout seul m'intrigue.
Messages recommandés