kioneoranga Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 @Sakkhho Je suis d'accord depuis que j'ai basculé en 6, j'ai l'impression que c'est moins réactif. Etrange.
pepite Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 @MAM78 Je n'ai pas encore testé, mais juste en lisant, je me dis que ceci est redondant puisque déjà prévu dans GEA. L'intérêt des "#.....#" est justement de ne pas avoir à les mettre dans les conditions, donc ceci pour moi : GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", "fr-FR", "40"}, "Annonce de la météo") Doit s'utiliser soit comme ceci avec ce qui est déjà prévu dans GEA GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #value[1]# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #value[1]# #tempsext# degrer et le temps est #value[2]#", "fr-FR", "40"}, "Annonce de la météo") Soit comme ceci avec le #tempsext# si @Steven accepte de le rajouter dans le coeur de GEA, c'est une bonne idée, pourquoi pas. GEA.add ({"WeatherLocal!",""}, 0, "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[1]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[1]#", "fr-FR", "40"}, "Annonce de la météo") Pour SONOSTTS, j'aurais fait cela pour éviter de mettre le volume si pas besoin et la langue. sonostts = {name = "Sonos TTS", action = function(vd_id, button_id, message, volume) local message = GEA.getMessage(message) if GEA.language == "fr" then langue = "fr-FR" else langue = "en-US" end if (not volume) then volume = 30 end 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} _x:set(tostring(vd_id), { tts = {message=message, duration='auto', language=langue, volume=volume} }) _f:call(vd_id, "pressButton", button_id) end } @Sakkhho essaie avec Value- ;-)
pepite Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 il y a 8 minutes, kioneoranga a dit : c'est moins réactif. tu parles des déclenchements instantanés ? @Sakkhho ta ligne est ok pourtant. tu as quelquechose dans le début ? "Validation, démarrage, action" ?
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 (modifié) non je crois pas tu entends quoi par validation etc... Modifié le 6 janvier 2018 par Sakkhho
kioneoranga Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 (modifié) il y a 5 minutes, pepite a dit : tu parles des déclenchements instantanés ? @Sakkhho ta ligne est ok pourtant. tu as quelquechose dans le début ? "Validation, démarrage, action" ? Oui je parle "des déclenchements instantanés" par exemple La même ligne en V5 sur l'ouverture du garage lance un MP3 sur une enceinte SONOS. La lecture du MP3 est quasi instantanée Sous V6, de temps en temps c'est immédiat et de temps en temps il faut plusieurs secondes (10 à 15s) après l'ouverture ou fermeture. Je n'explique pas. =============================== Info complémentaire J'ai conservé 2 instances de GEA tout comme en V5 Pour traiter dans une que les alertes génériques à l'ensemble de la maison et les noeuds mort La seconde instance, est dédiée précisément au traitement de chaque événements par pieces. Au debut de la migration en V6, j'avais essayé de tout regrouper dans une seule instance, à la lecture des optimisations de code, mais j'ai vite fait marche arrière. J'avais vraiment de gros ralentissement lors d’événement instantané. Modifié le 6 janvier 2018 par kioneoranga
pepite Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 il y a 1 minute, kioneoranga a dit : Oui je parle "des déclenchements instantanés" par exemple la je ne peux rien faire ;-), voir avec @Steven car la c'est le coeur de GEA ;-) Ne pas oublier que La V6 est plus complète que la V5 avec de nombreuses nouveautés, le temps de débogguer et d'optimiser au maximum
kioneoranga Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 à l’instant, pepite a dit : la je ne peux rien faire ;-), voir avec @Steven car la c'est le coeur de GEA ;-) Ne pas oublier que La V6 est plus complète que la V5 avec de nombreuses nouveautés, le temps de débogguer et d'optimiser au maximum J'ai bien vu depuis 1 mois maintenant que cette nouvelle version est plus complète avec l'ensemble de ses tests et d'optimisation au chargement du code. Je ne fais que remonter un constat au quotidien. J'ai appris avec et ma femme ne cri pas trop donc ça va :-) 1
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 (modifié) moi l'appuie sur la sonnette est bref, et j'ai l'impression que GEA 6 ne réagit pas assez vite, donc il le laisse passer. il ne le traite pas du tout. GEA 5.4 le voit sans problème. donc c'est pas tant un problème de gestion des instantanées car les autres fonctionnes sans problèmes mais plutôt l'interception des actions rapides de la HC2 ? comme je suis sur un FGBS en modifiant le paramètre 1 et en mettant 1 ou 2s ca devrait le prendre je vais tenter plus tard, j'ai remis GEA 5.40 là Modifié le 6 janvier 2018 par Sakkhho
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Il y a 1 heure, pepite a dit : @Sakkhho essaie avec Value- ;-) @pepite ok mais pas logique :-)
MAM78 Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Il y a 6 heures, Kristiano a dit : Is the Weatherlocal bug mentioned above also solved in this version? Yes it is solved also 1
Steven Posté(e) le 6 janvier 2018 Auteur Signaler Posté(e) le 6 janvier 2018 Les déclenchements instantanés sont probablement moins réactif qu'avec la 5.40 pour plusieurs raisons. La première : GEA 6 a été réécrit dans quasiment sa totalité avec beaucoup plus de possibilité et de contrôle. La 2ème et la plus importante est sa jeunesse. GEA 5.4 est l'évolution de plusieurs années alors que la 6 n'a qu'un mois. Ma petite configuration ne me permet pas de voir de différence, mais à la lecture de mon propre code, je peux déjà voir des chemins d'amélioration que je mettrais en place dès que possible. Par contre ma priorité est la correction de bugs. Je préfère un système plus lent qui fonctionne bien qu'un système rapide qui ne fait pas son travail. Mais promis, je vais y travailler dès que j'aurais plus de temps. 1
Steven Posté(e) le 6 janvier 2018 Auteur Signaler Posté(e) le 6 janvier 2018 Pour info et au vu des soucis de @kioneoranga j'ai l'impression qu'il y a un bug dans GEA, lorsque une action immédiate tente de stopper une action automatique. Je ne trouve pas encore la raison mais si vous avez le même soucis contacter moi. Dans son cas, elle stoppe une autre action qui n'est pas la bonne. La bonne nouvelle pour vous c'est que le bug se trouve probablement dans la fonction GEA.add et que c'est dans cette même fonction que l'optimisation des actions immédiates doit être optimisée .. Donc Steven ... au boulot dès ce soir si j'y arrive. 1
Gandalf Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Salutation tout le monde et bonne année a tous J'ai une question HS, mais je ne sais pas trop où la poser et ça concerne la prog donc je me dis que vous pourrez peut-être m'aider Voilà je cherche a créée une scène qui ne ferra qu'une chose c'est couper ou allumer une autre scène ( je passe déjà par GEA pour 1 truc similaire, mais ça ne regain pas comme je veux comme s’il ne prenait pas en compte le déclencheur ) je voudrais donc simplement séparer certaines choses pour quand les inviter vienne je coupe la gestion automatique et leur laisse la main avec la télécommande qui s'occuperait de couper ou allumer la gestion automatique des lumières suivant leur besoin . J'ai testé de recopier mon CODE GEA, mais bien sûr ça ne veux pas LoL Merci à vous
MAM78 Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 (modifié) Il y a 4 heures, pepite a dit : Doit s'utiliser soit comme ceci avec ce qui est déjà prévu dans GEA GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #value[1]# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #value[1]# #tempsext# degrer et le temps est #value[2]#", "fr-FR", "40"}, "Annonce de la météo") Hello @pepite, Le problème avec ta proposition ci-dessus c'est que la valeur restituée est en décimales et donc pas très agréable à entendre. L'idéal serait de pourvoir intégrer des fonctions de mise en forme des valeurs comme par exemple une fonction arrondi : string.format("%.0f", #value[1]#) ) Je n'ai pas trouvé comment intégrer cela dans GEA lorsqu'il s'agit de l'appliquer sur une valeur de substitution de type #value[1]#, #time#, ... Modifié le 6 janvier 2018 par MAM78
MAM78 Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Il y a 4 heures, pepite a dit : GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", "fr-FR", "40"}, "Annonce de la météo") @pepite Concernant le fait que je renseigné {"Weather!", "Temperature" ,""} dans la condition c'était volontaire puisque pour un message push, la précision des décimales est intéressante alors que pour le message TTS ce n'est pas pertinent.
MAM78 Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Il y a 4 heures, pepite a dit : Pour SONOSTTS, j'aurais fait cela pour éviter de mettre le volume si pas besoin et la langue. sonostts = {name = "Sonos TTS", action = function(vd_id, button_id, message, volume) local message = GEA.getMessage(message) if GEA.language == "fr" then langue = "fr-FR" else langue = "en-US" end if (not volume) then volume = 30 end 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} _x:set(tostring(vd_id), { tts = {message=message, duration='auto', language=langue, volume=volume} }) _f:call(vd_id, "pressButton", button_id) end } Concernant ta proposition, ci-dessus elle me convient bien. Du coup, cela pourrait être également fait pour la variable volume dans le cas d'un message MP3.
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Il y a 4 heures, Sakkhho a dit : moi l'appuie sur la sonnette est bref, et j'ai l'impression que GEA 6 ne réagit pas assez vite, donc il le laisse passer. il ne le traite pas du tout. GEA 5.4 le voit sans problème. donc c'est pas tant un problème de gestion des instantanées car les autres fonctionnes sans problèmes mais plutôt l'interception des actions rapides de la HC2 ? comme je suis sur un FGBS en modifiant le paramètre 1 et en mettant 1 ou 2s ca devrait le prendre je vais tenter plus tard, j'ai remis GEA 5.40 là bon je confirme que c'était bien un passage de FGBS trop rapide non intercepté par GEA; du coup j'ai rajouté un temps sur l'entrée et ca marche par contre je comprends tjs pas pourquoi cette ligne ne passe pas en 6.03 GEA.add(id["ECL_CAVE"], 30, "", {{"Inverse"},{"turnOff",id["ECL_BUANDERIE"]}}) -- Eclairaige Buanderie éteint si on eteint Eclairage Cave
Steven Posté(e) le 6 janvier 2018 Auteur Signaler Posté(e) le 6 janvier 2018 Si c'est bien déclaré dans l'entête, GEA capture tout ce qu'il reçoit. C'est juste le traitement qui est plus long qu'en 5.40 mais il ne peux louper aucun événement reçu. Hormis si tu dépasse le quota d'instance autorisée .. dans les paramètres du scénario. Pour la cave .. étrange .. question bête mais bon, faut bien la posé .. Tu es sûr des ID ?
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Ben je t assure qu il Loupait le passage du fgbs à ON(Je le vois sur mon téléphone mais la sonette ne sonne pas)En mettant une tempo sur l entrée ça sonne dans 100 % des cas. Pour la cave les IDs sont bons car c est la même ligne en 5.40
MAM78 Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 ton id est bien déclaré dans l'entête ? --[[ %% autostart %% properties 87 value
Steven Posté(e) le 6 janvier 2018 Auteur Signaler Posté(e) le 6 janvier 2018 Tu as peut-être le même soucis que @kioneoranga, soit un StopTask qui te stop la mauvaise tache. Je sais que c'est compliqué mais dans le debug, tu n'as pas un "Stoppé" en trop. 1
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 Pas impossible car ces éclairages sont aussi dans des stoptask restarttask. Je vais essayé d être attentif
Sakkhho Posté(e) le 6 janvier 2018 Signaler Posté(e) le 6 janvier 2018 (modifié) bon ca se confirme je me garde que cette ligne (la dernière plus bas) et mets en commentaire toutes les autres, la ligne passe bien -- Eclairage Cave local Ecl_Cave1 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_CAVE"], 0}}, 2*60,"Lumière OFF cave", {{"Inverse"}, {"turnOff", id["ECL_CAVE"]}, {"Repeat"}}) local Ecl_Cave2 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_BUANDERIE"], 0}}, 2*60,"Lumière OFF buanderie", {{"Inverse"}, {"turnOff", id["ECL_BUANDERIE"]}, {"Repeat"}}) GEA.add(id["OUV_SDB_BAS"], 60,"", {"StopTask", {Ecl_Cave1, Ecl_Cave2}}) GEA.add(id["OUV_SDB_BAS"], 60,"", {{"Inverse"},{"RestartTask", {Ecl_Cave1, Ecl_Cave2}}}) GEA.add(id["ECL_CAVE"], 30, "", {{"Inverse"},{"turnOff",id["ECL_BUANDERIE"]}}) -- Eclairaige Buanderie éteint si on eteint Eclairage Cave -- Modifié le 6 janvier 2018 par Sakkhho
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 j'ai des problèmes d'ouverture et fermeture des volets ces lignes ne se sont pas exécutées en GEA 6 GEA.add({Present,id["MOV_SALON"], {"Value-", id["VOLETS_CUISINE"], 90},{"Time", "07:00", "09:00"}}, 30, "#time# - Ouverture Volets", {{"Open",{id["VOLETS_SALON"],id["VOLETS_CUISINE"]},100},{"VirtualDevice", id["SURVEILLANCE_STATION"], 8},{"VirtualDevice", id["SURVEILLANCE_STATION"], 12}}) et celle ci GEA.add({{"Power-", id["PRISE_TELE"], 20},{"Global", "Tele", "On"},{"Time", "21:00", "23:00"}}, -1, "",{{"Value", id["ECL_CHAMBRE_PARENTS"], 35},{"Global", "Tele", "Off"},{"VirtualDevice", id["MODE_MAISON"], 1},{"Close",{id["VOLETS_SALON"],id["VOLETS_CUISINE"]},100},{"VirtualDevice", id["SURVEILLANCE_STATION"], 9},{"VirtualDevice", id["SURVEILLANCE_STATION"], 13},{"VirtualDevice", id["SURVEILLANCE_STATION"], 3}}) je suis sur que la ligne passe notamment la 2eme car la partie surveillance station a été exécutée hier soir donc j'en conclu que le {"Close",{id["VOLETS_SALON"],id["VOLETS_CUISINE"]},100} ne fonctionne pas - je dois pouvoir le faire en {"Close",{id["VOLETS_SALON"],id["VOLETS_CUISINE"]}} mais c'est quand meme bizarre non? une parenthèse en trop dans la syntaxe d'ailleurs GEA.add( {CONDITIONS}, 30, "", {"Open", {35, 36}}, 20} ) - Ouvre LES volets ID 35 ET 36 à 20 % \\Open blind 35 and 36 to 20% bon dimanche
pepite Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Bonjour, Non je dirais normal, le code pour les volets est different de la 5.40. mais tt de mm bizarre. Toujours est il, mais a verifier dans le fichier syntaxe, pour une ouverture totale îl ne devrait pas y avoir le 100 :-)A tester :-) bien sur :-)Merci pour l erreur d accolades :-)Envoyé de mon Nexus 5X en utilisant Tapatalk
Messages recommandés