Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    4 434
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par Steven

  1. il y existe dans d'autre langage la fonction evaluate() mais pas en LUA. Je fais ainsi comme décrit par @Lazer local f = { toto = function() print("Je suis toto") end, tata = function() print("Et moi sa soeur") end } f["tata"]()
  2. Steven

    Support Gea

    Tu peux t'appuyer la dessus pour commencer puis je t'enverrai mon VD et le bon script. http://www.domotique-info.fr/2013/11/google-script-au-service-de-votre-zibase/ Envoyé de mon SM-G935F en utilisant Tapatalk
  3. Steven

    Support Gea

    Google. J'ai un script Google sur mon Google drive qui lit mes agendas et pousse les rendez-vous dans un VD qui contient des labels vides. Envoyé de mon SM-G935F en utilisant Tapatalk
  4. Steven

    Support Gea

    @minos Voici ce que j'utilise à la maison GEA : -- si je passe devant mon détecteur entre 07:30 et 07:45, j appuie sur le bouton 1 de mon VD impérihome -- MaxTime,1 car si je passe 2x devant, j ai pas envie d être spammé local matin = GEA.add(id["DETECTEUR_PORTE"], -1, "", {{"Time", "07:30", "07:45"}, {"VirtualDevice", id["IMPERIHOME"], "1"}, {"MaxTime", 1}}) -- Relance de la ligne ci-dessus car le maxtime,1 l a stoppé pour toujours GEA.add(true, 30, "", {{"Time", "23:30", "23:30"}, {"RestartTask", matin}}) Le code de mon bouton 1 du VD Imperihome : Il m'annonce : le jour, la température extérieur, s'il pleut ou non, si une chambre d'enfant est allumée puis les rendez-vous de la journée s'il y en a. Bien évidement les textes ont été adapté pour que le TTS les prononce correctement (Rendé vous, Kaindra, 22 virgule 5, "..." pour faire une pause) local id_temp_ext = 101 local id_pluviometre = 103 local id_lumiere_chambre_1 = 198 local id_lumiere_chambre_2 = 30 local id_lumiere_chambre_3 = 26 local id_vd_agenda = 87 local message = "" local jours = {"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"} local mois = {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"} local today = jours[tonumber(os.date("%w"))+1] .. os.date(" %d ") .. mois[tonumber(os.date("%m"))] message ="Nous sommes le " .. today .."..." message = message .. "La température extérieur est de " .. fibaro:getValue(id_temp_ext, "value") message = message:gsub("%.", " virgule ") .." degrés" -- 22.5 devient 22 virgule 5 local rain = fibaro:getValue(id_pluviometre, "value") if (tonumber(rain) > 0) then message = message .. "...Il pleut" else message = message .. "...Il ne pleut pas" end local allume = false if (tonumber(fibaro:getValue(id_lumiere_chambre_1, "value")) > 0) then message = message .. "...La chambre de Nolan est allumée" allume = true end if (tonumber(fibaro:getValue(id_lumiere_chambre_2, "value")) > 0) then message = message .. "...La chambre de Kaindra est allumée" allume = true end if (tonumber(fibaro:getValue(id_lumiere_chambre_3, "value")) > 0) then message = message .. "...La chambre de Nora est allumée" allume = true end if (not allume) then message = message .. "...Les chambres sont éteintes" end -- Récupéré l adresse IP et le port enregistré dans le VD local ip_module = fibaro:get(fibaro:getSelfId(),"IPAddress") local port = fibaro:get(fibaro:getSelfId(),"TCPPort") HC2 = Net.FHttp(ip_module, port) status, response = HC2:GET("/api/rest/speech/tts?text="..message:gsub(" ", "+")) fibaro:debug(response) fibaro:debug(status) -- Lecture de l agenda local found = false local events = "" local now = os.date("%d.%m") fibaro:debug(now) for i = 1, 6 do local e = fibaro:getValue(id_vd_agenda, "ui.Label"..i..".value") if (string.find(e, now)) then found = true events = events .. ".." .. e:gsub(":", " heure "):gsub(now, "") events = events:gsub("heure 00", "heure ") end end if (found) then events = "Les rendé vous de la journée sont .." .. events else events = "Aucune entrée dans l'agenda" end fibaro:sleep(8000) status, response = HC2:GET("/api/rest/speech/tts?text="..events:gsub(" ", "+")) fibaro:debug(response) fibaro:debug(status)
  5. Embête toi pas avec un tuto, colle juste 2, 3 lignes de code et basta ... cela pourra déjà aider pas mal de gens, du moins aiguiller. Merci encore
  6. Steven

    Support Gea

    @speedoxx007 Le code que tu vas avoir besoin est le suivant : {"Function", function() fibaro:call(<id>, "setValue2", <position>) end} Je ne sais pas exactement quel doit être la valeur de <position>, je présume que 0 = horizontal et 100 = vertical Donc si on reprend comme exemple une de tes lignes cela nous donne ceci : GEA.add( {{"Global", "PresentState","Away"},{"Global+","VDSoleilAzimut", 221},{"Global-","VDSoleilAzimut",300}}, 30,"",{{"Open",id["TERRASSE_DROITE"],100}, {"Function", function() fibaro:call(id["TERRASSE_DROITE"], "setValue2", 0) end}}) @minos Je serais toi, je vérifierais les id : 105 et 95 ... et j'enleverais le S à Weekday :-)
  7. Steven

    Support Gea

    Grrr désolé c'est fibaro:sleep(5000) et non pas sleep(5000)
  8. Tu as raison, il faut ajouter une pause ... elseif (trigger.type == "property") then fibaro:sleep(2000) local prop = trigger.propertyName local device = trigger.deviceID local val = fibaro:getValue(device, prop) ... Edit : Heuuu, non même pas, il faut sauver 2x l'icone pour que le scénario soit capable de retrouvé l'information ... étrange.
  9. Steven

    Support Gea

    Il semblerait que cela soit la "value2" Donc la mauvais nouvelle est que GEA ne permet pas, nativement, de gérer cette valeur. Néanmoins, il y a des astuces comme {"Function", ...} Aurais-tu la possibilité de créer un scénario LUA vide et d'y coller le code suivant fibaro:call(121, "setValue2", 0) sleep(5000) fibaro:call(121, "setValue2", 99) Afin de voir si ce dernier fait bouger les lamelles de ton store vénitien dans les 5 secondes
  10. Steven

    Support Gea

    @speedoxx007 Pourrais-tu envoyé le code que tu obtiens à cette adresse : http://<ip_de_ta_hc2>/api/devices/<id_de_ton_store_a_lamelle>
  11. Steven

    Support Gea

    http://gea.piccand.me/doku.php/syntaxe#liste_des_options {“Days”, <jours>} Ne vérifie l'évenement que si le jour d'exécution est dans le/les jours indiqués (jours peut prendre les valeurs suivantes “Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, All, Weekday, Weekend”) Donc pas de "S" à WeekDays
  12. Steven

    Notification Center

    J'utilise déjà ma propre version. Il est pas tombé en désuétude, il fonctionne juste tellement bien qu'il n'y a rien à faire :-)
  13. Oui c'est les API Google. Pour le HS :-) Il n'y a pas d’événement déclencheur particulier. Perso, je fais ainsi : local params = fibaro:args() if (params) then -- On a reçu un argument print(json.encode(params)) -- for k, v in ipairs(params) do -- if (v.id) then ... end -- if (v.mode) then ... end --end else -- On a rien reçu end
  14. Si jamais, il y a toujours celui-ci qui fonctionne : Mais il est moins bien que celui de @Krikroff
  15. Bien que vieillotte, elle fonctionne quand même bien et permet des fonctionnalités intéressante : éteinte une pièce/section d'un geste, ouvrir/fermé les volets d'un geste, ... Je demanderais plutôt l'inverse. Pour une fois qu'un truc est stable ... LAISSER LE NOUS
  16. Steven

    Création de Label en code LUA

    Le seul soucis avec ce genre de truc, c'est que même si tu arrives modifier ton VD, tu seras obligé de rafraîchir manuellement ta page web. Pour l'application Fibaro, il faudra quitter puis re-lancer. Il n'y aura aucun mise à jour automatique du VD.
  17. Faut juste se mettre à la bonne hauteur pour ne plus qu'avoir a faire un léger mouvement du poignet.
  18. maVariable = maVariable:gsub(" ", "_")
  19. Il y a pas photo ... c'est l'invention du siècle pour les geek comme nous : https://www.kickstarter.com/projects/2051184014/brewart-automated-smartphone-controlled-beer-brewi?ref=FundedToday&utm_medium=referral&utm_source=e-176dn.fnd.to Oui, oui, je sais, il ne manque plus qu'un moyen pour que une fois prête, elle arrive dans nos mains sans besoin de se lever.
  20. Steven

    Tablette Murale

    C'est toujours magnifique ces photos quand il n'y a pas le câble d'alimentation qui bavent sur le côté
  21. Steven

    Support Gea

    Tu vas de voir faire 2 lignes : 1 pour la semaine et une pour le weekend ... le code est ajouté en fin de ligne. GEA.add({id["SENSOR_DROITE_VERANDA"], {"Value", id["SENSOR_GAUCHE_VERANDA"], 0}, {"Value+", id["NAT_TEMP_JARDIN"], 26}, {"Value+", id["NAT_TEMP_SALON"], 26}}, 30, "Marche clim veranda en froid", {{"Inverse"}, {"function", function() fibaro:call(id["CONTROL_CLIM_VERANDA"], "setMode", "2") end }, {"Days", "Weekday"}, {"Time", "16:00", "18:00"}}) GEA.add({id["SENSOR_DROITE_VERANDA"], {"Value", id["SENSOR_GAUCHE_VERANDA"], 0}, {"Value+", id["NAT_TEMP_JARDIN"], 26}, {"Value+", id["NAT_TEMP_SALON"], 26}}, 30, "Marche clim veranda en froid", {{"Inverse"}, {"function", function() fibaro:call(id["CONTROL_CLIM_VERANDA"], "setMode", "2") end }, {"Days", "Weekend"}, {"Time", "08:00", "18:00"}})
  22. @jojoGloouppp, tu n'as plus que ta HC2 ? Edit ... je raconte n'importe quoi ... tu n'as plus que ta "Lifedomus" ?
  23. Steven

    Tablette Murale

    Le plus dur est de faire passer le câble discrètement ... ou pas :
  24. Steven

    Début en LUA...

    if ( (HeureActuelle['hour']>= 8) and (string.format("%02d", HeureActuelle.hour) .. ":" .. string.format("%02d", HeureActuelle.min) <= fibaro:getValue(1, "sunriseHour") ) then tu avais un == au lieu d'un <= Après je sais pas si la suite fonctionne je n'ai rien testé.
  25. Steven

    Tablette Murale

    Tu as 100% juste.
×
×
  • Créer...