Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 329
  • Inscription

  • Dernière visite

  • Jours gagnés

    240

Tout ce qui a été posté par mprinfo

  1. tu as la valeur du début du code ce qui est normal met juste avant les debugs fermerVolet = fibaro:getGlobalValue("fermerVolet")
  2. --[[ %% globals SoleilLever SoleilCoucher %% properties 179 value --]] local mesvolets ={ ["Volet Ch Parents"] = 117, ["Volet CH Lily"] = 108, ["Baie 1"] = 73, ["Baie 2"] = 75, ["Volet 3"] = 77, ["Volet Bureau"] = 28, } -- Table Zone (Groupes de modules) local RDC = {"Volet Bureau", "Baie 1", "Volet 3"} local Etage = {"Volet CH Lily", "Volet Ch Parents"} -------------------------------------------------------------------------- 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 JourNuit = fibaro:getGlobalValue("Jour_Nuit") -------------------------------------------------------------------------- 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) if Idtel ~= nil then fibaro:call(IdTel, "sendPush", Message) else fibaro:debug("Il n'y a aucun tel enregistré") end 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) elseif (trigger['type'] == 'property') then if JourNuit == "Nuit" then if tonumber(fibaro:getValue(179, "value")) == 0 then volets("Baie 2", 0) end end fibaro:abort(); else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); -- nomTrigger = "SoleilCoucher" -- valeurTrigger = -5 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 ------------------------------------------------------------------------ -- si Baie 2 fermer alors fermer volet if tonumber(fibaro:getValue(179, "value")) == 0 then coucher("Baie 2", 0, -5) end -- fin test baie 2 fermer coucher(Etage, 0, 10)
  3. --[[ %% globals SoleilLever SoleilCoucher %% properties 179 value --]] local mesvolets ={ ["Volet Ch Parents"] = 117, ["Volet CH Lily"] = 108, ["Baie 1"] = 73, ["Baie 2"] = 75, ["Volet 3"] = 77, ["Volet Bureau"] = 28, } -- Table Zone (Groupes de modules) local RDC = {"Volet Bureau", "Baie 1", "Volet 3"} local Etage = {"Volet CH Lily", "Volet Ch Parents"} -------------------------------------------------------------------------- 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 JourNuit = fibaro:getGlobalValue("Jour_Nuit") -------------------------------------------------------------------------- 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) if Idtel ~= nil then fibaro:call(IdTel, "sendPush", Message) else fibaro:debug("Il n'y a aucun tel enregistré") end 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) elseif (trigger['type'] == 'property') then if JourNuit == "Nuit" then if tonumber(fibaro:getValue(179, "value")) == 0 then volets("Baie 2", 0) end end fibaro:abort(); else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); -- nomTrigger = "SoleilCoucher" -- valeurTrigger = -5 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 ------------------------------------------------------------------------ -- si Baie 2 fermer alors fermer volet if tonumber(fibaro:getValue(179, "value")) == 0 then coucher("Baie 2", 0, -5) end -- fin test baie 2 fermer coucher(Etage, 0, 10)
  4. De rien cela fais toujours plaisir d'aider les autres si je commence a me débrouiller en lua c'est grâce a ce forum Envoyé de mon SM-G900F
  5. je t'ai mis le code pour mettre àjour la variables globale fermerVolet
  6. pour que l'on ai pas tous le même numéro lol ou tu remplaces les xx:xx:......... par l'adresse mac de ton HP il faut que tu décoches cette case dans la config quickconnect je n'utilise pas je crois que cela ne fonctionne pas. http://xpenology.com/forum/viewtopic.php?f=13&t=5470 moi j'utilise un port sur l'extérieur et j'ai noip mais tu peux aussi utilisé l'adresse ip public de ta box adsl
  7. local TempSalon = fibaro:getValue(49, "value") local TempVeranda = fibaro:getValue(45, "value") local fermerVolet = fibaro:getGlobalValue("fermerVolet") if TempVeranda > TempSalon and fermerVolet == 0 then fibaro:setGlobal("fermerVolet", 1) fibaro:call(39, "turnOn") fibaro:sleep(3*1000) fibaro:call(39, "turnOff") elseif TempSalon > TempVeranda and fermerVolet == 1 then fibaro:setGlobal("fermerVolet", 0) fibaro:call(39, "turnOn") fibaro:sleep(1*1000) fibaro:call(39, "turnOff") end fibaro:debug("Temp Salon = " .. TempSalon) fibaro:debug("Temp Veranda = " .. TempVeranda) fibaro:debug(fermerVolet)
  8. il faut que tu récuperes la valeur des volets pour savoir si ils sont fermer ou ouvert ensuite tu fais le test de température avec ces 2 résultats tu exécutes ou pas les actions siréne et actionnement des volets
  9. pourquoi en début de script tu ne récupères pas la valeur du volet ? local fermerVolet = tonumber(fibaro:getValue(id, "value")) pour les volets je n'utilise jamais close et open mais toujours les valeurs qui vont de 0 à99 local valeurs = 99 fibaro:call(id, "setValue", valeurs)
  10. le programme ne fera qu'un tour puis ce terminera. il sera lancé de nouveau lors d'un changement de température l'id de ton volet c'est combien ?
  11. Je te complique un peu la chose mais tu veras c'est super utile après on copie coller dans les scripts et on gagne du temp Envoyé de mon SM-G900F
  12. Regarde le tuto jours nuit j'en utilise pas mal Il faut mettre au debut du scripts Envoyé de mon SM-G900F
  13. moi je ferai un truc comme cela si tu n'as pas plus de chose a mettre local TempSalon = fibaro:getValue(49, "value") local TempVeranda = fibaro:getValue(45, "value") local fermerVolet = 0 if (TempVeranda > TempSalon and fermerVolet == 0) then fermerVolet = 1 fibaro:call(39, "turnOn") fibaro:sleep(3*1000) fibaro:call(39, "turnOff") elseif (TempSalon > TempVeranda and fermerVolet == 1) then fermerVolet = 0 fibaro:call(39, "turnOn") fibaro:sleep(1*1000) fibaro:call(39, "turnOff") end fibaro:debug("Temp Salon = " .. TempSalon) fibaro:debug("Temp Veranda = " .. TempVeranda) fibaro:debug(fermerVolet) je ne vois pas ou est le soucis de mettre fermerVolet au début du code car si la condition n'est pas remplit il n'y aura pas de mise a jour
  14. voila 2 fonctions que j'utilise pour mettre a jour le VG fibaro donc disponible de partout scène et VD -- ----------------------------------------------------------------- -- Vérification Variable Globale et création si besoin -- -- ----------------------------------------------------------------- function VerifVG(nom, valeur, choix) if (fibaro:getGlobalValue(nom) == nil) then local enum = 0 if (type(choix) ~= "nil") then enum = 1 end api.post("/globalVariables", {name=nom, isEnum=enum}) if enum == 1 then local variable = {} variable.value = tostring(valeur) variable.isEnum = false if (type(choix) ~= "nil") then variable.isEnum = true variable.enumValues = choix end api.put("/globalVariables/" .. nom, variable) end end end ---------------------------------------------------------------------- -- Mise a jour d'une variable global -- ---------------------------------------------------------------------- function UpdateVG(NomVG, Valeurs) 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 end fibaro:debug("Mise a jour de la Variable Globale : "..NomVG.." = "..Valeurs) fibaro:setGlobal(NomVG, Valeurs); end
  15. Alors tu es satisfait de ton investissement Tu as mis un disque de ton synology? Envoyé de mon SM-G900F
  16. Sinon ton adresse mac va changer a chaque démarrage Envoyé de mon SM-G900F
  17. Pour les variables elles sont local ou global au niveau de l'instance par contre les variables du panneau dites globales ce qui n'est pas le juste terme a mon sens sont des variables typics a fibaro, pour les utiliser il faut faire un get ou un set
  18. lol il faut faire un local fermevolet = fibaro:getGlobalValue( "fermevolet" ) Stp mets ton code dans la fenêtre c'est plus simple a lire il faut juste cliquer sur <>
  19. la ligne que j'ai ajouté sert a lire la valeur du slider donc il faut la définir avant
  20. syslinux.cfg àconfigurer il ce trouve dans \\DISKSTATION\usbshare1 UI menu.c32 PROMPT 0 TIMEOUT 50 DEFAULT xpenology MENU TITLE XPEnoboot 5.2-5565.1-9d792e9 LABEL xpenology MENU LABEL XPEnology DSM 5.2-5565 KERNEL /zImage APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N12345 mac:xx:xx:xx:xx:xx:xx vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305 LABEL debug MENU LABEL XPEnology DSM 5.2-5565 Debug KERNEL /zImage APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N12345 mac:xx:xx:xx:xx:xx:xx vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305 debug=1 LABEL install MENU LABEL XPEnology DSM 5.2-5565 Install/Upgrade KERNEL /zImage APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N12345 mac:xx:xx:xx:xx:xx:xx vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305 upgrade=5.2-5565 il faut remplacer mac:xx:xx:xx:xx:xx:xx par l'adresse mac physique de ton HP et tu peux aussi changer le numéro de série sn=B3J4N12345 en fait moi je ne change que les 5 derniers nombres
  21. il faut que l'on configure ton adresse Mac et le serial du HP. Veux tu faire du WOL avec ton hp ou il tourne en permanence ?
  22. tu peux résumé ce que tu as fais stp
  23. Jojo je suis la pas de bios modifier pour le gen8 Envoyé de mon SM-G900F
  24. Je plaisante je viens de poster un code a ajouté si on veut utiliser le slider pour régler le volume Envoyé de mon SM-G900F
  25. Tu es entrain de dire que krikroff code avec ces pieds ? Lol Bon je me demande a quoi servent mes tutos, pour le volume c'est très simple on ajoute un slider qui a comme ID: SliderVol Dans le VD on ajoute ce code dans le programme local Volume = fibaro:get(fibaro:getSelfId(),"ui.SliderVol.value") fibaro:debug(Volume) playFile("//SERV_DOMESTIK/Music/Sons/chien_2.mp3", Volume);
×
×
  • Créer...