Bobobull Posté(e) le 16 février 2016 Signaler Posté(e) le 16 février 2016 Ok, merci Steven. Du coup si je veux une valeur qui n'est pas dans les conditions ? C'est possilbe ? (Genre un petit mail le matin qui remonte plusieurs infos de diversent sonde)
pepite Posté(e) le 16 février 2016 Signaler Posté(e) le 16 février 2016 certainement, mais donne nous un debut de code ;-)
Steven Posté(e) le 16 février 2016 Auteur Signaler Posté(e) le 16 février 2016 Oui, il y a une astuce. Il s'agit de mettre une condition qui sera toujours juste. Exemple : GEA.add({"Value!", 125, 999}, 30, "La température est de #value[1]#"} Si la Valeur N'EST PAS 999 ce qui je l'espère pour la planète n'arrivera jamais :-)
Bobobull Posté(e) le 16 février 2016 Signaler Posté(e) le 16 février 2016 Okay, j'avais un truc probablement pas terrible et que je croyais fonctionnel : GEA.add( true , 1*60 , "La température extérieur est de " .. fibaro:getValue(id["NETATMO_HYGRO_TERRASSE"], "value") .. "°. L`humidité est de " .. fibaro:getValue(id["NETATMO_HYGRO_TERRASSE"], "value") .. "%.", {{"Time", "05:55", "06:10"},{"Email",id["BOBO"],"GEA - Annonce météo."}}) Donc va falloir que ça devienne : GEA.add( { true , {"Value+", id["NETATMO_HYGRO_TERRASSE"], 999} } , 1*60 , "La température extérieur est de #value#°. L`humidité est de #value[1]#%.", {{"Time", "05:55", "06:10"},{"Email",id["BOBO"],"GEA - Annonce météo."}}) ou un truc du genre
Steven Posté(e) le 16 février 2016 Auteur Signaler Posté(e) le 16 février 2016 Voilà : Il y a 2 conditions une pour la température et une pour l'humudité .. ces 2 conditions ne doivent pas être égal à 999 (Value!) ... ce qui sera toujours le cas. Ensuite, dans le message, on utilise donc #value[1]# et #value[2]#. GEA.add( { {"Value!", id["NETATMO_TEMP_TERRASSE"], 999}, {"Value!", id["NETATMO_HYGRO_TERRASSE"], 999} } , 1*60 , "La température extérieur est de #value[1]#°. L`humidité est de #value[2]#%.", {{"Time", "05:55", "06:10"},{"Email",id["BOBO"],"GEA - Annonce météo."}})
pepite Posté(e) le 16 février 2016 Signaler Posté(e) le 16 février 2016 toujours le cas, sauf fin du monde à999 degres lol
Steven Posté(e) le 16 février 2016 Auteur Signaler Posté(e) le 16 février 2016 Si tout ce passe comme prévu, on est tranquille car on devrait passé de 20° à 3'000° donc on devrait bien ne jamais être à 999 1
Bobobull Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 Merci beacuoup, c'est nickel. Faut s'adapter avec GEA ... mais au final c pratique
pepite Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 Bonjour messieurs, Voici la question du jour, je joue avec l'octan remote en ce moment, j'adooore ;-) et je rencontre un souci. L'idee : eteindre sur double clic 1 seule lampe si tout est allume et inversement en fonction des lampes, tout en restant sur le double clic exemple : -- tout est ON, sur 1er double clic, extinction BUREAU -- tout est ON, bureau OFF, allumage BUREAU sur double clic ...etc Le code fonctionne, mais trop bien, sur le meme double-clic, la lampe s'eteint et se rallume. Le siganl a l'air de perdurer dans le temps. une idée ? --double-clic B1, rond plein, extinction eclairage bureau si eclairages_on GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, eclairages_on}, -1, "Extinction Eclairage Bureau", {{"turnOff", id["ECLAIRAGE_BUREAU"]}}) --double-clic B1, rond plein, Allumage eclairage BUREAU si eclairages TV=ON et Papier ON, eclairage bureau=OFF GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, {"Value", id["ECLAIRAGE_BUREAU"], 0}, {"Value", id["ECLAIRAGE_TV"], 1}, {"Value", id["ECLAIRAGE_PAPIER"],1}}, -1, "Allumage Eclairage BUREAU", {{"turnOn", id["ECLAIRAGE_BUREAU"]}})
Steven Posté(e) le 17 février 2016 Auteur Signaler Posté(e) le 17 février 2016 Les 2 lignes vont s'exécutée une après l'autre. Donc une fois la première ligne effectuée (bureau éteint), la 2ème ligne va s'activé .. puisque le bureau est éteint :-) Un simple conseil : inverser les 2 lignes mais je ne connais pas ce qu'il y a dans "eclairages_on"
pepite Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 Dans eclairages_on, c'est juste les {"Value", id['eclairage"], 1} de tous les eclairages concernés. Mais ce sont des instantanés @steven, GEA prend tout de même en compte le séquentiel des lignes ?
ggpublic Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 en principe, il n'y aura jamais d'absolue simultanéité tant qu'on n'aura pas de processeurs quantiques :-) donc GEA doit bien traiter les lignes séquentiellement les unes après les autres, non? Enfin je dis ça..... Sinon, j'ai une petite question : j'ai une ligne GEA qui se déclenche si la luminosité d'un de mes FGMS 001 est >30lux pendant plus de 30 sec. Ca fonctionne bien... mais pendant un moment. Au bout de quelques jours, GEA n'execute plus l'ordre alors que je suis certains que les conditions sont respectées (je vois biens une lux>30 pendant plus de 30s...). Un coup de save sur la scène GEA et ça repart. Ptit bug ou petite incompréhension de ma part? GEA.add({"Value+", 267, 30},30,"Remise à zéro du compteur",{{"Global","compteur",0},{"Portable", 4},{"Portable", 293},{"Portable", 89},{"Portable", 290},{"Portable", 187}})
pepite Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 @ggpublic, Non tu as bien compris, mais si ca refonctionne après chaque "save" et que GEA ne lit la ligne qu'une seule fois, c'est qu'il te manque un petit {"Repeat"}à la fin de ta ligne ;-) GEA.add({"Value+", 267, 30},30,"Remise à zéro du compteur",{{"Global","compteur",0},{"Portable", 4},{"Portable", 293},{"Portable", 89},{"Portable", 290},{"Portable", 187}, {"Repeat"}}) dis moi tu as assez de portables ? :60: tu peux tous les mettre dans la table Portables ;-)
ggpublic Posté(e) le 17 février 2016 Signaler Posté(e) le 17 février 2016 @pepite oui, enfin y'a des iPad dans le lot :-) Alors pour le repeat, je croyais que l'idee de cette option était de répéter le push d'avertissement tant que le dispositif n'a pas changé d'etat. Dans mon cas, le dispositif change bien d'etat mais ma variable globale n'est plus modifiée après un certain temps. J'ai comme l'imprssion que mon GEA est trop chargé... :-(
pepite Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 Bonjour, ipad ou pas, tu peux tout de même tout mettre dans la table "portables" ;-) ca simplifierait ta ligne ;-) Le Repeat ne concerne pas que les push, ca concerne toute la ligne y compris les conditions et options. En fonction de ce que fait ta ligne tu as besoin du Repeat, comme toi dans ce cas, sinon GEA ne lira la ligne qu'une seule fois. C'est peut-etre pour cela que ton Global ne se fait plus ;-) Teste avec le Repeat et tiens nous au courant. Bien que je sois aussi en 4.070 et que je rencontre aussi un bug avec un Global qui s'arrete ;-)
pepite Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 D'ailleurs je vous soumets mon souci hihihi, je continue àtester la telecommande octan en jouant avec plusieurs conditions sur les memes boutons ;-) En fait cela s'arrete à3 alors qu'il m'allume bien ECLAIRAGE PAPIER, mais ne fais pas le Global avec la valeur 4 lol , j'ai peut-etre fait une boulette de logique ou autre, mais je ne vois pas où, sachant qu'en mettant les lignes 1 par 1 cela fonctionne, des qu'elles y sont toutes heuuu ben c'est la greve ;-) -- Double Clic B1, rond plein -- GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, {"Global", "GEA_Octan", 4}}, -1, "", {{"turnOn", id["ECLAIRAGE_BUREAU"]}, {"Global", "GEA_Octan", 0}}) GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, {"Global", "GEA_Octan", 3}}, -1, "", {{"turnOn", id["ECLAIRAGE_PAPIER"]}, {"Global", "GEA_Octan", 4}}) GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, eclairages_off}, -1, "", {{"turnOn", id["ECLAIRAGE_TV"]}, {"Global", "GEA_Octan", 3}}) GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, {"Global", "GEA_Octan", 2}}, -1, "", {{"turnOff", id["ECLAIRAGE_TV"]}}) GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, {"Global", "GEA_Octan", 1}}, -1, "", {{"turnOff", id["ECLAIRAGE_PAPIER"]}, {"Global", "GEA_Octan", 2}}) GEA.add({{"SceneActivation", id["TELECOMMANDE_NODON"] , 13}, eclairages_on}, -1, "", {{"turnOff", id["ECLAIRAGE_BUREAU"]}, {"Global", "GEA_Octan", 1}})
ggpublic Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 Merci @pepite, ça améliore ma compréhension de GEA pcq je pensais que ma ligne serait automatiquement relue si ma condition n'était plus vraie. Donc c'est quand même vachement sioux, pcq on a un comportement différent selon que l'on mette un device ou une variable comme condition de déclenchement. Je prends un exemple tout bête où on veut remettre à zero une variable à l'allumage d'une lampe Ici 99 est une ampoule : avec cette ligne n'a pas besoin de repeat GEA.add(99,60, "",{{"Global","ma_variable",0}}) => si l'ampoule est allumée plus d'une minute, on met la variable globale à jour. Par la suite, si on l'éteint puis on la rallume plus d'une minute : la variable sera aussi mise à jour. Pas besoin de repeat, la ligne se "relance" toute seule. Maintenant, 99 est un détecteur de luminosité (FGMS 001) car l'ampoule n'est pas connectée. On veut faire la même chose que précédemment et on considère que l'ampoule est allumée si on détecte plus de 100lux : GEA.add({"Value+",99,100},60, "",{{"Global","ma_variable",0}}) => Donc là par contre, il faut un repeat, c'est bien ça? Si oui ça mériterait ptet une petite phrase d'explication dans le tuto, non? Yes, comme toi, je suis en 4.070 et j'ai aussi des variables globales qui arrêtent de se mettre à jour (même quand n'y a aucune condition). Par exemple, cette ligne toute simple, à ~4h du mat, je veux faire un reset de variable: GEA.add(true,5*60, "",{{"Time","04:00", "04:15"},{"Global","scenario_matin",0}}) He bien parfois, ma variable n'est pas mise à jour (et pourtant le super watchdog de @Lazer veille au grain )
Steven Posté(e) le 18 février 2016 Auteur Signaler Posté(e) le 18 février 2016 Dans eclairages_on, c'est juste les {"Value", id['eclairage"], 1} de tous les eclairages concernés. Mais ce sont des instantanés @steven, GEA prend tout de même en compte le séquentiel des lignes ? Pour un éclairage, j'aime pas {"Value", id['eclairage"], 1} , mais je préfère {"Value+", id['eclairage"], 0} car si on le rempalce par un dimmer cela fonctionnera toujours. Oui pour le séquencement des lignes, que cela soit en mode 30s ou immédiat, GEA empile les commandes à traiter et les dépile dans l'ordre en les exécutant. Pour le {"Repeat"}, je me permet de rejoindre @ggpublic. Le {"Repeat"} permet de continuer à analyser la ligne en cours et envoyé les messages TANT QUE la condition est respectée. Sans le {"Repeat"} Cette ligne ne serait exécutée qu'une seul fois puis mise en veille jusqu'à ce que la condition ne soit plus respectée. Dans le cas de @ggpublic, il souhaite être averti, une seule fois, lorsque la luminosité est > 30 lux pendant 30s. Le reapeat est donc inutile. @ggpublic Ton code devrait fonctionner, le seul truc que tu pourrais tester est de mettre le 0 entre guillet "0" mais cela ne devrait pas avoir d'impact. Es-tu certain que le lux redescend bien au dessous des 30 lux. Que l'ID 267 correspond bien à un "Light Sensor" Quant tu dis que la variable globale ne change plus ... est-ce que tu reçoit quand même les push sur tes portables ? Sinon, il y a une alternative qui serait d'utiliser cela en mode immédiat (-1) --[[ %%property 267 value %%global compteur ]]-- GEA.add({"Value+", 267, 30}, -1, "", {{"Global","compteur","0"}}) GEA.add({"Global","compteur","0"}, -1,"Remise à zéro du compteur", {{"Portable", 4},{"Portable", 293},{"Portable", 89},{"Portable", 290},{"Portable", 187}}) Mais faut faire attention à ce qui remet "compteur" à autre chose que 0. Voili, voilà
pepite Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 Merci @steven pour les explications et l'astuce des value de l'éclairage, je vais modifier de suite. Ah, je pensais à tort que l'empilement se faisait sur les 30 s seulement. hihihi encore merci Désolé @ggpublic, je t'ai donc dit une bêtise pour les Repeat ;-). Je pense que nos soucis de Global viennent de la 4.070 et non de GEA. mon code ci-dessus réagit pas tres bien hihihi ;-) j'essaie de contourner mais pas simple lol
dvine Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 Bonjour,obtenu une petite question à propos de l'envoi de poussée messege avec GEA .Est-il possible d'ajouter télégramme poussée à elle ?J'intergrate à mon fibaro HC et il est plus fiable, la poussée d' fibaro HC qui est parfois brisée , (version android ou je ne sais pas ) .Aussi pratique pour regarder vous messege arrière dans l'histoire .Telegram intergration :http://forum.fibaro.com/index.php?/topic/20581-sending-messages-from-your-hc2-to-your-telegram-account/en ayant cette seule chose à faire est ad cette ligne fibaro:setGlobal("Telegram", "messege") ou comme dans cet exemple de la présence sim . fibaro:setGlobal("Telegram", "Simulation à partir de l'horaire prévu : " .. start_simu) serait bien si cela pouvait être intergrated dans GEA . désolé pour mon frensh i utilise traduire ; )
Steven Posté(e) le 18 février 2016 Auteur Signaler Posté(e) le 18 février 2016 @pepite Tordu ton code Je pense que tes meilleurs amis s'appellent : "papier" et "crayon" et qu'il faut faire un petit schéma pour voir les interactions. Car juste à la lecture de cela, je vois un problème entre la ligne 1 et la dernière ... soit j'allume le bureau ... puis je l'éteint
Steven Posté(e) le 18 février 2016 Auteur Signaler Posté(e) le 18 février 2016 @dvine GEA.add(............, ..., ..., { {"Global", "Telegram", "Message"} }) Will do the trick
pepite Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 hihi oui c'est un peu tordu je l'avoue ;-) Papier Crayon ? tu veux que je fasse une allergie ;-) J'explique ce que je souhaite faire : Lorsque tous les eclairages sont allumés : "eclairages_on", par double-clic je voudrais faire : 1- au 1er double clic, eteindre la lampe bureau 2- au 2eme double clic : eteindre la lampe papier 3- au 3eme double clic : eteindre les lampes TV 4- au 4eme double-clic : rallumer lampes TV 5- au 5eme : rallumer lampe papier 6- au 6eme : rallumer lampe bureau Un peu comme une boucle avec le double clic, si vous avez une autre idee ;-) Je trouvais ca plus simple à ecrire avec en condition la valeur d'une VG ;-)
dvine Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 merci Steven ! pour la réaction rapide et soloution a fait un test et il fonctionne
ced600f Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 @pepite: c'est tordu comme fonctionnement mais faisable... Je pense que tu dois utiliser une variable globale dans laquelle tu stockes l'état des lampes genre 'XXXXX' pour tes 5 lampes Si tu as '11111' toutes les lampes sont allumées Si tu as '01111' les 4 dernières sont allumées ... Tu dois aussi avoir une variable compteur qui compte le nombre de double clic pour savoir quelle position tu dois changer. Pour changer un position, tu peux utiliser l'opérateur ou exclusif (fonctionne en php/C++,... je ne sais pas comment ça marche en lua) Ex: au 1° DC 11111 ^ 10000 (pour changer l'état de la première lampe) -> 01111 au 2° DC 01111 ^ 01000 (pour changer l'état de la première lampe) -> 00111 Et dans un 2° temps, tu dois allumer ou éteindre tes lampes en fonction de cette variable
Messages recommandés