Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 328
  • Inscription

  • Dernière visite

  • Jours gagnés

    239

Tout ce qui a été posté par mprinfo

  1. Ca a la trentaine et c'est déjànostalgique Je viens enfin de comprendre le mot GEEK lol Mous on est plus tout jeune mais on vit avec notre temps c'est la sagesse de l'age mdr Envoyé avec mon SmartPhone
  2. Punaise il me pique mes idées je verrai cela sous forme de fiches et biensur utiliser function end et voir return Dans home center pour les nuls on aurrai pu aussi appelé aide mémoire pour les vieux des sous repertoire Materiel Recovery Pannes possible Api Module virtuel Slider Etiquettes Etc Scenes Lua Tutos sur le language lua Scripts indispensable Function pret a l'emploi Plugin Etc..... Avec le titre en couleur Bleu = Facile Noir = debutant avancé Rouge = Expert Envoyé avec mon SmartPhone
  3. Par contre si quelqu'un veut des conseil pour une installation satellite multi satellite et plein de prises ca je mettrise Envoyé avec mon SmartPhone
  4. Oui j'utilise beaucoup excel c'est super pour les calculs une petite question on doit bien pouvoir transforner un xls pour le récupérer en json ? Envoyé avec mon SmartPhone
  5. Merci D-GK je debut aussi je me suis mis au lua fin janvier 2015 Envoyé avec mon SmartPhone
  6. Tu sais se tuto il ma fallu 15mn pour le faire le plus dur c'est de trouver les bonnes couleurs lol et surtour trouver les super explication de steven sur le forum dans un post perdu au fin fond d'un topic Envoyé avec mon SmartPhone
  7. Moi j'avais un ti57 pour jouer en cours lol Je l'avais oublier celle la texas instrument et le fameux TI 80
  8. J'avais un idée similaire mais avec un terme bien français et une organisation plus pratique pour home center pour les nuls Envoyé avec mon SmartPhone
  9. Lazer et un pro en linux tu es comme moi tu as choisi dos plutôt que linux Envoyé avec mon SmartPhone
  10. @Steven N’oublie pas de les mettre sur ton beau NAS tout neuf en cas de panne internet tu auras un peu de lecture
  11. @Pépite tu as des soucis avec GEA pour fayoter avec Steven @Steven désolé pour ce tuto. J'ai pas demander car c'est pas du code. je pensé que quelqu'un allait le faire, j'ai attendu quelques jours pour voir et rien. A priori on préfère lire les tutos plutôt que de les faire
  12. @steven je préfére avoir Parkinson qu' Alzeihmer. Il vaut mieux renverser un peu le contenu de son verre plutôt que d'oublier de le boire Personnellement je n'ai que 64ko de mémoire comme mon très chers commodore 64 et ça me suffit largement Si je ne me trompe pas l'informatique fonctionne toujours avec des 0 ou des 1 On ne fait que rajouter des couches et des couches depuis des années 1 cÅ“ur, 2 cÅ“ur, 4 cÅ“ur etc.. moi j'en ai qu'un et il est malade Pour exemple le Lua a bien été écrit en C si je ne me trompe pas et le C en Hexa Quand je vois la taille d'un script pour écrire un texte sur l'écran ça me fait doucement rire et oui il faudrait connaitre l'adressage de l’écran savoir ou mettre le texte etc.. pas simple pour Monsieur tous le monde Je pense même que pour la V5 il va falloir ajouter de la RAM et overclocker ou changer le CPU
  13. Meme pas un proliant ? Dommage j'aurais pu t'aider àle configurer mdr Envoyé avec mon SmartPhone
  14. Ben moi je m'éclaire a la bougie et avec un bon verre de mirabelle il fait toujours nuit euh va falloir que j'installe un smoke sensor lol Envoyé avec mon SmartPhone
  15. Euh j'ai même pas fais attention a cela Envoyé avec mon SmartPhone
  16. Normal je suis en congé lol Envoyé avec mon SmartPhone
  17. Une solution a ton problème 1 vélo avec une génératrice Vu que tu as 3 monstres ça les calmerai lol Par contre evite le verre de rouge pour augmenter la production électrique mdr Envoyé avec mon SmartPhone
  18. Il y a 3 types d'optimisation. la mémoire, le temps processeur le temps du développeur. Une bonne application prend en compte ces 3 critères en essayant de faire un bon compromis entre les 3. Voici donc une petite analyse sur votre code ... attention, je suis volontairement très très critique juste pour essayer d'aider. Perso, la plus part de mon code n'est pas optimiser ainsi, voir pas du tout . . Optimisation mémoire Chaque variable déclarée pend une infime place en mémoire (son adresse) donc si on a pas besoin de la réutiliser ou de la maintenir ... on en fait pas Une variable utilisée qu'une seule fois ne sert donc à rien : exemple local message = string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R")) EnvoiPush(message) On fait directement : EnvoiPush(string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) . . Optimisation temps processeur La démarche a déjà été faite .. bravo. En effet, certaine opération prenne du temps a être exécutée, il faut donc éviter de demander 2 fois le même calcul pour rien. Exemple : if ( os.date("%H:%M", os.time())== lever ) or ( os.date("%H:%M", os.time()) == coucher ) then On voit bien qu'on demande au processeur de calculer 2 fois l'heure actuelle alors que ce qui a été fait local osHeure = os.date("%H:%M", os.time()) if ( osHeure == lever ) or ( osHeure == coucher ) then est bien moins coà»teux puisque nous divisons simplement pas 2 le temps processeur. Bon ok, on passe de 0.00002 sec à 0.00001 sec Mais c'est un exemple. Optimisation développeur Moins il y a de code a maintenir mieux c'est. Donc vu que ceci : if (heure >= lever) and (heure < coucher) then valeur = "Jour" end revient au même que ceci (dans ce contexte) if ( OsHeure == Lever ) then Valeur = "Jour" else Valeur = "Nuit" end On extrait tout cela et on en fait une méthode (function) : function traitement(lever, coucher, heure) local valeur = "Nuit" -- test si on est le jour ou la nuit if (heure >= lever) and (heure < coucher) then valeur = "Jour" end ... end . . Optimisation bonus ... optimisation pour l'utilisateur On remonte tout en début du code, les variables, traitements que l'utilisateurs doit modifier afin que ce dernier n'aie pas a chercher dans le code la ligne X ou Y. Donc on met ce ci tout en haut : local NomVG = "Jour_Nuit" local IdTel = 181 On obtient donc ceci : --[[ %% autostart --]] local NomVG = "Jour_Nuit" local IdTel = 181 ---------------------------------------------------------------------- -- Envoi d'un Push pour avertir que le box à démarrer ou redémarrer -- ---------------------------------------------------------------------- function EnvoiPush(Message) fibaro:debug(Message) fibaro:call(IdTel, "sendPush", Message) end --------------------------------------------------- -- Mise a jour d'une variable global -- --------------------------------------------------- function UpdateVG(Valeur) if (fibaro:getGlobalValue(NomVG) == nil) then fibaro:debug("il faut cree la variable "..NomVG) EnvoiPush(string.format("La variable Globale %s n'existe pas ou a ete supprimer", NomVG)) fibaro:abort() -- fin du programme else fibaro:debug("VariableGlobale = "..NomVG.." - Valeur = "..Valeur) fibaro:setGlobal(NomVG, Valeur); end end --------------------------------------------------- -- Vérification de l'heure et mise à jour -- -- de la variable si necessaire -- --------------------------------------------------- function traitement(lever, coucher, heure) local valeur = "Nuit" -- test si on est le jour ou la nuit if (heure >= lever) and (heure < coucher) then valeur = "Jour" end UpdateVG(nuit) -- mise a jour de la VG Jour_Nuit end -- ======================================= -- Début du code -- ======================================= ---------------------------------------------------------------------- -- Controle si 1 Scéne et déjà en cours -- ---------------------------------------------------------------------- local NbreScene = fibaro:countScenes() fibaro:debug("Nombre de scéne : "..NbreScene) if (NbreScene ~= 1) then; fibaro:abort(); end ---------------------------------------------------------------------- -- Mise a jour de la variable VG Jour_Nuit au Démarrage de la Box -- -- Ou lors de la sauvegarde de la scéne -- ---------------------------------------------------------------------- EnvoiPush(string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) traitement(fibaro:getValue(1, "sunriseHour"), fibaro:getValue(1, "sunsetHour"), os.date("%H:%M")) ---------------------------------------------------------------------- -- Test toute les minutes pour savoir si c'est jour ou nuit -- ---------------------------------------------------------------------- while true do local osHeure = os.date("%H:%M", os.time()) local lever = fibaro:getValue(1, "sunriseHour") local coucher = fibaro:getValue(1, "sunsetHour") if ( osHeure == lever ) or ( osHeure == coucher ) then traitement(lever, coucher, osHeure) end fibaro:debug(string.format("Lever Soleil : %s - Coucher Soleil : %s", lever, coucher)) fibaro:sleep(60*1000); end Maintenant, vous pouvez oublier tout ces bons préceptes car quand on regarde le code des professionnels, on voit bien que la théorie fait bien souvent place à la fatigue cérébrale et que 90% du code ne respecte pas le moindre petit de ces préceptes. Garbage collector Un gabagge collector n'est-il pas le truc inventé pour palier au mauvais développement ? ... Je plaisante . Il y en a un, mais comme toujours, moins la mémoire est sollicitée, moins le garbage collector fonctionne, meilleures sont les performances. Il ne faut pas oublier que lorsque le garbage collector fait son nettoyage, il prend énormément de ressources. Je travaille sur Java, et c'est horrible de voir que plus on améliore le garbage collector, plus les développeurs ne font pas attention. C'est le serpent qui se mord la queue. "Un garbage collector est coà»teux en performance, bien que dans la plus part des cas, son utilisation permet d'augmenter les performances globales d'une application" ... et si, un jour, on se mettait autour d'une table et qu'on se disait : - Il y a 25 ans, on faisait attention au nombre de ligne de code - Il y a 20 ans, on faisait attention à l'utilisation de la mémoire - Il y a 10 ans, on faisait attention à la place disque - Aujourd'hui, on se fout de tout alors on a inventé la "défragmentation" Pour les curieux : Ramasse-miettes (Garbage Collector) . . . Librairies Oui LUA permet les librairies, mais pas sur la Fibaro ou cette possibilité est désactivée. Le mot clé, de mémoire est : require . Merci Steven pour ces explications. Lien utiles pour la programmation lua : lua.org (Site Officiel Lua Anglais) WX LUA.fr Developer fibaro/ (Anglais) Programmation LUA Structures de Base LUA pour les débutants Introduction à la Programmation LUA Les bases de la programmation avec lua
  19. Vous laissez allumé la box la nuit ? Ca doit consommé grave lol Envoyé avec mon SmartPhone
  20. Ca fait 500euros c'est correct comme prix je pense Envoyé avec mon SmartPhone
  21. Pour ceux qui cherche une Home center 2 a moins de 500€ http://www.domotique-fibaro.fr/index.php/topic/4560-fibaro-home-center-2-%C3%A0-49390/ Au moins on est sur qu'elle est en V4 et aucun regret par rapport a la light
  22. Fibaro Home Center 2 Sur Amazon.de http://www.amazon.de/gp/offer-listing/B00AUFV7N4/ref=dp_olp_new?ie=UTF8&condition=new Maintenant que la V4 et presque stable je pense que c'est une bonne affaire je ne connais pas les frais de Port
  23. Je connais très bon site sav super j'ai acheté chez eux des danfoss lc13 àmoins de 50 euros Sur le forum il y a un coin pour les bonnes affaires faut pas hésité a posté lorsque l'on voit une bonne affaire. Envoyé avec mon SmartPhone
  24. Lol ok je le pardonne pas de soucis Envoyé avec mon SmartPhone
  25. Une promo et on ne fait pas profité les copains grŕrr Envoyé avec mon SmartPhone
×
×
  • Créer...