Aller au contenu
Lazer

Watchdog Pour Scènes Et Modules Virtuels

Recommended Posts

pour moi, le watchdog déconne depuis la 4.1...

 

voici le log:

[DEBUG] 07:41:21: Check
[DEBUG] 07:42:21: Check
[DEBUG] 07:43:21: Check
[DEBUG] 07:44:22: Check
[DEBUG] 07:45:22: Check
[DEBUG] 07:45:22: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:45:22: Restart Scene(74)
[DEBUG] 07:45:23: Scene(74) successfully restarted
[DEBUG] 07:45:23: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:46:22: Check
[DEBUG] 07:46:23: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:46:23: Restart Scene(74)
[DEBUG] 07:46:23: Scene(74) successfully restarted
[DEBUG] 07:46:23: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:47:23: Check
[DEBUG] 07:47:23: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:47:23: Restart Scene(74)
[DEBUG] 07:47:23: Scene(74) successfully restarted
[DEBUG] 07:47:23: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:48:23: Check
[DEBUG] 07:48:23: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:48:23: Restart Scene(74)
[DEBUG] 07:48:24: Scene(74) successfully restarted
[DEBUG] 07:48:24: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:49:23: Check
[DEBUG] 07:49:24: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:49:24: Restart Scene(74)
[DEBUG] 07:49:24: Scene(74) successfully restarted
[DEBUG] 07:49:24: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:50:23: Check
[DEBUG] 07:50:24: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:50:24: Restart Scene(74)
[DEBUG] 07:50:24: Scene(74) successfully restarted
[DEBUG] 07:50:24: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:51:24: Check
[DEBUG] 07:51:24: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:51:24: Restart Scene(74)
[DEBUG] 07:51:25: Scene(74) successfully restarted
[DEBUG] 07:51:25: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:52:24: Check
[DEBUG] 07:52:25: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:52:25: Restart Scene(74)
[DEBUG] 07:52:25: Scene(74) successfully restarted
[DEBUG] 07:52:25: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:53:24: Check
[DEBUG] 07:53:25: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:53:25: Restart Scene(74)
[DEBUG] 07:53:25: Scene(74) successfully restarted
[DEBUG] 07:53:25: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:54:25: Check
[DEBUG] 07:54:25: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:54:25: Restart Scene(74)
[DEBUG] 07:54:26: Scene(74) successfully restarted
[DEBUG] 07:54:26: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:55:25: Check
[DEBUG] 07:55:25: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:55:26: Restart Scene(74)
[DEBUG] 07:55:26: Scene(74) successfully restarted
[DEBUG] 07:55:26: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:56:25: Check
[DEBUG] 07:56:26: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:56:26: Restart Scene(74)
[DEBUG] 07:56:26: Scene(74) successfully restarted
[DEBUG] 07:56:26: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:57:26: Check
[DEBUG] 07:57:26: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:57:26: Restart Scene(74)
[DEBUG] 07:57:27: Scene(74) successfully restarted
[DEBUG] 07:57:27: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:58:26: Check
[DEBUG] 07:58:26: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:58:26: Restart Scene(74)
[DEBUG] 07:58:27: Scene(74) successfully restarted
[DEBUG] 07:58:27: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 07:59:26: Check
[DEBUG] 07:59:27: Scene(74) String "Durée des traitements" not found
[DEBUG] 07:59:27: Restart Scene(74)
[DEBUG] 07:59:27: Scene(74) successfully restarted
[DEBUG] 07:59:27: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 08:00:27: Check
[DEBUG] 08:01:27: Check
[DEBUG] 08:02:27: Check
[DEBUG] 08:03:27: Check
[DEBUG] 08:04:28: Check
[DEBUG] 08:05:28: Check
[DEBUG] 08:06:28: Check
[DEBUG] 08:07:29: Check
[DEBUG] 08:08:29: Check
[DEBUG] 08:09:29: Check
[DEBUG] 08:10:30: Check
[DEBUG] 08:11:30: Check
[DEBUG] 08:11:30: Scene(74) String "Durée des traitements" not found
[DEBUG] 08:11:30: Restart Scene(74)
[DEBUG] 08:11:31: Scene(74) successfully restarted
[DEBUG] 08:11:31: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 08:12:30: Check
[DEBUG] 08:12:31: Scene(74) String "Durée des traitements" not found
[DEBUG] 08:12:31: Restart Scene(74)
[DEBUG] 08:12:31: Scene(74) successfully restarted
[DEBUG] 08:12:31: Notification : Scene "GEA V5 Instance 1" (74) a été redémarré
[DEBUG] 08:13:30: Check
[DEBUG] 08:13:31: Scene(74) String "Durée des traitements" not found
[DEBUG] 08:13:31: Restart Scene(74)
[DEBUG] 08:13:31: Scene(74) successfully restarted

150 restart cette nuit...

Mais en fait GEA tourne très bien apparemment et ... il ne fait pas les restart... ?!?

j'ai vérifié l'id de GEA, c'est la bonne...

une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

tout pareil pour moi, j'ai du désactiver watchdog (ça déconnait deja en 4.91)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bizarre, mon autre gea ne se fait pas restarter et je confirme que mon gea 74 fonctionne bien depuis que je l'ai enlevé du watchdog?!? Changement d'Api?

Sent from my Note4

Partager ce message


Lien à poster
Partager sur d’autres sites

Erreur pour moi aussi dans le debug : check et error status=404 àla meme heure ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

vos erreurs ne sont-elles pas liées au fait que lors des save des scènes (ce que fait le watchdog), il n'y a plus de restart ?

 

 

Vu que pour moi le redémarrage ne marchait plus non plus pour les scènes à  partir de la 4.091, j'ai juste adapté le code avec un stop et start.

 

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")
Encore merci pour cette scène qui m'a sauvé la mise plusieurs fois. Il ne me sert plus que pour la scène Netamo Welcome qui plante de temps en temps.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Jojo, je l'avais pas vue celle là.

Ça expliquerait que effectivement la scène gea ne redémarrait pas sous l'action du watchdog.

Par contre le watchdog la détectait aussi comme plantée alors qu'elle fonctionnait...

Sent from my Note4

Partager ce message


Lien à poster
Partager sur d’autres sites

tu comprends pourquoi mon passage en 4.100 a été très bref

Partager ce message


Lien à poster
Partager sur d’autres sites

moi je n'ai pas de souci pour le moment avec le watchdog, mais depuis 2 jours je n'ai pas eu de scène plantée.

Apparemment avec cette nouvelle version il faut modifier la méthode de redémarrage des scènes, la solution a été donnée par Titof_44 page précédente.

 

Je verrai bien lorsque j'aurai mon premier plantage de scène, mais depuis la v4.090 c'est devenu relativement stable, j'ai eu un seul plantage de GEA cet été, pas mal ! Et aucune autre scène.

 

J'ai pas trop envie de faire du LUA là , mais à  l'occasion je ferai des tests complets sur ma box de test.

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi j'ai plutot l'impression d'avoir l'erreur  du "else" du Load VD/Scene debug messages :

Message("red", "Error : status=" .. tostring(response.status))

et je ne comprends pas pourquoi :-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Après investigation, je pense que le bug depuis la 4.100 n'est pas dans le watchdog, mais dans l'API de la HC2.

 

En effet, prenons l'exemple de GEA, qui a obligatoirement une instance en AUTOSTART, et éventuellement des instances démarrées ponctuellement sur trigger.

- Je force le crash de GEA => résultat : 0 instance

- Le watchdog détecte le crash, tente de redémarrer la scène GEA (méthode du GET puis PUT, c'est à  dire chargement complet de la scène via l'API, puis sauvegarde telle quelle)

 => bien que le code retour soit 200 (=OK), la box en fait rien, la scène GEA ne redémarre pas.

- en boucle, le watchdog détecte la panne mais est incapable de redémarrer la scène

 

J'ai tente la méthode de Titof_44 page précédente sans succès :

- cela démarre une nouvelle instance de la scène, sur "trigger manuel", ce qui fait toute la différence. Pour GEA ce n'est pas du autostart, donc la boucle infinie de GEA ne se remet jamais en marche

 

Sur l'interface Web, je tente de démarrer manuelement la scène

=> comportement strictement identique à  la méthode de Titof.

 

Et c'est là  que ça devient le plus intéressant :

- sur l'interface Web, j'ouvre la scène GEA, et je tente de la sauvegarder (méthode du GET et PUT utilisé par mon watchdog... je n'ai rien inventé, j'ai pompé la méthode officielle utilisée par Fibaro depuis toujours)

=> Il ne se passe rien !!!! La scène GEA ne redémarre pas !!!

 

=> Obligé de rebooter la box pour redémarrer une scène plantée.

 

On dit merci qui ?

=> Fibaro :P

  • Upvote 4

Partager ce message


Lien à poster
Partager sur d’autres sites

et merci @Lazer d'avoir pris le temps de faire tous ces tests et de tout nous avoir expliqué en détail.

 

Je suis réconforté dans l'idée que j'ai bien fait de revenir vite fait en v4.090

Partager ce message


Lien à poster
Partager sur d’autres sites

Je tente la remonté chez Fibaro. On est d'accord, c'est depuis la 4.090.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut lazer,

Ces derniers jours j'ai.pas mal travaillé sur gea et autres VD.

J'ai bien sûr fait des erreurs de syntaxes et fait planter GEA.

Je corrigerais, puis save et ça repartait.

Concernant l'autostart de Gea, j'ai essayé et c'est effectivement obligatoire, je pensais que c'était uniquement pour lancer la scène au démarrage de la hc2. Que la scène serait triggered par un device et lancerait une instance et continuerais àtourner ensuite.

Quel type de plantage créé tu ? Un mauvais id ?

Sent from my Note4

Partager ce message


Lien à poster
Partager sur d’autres sites

à  la réflexion, j'ai l'impression que c'est une des commande via l'api qui mettait une scène dans cet état non restartable, j'ai bien travaillé sur mon gea ces derniers jours et  avec le watchdog désactivé pour cette scène, je n'ai jamais dà» rebooter même après de multiples erreurs.


Je pense donc que c'est leur fonction API "save" qui déconne et fout le bouzouf.


 


Bon, je viens de tester en créant une erreur de syntaxe, et le watchdog à  bien redémaré ma scène après 15 minutes (qui a re-planté), j'ai ensuite corrigé l'erreur, fait save et c'est reparti...


Jen 'ai donc pas réussi à  reproduire l'erreur que j'avais eu le jour de la migration mais qui là  était un plantage non dà» à  une erreur de syntaxe.


Je dirais donc que le save ne fonctionne pas suite à  ce type d'erreur, difficilement reproductible car ça n'arrive que occasionnellement...


Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer, je veux bien aussi tester, mais pour essayer d'etre au plus proche de tes tests, comment as-tu créé le plantage ?

 

Ah, je viens de voir que @seb demande la meme chose ;-)

désolé

Partager ce message


Lien à poster
Partager sur d’autres sites

voilà , j'ai le bug, gea qui déconne et un save manuel n'a plus d'effet -> reboot nécessaire.

Je pense que c'est la méthode API invoquée par le watchdog qui bugge et induit ce symptôme.

 

les save continuent de fonctionner dans les autres scènes et VD mais plus dans le GEA planté

sur le module j'ai runing instances:0 en gris puis ça disparaît

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai provoqué le plantage violemment par un kill sous Linux... car ce que je veux, c'est reproduire le cas qui se produit aléatoirement : les process qui crashent sans explication visible. Le kill permet de reproduire la même chose.

Cela se traduit dans le debug de la scène (ou du VD) par un arrêt subit des messages, sans aucun message d'erreur.

 

Ce n'est donc pas du tout une erreur LUA, qui lui au contraire, affiche bien une erreur très claire dans le Debug.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi, quand GEA était planté, il continuait àexécuter certaines choses, toutes celles qui n'était pas lié àdes timestamp...

Partager ce message


Lien à poster
Partager sur d’autres sites

oui normal Nico
Tout ce qui est trigger déclenche des nouvelles instances de la scène.

 

C'est juste l'instance en Autostart qui pose problème. Dans le cas que je décris, lorsqu'elle est plantée, impossible de la redémarrer autrement qu'en rebootant la box.

Visiblement un bug qui se situe dans la fonction "save" de la scène (le fameux PUT effectué au travers de l'API http)

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

ce que j'ai fait pour que les scenes même autostart redémarre, c'est peut-être moche mais ca marche pour moi !  ;)

function Restart2(type, id, restart, notification)
  	Message("blue", 'Restart2 '..type..'('..id..')')
	local httpClient = net.HTTPClient()
  	httpClient:request("http://127.0.0.1:11111/api/sceneControl?id="..id.."&action=stop")
	Message("green", type.."("..id..") successfully stop")
	fibaro:sleep(1000)
  	httpClient:request("http://127.0.0.1:11111/api/sceneControl?id="..id.."&action=start")
	Message("green", type.."("..id..") successfully restarted")
end

et dans le code de la fonction restart avant le save

...
	if restart and restart == true then
       		if type:lower() == "scene" then
       			Restart2(type, id, restart, notification)
       		end
		-- Save VD/Scene

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Plantage de GEA ce matin.

Comme prévu à  cause du nouveau bug de la 4.100, le watchdog n'a pas pu redémarrer GEA et j'ai reçu plus de 50 notifications+Mail+SMS avant de pouvoir me connecter à  la box et la rebooter.

 

@Nico : ce bug a bien été remonté sur le forum officiel ? Ils en disent quoi, ils ont pu le reproduire et ils vont le corriger ?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Idem, comme écris sur le fil du forum, un save ne sais pas récupérer mon gea.

J'avais désactivé le watchdog pour gea, donc ce n'est pas l'essai de redémarrer la scène via l'api qui crée ce comportement.

Sent from my Note4

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer, @nico ne réponds pas pcq il reste Jeedom pour le moment ;-)

Sent from my Note4

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien ici on aime notre box fibaro, pour faire de la publicité pour jeedom il y a un topic pour cela :D :D :D

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×