Aller au contenu
Lazer

Watchdog Pour Scènes Et Modules Virtuels

Recommended Posts

J'ai fait un script sur Syno qui tourne depuis plus de 2 mois, il faut que je fasse le tuto pour le forum.

 

PS @pepite il te FAUT un Syno ;)

 

  • Like 1
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 30 minutes, Lazer a dit :

il te FAUT un Syno

La il va vraiment falloir ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 6 heures, Lazer a dit :

J'ai fait un script sur Syno qui tourne depuis plus de 2 mois, il faut que je fasse le tuto pour le forum.

 

PS @pepite il te FAUT un Syno ;)

 

Il me tarde de voir ce nouveau tuto   :-)

Moi j'ai un syno :93:

Partager ce message


Lien à poster
Partager sur d’autres sites

oui mais tant que @pepite n'a pas de Syno, pas de tuto ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Je lui ai proposé le mien mais il est trop cher, ça lui a cloué la voix :P

Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer

j'ai un soucis avec ton Watchdog, je ne sais pas si c'est depuis la version V4.550, mais j'ai une erreur 404 dans le mainloop:

image.png.db48e1aad1258c715c4c20018e0fc637.png

J'ai tenté un arrêt / redémarrage de la scène, sans succès.........

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

T embetes pas, je l'ai aussi cette erreur et le Watchdog fonctionne Nickel

Envoyé de mon BND-L21 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, merci

Envoyé de mon SM-A530F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai pas regardé sur ma box, mais si tu actives le debug=true, tu vois plus d'infos ?

Partager ce message


Lien à poster
Partager sur d’autres sites

(****toujours aussi pénibles à copier ces debugs****)

 

Voici ce que j'ai:

 

[DEBUG] 14:25:30: Watchdog instance manual launch
[DEBUG] 14:25:30: Check
[DEBUG] 14:25:30: Check : type=VD id=644
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/644/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=787
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/787/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=755
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/755/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=771
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/771/debugMessages/0
[DEBUG] 14:25:30: Check : type=Scene id=597
[DEBUG] 14:25:30: Scene(597) 1 running instance
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/scenes/597/debugMessages
[DEBUG] 14:25:30: Check : type=Scene id=605
[DEBUG] 14:25:30: Scene(605) 1 running instance
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/scenes/605/debugMessages
[DEBUG] 14:25:30: Check : type=VD id=597
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/597/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=605
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/605/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=723
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/723/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=710
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/710/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=865
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/865/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=864
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/864/debugMessages/0
[DEBUG] 14:25:30: Check : type=VD id=876
[DEBUG] 14:25:30: http://127.0.0.1:11111/api/virtualDevices/876/debugMessages/0
[DEBUG] 14:25:30: Error : status=404
[DEBUG] 14:25:30: Scene(597) oldest debug timestamp more recent than interval
[DEBUG] 14:25:30: Scene(605) Found string "Température"
[DEBUG] 14:25:30: VD(710) Found string "VMC"
[DEBUG] 14:25:30: VD(864) Found string "Horaires"
[DEBUG] 14:25:30: VD(864) Found string "Horaires"
[DEBUG] 14:25:30: VD(864) Found string "Horaires"
[DEBUG] 14:25:30: VD(864) Found string "Horaires"
[DEBUG] 14:25:30: VD(864) Found string "Horaires"
[DEBUG] 14:25:30: VD(865) Found string "Horaires"
[DEBUG] 14:25:30: VD(865) Found string "Horaires"
[DEBUG] 14:25:30: VD(865) Found string "Horaires"
[DEBUG] 14:25:30: VD(865) Found string "Horaires"
[DEBUG] 14:25:30: VD(865) Found string "Horaires"

Partager ce message


Lien à poster
Partager sur d’autres sites

876 = VD Weatherbit............ Je ne comprend pas pourquoi celui là retourne un 404......

Partager ce message


Lien à poster
Partager sur d’autres sites

Etrange.... je suppose que ton ID 876 existe toujours du coup, puisque tu dis que c'est celui de Weatherbit

 

Et il y a des messages dans la Mainloop de ce VD ? Ou elle est vide ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai fait quelques manip'...

Tu as raison, il surveillait un VD qui n'existait plus.... le YAMSWU ;)

J'ai cherché un moment, en grisant des lignes... en fait l'erreur 404 ne tombe pas dans le log à la suite du défaut, mais en décalé (comme souvent avec les requête HTTP).

Pas de bug sur la machine, le bug c'est moi :2:

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah je comprends mieux, et tout devient logique, car 404 correspond à une page non trouvée, donc un ID de VD dans l'URL qui n'existe plus.

 

Pour le coup des logs décalés, c'est embêtant pour le débugging, mais c'est une conséquence du fonctionnement du LUA en asynchrone dans les scènes.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour,

T embetes pas, je l'ai aussi cette erreur et le Watchdog fonctionne Nickel

Envoyé de mon BND-L21 en utilisant Tapatalk


Je t'encourage à regarder si ton watchdog ne surveille pas des lignes pour rien

Envoyé de mon SM-A530F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Suis un bug a moi tout seul :-) on le sait bien.
J avais déjà fait le ménage, je vais refaire un tour.

Envoyé de mon BND-L21 en utilisant Tapatalk

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

est-ce que le wtachdog peut aussi vérifier le code des boutons des VD ? Il fut un temps où il était conseillé de ne pas mettre le code dans la main loop, raison pour laquelle tout mon code est dans les boutons...

 

Merci

 

Thierry

Partager ce message


Lien à poster
Partager sur d’autres sites

Cela serait possible en modifiant le code, mais ce n'est actuellement pas possible..... car c'est à mon avis inutile.

Même si un bouton plante, ce n'est pas bien grave puisque le code d'un bouton n'est jamais censé tourner en boucle (contrairement à la main loop d'un VD, ou à une scène)

Donc le Watchdog n'aurait tout simplement rien à redémarrer.

 

Le seul intérêt qu'on pourrait éventuellement y trouver, c'est de prévenir l'utilisateur si le code LUA d'un bouton plante, donc un simple rôle de monitoring.

Cela dit, si ça arrive régulièrement, c'est plutôt une erreur d'interface chaise-clavier et qu'il vaut mieux commencer par débugguer le code plutôt que de faire confiance au watchdog.... (celui-ci n'est là que pour nous sauver des plantages exceptionnels)

Si le code d'un bouton plante de manière exceptionnelle, ce n'est pas gênant, puis qu'il sera ré-exécuté la prochaine fois qu'il sera cliqué (manuellement par l'utilisateur, ou automatiquement depuis la Main Loop ou une scène)

Partager ce message


Lien à poster
Partager sur d’autres sites

@tcheri Si vous en avez vraiment besoin at si toujours à jour, petite modification pour redémarrage du bouton avec error:

1. si vous devez vérifier un bouton spécifique, la ligne de VD a l'option ajoutée: vd_button  avec le numéro du bouton pour vérifier

{type = "VD",    id =1151, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"email", "SQLLOG"}, vd_button ="23"},

2. modification de code:

À la place de la lignes (position env. line 236):

			if watchdog[i].type:lower() == "scene" then
				getURL = "http://127.0.0.1:11111/api/scenes/"..watchdog[i].id.."/debugMessages"
			elseif watchdog[i].type:lower() == "vd" then
        if watchdog[i].vd_button == nil then watchdog[i].vd_button="0" end
				getURL = "http://127.0.0.1:11111/api/virtualDevices/"..watchdog[i].id.."/debugMessages/0"
     	
			else
				Message("red", "Error : unknown type value")
			end

insérer le code:

			if watchdog[i].type:lower() == "scene" then
				getURL = "http://127.0.0.1:11111/api/scenes/"..watchdog[i].id.."/debugMessages"
			elseif watchdog[i].type:lower() == "vd" then
        if watchdog[i].vd_button == nil then watchdog[i].vd_button="0" end
				getURL = "http://127.0.0.1:11111/api/virtualDevices/"..watchdog[i].id.."/debugMessages/"..watchdog[i].vd_button
     	
			else
				Message("red", "Error : unknown type value")
			end

 

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Et encore mon ancienne modification, une petite pour indique quel VD ou scene vérifié par watchdog n'existe pas:

Message("red", "Error : status=" .. tostring(response.status)..", when check: "..watchdog[i].type ..watchdog[i].id)

en place du code:

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

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×