Aller au contenu
Lazer

Watchdog Pour Scènes Et Modules Virtuels

Recommended Posts

Ce qui me surprend c'est que la ligne incriminée ne contient pas de IF alors que dans ton précédent message tu notais :

 

[ Vacances=0 ] !!! ERREUR !!! : vérification (ID: 126) [VirtualDevice,482,19] [If..]

 

Et je vois bien un petit [If...] à la fin.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je me suis fait la même remarque.... étrange, d'autant plus que je n'utilise plus un seul IF depuis très longtemps (tu avais dit qu'il ne fallait plus l'utiliser), je viens de vérifier, dans mes 156 lignes.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as quel version ?

Partager ce message


Lien à poster
Partager sur d’autres sites

5.40

Je sais, ce n'est pas la toute dernière

Faudrait que je teste avec une version plus récente, mais je ne sais pas où en est @Pepite de sa nouvelle version ?

 

De plus, @jmg38 et @Sakkhho ont le même comportement que moi, je ne sais pas quelle versions ils ont.

Partager ce message


Lien à poster
Partager sur d’autres sites


@Lazer, je peux t'envoyer une version en MP, qui est définitive si tu veux pour tester mais à la mode codage d'origine de @Steven. J'attends des news de @tibahut qui a fait quelques modifications sur sa version. A priori je n'ai pas été un super disciple du code de @tibahut ;-), j'ai fait quelques boulettes ;-)

Je ne pense pas que cela change quelquechose sur les plantages de GEA avec ma version, je n'ai fait que rajouter des fonctionnalités "piloté" par le master. Je n'ai pas touché au coeur de GEA. en tout cas, elle tourne ;-) ..


@971jmd a testé les CentralSceneevent, j'ai testé avec ce que j'avais en module, @tibahut aussi. Ca devrait etre bon.

 

 

 

GEA_test_pepite_version_Steven.lua

Modifié par pepite
MP inutile, pas un secret ;-)
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci d'éviter les secrets     ;-)

Donc c'est quelle version exactement

Car le code indique toujours vers "5.40"

Le code a été amélioré?

 

Modifié par kioneoranga

Partager ce message


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

5.40

Je sais, ce n'est pas la toute dernière

Faudrait que je teste avec une version plus récente, mais je ne sais pas où en est @Pepite de sa nouvelle version ?

 

De plus, @jmg38 et @Sakkhho ont le même comportement que moi, je ne sais pas quelle versions ils ont.

 

5.40 orignal @Steven

j'ai pas fait les modifs des jeunes padawan

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour ma part j'ai une version de GEA PROD 5.42. Ce qui est bizarre c'est que j'ai retiré une scène concernant la gestion de la lumière de la cuisine qui me semblait en cause et que j'ai remis cette m^me scène sur mon GEA test  5.42 et sans crash depuis. Les deux GEA tournent sans plus aucun Pb!

Partager ce message


Lien à poster
Partager sur d’autres sites

et à propos des "if"

 

j'ai jamais mis de IF dans GEA car quand j'ai implémenter le code @Steven avait déjà changer la façon de faire.

mais en revanche dans le log j'ai des if partout .....

 

  • [DEBUG] 08:55:01: [ 147 | n/a ] Add Property : ajout de la tache pour lancement instantané (ID:119) [Armed] [turnOn,248] [Repeat] [If..]

     

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai tenté de réactiver le watchdog pour voir,

il me relance mes VD Sonos, Roomba etc... sans vraiment de raison

bizarre tout ça 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Pepite : je vais attendre avec ma version actuelle, la 5.40, le prochain plantage, pour voir si ça plante exactement sur la même ligne ou si c'est aléatoire.

Ensuite, j'essaierai avec ta version en cours de développement et j'attendrai à nouveau pour voir si le problème se produit toujours.

 

@Sakkhho là tu dois avoir un autre problème.... regarde dans le debug du Watchdog il dois te dire pourquoi il veut tout redémarrer.

Partager ce message


Lien à poster
Partager sur d’autres sites

ben ca marchait très bien depuis plusieurs mois avec le watchdog ON et les mêmes VD.

et depuis en qq jours... ça plante pas mal alors que tout tourne.

Si je desactive le WD (pour éviter les messages et tentative de redemarrage), j'ai pas de soucis particulier avec ma box et les VD...

 

je vais le remettre et copier coller les debug

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, j'ai compris :)

 

Je ne sais pas pourquoi GEA plante, cela reste un mystère.

 

Par contre j'ai compris pourquoi l'enregistrement de la scène GEA, que ça soit via l'interface Web ou via le Watchdog (pour rappel, c'est exactement pareil, puisque les 2 utilisent la même API HTTP), ne redémarre pas GEA.

Ce n'est pas un bug de l'API comme je le pensais, et en fait c'est même plutôt malin de la part de Fibaro (comme quoi !) :

- si le code LUA de la scène n'est pas modifié, lors de l'enregistrement, la HC2 le détecte et ne réenregistre pas la scène, par conséquent cela limite les écritures dans la DB, et l'instance n'est pas redémarrée (cela se voit au niveau Linux car le Process ID est toujours le même)

- tandis que si le code LUA est modifié, ne serait-ce que d'un seul caractère (un espace, un saut de ligne, etc), alors la scène est réenregistrée, et le process (et donc l'instance Autostart) sont effectivement redémarrées.

 

Il me semble bien que mprinfo m'avais dit qu'ils avaient mis en œuvre le même genre d'astuce pour l'enregistrement des variables globales.

 

Bref, c'est très bien tout ça, il fallait juste le savoir et le découvrir, ce qui aurait été plus facile si Fibaro publiait les changelogs complets des firmwares et pas seulement des bribes....

 

Le workaround du watchdog sera très simple : j'ajouterai un saut de ligne à la fin de la scène avant de la réenregistrer, ce qui aura pour effet de redémarrer l'instance Autostart proprement, comme avant.

 

Il faut que je code et que je teste ça.

  • Upvote 4

Partager ce message


Lien à poster
Partager sur d’autres sites
Bon, j'ai compris
 
Je ne sais pas pourquoi GEA plante, cela reste un mystère.
 
Par contre j'ai compris pourquoi l'enregistrement de la scène GEA, que ça soit via l'interface Web ou via le Watchdog (pour rappel, c'est exactement pareil, puisque les 2 utilisent la même API HTTP), ne redémarre pas GEA.
Ce n'est pas un bug de l'API comme je le pensais, et en fait c'est même plutôt malin de la part de Fibaro (comme quoi !) :
- si le code LUA de la scène n'est pas modifié, lors de l'enregistrement, la HC2 le détecte et ne réenregistre pas la scène, par conséquent cela limite les écritures dans la DB, et l'instance n'est pas redémarrée (cela se voit au niveau Linux car le Process ID est toujours le même)
- tandis que si le code LUA est modifié, ne serait-ce que d'un seul caractère (un espace, un saut de ligne, etc), alors la scène est réenregistrée, et le process (et donc l'instance Autostart) sont effectivement redémarrées.
 
Il me semble bien que mprinfo m'avais dit qu'ils avaient mis en œuvre le même genre d'astuce pour l'enregistrement des variables globales.
 
Bref, c'est très bien tout ça, il fallait juste le savoir et le découvrir, ce qui aurait été plus facile si Fibaro publiait les changelogs complets des firmwares et pas seulement des bribes....
 
Le workaround du watchdog sera très simple : j'ajouterai un saut de ligne à la fin de la scène avant de la réenregistrer, ce qui aura pour effet de redémarrer l'instance Autostart proprement, comme avant.
 
Il faut que je code et que je teste ça.


Lazer rhyme avec expert!
Yeeeessssss


Envoyé de mon ONE A2003 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer, pustule chez Fibaro pour la place de directeur du Dev ou ou R&D :13:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 ou légendaire. :60:

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Well done @Lazer, fallait le repérer le proche qui ne change pas ;-) ..root root :-). merci beaucoup pour ce que tu fais.Merci

 

Effectivement, énorme mystère notre GEA qui plante..

 

Yes, workaround easy ;-) pour la relance par le watchdog. 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je pensais que c'était normale les "IF".

je n'en ai plus un seul depuis que @Steven les a déconseillés et pourtant j'ai plein de ce genre de lignes dans la fenêtre débug.


[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : traitement des actions (ID:147) [Global,Mem_R2,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R2,Vide (ID:147) [Global,Mem_R2,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:147) [Global,Mem_R2,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : traitement des actions (ID:156) [Global,Mem_R3,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R3,Vide (ID:156) [Global,Mem_R3,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:156) [Global,Mem_R3,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : traitement des actions (ID:165) [Global,Mem_R5,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R5,Vide (ID:165) [Global,Mem_R5,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:165) [Global,Mem_R5,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : traitement des actions (ID:174) [Global,Mem_R6,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R6,Vide (ID:174) [Global,Mem_R6,Vide] [If..]
[DEBUG] 13:57:39: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:174) [Global,Mem_R6,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : traitement des actions (ID:183) [Global,Mem_R7,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R7,Vide (ID:183) [Global,Mem_R7,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:183) [Global,Mem_R7,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : traitement des actions (ID:192) [Global,Mem_R8,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R8,Vide (ID:192) [Global,Mem_R8,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:192) [Global,Mem_R8,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : traitement des actions (ID:201) [Global,Mem_R9,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R9,Vide (ID:201) [Global,Mem_R9,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:201) [Global,Mem_R9,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : traitement des actions (ID:210) [Global,Mem_R11,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] sendActions : !ACTION! : setGlobal Mem_R11,Vide (ID:210) [Global,Mem_R11,Vide] [If..]
[DEBUG] 13:57:40: [ Chauffage=OFF ] Done : tache effectuée et suspendue (ID:210) [Global,Mem_R11,Vide] [If..]
[DEBUG] 14:00:18: GEA Version 5.40 : en exécution...
[DEBUG] 14:00:18: En cours : aucun traitement a effectuer pour l'ID:170

 

j'ai le même soucis que vous, Wd n'arrive pas à redémarrer GEA et GEA n'est pas planté mais ne fais plus rien.

Modifié par Fredric

Partager ce message


Lien à poster
Partager sur d’autres sites

Je m'auto corrige... les IF sont normaux, dans l'affichage du debug les conditions multiples sont transformé en [IF...] (c'est historique) et donc normal de les voir apparaitres.

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fredric, hihi t'as failli être le vainqueur du jour avec le copier coller de ton début qui fait la taille de mon avant-bras ;-). 

 

:60:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

:2: oups, j'avais pas vu, je vouais que la fin ^_^

Partager ce message


Lien à poster
Partager sur d’autres sites

Forcément, depuis que j'ai codé le patch pour le watchdog, GEA ne plante plus :P

Je laisse encore un peu tourner, et je vous partage cela demain soir normalement (et pour une fois, j'espère que GEA plantera demain....)

Partager ce message


Lien à poster
Partager sur d’autres sites

tu mets un petit code dans GEA pour le forcer à planter

Partager ce message


Lien à poster
Partager sur d’autres sites

Impossible, car personne, pas même Steven, n'a compris où se situe le bug dans GEA, donc impossible à reproduire. Tout ce que l'on sait pour l'instant, c'est qu'il s'arrête de fonctionner mais que l'instance continue de tourner.

 

J'ai bien fait d'autre test pour planter GEA, mais ça ne représente pas la même situation que celle que l'on est plusieurs à rencontrer depuis quelques temps et dont on parle ces 2 dernières pages.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir Lazer
Est il envisageable de tester une version bêta du workarround que tu as écrit ?

Envoyé de mon ONE A2003 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×