Lazer Posté(e) le 20 février 2017 Signaler Posté(e) le 20 février 2017 la seule solution que je connaisse est le reboot de la box. Pour plus d'infos, regarde le topic du watchdog, on en a parlé pas mal il y a quelques temps. Je crois que @Sebcbien avait fait des tests poussés. EDIT : le bug dont je parle, c'est que quand l'instance d'une scène démarrée automatiquement (AUTOSTART) plante, alors il est impossible de la redémarrer autrement qu'en rebootant la box. Cela ne concerne pas les autres instances de la scène, démarrées Manuellement ou sur Trigger.
pepite Posté(e) le 20 février 2017 Signaler Posté(e) le 20 février 2017 Ce qui fonctionne avec le Waychdog pour l'autostart, on en parle dans le topic de@Lazer c'est Titof je crois, avec un Stop, Start c'est OK. Testé chez moi, ca relance ma scène GEA sans souci
MAM78 Posté(e) le 20 février 2017 Auteur Signaler Posté(e) le 20 février 2017 (modifié) J'ai retravaillé le scène en corrigeant la structure de la requête afin qu'elle ressemble à ça : http:request(query, { success = function(p) -- traitement des données end, error = function(err) -- traitement des erreurs end, options = { method = 'GET', headers = {["Content-Type"] = "application/json"}, data = body} }) et surtout en veillant de bien mettre une virgule après les "end," de chaque sections (success et error) de la requête. Du coup, j'ai beaucoup moins de plantage, mais il y en a encore quand-même C'est curieux que cela a une influence sur la fréquence des plantage. J'ai l'impression que le problème des ces plantages soit lié à la structure de la requête. Pourriez-vous m'indiquer quelle est la façon de structurer cette requête ? Voici la dernière version de la scène : HC2 Waze Calculator Scene Itinéraire 3 V1.1.4.LUA Modifié le 20 février 2017 par MAM78
MAM78 Posté(e) le 20 février 2017 Auteur Signaler Posté(e) le 20 février 2017 Effectivement lorsque la scène est plantée le Stop/Start ou la sauvegarde de la scène fonctionne bien manuellement. Par contre en automatique via Watchdog, il indique bien la détection du plantage et le redémarrage de la scène (voir ci-dessous), sauf qu'il n'y arrive pas malgré que que la scène soit en mode lancement manuel. [DEBUG] 20:27:12: Check : type=Scene id=18 [DEBUG] 20:27:12: Scene(18) 0 running instance [DEBUG] 20:27:12: Restart Scene(18) [DEBUG] 20:27:12: Scene(18) successfully restarted [DEBUG] 20:27:12: Notification : Watchdog : Scene "Waze Calculator Itin" (18) a été redémarré Est-ce qu'il existe une possibilité de faire Stop/Start via WatchDog lorsqu'il détecte que la scène est plantée ?
pepite Posté(e) le 20 février 2017 Signaler Posté(e) le 20 février 2017 Oui va voir le topic watchdog. Titof a donne la fonction, dans mes souvenirs c'est function restart2. A rajoute ds le codedu watchdog. Ce qui est bizarre c'est que j'utilise l'original Waze et aucun plantage
MAM78 Posté(e) le 20 février 2017 Auteur Signaler Posté(e) le 20 février 2017 (modifié) il y a 8 minutes, pepite a dit : Oui va voir le topic watchdog. Titof a donne la fonction, dans mes souvenirs c'est function restart2. A rajoute ds le codedu watchdog. Ce qui est bizarre c'est que j'utilise l'original Waze et aucun plantage Tu veux dire que chez toi lorsque la scène plante elle est relancée automatiquement par Watchdog ? En attendant, tu devrais prendre la nouvelle version, elle plante beaucoup moins Attention de bien ajouter les nouvelles variables dans la partie Users Data Modifié le 20 février 2017 par MAM78
Sakkhho Posté(e) le 20 février 2017 Signaler Posté(e) le 20 février 2017 Non il veut dire qu il y a une autre méthode pour redémarrer une scène
MAM78 Posté(e) le 20 février 2017 Auteur Signaler Posté(e) le 20 février 2017 (modifié) J'ai bien trouvé le post de Tito au sujet du Stop/Start https://www.domotique-fibaro.fr/topic/6472-watchdog-pour-scã¨nes-et-modules-virtuels/?do=findComment&comment=138797 httpClient:request("http://127.0.0.1:11111/api/sceneControl?id="..id.."&action=stop") fibaro:sleep(1000) httpClient:request("http://127.0.0.1:11111/api/sceneControl?id="..id.."&action=start") Mais ou dois-je mettre ce bout de code ? Modifié le 20 février 2017 par MAM78
pepite Posté(e) le 21 février 2017 Signaler Posté(e) le 21 février 2017 Regarde page 13 :-) il a mis la fonction et ou mettre le code, fonction restart2. Si tu trouves pas je te mettrai le code de mon watchdog
MAM78 Posté(e) le 21 février 2017 Auteur Signaler Posté(e) le 21 février 2017 Merci, j'ai intégré, je vais laissé tourner pour attendre un prochain plantage. @Sakkhho pourrais-tu m'indiquer si tu as mis ma scène en manuel ou en automatique ?
Sakkhho Posté(e) le 22 février 2017 Signaler Posté(e) le 22 février 2017 J avais mis automatique. Je suis au US la. Je test en rentrant.
Steven Posté(e) le 23 février 2017 Signaler Posté(e) le 23 février 2017 p'tite question, un simple pcall() ne pourrait-il pas ignorer l'erreur jusqu'à la prochaine requête au lieu de planté le tout ? Exemple : setTimeout(function() pcall(function() GetWazeData(idx) end) end, params[idx].pollingMs)
MAM78 Posté(e) le 23 février 2017 Auteur Signaler Posté(e) le 23 février 2017 Désolé, mais là je suis un peu largué. Tu peux m'explique ce que fait le pcall. Je suis encore junior en LUA
MAM78 Posté(e) le 23 février 2017 Auteur Signaler Posté(e) le 23 février 2017 (modifié) Si j'ai bien compris la fonction pcall permet d'intercepter une erreur afin que celle-ci ne fasse pas planter la scène. J'ai intégré ta suggestion de la façon suivante. Est-ce que cela te semble correct. @Steven -- Polling setTimeout(function() local ok = pcall(function() GetWazeData(idx) end) if not(ok) then Debug("orange","Erreur dans le pooling de la recherche d'itinéraire") end end, params[idx].pollingMs) Est-ce qu'il faut faire le pcall sur la fonction GetWazeData ou sur l'instruction qui fait semble faire planter la scène, à savoir : http:request(query, { success = function(p) .... Modifié le 23 février 2017 par MAM78
Steven Posté(e) le 24 février 2017 Signaler Posté(e) le 24 février 2017 Laisse tomber le pcall() n'arrive pas traiter cette erreur, mon script, bien que protégé par le pcall, vient de planter.
MAM78 Posté(e) le 24 février 2017 Auteur Signaler Posté(e) le 24 février 2017 Idem, j'ai essayé que ce soit de façon globale sur la fonction GetWazeData ou que ce soit sur l'instruction http:request Ca gave vraiment ce bug. D'autant que je n'arrive pas à faire un stop/start automatique de ma scène avec le Wathdog.
Sakkhho Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 Hello De retour, quelle est la derniere version de la scene ? ca bug toujours ?
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 Salut @Sakkhho, Oui elle plante toujours et je n'arrive toujours pas à la relancer avec Watchdog Je n'ai pas essayé la beta 4.111 (j'ose pas pour le moment, certain ont eu des problèmes) notamment avec les nouvelles télécommandes KeyFob. Si tu l'as chargé, tu pourrais essayer STP ?
Sakkhho Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 non je mets rarement les betas ... @lazer peut peut être aider pour le watchdog ? pour faire un restart de la scene ?
Lazer Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 bah non, pour moi c'est un bug de l'API dans la HC2, comme déjà expliqué plein de fois, le watchdog ne peut rien y faire, car il se base sur cette API bugguée. Je n'ai jamais compris les quelques uns pour qui la méthode de contournement fonctionne chez eux, comme toujours avec Fibaro, personne n'a la même box !!!!!!
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 (modifié) J'ai déjà ajouté le code Stop/Start dans le WatchDog mais rien n'y fait. Ca ne veut pas redémarrer Modifié le 26 février 2017 par MAM78
Sakkhho Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 on peut faire un stop /start avec GEA alors ?
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 Moi, j'ai intégrer le code de @Titof_44 indiqué ci-dessous mais ça ne marche pas
Steven Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 Perso, j'utilise GEA qui refresh la scène toutes les 10mn ainsi si ça ce casse la figure, c'est pas grave, ça redémarrera dans 10mn.
Sakkhho Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 (modifié) via un restartscene ? ou scenario ? genre GEA.add(true, 10*60, "", {{"scenario", id["waze"]},{"Repeat"}}) tu peux poster ta ligne pour voir ? merci ! Modifié le 26 février 2017 par Sakkhho
Messages recommandés