Aller au contenu

lexus_69

Membres confirmés
  • Compteur de contenus

    42
  • Inscription

  • Dernière visite

Tout ce qui a été posté par lexus_69

  1. C'est bon à savoir pour la prochaine fois. Merci !
  2. C'est bon j'ai trouvé ! Il suffisait de redémarrer la HC2...
  3. Non, je n'ai pas fait de save sur le panneau de variable. Je viens de m'apercevoir que quand je relance le VD, la variable ne s'ajoute pas dans le panneau...
  4. Bonjour, j'ai le même problème que LMSI sauf que lorsque que je supprime la variable et que je relance le VD j'ai ce message : [DEBUG] 16:32:51: line 44: bad argument #1 to 'len' (string expected, got nil) Une idée ? Merci par avance !
  5. lexus_69

    Scène qui bug...

    Je réponds à moi même Voici ce qui fonctionne parfaitement et qui répond à mes besoins: Merci PdB --[[ %% properties 74 value %% globals %% killOtherInstances --]] -- c'est la nuit ou petit dej alors stop if (fibaro:getGlobalValue("Jour_Nuit") == "Nuit") or (fibaro:getGlobalValue("Petit_Dej") == "OUI") then fibaro:debug("Scène annulée car nuit ou petit dej'"); fibaro:abort(); end -- déclaration des variables local Petit_Dej = fibaro:getGlobalValue("Petit_Dej"); local Luminosite = fibaro:getValue(76, "value"); local delayedCheck0 = false; local HeureActuelle = os.date("*t"); -- fin de déclaration des variables if fibaro:countScenes() > 1 then fibaro:abort() end fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("La luminosité est de "..Luminosite.." Lux") fibaro:debug("Petit déjeuner : "..Petit_Dej) if ( tonumber(fibaro:getValue(74, "value")) == 0 ) then fibaro:debug("Fin de présence, décompte de 5mn activé...") else fibaro:debug("Présence détectée") end -- premier déclenchement on allume puis stop if ( tonumber(fibaro:getValue(74, "value")) > 0 ) and ( tonumber(fibaro:getValue(76, "value")) <= 5 ) then fibaro:call(65, "turnOn"); fibaro:debug("Lampe allumée") fibaro:abort() end -- déclenchements suivants on attends 5mn pour éteindre setTimeout(function() if ( tonumber(fibaro:getValue(74, "value")) == 0 ) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(65, "turnOff"); fibaro:debug("Lampe éteinte") end end, 5*60*1000) --temps après extinction 5mn
  6. lexus_69

    Scène qui bug...

    Merci pour toutes ces réponses ! J'ai pu avancer un peu sur mon problème en faisant quelques modifications. Maintenant la lumière s'éteint bien au bout de 5 mn mais j'ai encore un soucis. A l'heure actuelle, la lumière s'allume bien quand le détecteur est déclenché et que la luminosité est inférieur à 5lux mais s'éteint 5mn après le premier déclenchement. Or j'aimerais que la lumière reste allumée tant qu'il y a du mouvement et s'éteigne au bout de 5mn si plus de mouvement mais je ne sais comment faire... voici ma scène modifiée qui ne fonctionne pas encore à la perfection... --[[ %% properties 74 value %% globals --]] -- c'est la nuit ou petit dej alors stop if (fibaro:getGlobalValue("Jour_Nuit") == "Nuit") or (fibaro:getGlobalValue("Petit_Dej") == "OUI") then fibaro:debug("Scène annulée car nuit ou petit dej'"); fibaro:abort(); end -- déclaration des variables local Petit_Dej = fibaro:getGlobalValue("Petit_Dej"); local Luminosite = fibaro:getValue(76, "value"); local deviceLastModification0 = fibaro:getModificationTime(74, "value"); local delayedCheck0 = false; local HeureActuelle = os.date("*t"); -- fin de déclaration des variables if (fibaro:countScenes() > 1) then fibaro:abort() end; fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("La luminosité est de "..Luminosite.." Lux") fibaro:debug("Petit déjeuner : "..Petit_Dej) -- premier déclenchement on allume puis stop if ( tonumber(fibaro:getValue(74, "value")) > 0 ) and ( tonumber(fibaro:getValue(76, "value")) <= 5 ) then fibaro:call(65, "turnOn"); fibaro:debug("Lampe allumée") fibaro:abort() end -- déclenchements suivants on attends XX sec pour éteindre setTimeout(function() fibaro:debug("Temps écoulé "..os.time() - deviceLastModification0); if (( tonumber(fibaro:getValue(74, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 300) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(65, "turnOff"); fibaro:debug("Lampe éteinte") end end, 300*1000) Une autre question, est ce que le setTimout ne fait pas double emploi avec if (( tonumber(fibaro:getValue(74, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 300) ? Encore merci par avance pour vos réponses ! Bonne journée.
  7. lexus_69

    Scène qui bug...

    Effectivement la variable tempDeviceState0 ne me servait plus, je l'ai enlevée. Maintenant la lampe s'allume mais ne veut pas s'éteindre au bout de 5mn. Par contre si je relance la scène manuellement la lampe s'éteint... Bizarre ! [DEBUG] 09:29:32: line 29: attempt to perform arithmetic on local 'deviceLastModification0' (a nil value)
  8. lexus_69

    Scène qui bug...

    Merci pour la réponse mais ça ne fonctionne pas. Voici ce que j'ai dans le debug: [DEBUG] 11:08:19: Il est 11:8 [DEBUG] 11:08:19: line 29: attempt to perform arithmetic on local 'deviceLastModification0' (a nil value) line 29: fibaro:debug("le capteur est safe depuis : "..((os.time() - deviceLastModification0)/60).." min")
  9. lexus_69

    Scène qui bug...

    Je ne comprends plus... Ca me fait n'importe quoi maintenant. Il y a peut être un moyen plus simple. Dur dur d'apprendre quand on commence de zéro
  10. lexus_69

    Scène qui bug...

    Bonjour à tous, Depuis quelques jours j'ai une scène qui bug. Elle fonctionnait très bien depuis plusieurs semaines et depuis peu elle ne fonctionne mais que partiellement... Voici la scène en question: --[[ %% properties 74 value %% globals --]] -- c'est la nuit ou petit dej alors stop if (fibaro:getGlobalValue("Jour_Nuit") == "Nuit") or (fibaro:getGlobalValue("Petit_Dej") == "OUI") then fibaro:debug("Scène annulée"); fibaro:abort(); end -- déclaration de variables local Petit_Dej = fibaro:getGlobalValue("Petit_Dej"); local Luminosite = fibaro:getValue(76, "value"); local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(74, "value"); local HeureActuelle = os.date("*t"); -- fin de déclaration de variables if (fibaro:countScenes() > 1) then fibaro:abort() end; fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("le capteur est safe depuis : "..((os.time() - deviceLastModification0)/60).." min") fibaro:debug("La luminosité est de "..Luminosite.." Lux") fibaro:debug("Petit déjeuner : "..Petit_Dej) if ( tonumber(fibaro:getValue(74, "value")) > 0 ) and ( tonumber(fibaro:getValue(76, "value")) <= 5 ) -- valeur en Lux then fibaro:call(65, "turnOn"); fibaro:debug("Lampe allumée") fibaro:sleep(60*1000); end if (( tonumber(fibaro:getValue(74, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 300) -- temps après extinction then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(65, "turnOff"); fibaro:debug("Lampe éteinte") end La scène débute bien, la lampe s'allume mais ne s'éteint plus au bout de 5mn. J'ai l'impression que le décompte ne se fait plus. Quelqu'un a une idée ?
  11. lexus_69

    Début en LUA...

    Ah ben oui, je n'avais même pas fait attention!!! J'ai résolu le problème avec une variable Jour_Nuit Merci pour ta réponse en tout cas
  12. lexus_69

    Début en LUA...

    Personne à une idée ? Il y a peut être un autre moyen mais je manque de connaissances. Merci d'avance
  13. lexus_69

    Début en LUA...

    Je me suis inspiré d'une scène en mode bloc puis convertie en LUA: --[[ %% properties 74 value 76 value %% globals --]] local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(74, "value"); local HeureActuelle = os.date("*t"); if (fibaro:countScenes() > 1) then fibaro:abort() end; fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("le capteur est safe depuis : "..((os.time() - deviceLastModification0)/60).." min") if ((HeureActuelle['hour']>= 8 and string.format("%02d", HeureActuelle.hour) .. ":" .. string.format("%02d", HeureActuelle.min) == fibaro:getValue(1, "sunriseHour")) and ( tonumber(fibaro:getValue(74, "value")) > 0 ) and ( tonumber(fibaro:getValue(76, "value")) < 5 ) -- valeur en Lux ) then fibaro:call(65, "turnOn"); fibaro:sleep(60*1000); end if (( tonumber(fibaro:getValue(74, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 60) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(65, "turnOff") end Mais ça ne fonctionne toujours pas Une idée du pourquoi ?
  14. lexus_69

    Début en LUA...

    Revoilà le casse bonbon... J'ai récupérer ce script qui fonctionne très bien (Merci Yannick) mais j'aimerais légèrement le modifier mais je ne sais pas comment m'y prendre... J'aimerais qu'entre 8h et jusqu'au couché du soleil et si la luminosité est <10 lux ma lumière s'allume. Il faut donc que je modifie cette ligne "if ((HeureActuelle['hour']>= 18 or HeureActuelle['hour'] <= 7)" avec cette commande : fibaro:getValue(1, "sunsetHour") mais comment l'intégrer ? Le script en question: --[[ %% properties 31 value 33 value %% globals --]] local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(31, "value"); local HeureActuelle = os.date("*t"); if (fibaro:countScenes() > 1) then fibaro:abort() end; fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("le capteur est safe depuis : "..((os.time() - deviceLastModification0)/60).." min") if ((HeureActuelle['hour']>= 18 or HeureActuelle['hour'] <= 7) and ( tonumber(fibaro:getValue(31, "value")) > 0 ) and ( tonumber(fibaro:getValue(33, "value")) <= 10 ) ) then fibaro:call(29, "turnOn"); fibaro:sleep(60*1000); end if (( tonumber(fibaro:getValue(31, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 60) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(29, "turnOff") end
  15. lexus_69

    Début en LUA...

    Cool, merci !! Je vais tester ça ce soir.
  16. lexus_69

    Début en LUA...

    Une autre petite question, j'aimerais stopper 2 scènes à une heure précise mais je ne sais pas quelle fonction utiliser. Des idées?
  17. lexus_69

    Début en LUA...

    Ok, merci beaucoup !
  18. lexus_69

    Début en LUA...

    Merci, c'est exactement ce que je voulais faire ! Tout fonctionne correctement On était bien loin du résultat avec mon bout de code bidon Par contre une question: régulièrement le HC2 me dit qu'il y a trop de scènes dans les notifications. Est ce normal, et est ce un problème ? En tout cas merci !
  19. lexus_69

    Début en LUA...

    Bonjour à tous, Je commence tout doucement a programmer en LUA et je suis perdu... Je vous explique: Je veux allumer une lampe uniquement la nuit quand je passe devant mon détecteur de présence. Tout bête mais je galère. Voici ce que je mets dans ma scène: --[[ %% properties 74 value %% globals –-]] local MaVariable local Jour_Nuit MaVariable = fibaro:getValue(74, 'value') if (MaVariable == '1') then if (Jour_Nuit == 'Nuit') then fibaro:call(65, 'turnOn') else fibaro:sleep(60000) fibaro:call(65, 'turnOff') end end Comme vous l'aurez compris ça ne marche pas. Je suis preneur de vos lumières
  20. lexus_69

    HCL et module virtuel

    Oui, le support est vraiment top. Bon après il faut parler soit Polonais ou Anglais pour ce faire comprendre J'aime bien joué, mais j'avoue que j'ai eu une grosse sueur froide...
  21. Merci pour toutes ces infos Tout fonctionne !
  22. Merci ça fonctionne bien maintenant ! Une autre petite question, il est possible de lui faire dire la température du plugin météo ?
  23. lexus_69

    HCL et module virtuel

    En fait j'ai reçu la HC2 sans clé ! Donc elle ne démarrait pas... Dans l'annonce eBay c'était spécifié que la HC2 était pour pièces détachées mais que tous les voyants étaient fixés à l'allumage. J'ai senti la bonne affaire En tout cas le support Fibaro est top, j'avais envoyé que la HC2 et ils me l'ont retourné complète, avec antenne, alimentation, câble Ethernet et une petite boite de caramel !
  24. bonjour à tous, je rencontre un petit soucis avec l'exemple ci dessous: Annoncer la date du jour, la température extérieure et la météo : -- 239 is the Virtual Device ID -- 28 is the Process button ID local sid, bid = 239, 28 local cond = fibaro:getValue(3, "WeatherConditionConverted"); local tempext = fibaro:getValue(33, "value"); -- température extérieure fibaro:debug ("Température extérieure : "..tempext) local degre = string.gsub(tempext, '[,]' , ' degré ') local degre = string.gsub(degre, '[.]' , ' degré ') local degre = string.gsub(degre, '[-]' , ' moins ') local currentDate = os.date("*t") local jourL = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"} local jour = jourL[currentDate.wday] fibaro:debug ("Jour : "..jour) local moisL = {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"} local mois = moisL[currentDate.month] fibaro:debug ("Mois : "..mois) local condfr =""; if( cond == "clear" ) then condfr = "clair"; end if( cond == "cloudy" ) then condfr = "nuageux"; end if( cond == "rain" ) then condfr = "pluvieux"; end if( cond == "snow" ) then condfr = "neigeux"; end if( cond == "storm" ) then condfr = "tempete"; end if( cond == "fog" ) then condfr = "brouillard"; end fibaro:debug ("Conditions météorologiques : "..condfr) fibaro:debug ("Création du TTS") -- Create TTS params object local params = { -- TTS Message message = "Bonjour a vous. Nous sommes le "..jour .." "..currentDate.day .." "..mois .. ". Il est ".. currentDate.hour .." heure et ".. currentDate.min .." minutes. ".. "Le thermomètre extérieur est a "..degre .. ", et le temps est "..condfr ..". ", duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 40 -- Volume } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { tts = params }) _f:call(sid, "pressButton", bid) il m'annonce bien la date, l'heure, la température mais pas la condition météo. avez vous déjà rencontré ce problème ?
  25. lexus_69

    HCL et module virtuel

    Merci Lazer 1/ je vais envoyer un MP à krikroff 2/ OK
×
×
  • Créer...