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. mprinfo

    Fgbs001 Et Sonde

    Tu dois avoir environ 3.3v a chaque sondes il faut eviter les connections a clips j'ai fais pas mal de test avec les sondes dallas le mieux s'est une soudure ensuite une connection par vis je renforce aussi les câbles car ils sont très fin si tu veux je peux de poster des photos
  2. Lol c'est le gros problème chez fibaro la gestion des icones. Moi en attendant une meilleurs gestion je regarde les jolies filles lol je commence a devenir comme pitp2 mdr
  3. @jojo j'ai eu un jour un peu de courage pour les mettent et le lendemain j'ai fais un recovery lol tu sais moi les icônes j'utilise très peu car c'est beaucoup de temps pour tout perdre lorsque l'on fais un recovery. J'ai juste des icones pour les modules comme netatmo ou greenware
  4. mprinfo

    Positionnement Du Soleil

    @al1.fibaro tu le gâtes de trop, il peut l’envoyé une bonne bouteille de gewurztraminer vendanges tardives pour ce super travail
  5. J'ai fais mieux j'ai pas mis les icones lol
  6. mprinfo

    Positionnement Du Soleil

    Je te taquine cousin met pas le feu chez tes beau parents quoi que
  7. mprinfo

    Positionnement Du Soleil

    Oui il est comme neuf j'ai aussi le lecteur de disquette qui fonctionne encore lol
  8. mprinfo

    Positionnement Du Soleil

    @Nico voici le programme pour l'azimute il tourne parfaitement sur mon commodore 128 a toi de l'adapter pour la HC2 100 PI = 3.14159 110 PRINT "PROGRAMME TOURNESOL" 120 DIM M(26),Y(26)0(3),L(4),K(2),H(3) 130 FOR I = 1 TO 26 140 READ M(I) 150 NEXT I 160 DATA 0,1,2,3,4,5,6,7,8,9,10,11,12 170 DATA » 0,1,2,3,4,5,6,7,8,9,10,11,12 180 FOR I = 1 TO 26 190 READ Y(I) 200 NEXT I 210 DATA 0,31,60,91,121,152,182,213 220 DATA 244,274,305,335,366 230 DATA 0,31,59,90,120,151,181,212 240 DATA 243,273,304,334,365 250 PRINT "ANNE BISSEXTILE" 260 INPUT "SI OUI TAPER 1" ; A 270 INPUT "JOUR PASSAGE HEURE ETE "O(1) 280 INPUT "MOIS "0 290 IF A = 1 GOTO 330 300 M = M + 13 310 V = J(1) + Y(M) 320 GOTO 340 330 V = J(1) + Y(M) 340 INPUT "JOUR DE PASAGE HEURE HIV " ; J(2) 350 INPUT "MOIS " ; M 360 IF A = 1 GOTO 410 370 M = M + 13 380 W = J(2) + Y(M) 390 Z = 80 400 GOTO 430 410 W = J(2) + Y(M) 420 Z = 81 430 INPUT "LONGITUDE DEGRES " ; L(I) 440 INPUT "MINUTES " ; L(2) 450 PRINT "LONGITUDE OUEST " 460 INPUT "SI OUI TAPER 1 " ; B 470 IF B < > 1 THEN GOTO 480 475 L = - L 480 INPUT "LATITUDE DEGRES " ; L(3) 490 INPUT "MINUTES " ; L(4) 500 INPUT "MOIS D'ORIENTATION " ; M 510 INPUT "JOUR D'ORIENTATION " ; J(3) 520 IF A = 1 GOTO 560 530 M = M + 13 540 N = J(3) + Y(M) 550 GOTO 570 560 N = J(3) + Y(M) 570 PRINT "HEURE TU SINON HEURE LEGALE" 580 INPUT "SI OUI TAPER 1" ; D 590 INPUT "HEURE ORIENTATION " ; H(1) 600 INPUT "MINUTE ":H(2) 610 IF D = 1 GOTO 660 620 PRINT "CALCUL EN HEURE LEGALE" 630 IF N < V GOTO 650 640 IF N > = W GOTO 650 645 H(1) = H(1) - 1 650 H(1) = H(1) - 1 660 Ni = N - Z 670 Dl = 0.4 t SIN ((2 $ PI t Ni)/365) 680 D2 = ATN (DI/SUR (1 - Dl 2)) 690 L = L(1) + L(2)/60 700 A = - 0.25888E + 1 701 B = - 0.66626E + 0 702 C = 0.19372E - 1 703 D = - 0.4962E - 3 704 P = 0.96541E - 5 710 F = - 0.1057E - 6 711 U = 0.65537E - 9 712 H = - 0.23814E 11 713 I = 0.50472E - 14 714 J = - 0.5796E - 17 720 K K = 0.27946E - 20 800 H(1) = H(1) - 1 810 GOTO 840 820 H(2) = H(2) - 60 74144 830 H(1) = H(I) + 1 840 H(3) = H(1) + H(2)/60 850 P1 = L(3) + L(4)/60 860 P = PI t 2 t PI/360 870 E = SIN (P) t SIN (D2) 880 IF H(3) > = 12 GOTO 890 885 H(3) = - (12 - H(3)) 886 GOTO 900 890 H(3) = H(3) - 12 2) + D t (N 3) + P t (U t (N " 6) + H t (N 7) + 9) 900 AH = (2 t PI t H(3))/24 910 M = E + COS (D2) t COS (P) t COS (AH) 920 MI = ATN (M/SUR (1 - (M 2))) 930 M2 = (MI t 36))/(2 t PI) 940 k(1) = 90 - M2 950 K(1) = INT (K(1) t 100)/100 960 Q = (COS (D2) t SIN (AH))/COS (MI) 970 K(2) = ATN (Q/SUR (1 - 2))) 980 K(2) = (360 t K(2))/(2 t PI) 990 K(2) = INT (K(2) t 100)/100 1000 PRINT 1010 PRINT 1020 PRINT 1030 PRINT "INCLINAISON " ; K(1) ; " DEG" 1040 PRINT 1050 PRINT 1060 PRINT AZIMUT " ; K(2) ; " DEG" 1070 PRINT 1080 PRINT 1090 PRINT 1100 PRINT "NOUVEAU MOIS ? " 1110 INPUT "SI OUI TAPER 1 " ; F 1120 IF F = 1 GOTO 500 1130 PRINT "CALCUL MEME MOIS" 1140 PRINT "NOUVEAU JOUR" 1150 INPUT "SI OUI TAPER l' ; F 1160 IF F = 1 GOTO 510 1170 PRINT "NOUVELLE HEURE ? " 1180 INPUT "SI OUI TAPER 1' ; F 1190 IF F = 1 GOTO 570 1200 END
  9. mprinfo

    Stocker Un État ... ?

    Les ; ne sont obligatoires que si on mets plusieurs blocs sur la même ligne
  10. mprinfo

    Stocker Un État ... ?

    @jojo très bonne remarque moi j'utilise notepad++ pour écrire mes scripts avec le plugin lua fibaro mais lorsque je fais un copier coller sur le forum j'ai souvant des decalage
  11. mprinfo

    Stocker Un État ... ?

    --[[ %% autostart --]] ---------------------------------------------------------------------- -- Contrôle si 1 Scène et déjàen cours -- ---------------------------------------------------------------------- local NbreScene = fibaro:countScenes() if NbreScene ~= 1 then; fibaro:debug("Il y a déjàune instance en cours... ") fibaro:abort(); end while true do if (os.date("%H:%M", os.time())) == "19:45" then fibaro:debug("Début de script") fibaro:call(101, "pressButton", "26") -- Annonce Petula fibaro:call(71, "turnOn") fibaro:call(309, "turnOn") elseif (os.date("%H:%M", os.time())) == "20:00" then --exemple en utilisant une table avec les id local id = {315, 316, 70} -- création de la table id for i=1,#id do -- #id = nombres d'id dans la table fibaro:call(id, "turnOn") end fibaro:call(318, "pressButton", "5") -- Volet chambre descente fibaro:call(26, "startProgram", "2"); elseif (os.date("%H:%M", os.time())) == "20:30" then fibaro:call(13, "turnOn") fibaro:call(90, "turnOn") fibaro:sleep(50*60*1000); -- 21h20 fibaro:call(319, "pressButton", "9") -- Volet salon descente fibaro:call(13, "turnOff") fibaro:debug("Test scène semaine") end fibaro:sleep(60*1000) end
  12. Jojo je sais que tu es un fan de lua tu utilises gea pour certaines choses et tu te prends comme moi la tête a faire des scripts et dieux sais que c'est bon lorsque cela fonctionne après des heures a s'arracher les cheveux lol
  13. C'est une scène qui etait dans le bistrot un travail de plusieurs membres du forum
  14. mprinfo

    Stocker Un État ... ?

    if a == 1 then fibaro:debug("a est égale a 1") elseif a == 2 then fibaro:debug("a est égale a 2") elseif a == 3 then fibaro:debug("a est égale a 3") else fibaro:debug("a n'est pas égale à1, 2, 3) end http://lua.gts-stolberg.de/fr/Variablen.php http://www.luteus.biz/Download/LoriotPro_Doc/LUA/LUA_Training_FR/Introduction_Programmation.html http://wxlua.free.fr/
  15. Cette scène n'est pas de moi mais le résultat d'un travail en groupe avec quelques membres du forum Elle permet l'envoi de notification vers un ou plusieurs téléphones lorsqu'une porte est fermé ou ouverte Il faut juste entrer le numéro d'ID des détecteurs suivi de value dans l'entête de la scène Il faut aussi renseigner les ID du ou des téléphones Elle prévient lorsque la box vient de redémarrer. --[[ %% autostart %% properties 69 value 53 value 73 value --]] -- ================================================ -- PREPARATION DU CODE, ON CREER LES FONCTIONS QUE -- NOUS ALLONS DEVOIR APPELER PAR LA SUITE -- Dans notre cas, il y a au moins 2 fonctions : -- une pour l'envoi du message -- une pour obtenir les informations du module et son état -- -- Une fonction est un morceau de code que nous pouvons appeler -- plusieurs fois. Elle peux recevoir des paramètres. -- Une fonction peux exister sans pour autant être utilisée -- ================================================ -- ================================================ -- Envoi un message sur un ou plusieurs portables -- ---------------------------------------------------------------------------------- -- Parmètre : -- idPortables : numéro d'un portable ou tableau de plusieurs portable -- message : message à envoyer -- Exemple : -- sendPush(23, "Envoi d'un message simple") -- sendPush({23,25,27}, "Envoi a plusieurs destinataires") -- ================================================ function sendPush(idPortables, message) if (type(idPortables) == "table") then -- Si nous avons plusieurs numéros dans un tableau {} for i = 1, #idPortables do -- On envoi le message sur tout les portables fibaro:call(idPortables[i], "sendPush", message) end fibaro:debug(string.format("Pushs envoyés : %s", message)) elseif (type(idPortables) == "number") then -- Si nous avons un seul numéro de portable fibaro:call(idPortables, "sendPush", message) fibaro:debug(string.format("Push envoyé : %s", message)) else fibaro:debug(string.format("Erreur : le numéro %s n'est pas valable", idPortables)) end end -- ================================================ -- Retourne les information sur un device -- ---------------------------------------------------------------------------------- -- Parmètre : -- deviceId : l'dientifiant du device -- Exemple : -- local message = getDeviceInfo(69) -- ================================================ function getDeviceInfo(deviceId) local etat = "ouverte" if (fibaro:getValue(deviceId, 'value' ) == "0") then etat = "ferme" end return string.format("La %s est %s.", fibaro:getName(deviceId), etat) end -- ================================================ -- FIN DE LA PREPARATION DU CODE -- ================================================ -- ================================================ -- DEBUT DU CODE PRINCIPAL -- ================================================ -- Déclaration du/des numéros de portables local idportables = 181 -- local idportables = {23, 24, 25} -- Le déclencheur de cette scène, va nous permettre de savoir qui et -- comment cette scène a été démarrée local SourceTrigger = fibaro:getSourceTrigger() if (SourceTrigger['type'] == 'property') then -- si la scène a été démarrée par un "device", on va récupérer -- les informations du device local message = getDeviceInfo(SourceTrigger['deviceID']) -- puis l'envoyer sur les portables sendPush(idportables, message) elseif (SourceTrigger['type'] == 'other') then -- Si la scène a été démarrée manuellement sendPush(idportables, string.format("La scène a été lancée le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) elseif (SourceTrigger['type'] == 'autostart') then -- Si la scène a été démarrée par une sauvegarde de cette scène -- ou le redémarrage de la box sendPush(portables, string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) end
  16. mprinfo

    Stocker Un État ... ?

    @rem's je suis entièrement d'accord avec toi GEA c'est la solution simple pour ceux qui ne veulent pas apprendre le lua qui est un langage super intéressant j'ai commencé fin janvier et je m'amuse comme un fou avec ce langage. il faut que tu fasses un get pour récuperer la valeur de ta lampe
  17. Pour ceux qui cherche encore une hc2 àun super prix 432euros sur amazon.it
  18. Fibaro Home Center 2 à 431.23€ 429.22 euros http://www.amazon.it
  19. Fibaro 1.5 kW - Z-Wave, FGS-221 à 37.97€ http://www.amazon.it/Fibaro-Inserto-incasso-doppio-interruttore/dp/B0093JR656/ref=sr_1_2?ie=UTF8&qid=1431513915&sr=8-2&keywords=fibaro
  20. Fibaro Motion Sensor Z-Wave FGMS-001 à 39.33Euros sur amazon.it Je viens de m'en commander 2 http://www.amazon.it/Fibaro-FGMS-001-Motion-Sensor-Z-Wave/dp/B00JHHNUPY/ref=sr_1_1?ie=UTF8&qid=1431513637&sr=8-1&keywords=fibaro
  21. mprinfo

    Positionnement Du Soleil

    Benjy et comme moi fontionnaire on aime bien délégué lol en plus c'est très simple a faire en lua C'est dommage que GEA ne fasse pas cela lol
  22. Je préfère plusieurs scripts qui tournent de temp en temp qu'un scripts énorme qui tourne en permanence de plus je n'utilise pas GEA lol
  23. Présentation : Cette Scène va permettre d'actionner vos volets :au lever et coucher du soleil avec un décalage en minutes possible Les jours fériés A heure fixe Prérequis : Il va falloir installer les scènes et Virtual device suivant :VD Jour Chômé ICI Scene Lua - Jour / Nuit Avec Décalge Possible Et Optimisation Du Sleep ICI Scene Lua - Trigger Horaire Sans Boucle While ... Do ICI Configuration : Saisir le nom de ces volets et leurs ID local mesvolets ={ ["Bureau"] = 5, ["Ch_Amis"] = 7, ["Chaufferie"] = 9, ["Ch_Parents"] = 17, ["Ch_Enfants"] = 19, ["Cuisine"] = 23, ["SAM"] = 25, ["SdB"] = 27, ["Salon"] = 29, } Créer des groupes de volets (Ce n'est pas obligatoire) local RDC = {"Bureau", "Ch_Amis", "Chaufferie"} local Rue = {"Bureau", "Cuisine", "SAM"} local Jardin = {"Chaufferie", "Ch_Amis", "SdB"} local Chambre = {"Ch_Parents", "Ch_Enfants"} Saisir le Nom des différents Variables globales --[[ %% globals SoleilLever SoleilCoucher Heure --]] local nomLever = "SoleilLever" --> Nom de la Variable Globale lever soleil local nomCoucher = "SoleilCoucher" --> Nom de la Variable Globale coucher soleil local Heure = "Heure" --> Nom de la variable globale Heure local JourChome = fibaro:getGlobalValue("JourChome") --> Nom de la variable Module Virtuel Hansloo local IdTel = fibaro:getGlobalValue("IdTel") -- Recuperation de id du tel pour le push Saisir le temps de pause entre chaque volets (Seulement si on utilise des groupes de volets) -------------------------------------------------------------------------- local Pause = 0 -- Temp de pause entre chaque commande de modules en seconde Copier la scène suivante version 1.00b --[[ %% globals SoleilLever SoleilCoucher Heure --]] local mesvolets ={ ["Bureau"] = 5, ["Ch_Amis"] = 7, ["Chaufferie"] = 9, ["Ch_Enfants"] = 17, ["Ch_Parents"] = 19, ["Cuisine"] = 23, ["SAM"] = 25, ["SdB"] = 27, ["Salon"] = 29, } -- Table Zone (Groupes de modules) local RDC = {"Bureau", "Ch_Amis", "Chaufferie"} local Rue = {"Bureau", "Cuisine", "SAM"} local Jardin = {"Chaufferie", "Ch_Amis", "SdB"} local Chambre = {"Ch_Parents", "Ch_Enfants"} -------------------------------------------------------------------------- local nomLever = "SoleilLever" --> Nom de la Variable Globale lever soleil local nomCoucher = "SoleilCoucher" --> Nom de la Variable Globale coucher soleil local Heure = "Heure" --> Nom de la variable globale Heure local JourChome = fibaro:getGlobalValue("JourChome") --> Nom de la variable Module Virtuel Hansloo local IdTel = fibaro:getGlobalValue("IdTel") -- Recuperation de id du tel pour le push -------------------------------------------------------------------------- local Pause = 0 -- Temp de pause entre chaque commande de modules en seconde ---------------------------------------------------------------------- -- Envoi d'un Push pour avertir que le box à démarrer ou redémarrer -- ---------------------------------------------------------------------- function EnvoiPush(Message) fibaro:debug("Envoi Push : "..Message) fibaro:call(IdTel, "sendPush", Message) end ----------------------------------------------------------------------- -- Test si la valeur a enoyer est différente de la valeur du module ----------------------------------------------------------------------- function testvaleur(id, valeurs) local GetValeur = tonumber(fibaro:getValue(id, "value")) if valeurs ~= GetValeur then fibaro:call(id, "setValue", valeurs) --fibaro:debug(id.." - action en cours... - Valeur "..valeurs) fibaro:sleep(Pause*1000) end end ---------------------------------------------------------------------------- -- Recupération de l'id par rapport au nom de la tables mesvolets ---------------------------------------------------------------------------- function volets(zone, valeurs) if (type(zone) == "table") then local messages = "Les "..#zone.." Volets : " for i,v in ipairs(zone) do messages = (messages..v..", ") local id = mesvolets[v] if id == nil then fibaro:debug("ERREUR NOM DU VOLET - "..v.." - dans une table") EnvoiPush("ERREUR NOM DU VOLET - "..v.." - dans une table") else testvaleur(id, valeurs) end end messages = (messages.."ont été actionnés à "..valeurs.."%") EnvoiPush(messages) elseif (type(zone) == "string") then local id = mesvolets[zone] if id == nil then fibaro:debug("ERREUR DANS LE NOM DU VOLET : "..zone) EnvoiPush("EERREUR DANS LE NOM DU VOLET : "..zone) else testvaleur(id, valeurs) EnvoiPush("Le volet : "..zone.." a été actionné à "..valeurs.."%") end else fibaro:debug("Erreur......") EnvoiPush("Erreur......") end end -------------------------------------------------------------------- -- test si le déclencheur est lever ou coucher du soleil -------------------------------------------------------------------- function Test(zone, valeurs, minutes) if zone ~= nil then if minutes == nil then; minutes = 0 end volets(zone, valeurs) else fibaro:debug("Erreur dans la table ou table inéxitante") EnvoiPush("Erreur dans la table ou table inéxitante") end end -------------------------------------------------------------------- -- test Lever -------------------------------------------------------------------- function lever(zone, valeurs, minutes, Jchome) if nomTrigger == nomLever and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------- -- test Coucher -------------------------------------------------------------------- function coucher(zone, valeurs, minutes, Jchome) if nomTrigger == nomCoucher and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------- -- test Heure -------------------------------------------------------------------- function heure(zone, valeurs, minutes, Jchome) if nomTrigger == Heure and valeurTrigger == minutes then if Jchome == JourChome or Jchome == nil then Test(zone, valeurs, minutes) end end end -------------------------------------------------------------------------- -- Demarrage du programme -------------------------------------------------------------------------- local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'global') then nomTrigger = trigger['name'] valeurTrigger = tonumber(fibaro:getGlobalValue(nomTrigger)) print("Nom du déclencheur = ", nomTrigger, " - Minutes : ", valeurTrigger) else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); --nomTrigger = "Heure" --valeurTrigger = 6 end ------------------------------------------------------------------------- -- Ne rien modifier au dessus de cette ligne ------------------------------------------------------------------------- -- Commandes a écrit pour lever du soleil -- lever (Funtion qui traite le lever du soleil -- coucher(zone, valeur, minutes) -- exemple pour actionné les volets de la table Rue a 80% 10 minutes avant le lever -- lever(Rue, 80, -10) -- exemple pour actionné le volet "Bureau" au lever du jour -- lever("Bureau", 99, 0) -- Pour actionner un volet au coucher du soleil -- Il faut remplacer lever par coucher -- ex : coucher(Rue, 0, 20) ------------------------------------------------------------------------ -- Vous pouvez entrer vos commande en dessous de cette ligne Utilisation : lever ou coucher("Nom du volet" ou Nom du groupes de volets, valeur a envoyer, le décalage par rapport au lever ou coucher) Exemples : lever("Ch_Enfants", 99, -15) -- ouvre le volets 15 minutes avant le lever du soleil lever("Salon", 99) ou lever("Salon", 99, 0) -- ouvre le volets au lever du soleil (le 0 n'est pas obligatoire) coucher(Rue, 0, 0, "NON") -- Ferme les volets du groupe Rue au coucher du soleil si Jour Non férié coucher(Jardin, 0, 30) -- Ferme les volets du groupe jardin 30 mn après le coucher du soleil (Attention le 3° paramètre qui représente les minutes doit se trouver dans la table de la scène jour nuit, dans ces 2 tables vous pouvez mettre autant de valeurs que vous voulez chaque valeur représentera un déclencheur) -- Minutes de décalages par rapport au lever du soleil local TLever = {-30, -15, 10, 20, 30, 45, 60} -- Minutes de décalages par rapport au Coucher du soleil local TCoucher = {-30, -15, 10, 20, 30, 45} Pour l'utilisation de l'heure je n'ai prévu qu'un déclenchement avec la variable globale heure, on ne pourra donc exécuter une commande qu'a heure fixe (1h, 2h, 3h, 4h, 5h etc....) Exemples : heure("Ch_Parents", 99, 6, "NON") -- Ouverture du volets Ch_Parents a 6h00 si jour non férié heure(Nord, 0, 20) -- Fermeture du groupes de volets Nord à 20h00
  24. mprinfo

    Positionnement Du Soleil

    Il faut pas trop leurs mâcher le travail a ces petits jeunes je viens de tester le code sur mon commodore 128 c'est ok lol
  25. mprinfo

    Positionnement Du Soleil

    tu as ce lien qui te permet avec un COMMODORE 64 de connaitre entre autre la position du soleil C'est du BASIC commodore
×
×
  • Créer...