minos Posté(e) le 19 juillet 2017 Signaler Posté(e) le 19 juillet 2017 @pepite Oups. .. hier soir j ai testé, neurones brûlés ils étaient. ... Je reteste ce soir après le taff. Merci
Steven Posté(e) le 19 juillet 2017 Auteur Signaler Posté(e) le 19 juillet 2017 @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 :-) 1
speedoxx007 Posté(e) le 19 juillet 2017 Signaler Posté(e) le 19 juillet 2017 Merci @Steven. Je teste ceci ce soir et te redis si ça marche ou pas :-) 1
minos Posté(e) le 19 juillet 2017 Signaler Posté(e) le 19 juillet 2017 Il y a 9 heures, Steven a dit : Je serais toi, je vérifierais les id : 105 et 95 ... et j'enleverais le S à Weekday :-) @Steven Bon c'est ok ... le problème venait que l'ID est 105 etait inexistant car le module curieusement avait disparu ... Donc inclusion , ID 111 maintenant OK. GEA.add(111, 1*60, "", {{"Inverse"}, {"Days", "Weekday"}, {"Time", "00:30", "06:30"}, {"turnOff", 95}, {"Repeat"}, {"Portable", 46}}) pour bien comprendre le "Inverse" signifie que après la plage horaire , à 06h31 le module 95 va se mettre à turnOn ? par contre pendant la tranche horaire définie , si madame veut regarder la TV ben elle pourra pas ...je pense car 95 turnOff j ai juste ...?
pepite Posté(e) le 19 juillet 2017 Signaler Posté(e) le 19 juillet 2017 Heuuu non :-).Inverse : inverse la 1ere condition soit 111, signifie donc si pas de detectionTa ligne signifie donc : Si pas de détection de mouvement pendant 1 minute, les jours de semaine, entre 00h30 et 06h30, extinction du 95, et envoie push (vide d ailleurs) sur telephone 46 Non cela ne passera pas a turnOnMadame pourra regarder la tele mais si elle s'endort, plus de détection de mouvement donc extinction :-)Envoyé de mon Nexus 5X en utilisant Tapatalk 1
speedoxx007 Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 @Steven hello, ça fonctionne a la merveille {"Function", function() fibaro:call(<id>, "setValue2", <position>) end} Alors la valeur <position>, 0 = vertical et 100 = horizontal Merci c'est cool. 1
minos Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 Coucou, je cherche avec GEA à actionner le bouton 1 d'un module virtuel . GEA.add(111, 1*60, "", {{"Days", "Weekday"}, {"Time", "05:00", "05:30"}, {"Program", 121, 1}}) En faite, l'idée: lors de mon réveil , le capteur de mouvement me détecte entre 05:00 et 05:30 (je suis toujours le premier levé ) ... et me dit bonjour... si faisable aussi , j'aimerais qu'elle me donne la T° ext , une meteo pour la journée .. vous voyez le truc ... donc je suis preneur de vos avis ... Merci
Sakkhho Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 (modifié) tu as pleins d'exemples un peu partout {"VirtualDevice", id VD, id bouton} Modifié le 20 juillet 2017 par Sakkhho 1
minos Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 @Sakkhho Merci je vais regarder ...
Sakkhho Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 Mais Je t ai donné la code pour les VD.
minos Posté(e) le 20 juillet 2017 Signaler Posté(e) le 20 juillet 2017 il y a 5 minutes, Sakkhho a dit : Mais Je t ai donné la code pour les VD. oui merci , j'ai mis en place ... mais rien ne se passe ... a suivre ..
Steven Posté(e) le 21 juillet 2017 Auteur Signaler Posté(e) le 21 juillet 2017 @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)
minos Posté(e) le 21 juillet 2017 Signaler Posté(e) le 21 juillet 2017 @Steven Merci beaucoup...je vais étudier tout ça . Par contre pour l'agenda , tu te sers de quoi .. celui de google : S Planer ..?
Steven Posté(e) le 21 juillet 2017 Auteur Signaler Posté(e) le 21 juillet 2017 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
minos Posté(e) le 21 juillet 2017 Signaler Posté(e) le 21 juillet 2017 Il y a 2 heures, Steven a dit : 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. Waouh classe t aurais pas un petit tuto pour ça aussi ... Madame serait épatée ...vu qu'elle oublie des RDV des fois .... Merci
Steven Posté(e) le 21 juillet 2017 Auteur Signaler Posté(e) le 21 juillet 2017 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
minos Posté(e) le 22 juillet 2017 Signaler Posté(e) le 22 juillet 2017 @Steven ok merci je regarde ton lien et merci d'avance pour Citation je t'enverrai mon VD et le bon script que j’attends avec impateince ..
ggpublic Posté(e) le 22 juillet 2017 Signaler Posté(e) le 22 juillet 2017 mon GEA ne fonctionne plus depuis un moment, ou il fonctionne sur 3 pattes. J'ai eu beau repartir de zéro dans une nouvelle scène, rien n'y fait. Le code est bon, je n'ai rien modifié depuis des lustres et tout fonctionnait bien avant Je suis en 4.133 mais c'était pareil en 4.130. La version de GEA est tjs 5.40 Vous commenceriez par quoi pour essayer de régler le problème ? je suis un peu perdu
pepite Posté(e) le 22 juillet 2017 Signaler Posté(e) le 22 juillet 2017 Bonjour, installe le watchdog de@Lazer :-). Ton GEA sera au moins relance :-) Puis apres ligne par ligne jusqu'a trouver celle incriminée:-)Envoyé de mon Nexus 5X en utilisant Tapatalk
Steven Posté(e) le 22 juillet 2017 Auteur Signaler Posté(e) le 22 juillet 2017 Voici le script Google. Il va chercher dans ton agenda les entrées des 2 prochaines semaines et les envoi dans un Module Virtuel. /** * ======================================================================================================== * Création de variable globale sur la HC2 * ======================================================================================================== **/ var HC2_IP = "hc2.xxxxxxxxx.xx"; var LOGIN = "username"; var PWD = "password"; var CAL_ID = 'xxxxxx.yyyyyyy@gmail.com' var TIMEZONE = "GMT+2"; var DATE_FORMAT = "dd.MM"; var ALL_DAY = ""; var TIME_FORMAT = "HH:mm"; var MV_ID = 87; var options = {"headers": { "User-Agent": "MY_APP_NAME (App URL/your email address)", "Authorization": "Basic " + Utilities.base64Encode(LOGIN + ":" + PWD) }} /** * ---------------------------------------------------------------------------- * Recherche les entrées de l'agenda et les envoi au MV après avoir appuyer * sur le bouton Reset * ---------------------------------------------------------------------------- **/ function findAndSend() { var cal = CalendarApp.getCalendarById(CAL_ID); var now = new Date(); var nowPlus2Weeks = new Date(now.getTime() + (14 * 24 * 60 * 60 * 1000)); var events = cal.getEvents(now, nowPlus2Weeks); var index = 1; reset(); events.sort(function(a, b) { return a.getStartTime() - b.getStartTime(); }); for (var i=0 ; i < events.length && i < 10; i++) { var d = getDateTime(events[i]) send("ui.Label"+index+".value", d + " - " + events[i].getTitle()); index += 1; } } function getDateTime(event) { var dt = "" if (event.isAllDayEvent()) { dt = Utilities.formatDate(event.getStartTime(), TIMEZONE, DATE_FORMAT); dt += " " + ALL_DAY; } else { dt = Utilities.formatDate(event.getStartTime(), TIMEZONE, DATE_FORMAT); dt += " "; dt += Utilities.formatDate(event.getStartTime(), TIMEZONE, TIME_FORMAT); } return dt; } function testit() { reset(); send("ui.Label1.value", "3Ts"); } /** * --------------------------------------------------------------------------------------------------------- * Action * --------------------------------------------------------------------------------------------------------- **/ function send(name, value) { var url = "https://"+HC2_IP + "/api/callAction?deviceID="+MV_ID+"&name=setProperty&arg1="+name+"&arg2="+value + " " envoi = UrlFetchApp.fetch(url, options) } /** * --------------------------------------------------------------------------------------------------------- * Retourne toutes les variables * --------------------------------------------------------------------------------------------------------- **/ function reset() { var url = "https://" + HC2_IP + "/api/callAction?deviceID="+MV_ID+"&name=pressButton&arg1=11"; envoi = UrlFetchApp.fetch(url, options) } et je te joint mon Module Virtuel. Le script appuie sur le bouton "Refresh" pour supprimer ce q'il y a dans le MV puis insert les événements un par un. Lorsque tu auras crée ton script sur ton drive.google.com, teste le en choisissant la fonction "testit", il te demandera l'autorisation pour accéder à ton agenda. Ensuite planifie le lancement de la fonction "findAndSend" pour quelle tourne toutes les heures. Et voilà. Google_Agenda.vfib
minos Posté(e) le 22 juillet 2017 Signaler Posté(e) le 22 juillet 2017 @Steven Il y a 2 heures, Steven a dit : Lorsque tu auras crée ton script sur ton drive.google.com, teste le en choisissant la fonction "testit", il te demandera l'autorisation pour accéder à ton agenda. j'ai une erreur , il m'a bien demandé l'autorisation pour accéder à l'agenda et puis : Erreur DNS : https://ip_homecenter:port/api/callAction?deviceID=127&name=pressButton&arg1=11 (ligne 87, fichier "Code") "j ai modifié : ip_homecenter:port" dans ta variable var HC2_IP = tu renseignes l'ip et le port de ta HC2 ...? dans le var MV_ID = 127; correspond au Virtual Device de google Agenda à mon avis il veut pas de https dans le var url = ... si je le dégage : je n'ai pas d'errreur ...
Steven Posté(e) le 23 juillet 2017 Auteur Signaler Posté(e) le 23 juillet 2017 C'est pas vraiment l'IP mais www.xxx.yy:portOui le 127 doit correspondre à L'ID de ton VD. Perso, je suis toujours en HTTPS mais peut-être pas toi. Est-ce que la fonction testit te met bien 3Ts dans ton VD ? Envoyé de mon SM-G935F en utilisant Tapatalk
flechg Posté(e) le 23 juillet 2017 Signaler Posté(e) le 23 juillet 2017 BONJOUR A TOUS voila je voudrais actionner un MV si un capteur de t° affiche une certaine valeur si je mets GEA.add({"Value+", id["temp.."], 30},1*30, {"VirtualDevice", id VD, id bouton}) et inversement quand la t° arrive a 25 est ce que je suis bon la étant pas chez moi merci encore
Steven Posté(e) le 23 juillet 2017 Auteur Signaler Posté(e) le 23 juillet 2017 Oui mais attention Value+ 30 sera actionné à 31 car Value+ signifie plus grand que. Pour l'inverse utilise Value- 26.Envoyé de mon SM-G935F en utilisant Tapatalk 1
flechg Posté(e) le 23 juillet 2017 Signaler Posté(e) le 23 juillet 2017 Merci Steven Je viens de rentrer mais là ligne ne fonctionne pas j ai un message d'erreurJe comprends pas pourquoi La valeur vient d'un vd est ce que ça vient pas de la Merci encoreEnvoyé de mon MHA-L09 en utilisant Tapatalk
Messages recommandés