Lazer Posté(e) le 29 mai 2016 Signaler Partager Posté(e) le 29 mai 2016 Trop bien les liens seb Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Uptime 12d, 10h, 40m 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Erreur 503. Pour ma part, j'avais donc beaucoup d'erreur 503. J'ai vidé tout mes "main loop" en déportant le code dans un scénario ou GEA. Suite à cela, j'ai encore eu quelques 503 (un à deux par jour). J'ai adapté un VD qui allait vérifier l'état de mon IPX tout les 5 secondes et qui stockait l'état des compteurs dans des "Variables Globales" qui avait pour effet de "trigger" un scénario qui mettais à jour 3 autres VD (un par compteur). L'adaptation fut simple, je n'utilise plus de VG et modifie directement le contenu de mes VD depuis le VD IPX. Depuis ce jour (4 jours), je n'ai plus aucune erreur 503 et une réactivité agréable. Ce corrobore la thèse de @Lazer concernant les accès concurrent. 4 Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 J'ai quasi le même comportement que toi pour l'IPX. Elle déclenche 2 scénarios de synchro (un pour les entrées et un pour les sorties) et cette scène modifie directement les VD sans passer par les variables globales. Et pour les allumages/extinctions de lumière, je test l'icone et non une variable, si la bonne icone est bien positionnée (genre lumière allumée) alors j'éteins...etc... Plus de variables à la con, plus de 503 depuis longtemps Et ça marche pilpoil de chatoune Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 30 mai 2016 Auteur Signaler Partager Posté(e) le 30 mai 2016 l'avantage que je voyais au VG était qu'elles stockaient les valeurs de manière plus durables, que dans une variable locale d'un VD ou d'une scène. Si le VD ou la scène était sauvée (suite àmodif ou watchdog ou restart de la box ou ...) la valeur était toujours là. Vous utilisez alors des labels d'un VD pour remplir cette fonction ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Oui, moi j'utilise toujours le label dans un VD. Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Pour moi la VG ne doit être utilisée qu'en cas d'un besoin absolu comme un déclencheur de scènes multiples et variées. Si c'est juste pour du stockage de valeur, autant le faire en local et l'afficher en label si t'as besoin de le voir ou en debug si c'est juste pour du contrôle. Enfin moi j'ai géré ça comme ça et c'est vrai que j'ai pas tous ces soucis de 503 (pour ainsi dire, j'en ai eu qu'une seule fois sur un VD mal codé mais c'était de ma faute). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Pareil que Benjy, je suis assez contre les VGs. D'ailleurs il y a qques temps sur le topic GEA on en discutait quand je voulais remonter tous mes détecteurs RF433 de la Zibase vers la HC2. Plusieurs avaient proposés des VGs, mais j'étais contre : Déjàc'est chiant àmaintenir, cela devient illisible et du coup en plus cela apporte de l'instabilité. Moi je fais tout en label dans les VDs. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 En effet, les labels des VD sont persistants après un reboot ou sauvegarde du VD, donc c'est un bon moyen de stocker une valeur. EDIT : si c'est persistant, c'est que ça écrit aussi dans la DB, tout comme les VG. Mais la logique de traitement derrière doit être différence, ne serait-ce parce que les Labels ne déclenchent pas de trigger contrairement aux VG. Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 et on recupere les labels comme trigger, mais ca veut dire que ca complique un peu. J'utilise les VG pour du monitoring.... Bon faut que je rejette un oeil à tout ca alors. mais j'ai pas de 503, juste à prendre les bonnes habitudes. Ps : j'avoue que lu'sage des VGs en trigger c'est plutot simple ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Ne modifions rien pour l'instant ils devraient arriver àla même conclusion et se débrouiller pour que cela fonctionne dans la prochaine évolution du firmware Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 @pepite il faut utiliser les VG si tu as besoin des triggers. Mais il ne faut pas utiliser les VG systématiquement lorsque ce n'est pas nécessaire => génère de l'activité supplémentaire, et avec notre HC2 on sait ce que ça donne => 503 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 @PITP2 : oui et non. Oui parce que Fibaro finira bien par corriger ses erreurs Non parce que c'est aussi l'occasion pour nous d'être meilleurs et de respecter des bonnes pratiques qui sont valables dans tout environnement informatique. Même si cela ne le fait pas planter, il est inutile de générer une surcharge de travail. 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 30 mai 2016 Auteur Signaler Partager Posté(e) le 30 mai 2016 oui, je partage totalement vos avis sur la question. C'est d'ailleurs pour cela que j'ai fait un VD/Scène qui me permet de faire un backup / restore de mes VG. Mais dans mon cas je les utilises dans le cardre d'un compteur (j'en ai 10 actuellement) pour compter le temps de fonctionnement de ma chaudière, de mes circulateurs, des pompes d'eau de pluie et piscine, ... Ils fonctionnent comme suit : toutes les secondes, je vérifie si la condition est remplie, et j'incrémente une variable locale à chaque nouvelle minute, je stocke le nbr de sec que le device a répondu à la conditiondans EmonCMS et j'incrémente un VG ..._hour du nbr de sec de la minutes qui vient de passer. Je remets le compteur des sec à zéro à chaque nouvelle heure, je transferts le nbr de sec (/60, pour l'avoir en min) que le device a fonctionné dans EMONCMS, j'incrémente un VG ..._day du nbr de sec de l'heure précédente. Je remets le compteur des heures à zéro. je fait la même chose à chque nouveau jour (=>#heures par jour) et à chque novueau mois (#jours âr mois). Le VG est la seule solution que j'ai trouvée maintenant pour ne pas perdre mes données d'heure/jours/mois. Passer par des labels sera peut-être mieux en effet. Sauf si vous avez encore d'autres idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 @Lazer, oui oui j'entends bien il faut un code propre et n'utiliser les VG que dans des cas précis et ne pas les utiliser pour s'en faire un timer toutes les secondes (hein jojo ) N'étant pas expert en BDD il me semble quand même qu'il soit possible d'éviter ce genre de problème en utilisant les commandes et outils adéquates. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Oui, tout àfait, mais bon plus complexe àmettre en oeuvre vu le type de BD et le multi process, mais ils y arriveront. Sinon pour info, même pour un trigger, on peut utiliser la valeur du label, cela fonctionne très bien. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 30 mai 2016 Auteur Signaler Partager Posté(e) le 30 mai 2016 @PITP2, j'utiliSAIS les VG pour un timer toutes les seconde, maintenant c'est toutes les minutes (si nécessaire). M'autorisez-vous àutiliser les labels d'un VG àcette fin ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 @Lazer, oui oui, je suis pas dev, alors ca me permet effectivement de prendre les bonnes habitudes ;-) hihi @Nico, oui pour les triggers Label, mais pas en instantané avec GEA ? ou tu as mis du "function" partout;-) désolé pour le HS Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Quand j'ai appris le langage C dans les années 90, mon prof était hyper àcheval sur l'utilisation de la mémoire. Les grosses variables c'était le mal, il fallait bien les dimensionner (int, char, long int, double....) et surtout utiliser les calloc/malloc/realloc afin de gérer les emplacements disponibles au mieux. C'est vrai qu'aujourd'hui avec les garbage collector et autres joyeusetés des langages modernes ont ne fait plus gaffe àtout ça (plus la place RAM/DD qui coûte que dalle). Après effectivement, Fibaro devrait gérer cela, mais c'est pas le cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Shad Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 @jojo, àmon avis tu dois avoir d'autre possibilité que d'écrire dans la bdd chaque minutes. Personnellement j'utiliserais un autre système que la box pour faire sa, surtout que tu envoie les données ailleurs. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Benjy, yes pareil Le langage C est le meilleur langage pour l'apprentissage de la programmation. Il est àla base de tous les autres langage, et il oblige àune vraie rigueur (sinon c'est le core dump assuré) A l'opposé on a le PHP, le pire langage qui autorise tout et n'importe quoi 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Ok, donc j'ai bien compris, utiliser les VG c'est pas bien. Top cette box Faites attention, bientôt ce sera les variables locales... Quel foutage de gueule... Je suis désolé, mais pour dire que c'est une mauvaise pratique d'utiliser les VG.... bah il faut avoir vraiment été Fibarotisé... Oui j'utilise les vg pour distribuer les valeurs de co2 aux différents vd qui en ont besoin, et mes index eau électricité et gaz aussi. Rien de plus normal. Passer par un label de VD, ça par contre, c'est top. Hébé... 😠:-/ Sent from my Note4 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 Oui Sebcbien, je suis parfaitement d'accord. Mais par contre j'ai l'impression que c'est en train de partir dans tous les sens là : personne n'a jamais dit qu'il ne fallait pas utiliser les VG et les remplacer par des VD, ou alors c'est qu'il y a eu une grosse incompréhension. Il faut utiliser les ressources disponibles à bon escient, c'est tout. Les labels ça va pour afficher une info sur le VD, donc consultable depuis l'appli mobile. Les VG c'est pratique pour déclencher des triggers, transmettre de l'info d'un VD/Scène à un autre, etc. Ce que je dis, c'est qu'il est inutile de tout stocker dans des VG. Il faut juste s'adapter au cas par cas. 3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quikdav Posté(e) le 30 mai 2016 Signaler Partager Posté(e) le 30 mai 2016 C'est clair qu'avec les VGs, ca peut vite devenir le bazar... Mais passer par des labels de VDs pour partager des variables, ca sent quand même le bricolage même si ca semble fonctionner... en terme de maintenance, plutot moyen aussi...reste les objets... il y a vraiment un problème de fond sur la portée et la gestion en général des variables.... tout ca fini par me rappeler la Zibase avec ses solutions tordues pour manipuler les variables (en moins pire quand même) Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 30 mai 2016 Auteur Signaler Partager Posté(e) le 30 mai 2016 @Shad, Tu as raison, mais le seul language que "je connaisse "est le LUA de ma HC2. Alors, je vais rester avec mes VG ou des labels dans des VD pour mes compteurs, en espérant que Fibaro fasse ce qu'il faut pour que ça fonctionne (oui, je sais, je suis naïf) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés