Aller au contenu

Lionel57

Membres confirmés
  • Compteur de contenus

    338
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par Lionel57

  1. euh, je veux bien t'aider, mais il va falloir être plus clair, quitte àmettre ton code, parce que là, je ne peux pas te répondre
  2. @Steven, quelques part, vu le truc, ça ne m'étonne pas trop, GEA, c'est du lourd. (pas une critique, un truc de génie, mais pas un petit truc). Le Multi-thread a ses avantages, ses inconvénients. L'avantage, c'est que ça accélère grandement le process en parallèle de plusieurs applications. L'inconvénient, les appels inter-thread, c'est lent. Ceci dit, je n'ai jamais analysé le truc, mais si avant, le script enchaînait de nombreux appel de fonction (supposition), ben peut être à revoir, quitte à bouffer de la mémoire, mais stocker dans des variables locales, ça devrait accélérer le truc.
  3. Quand tu dis entre chaque interrogation, tu veux dire pour un module à pile ? As-tu réveillé ton module ? Avant, oui, j'avais ce souci, même après réveil, je me retrouvais avec une valeur farfelue. Mais là , je n'ai pas testé sur cette version, le problème était résolu depuis 2 ou 3 versions
  4. Ceci dit, je fais le malin, mais je sais au combien c'est complexe de faire évoluer une base de données, on a vite fait de créer des contraintes d'intégrités. Mais c'est aussi pour ça, qu'en programmation de scripts, comme pour la gestion d'une base, je préfère plusieurs petites structures, plutôt que des mastodontes (scripts ou tables), beaucoup plus risqué, beaucoup plus compliqué àfaire évoluer
  5. On a une machine qui est puissante, pour le peu de choses qu'on lui demande. En terme d'exécution, c'est vraiment basique, le proc est de taille démesurée par rapport aux réelles besoins. Mais une base pourrie, même avec une bête de course, ça bloque...
  6. Lors de la toute dernière beta avant leur version V4 dite 'stable', il m'est arrivé un truc bizarre. La lumière du salon et la lumière de la chambre se sont subitement retrouvées liées (quand j'actionnais l'interrupteur de la chambre, ça allumait également le salon) (juste sur la dernière béta). J'ai exclu plus ré-inclu, le problème était résolu. Mais en attendant, dans une base avec des clés primaires, comment ce genre de chose est possible ??? Forcément, ça aurait dà» faire planter la base. Donc, des index et des clés à revoir, si toutefois elles existent. En même temps, je parle dans le vide, finalement, aucune idée à quoi ressemble leur base, mais j'avoue, vraiment, j'aimerai bien voir...
  7. Oui, là , je suis d'accord et je pense que tout le problème vient de là . Et ça expliquerait pour quoi tout ceux qui viennent de la version 3 ont autant de problèmes... J'ai un peu le sentiment qu'entre les versions, ils empilent au lieu de revoir l'architecture de leur table. Un exemple, pourquoi 7 fois plus longtemps pour interroger un getRooms qu'un getValue ? Autres choses, si l'ID d'une room est 5, il n'y aura pas de module avec un id à 5. Donc ça suppose une table commune pour tous les ID, mais ça suppose des requêtes 'SELECT xxx FROM (SELECT yyy FROM zzz). Et l'empilement des requêtes, ça plombe grandement les perfs de la base de données. Donc en bref, j'ai l'impression que lorsqu'ils implantent une nouveauté, ils empilent au lieu de revoir l'architecture de la base
  8. Un truc qui me chiffonne un peu, quand on fait un getGlobal, un getValue, un getRoom, multithread ou pas, on ne fait qu'interroger une base de données (on n'est pas dans du calcul qui sollicite àmort le proc). Et de voir que pour interroger ce qui normalement est sensé être une clé primaire (ID), qu'on passe àun rapport de 1 à7 pour le retour, il y a quand même un truc. Peut être certaines tables sont indexées, d'autres pas.
  9. Certes, mais quand je vois 8s chez Nico pour un getRoomName, plus de 6 secondes pour bien d'autres choses, je m'interroge grandement. C'est certains, je ne subis pas ce genre de lenteur. Et je parle bien des scènes, des scènes complexes, qui mèle du LUA de la HC2, qui exécute du PHP, des appli Android où je retrouve instantanément le résultat sur la HC2. En bref, je ne pense pas que c'est la V4 qui est en cause, mais peut être la conversion de la V3 à la V4 (comme dit avant, j'étais en V4 béta, dès l'inclusion du premier module, ce qui explique peut être bien des choses)
  10. Pas très convaincu par la pertinence des ces résultats, surtout quand je vois que certaines fonctions prendraient plusieurs secondes à s'exécuter en V4 (à ce compte là , certains scripts prendraient quelques minutes à s'exécuter chez moi). De plus, comment comparer un résultat d'une V3 chez l'un avec une V4 chez un autre, tellement de facteurs entrant en ligne de compte tels que la qualité du réseau, la charge de la HC2 (nous avons des scènes, des main loop qui tournent en arrière plan, et chacun à ses trucs, plus ou moins bien écrits) et la HC2 de chacun a aussi son histoire (je suis en V4 depuis le début, ayant acquis ma HC2 en fin 2014, je n'ai jamais les problèmes que certains rencontrent lors des mises à jour). Par rapport à il y a quelques mois, j'ai la conviction que la V4 tourne plutôt bien depuis quelques versions et chez moi, elle est très réactive. Bien sà»r, elle n'ai pas parfaite, mais, ça a beaucoup avancé.
  11. J'ai trouvé, comment puis-je avoir oublier ça : manquait juste un string.char(13)
  12. Bonsoir, J'essaie désespérément de trouver le moyen d'envoyer un code télécommande à mon globalcache à travers un code lua dans un module virtuel. En sélectionnant "chaine à envoyer" tout en cochant la case "en attente de réponse du périphérique", ça fonctionne à merveille, mais comment faire la même chose en LUA ? (mon souhait, c'est derrière un seul bouton, activer mon wall plug, allumer ma freebox player, allumer l'écran, tester une variable globale, m'enfin bref, tout un tas de truc) Forcément, il y a un moyen, mais comment ??? (ça, ça marche nickel)
  13. Je pense que si tant de gens se bouffe les cheveux avec des netatmo, des philips-hue ou autre, c'est que la HC2 ne respecte pas tous les protocoles. D'ailleurs, le LUA, c'est un peu un LUA à leur sauce, peut être le problème vient de là . Enfin c'est ce que je me dis, quand tout semble correct, que ça marche JAVA, en VB, en PHP, en LUA sur ma vieille Vera et que ça ne marche pas sur la HC2. Peut être il y a un truc, mais j'ai pris le plie du PHP, pour interroger les trucs distants, je récupère du brut dans mon code LUA sur la HC2, au moins, ça fonctionne et je n'ai plus besoin d'investir dans des solutions capillaires...
  14. Parfois, je me trouve aussi face àdes trucs incompréhensibles, pas forcément très propre, mais question de facilité, je contourne avec un script php et récupère le résultat sur la HC2
  15. Peut être une piste, mais je suppose que tu accèdes à ta page avec un login et un mot de passe. Et là , attention, probablement encodé. Dans ton navigateur, une truc genre "htttp://Login@Mdp/Url encode tes identifiants si nécessaire, mais quand tu écris du code, c'est à toi de prévoir le truc. Ce n'est peut être pas ça, juste une idée Il te faudrait un truc genre : httpClient:setBasicAuthentication(Utilisateur, MotDePasse);
  16. Bonsoir, Voilà un exemple que tu pourras facilement adapter.
  17. Ben si l'action est cochée sur les deux portables, c'est le réveil le plus tôt qui déclenche (les volets de peuvent pas s'ouvrir plus qu'ils ne sont, le chauffage ne pas s'enclencher plus qu'il n'est....) à‡a évite de reprogrammer ses scènes LUA. Pour moi, l'ordi, c'est pas waf pour gérer des trucs (même si je ne le quitte pas beaucoup, la domotique, ça doit se faite sans, ça doit être transparent). Je n'ai plus d'appareil en veille, ça, c'est bien, mais ça me saoule de passer par l'ordi ou par le téléphone pour allumer la télé (à titre d'exemple, j'ai raté le coup sur la télécommande mise en avant sà»r ce site, mais si elle tient ses promesses, à coup sà»r j'adhère). Jusqu'à présent, pour géré mes scènes de réveil, immanquablement, je devais passer par l'ordi si la situation changeait, alors que là , ça me semble plus naturel de passer par le tel, parce que régler mon réveil sur le tel, c'est déjà ancrer dans mes habitudes. Je suis en train de réécrire tout le code. D'une part, pour une question simple d'optimisation. Avec la première version, je partais de zéro question Java. Mais au fil du temps, j'apprends, donc je structure mes class. Et dans la mesure où je "refais", je pars sur un truc plus ouvert, genre module par bloc de Fibaro (donc simple à mettre en place), mais lié à des événements propre au téléphone. Pas une usine à gaz, on créer une action sur un téléphone (sur un événement et/ou un autre, telle action. Ce qui est fait, par le biais de la HC2, se retrouve sur tous les téléphones du foyer, reste la case à cocher pour activer le scénario sur tel ou tel téléphone (selon les circonstances, genre congés payés, maternité ou autres). Voilà l'idée
  18. Lionel57

    Interface Html

    Le php.ini se trouve sur ton serveur php, donc probablement sur ton nas
  19. Tout comme il aurait été plus simple de créer des actions directes dans l'appli, j'ai choisi de passer par une variable globale, parce que je pense qu'il faut un seul endroit pour configurer des trucs. Dans l'appli, juste des cases à cocher. Demain, nos besoins changent radicalement ? Ben on modifie nos scènes, on modifie les libellés dans la variable prédéfinie et tout s'adapte sur tous les téléphones.
  20. Je laisse le transfert de l'heure de réveil en place, tel qu'il l'était, avec le fameux bouton traitement, qui actionne un script dans un module virtuel. J'ai ajouté un bouton "Scènes à déclencher", qui va ouvrir la page posté juste avant. On renseigne, ou pas... Tout comme on crée la variable Globale, ou pas... C'est la formule la plus simple, la moins lourde. Moi aussi, j'ai défini mes scripts dans la HC2, j'ouvre ainsi une possibilité de personnaliser, aux HCL de faire, en se basant sur des scènes (LUA ou par bloc). Je travaille sur le truc que chaque option ne vienne pas alourdir le process. Si ce n'est pas coché, pas d'instance qui se lance...
  21. Mais effectivement, àla fin de son congé parental (si je ne me trompe pas, c'était le souci), il est possible que tu adaptes le code LUA derrière le module de ta femme
  22. Sinon, pour plus de précision, Nico, Moicphil a créé 2 modules virtuels, un pour sa femme, un pour lui. Donc ça répond aussi àton besoin, je pense
  23. Pas de panique, voilà l'écran sur lequel je travaille, sachant que chaque action provient d'une variable de la HC2 Il va de soi que seules les actions sont reprises de la HC2. L'état de la case à cocher est propre à chaque téléphone Donc je pense que ça répond à ton besoin
  24. Bonjour, Donc voilà ce que je propose, Définir une variable prédéfinie nommée comme on le souhaite, mais qui regroupe les libellés et numéro de scène Dans l'appli, je récupère les libellés et au déclenchement du réveil, ça lance les scènes qui correspondent (en fonction des cases chochées). Dans la mesure où l'action est lancée par le téléphone, ça ouvre des possibilités aux possesseurs de HCL (en effet, sans LUA, je ne vois vraiment pas comment utiliser une variable pour la comparer à une date et heure, donc si c'est le téléphone qui déclenche la scène, plus de soucis) Donc avant de me lancer, j'attends vos suggestions, histoire que je ne fasse pas 10 fois
  25. La fonction se base sur la valeur de la variable. Tu peux tester le code suivant, tu verras qu'àchaque démarrage, tu perds un jour... local pattern = "(%d+)/(%d+)/(%d+)" local DateAConvertir = fibaro:getGlobal("Datedepartvac") local jour, mois, annee = DateAConvertir:match(pattern) local Datedepartvac1 = os.date("%d/%m/%Y",os.time({year=annee, month=mois, day=jour})-24*60*60) fibaro:setGlobal("Datedepartvac", Datedepartvac1) fibaro:debug(Datedepartvac1);
×
×
  • Créer...