Aller au contenu
neliger

Voir Si Une Lumière Est Allumée Et Tout Éteindre

Recommended Posts

Par exemple un sleep supérieur à40mn ou inférieur à30s a de forte chance de faire planté le mainloop. Pourquoi mystère

Envoyé de mon SM-G900F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@trainkill merci, je vais regarder ;-) avec ce code ;-)

je vais recup les icones ;-) d'abord lol

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est l'utilisation de json.decode dans le main loop qui plante. Le bug est connu depuis longtemps mais toujours pas corrigé...

On contourne ca depuis des années avec la méthode du bouton appelé par le main loop.

Partager ce message


Lien à poster
Partager sur d’autres sites

@ JossAlf

 

La version que j'ai faite tourne non stop avec le ".decode" dans le Main Loop depuis le 8 avril sans aucun plantage ni message d'erreur sur le debug.

Je suis en V4.040.

 

Par contre le "HC2 = Net.FHttp("127.0.0.1", 11111)" me faisait également planter la boucle lors de la précédente version du code (pb déjà  rencontré il y a 10 mois environ sur un MV du test réseau de toute la maison depuis 10 mois), d'où la nouvelle version que j'ai totalement réécrite en page 5 et fonctionnelle.

 

Maintenant peut-être que l'erreur passe inaperçue, ou qu'une semaine n'est pas un délai assez long pour tester la fiabilité, c'est possible (sleep de 10 secondes + 3 secondes initiales du Main Loop). Rendez-vous dans 1 mois. ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Le plantage arrivait en moins de 24 heures dans mes souvenirs. Suis toujours en V3. Je crois que Maitre Krik et Lazer avaient fait des tests et donné une explication : un T.end qui bloquait tout (je dis ça de mémoire).

Cool si la V4 a corrigé ça. Du coup si ce n'est pas lié au json.decide dans le main loop, le mystère reste entier pour le plantage actuel ...

Envoyé de mon iPhone àl'aide de Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai un module virtuel avec plusieurs Net.Fhttp() et json.decode() dans la main loop qui fonctionne sans souci depuis des mois avec un rafraichissement toutes les 60 secondes.

=> voir dans ma signature : Surveillance Station.

J'avais mis pas mal de temps à  le stabiliser, mais à  priori il fonctionne bien. Pour info je suis en train de l'améliorer afin de rendre le code encore un peu plus robuste (plus de vérifications de variables afin de détecteur au maximum les erreurs donc le plantage du code).

 

Mais le plus simple, ça reste encore le  bouton qui fait tout le travail, et une main loop qui ne fait que 2 choses : clic sur le bouton, puis sleep()

 

Voir aussi cette discussion où Krikroff explique un peu le problème : [Votre avis ?] Virtual Device Et Main Loop

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@trainkill : ca marche super avec la function correspondane !! plus qu'a orendre l'habitude du nommage et le TOP ;-)

 

MERKIIII :60: :60: :60: :60:

Partager ce message


Lien à poster
Partager sur d’autres sites

messieurs,

 

j'ai installé un inter swiidinter qui pilote une lampe bien sur, comme faire pour l'intégrer dans  ce module ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour tout le monde.

Je n'ai pas eu le courage de lire toute votre littérature  :98: , mais ce VD m'a l'air bien sympa.

Mais vous savez que je suis un irréductible gaulois en 3.600, et j'ai vu au premier post que le module n'était compatible que v4.x.

Donc j'aimerais bien le rendre compatible 3.x et 4.x.

OK ?

Est-ce que le premier post contient la toute dernière version du VD ?

Partager ce message


Lien à poster
Partager sur d’autres sites

La toute dernière version écrite pas moi, mais n'incluant pas les dernières propositions des membres.

 

Pour rendre ce module compatible 3.6 il faudrait déjà  modifier le mode de listage des modules. Personnellement, je ne fait jamais de rétro-compatibilité, il vaut mieux bosser à  jour.

Partager ce message


Lien à poster
Partager sur d’autres sites

On est encore certains àêtre en 3.600

Sur base de TON idée, je pourrais adapter le module (comme je l'ai déjàpour beaucoup) pour le rendre automatiquement compatible v3.x et v4.x.

Ou je le fais juste pour moi, ou je partage, et alors je proposerais de partir d'une toute dernière version incluant les propositions des autres membres ?

Qu'en penses-tu ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu te sent motivé pour ça, je t'encourage à  créer un nouveau module avec son propre thread incluant ta rétro-compatibilité et les ajouts des membres.

 

 

Je suis un codeur beaucoup trop perso pour gérer les contributions des membres, comme tout le monde a du s'en apercevoir.

Partager ce message


Lien à poster
Partager sur d’autres sites

messieurs,

 

j'ai installé un inter swiidinter qui pilote une lampe bien sur, comme faire pour l'intégrer dans  ce module ?

 

 

hello, je remets ma question au cas ou quelqu'un saurait comment l'inclure.

 

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

@Sakkhho :

 

En prenant les derniers codes de

Gazous (juste 1 copier-coller de la boucle exclusion renommé inclusion et 1 à  modifier, ça prends 1 min pour modifier le code)

moi (recherche très (trop) restrictive pour beaucoup d'utilisateurs  :P mais peut intégrer ta lampe)

ou en attendant la version de JoJo qui va faire une petite compilation de toutes les propositions qui sera adaptée à  tout le monde. ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Top merci !

 

pour ceux que ca intéresse voici le bout de code

 

copier ces lignes

 toInclude = {202}

function shouldInclude(module)
    for k, v in pairs(toInclude) do
    	if string.find(module.name, v) ~= nil or module.id == v then return true end
    end
	return false
end



et rajouter sur cette ligne le 'or shouldInclude(v)'

	if type(v.properties.isLight) == "string" and type(v.properties.value) == "string" or shouldInclude(v) and not shouldExclude(v) then

idem pour le bouton "refresh"

Partager ce message


Lien à poster
Partager sur d’autres sites

en fait je suis une grosse fénéasse : si quelqu'un qui a suivit le projet depuis le début pouvait faire une version qui fonctionne en v4.x avec toutes vos propositions, alors je me suis proposé de le rendre compatible avec 3.600. N'ayant pas de v4.x, je ne souhaite pas intégrer toutes ces modifs, car je ne pourrai que TRES difficilement tester.

Une bonne ame pour faire une version complète en v4 ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi je suis en 4.042 et voici mon module si ca aide

 

edit ; j'arrive pas à  le joindre, le fichier est Toutes_lumières.vfib.json

mais le fofo me le refuse...

Partager ce message


Lien à poster
Partager sur d’autres sites

merci Sakkhho,

As-tu intégré toutes les propositions de modif des 7 dernières pages (je n'ai pas le courage de tout lire ...) ?

pour l'ajouter, tu retires le .json àla fin du nom de fichier (d'où vient cette extension ? tu a fait export virtual device depuis le VD ?)

Partager ce message


Lien à poster
Partager sur d’autres sites

je sais pas je fais l'export depuis le VD .... mais meme si j'enlève le .json

 

J'ai pris le dernier code du topic, je ne sais pas si il y a tout.

en tout cas il y a les exclusions et inclusions

Partager ce message


Lien à poster
Partager sur d’autres sites

@ JoJo : La version de Gazous page 6 Posté 09 avril 2015 - 23:43 regroupe quasi tout sauf l'ajout de Sakkhho. ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Sakkhho, m'a envoyé en MP le code, qui comprendrait normalement tout.

Il faut "juste" que je m'y mette ...

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai trouvé une machine de test en V4.X, et pour l'instant elle me permet de valider

Partager ce message


Lien à poster
Partager sur d’autres sites

voici donc une version 2.0 du module, sur base d'une compil de vos demandes en 4.0 faite par Sakkhho.

Outre la compatibilité automatique 3.x - 4.x, j'ai apporté les modifs/améliorations suivantes :

  • correction d'un bug qui faisait qu'il n'était pas tenu compte des devices entrés dans toExclude
  • affichage du nombre de devices allumés et dans le debug affichage des devices allumés
  • nécessité de faire un double-click pour tout éteindre (on ne risque donc pas de cliquer par erreur)

Si vous avez encore d'autres idées d'évolution ...

 

Toutes_Lumières_v2.0.vfib

 

Edit : PS, le code pourrait être optimisé, mais j'ai voulu clairement faire la distinction en v3.x et v4.x

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×