Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 501
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. MAM78

    Support Gea

    Autre test avec : GEA.add(true, 0, "Test", {{"transpose", "B", {"A", "B", "C"}, {"a", "b", "c"}}, {"Popup", "Info", "Titre", "Retour = #value[1]#"}}, "Test Transpose") avec la condition suivante : transpose = {name="transpose", action=function(Value, Table1, Table2) for i = 1, #Table1 do if Table1 == Value then return Table2 end end return "" end }, J'ai bien le Popup sur l'application fibaro mais avec comme contenu : Retour = true et non Retour = b Une idée de ce qui cloche ?
  2. MAM78

    Support Gea

    @Steven Concernant, ta suggestion d'intégrer le script SONOS dans GEA. Ok à 100%. Je pense que cela devrait intéresser de nombreuses personnes (celles qui possèdent des SONOS, évidement !) Concernant l'histoire de traduction j'essai d'écrire une option (fonction) dans GEA qui rechercherait une valeur dans un premier tableau et donnerait comme résultat sa correspondance dans un deuxième. Cette option (fonction) pourrait être utilisée pour faire des traductions. Valeur en anglais, Table1 en anglais, Table2 en français. Résultat de la traduction. Sur l'utilisation de l'événement suivant : GEA.add(true, 0, "Test Transpose", {{"transpose", "B", {"A", "B", "C"}, {"a", "b", "c"}}, {"SendVoiceMessage", "TTS", "Retour #value[1]#", 2, "fr-FR"}}, "Test Transpose") Le résultat attendue serait : Retour b Mais l'erreur suivante : [DEBUG] 00:44:26: Option : [transpose, ["B",["A","B","C"],["a","b","c"]]] ne peut pas être utilisé comme action Mais je n'arrive pas à la faire fonctionner. Tu pourrais m'expliquer ce qui cloche. transpose = {name="transpose", getValue=function(Value, Table1, Table2) for i = 1, #Table1 do if Table1 == Value then print("Transpose"..Table2 ) return Table2 end end return "" end },
  3. Hello [mention=450]pepite[/mention] Tu pourrais s’il te plaît tester ma version avec annonce de la météo. Envoyé de mon iPhone en utilisant Tapatalk Pro
  4. MAM78

    Support Gea

    @Kristiano It's not "en-EN", but "en-us" in the GEA event . Try this ! It seems like the #datefull# etc are not getting updated since I get this in the TTS Scene. [DEBUG] 14:51:50: Mode=TTS Message=We are #datefull# the outside temperature is #tempsext# degrees and then weather is #WeatherCondition# Vol=25 Btw i removed the Pushnotification of the same. So its "". FYI Are you sure to use the V6.02 version off GEA ?
  5. MAM78

    Support Gea

    C'est fait !!! It's done !!! Il est maintenant possible d'envoyer depuis GEA un message sur un haut-parleur SONOS annonçant la météo selon les critères que vous le souhaitez It is now possible to send from GEA a message on a SONOS loudspeaker announcing the weather according to the criteria you want Si vous n'avez pas d'enceinte Sonos, pour pouvez utiliser mon code également pour l'envoi de messages push. If you dont have a Sonos speaker, you can use my code also for sending push messages. GEA.add( {"Time", "07:15"}, 0, "Nous sommes #datefull# il fait #tempsext# degres et le temps est #WeatherCondition#", {"SendVoiceMessage", "TTS", "Nous sommes #datefull# il fait #tempsext# degrer et le temps est #WeatherCondition#", "10", "fr-FR"}, "Annonce de la météo") GEA.add( {"Time", "07:15"}, 0, "We are #datefull# the outside temperature is #tempsext# degrees and then weather is #WeatherCondition#", {"SendVoiceMessage", "TTS", "We are #datefull# the outside temperature is #tempsext# degrees and then weather is #WeatherCondition#", "10", "en-us"}, "Wheather message") Pour utiliser cette fonctionnalité, il faut ajouter dans GEA les codes ci-dessous : To use this feature, you must add the codes below to GEA : Remplacer la ligne / Replace the line : removeuselesstrad = "Removing useless traduction: " Par celles-ci / By this one : removeuselesstrad = "Removing useless traduction: ", WeatherCondition = {"Clear", "Cloudy", "Rain", "Snow", "Storm", "Fog"}, week2 = {"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"}, month = {"january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"}, the = "the", unknow = "unknown" Remplacer la ligne / Replace the line : removeuselesstrad = "Suppression de traduction inutile : ", Par celles-ci / By this one : removeuselesstrad = "Suppression de traduction inutile : ", WeatherCondition = {"Clair", "Nuageux", "Pluvieux", "Neigeux", "Orageux", "Brumeux"}, week2 = {"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, month = {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"}, the = "le", unknow = "indeterminé" Remplacer la ligne / Replace the line : message = message:gsub("#date#", os.date(GEA.trad.date_format)) Par celles-ci / By this one : message = message:gsub("#date#", os.date(GEA.trad.date_format)) local currentdate = os.date("*t") message = message:gsub("#datefull#", GEA.trad.week2[currentdate.wday] .. " " .. GEA.trad.the .. " " .. currentdate.day .. " " .. GEA.trad.month[currentdate.month]) message = message:gsub("#tempsext#", tonumber(string.format("%.0f", api.get("/weather").Temperature))) message = message:gsub("#WeatherCondition#", GEA.WeatherCondition) Avant la fonction ci-dessous / Before the function below : -- ---------------------------------------------------------- -- Recherche et activation des plugins scénarios -- ---------------------------------------------------------- Ajouter la fonction ci-dessous / Add this function below : -- ---------------------------------------------------------------- -- Recherche le temps qu'il fait avec la traduction selon la langue -- ---------------------------------------------------------------- GEA.WeatherCondition = function() for i = 1, #GEA.traduction.en.WeatherCondition do if GEA.traduction.en.WeatherCondition[i] == api.get("/weather").WeatherCondition then return GEA.trad.WeatherCondition[i] end end return GEA.trad.unknow end Ci-dessous ma scène d'envoi de messages à l'enceinte Sonos / Below my scene sending messages to the Sonos speaker SendVoiceMessage.lua Nommer la scène SendVoiceMessage / Name the Scene SendVoiceMessage La scène doit porter le même nom que son nom dans la ligne événement GEA (.....{"SendVoiceMessage", "TTS"....) The scene must have the same name as its name in the GEA event line (.....{"SendVoiceMessage", "TTS"....) @Steven tu pourras peut-être optimiser le code GEA et l'intégrer dans la prochaine version ?
  6. MAM78

    Support Gea

    maybe i will do it for you. Please be patient.
  7. MAM78

    Support Gea

    Merci@steven pour l’explication Envoyé de mon iPhone en utilisant Tapatalk Pro
  8. MAM78

    Support Gea

    Hello, j'ai remarqué que certain événements n'apparaissent pas au lancement de GEA dans la log. [DEBUG] 20:31:54: Ajout auto : #1 Démaorage de la Box[DEBUG] 20:31:54: Ajout auto : #2 Démarrage GEA[DEBUG] 20:31:54: Ajout auto : #3 Check new version *répété*[DEBUG] 20:31:54: Ajout auto : #4 Check new version beta *répété*[DEBUG] 20:31:54: Ajout auto : #5 Porte Garage toujours ouverte *répété*[DEBUG] 20:31:54: Ajout auto : #8 Update VD Jour Chômé[DEBUG] 20:31:54: Ajout auto : #9 Update VD Vacances scolaires Voir le trou #6 et#7 Voici les lignes correspondantes : GEA.add({id["DETECTEUR_PORTE_GARAGE"]}, -1, "La porte du garage vient d être fermée", {{"Inverse"}, {"Sleep", 7, {"SendVoiceMessage", "MP3", "Fermeture Porte Cave.mp3", "50"}}}, "Fermettre porte Garage") GEA.add({id["DETECTEUR_PORTE_GARAGE"], {"Time", "Sunset-15", "Sunrise+5"}}, -1, "La porte de la cave vient d être ouverte", {{"SendVoiceMessage", "MP3", "Ouverture Porte Cave.mp3", "50"}}, "Ouverture porte Garage") Vous auriez une explication, sachant que lors de la détection des événements #6 et #7, les libellés apparaissent bien dans la Log
  9. MAM78

    Support Gea

    @Steven Merci, j'ai intégré cette nouvelle version. Elle fonctionne parfaitement avec mes événements. Tu peux donc pour moi la publier Néanmoins, j'ai aussi constaté qu'il n'est pas possible de nommer (dernier paramètre) une événement si l'on ne renseigne pas d'option ou une action. Exemple : j'ai voulu nommer l'événement ci-dessous : GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#") J'ai essayé comme ça : (mais j'ai des erreurs, je n'ai pas trouvé la syntaxe qui permet de le faire) : GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", , "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", "", "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", {}, "Trace Démarrage HC2") GEA.add({"Info+", "serverStatus", os.time()-120}, 0, "Box redémarée à #time# le #date#", {""}, "Trace Démarrage HC2") Rien à faire, ça passe pas
  10. MAM78

    Support Gea

    A la lecture de ton code de la V 6.02 tu n'aurais pas fait la modification sur la bonne ligne. Pour moi, la modification devrait être faite sur 601 (traitant les actions) et non la 589 (traitant les getValue). Ou peut-être les 2 ? Je me trompe ? PS : Sinon, concernant la tempo du messages marche à la perfection.
  11. MAM78

    Support Gea

    Ok, merci je regarde cela ce soir, une fois à la maison. Ce sera plus pratique qu'en mode remote
  12. MAM78

    Support Gea

    Génial ça fonctionne Y a plus qu'à intégrer dans une nouvelle version 6.02 ? Si tu peux également regarder mes suggestions évoquées précédements et les intégrer. Cf. Remplacement de variables dans les arguments des actions.
  13. Regardez s'il ne sont pas dans les devices cachés. J'ai remarqué que certaines des actions de boutons était masqués !
  14. MAM78

    Support Gea

    @Steven je viens de faire le test à distance en utilisant une lumière. J'ai toujours la même erreur [DEBUG] 15:34:27: [1;31m2017-12-19 15:34:27.089210 @0s [Démarrage] #6 [DEBUG] 15:34:37: [1;31m2017-12-19 15:34:37.089210 [ fatal] LUA error: /opt/fibaro/FibaroSceneAPI.lua:208: attempt to concatenate local 'sceneID' (a nil value) Parcontre, il semblerait bien que la temporisation fonctionne, voir interval de temps en les 2 lignes de trace
  15. MAM78

    Support Gea

    Pour arriver à supprimer la mon ancien plugin de la variable GEA_Plugins, j'ai du : supprimer la variable globale supprimer la ligne de code de reconnaissance des plugins GEA de mon ancien scénario "sendsonosmessagetts". La mise en commentaire de la ligne ne suffisait pas ! Arrêter et relancer GEA Du coup, je n'ai plus que : Recherche de plugins, ... : sendvoicemessage Mais là, n'étant pas chez-moi il est impossible pour moi de refaire le test, sauf si vous avez une idée pour simuler à distance l'ouvertue et la fermeture de ma porte de garage ?
  16. MAM78

    Support Gea

    J'obtiens effectivement le résultat suivant : [DEBUG] 14:22:55: {"sendsonosmessagetts":61,"sendvoicemessage":82} alors que mon plugin s'appelle "SendVoiceMessage" et que le plugin "SendSonosMessageTTS" ne contient plus le code de reconnaissance des plugins GEA. Comment est-ce que l'on réinitialise la variable globale ? Une simple suppression de la VG ?
  17. MAM78

    Support Gea

    Oui Envoyé de mon iPhone en utilisant Tapatalk Pro
  18. MAM78

    Support Gea

    Ok merci, ça devrait répondre à mon besoin, enfin quand ça marchera (plus de bug ?)
  19. MAM78

    Support Gea

    @Steven Juste par acquis de concience : De mon expérience IT, un setTimeout correspond à une durée maximum d'attente d'un retour d'une fonction et au-delà de cette durée en principe il y a un code retour en erreur (de type Timeout). Ce que tu indiques correspond à une temporisation avant d'executer cette fonction. Pourrais-tu me confirmer que la fonction Sleep de GEA correspond au cas 2 ci-dessus. ma HC2 est en version 4.150
  20. MAM78

    Support Gea

    Non, je viens de supprimer ma fonction Wait et le problème est toujours présent. Bug ?
  21. MAM78

    Support Gea

    @Steven Est-ce la fonction Sleep ne va pas redonner la main immédiatement si l'action s'execute immédiatement ? Du coup pas d'attente de 10 secondes.
  22. MAM78

    Support Gea

    Je viens de faire le test de @Steven mais du coup j'ai erreur suivante : [DEBUG] 10:08:15: [1;31m2017-12-19 10:08:15.121762 [ fatal] LUA error: /opt/fibaro/FibaroSceneAPI.lua:208: attempt to concatenate local 'sceneID' (a nil value) Voici ma ligne GEA : GEA.add({id["DETECTEUR_PORTE_GARAGE"]}, -1, "La porte du garage vient d'être fermée", {{"Inverse"}, {"Sleep", 10, {"SendVoiceMessage", "MP3", "Fermeture Porte Cave.mp3", "50"}}})
  23. MAM78

    Support Gea

    J'essaye d'ajouter une fonction GEA de Wait dont l'objet est de faire un sleep de 10 secondes. Voir code ci-dessous. wait = {name="Wait", action=function(...) local params = {{geaid = __fibaroSceneId}, {gealine = GEA.currentEntry.id.."@"..GEA.currentAction.option_id}, {geamode = "action"}} fibaro:sleep(params[1]*1000) end avec l'événement suivant : GEA.add({id["DETECTEUR_PORTE_GARAGE"]}, -1, "La porte du garage vient d'être fermée", {{"Inverse"}, {"Wait", 10}, {"SendVoiceMessage", "MP3", "Fermeture Porte Cave.mp3", "50"}}) Mais j'ai l'erreur suivante : [DEBUG] 09:38:20: Erreur, vérifier : [Wait, [10]] Est-ce que vous pourriez m'indiquer ce qui cloche ?
  24. MAM78

    Support Gea

    Je ne pense pas, puisque la durée d'attente est en fonction de la longueur du message vocal et non de l'exécution de l'action précédente.
  25. MAM78

    Support Gea

    @pepite je viens de faire les 2 solutions que tu m'as proposé ci-dessus. Mais elles ne répondent pas à mon besoins que je reexplique ci-dessous. Quelqu'un ouvre la porte -> immédiatement le message porte ouverte doit être envoyé Quelqu'un ferme la porte -> le message porte fermée doit être envoyé une fois que le premier message est terminé d'être diffusé. Le tempo de 30 secondes que tu suggères correspond à la durée pendant laquelle la porte est restée ouverte, hors dans mon cas cette porte peut être fermée au bout de 10 seconde et donc dans ce cas sa ne fonctionne pas. Ce que je recherche à faire, ce serais de mettre une tempo dans la partie action qui durerait X secondes avant de réaliser l'action suivante afin de laisser au premier message le temps être diffusé. CQFD.
×
×
  • Créer...