jjacques68 Posté(e) le 10 avril 2024 Signaler Posté(e) le 10 avril 2024 Hello tout le monde ! j'espère que vous allez bien !! J'ai une petite question... Dans un QA, la fonction function QuickApp:onInit() s'exécute toujours bien au démarrage du QA ? ça n'a pas changé ? et donc... également au démarrage de la box ? Je demande car je constate que pour certain QA, il se comporte exactement comme il le faut lors du reboot d'un QA, mais PAS au démarrage de la box. Dans mon QA en question, les lignes de codes sont justes, ignorées !! Aucune trace dans les log, aucun message d'erreur. Je viens lire le contenu du variable et celle-ci n'est pas lue. Je répète, que ça arrive que au démarrage de la box... Si je redémarre le QA, il y a aucun problème. Vous avez une idée ? merci d'avance pour vos retours...
Lazer Posté(e) le 10 avril 2024 Signaler Posté(e) le 10 avril 2024 Il y a 1 heure, jjacques68 a dit : Je viens lire le contenu du variable et celle-ci n'est pas lue. Variable quoi ? Globale ? Du QuickApp ? Aucun souci de mon coté, d'ailleurs si c'était le cas je m'en rendrait rapidement compte, vu qu'aucun de mes QA ne fonctionneraient vu qu'ils démarrent tous à l'aide du onInit() Donc si tu parles de "variable", je suppose qu'il s'agit de globale, et peut être que tu y accèdes "trop top" après le reboot de la box.... je te suggère alors de tester avec un timeout.
jjacques68 Posté(e) le 11 avril 2024 Auteur Signaler Posté(e) le 11 avril 2024 (modifié) Oui j'ai pas précisé, je parle de variables du QA. Tous mes QA ont aussi du code dans le onInit(), tous fonctionnent à part 2 ?? Hier soir j'ai mis justement un timeout de 10 s dans un de ces 2. Et ce matin ça a bien démarré... Je faisais déjà ça avec les QA qui gère les socket TCP... étrange... C'est comme si au démarrage c'était mode panique Modifié le 11 avril 2024 par jjacques68
Lazer Posté(e) le 11 avril 2024 Signaler Posté(e) le 11 avril 2024 Je suppose que tout le système n'est pas encore parfaitement initialisé lors du démarrage des QA, donc dans certaines conditions, ça doit faire planter tes 2 QA... il faudrait identifier la commande dans ton onInit qui plante, en rajoutant un maximum de traces. 1
henri-allauch Posté(e) le 11 avril 2024 Signaler Posté(e) le 11 avril 2024 Rien constaté non plus au redémarrage des services hebdomadaire après la sauvegarde. Mais suite à une ancienne discussion (quand ma box rebooter seule) j'ai ajouté une tempo dans tous mes QA pour pouvoir choisir un ordre de démarrage -----------------------------------------------------------INIT----------------------------------------- function QuickApp:onInit() QuickApp._VERSION = "0.00" QuickApp._NAME = "LE QA" local TempoInit = tonumber (self:getVariable("V_TempoInit") ) or 0 fibaro.setTimeout(TempoInit*1000, function() MyInit(self,TempoInit) end) end -----------------------------------------------------------MyInit----------------------------------------- function MyInit(self,Tempo) self:trace("") self:trace(" - *** QuickApp " ..self._NAME .." - MyInit V: " .. (self._VERSION), "- Initialisation après temporisation de " ..Tempo .." secondes *** -") self:trace("") ... ... end 3
jjacques68 Posté(e) le 11 avril 2024 Auteur Signaler Posté(e) le 11 avril 2024 Il y a 9 heures, Lazer a dit : il faudrait identifier la commande dans ton onInit qui plante déjà ça, le bon vieux tag : __TAG = string.format("QA_%s_%s",self.id, self.name) Il y a 8 heures, henri-allauch a dit : local TempoInit = tonumber (self:getVariable("V_TempoInit") ) or 0 lire une variable ne passait déjà pas... comme tu as dit @henri-allauch, j'ai encapsulé les instructions dans un timeout... 1
Messages recommandés