Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 515
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. 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.
  2. Regardez s'il ne sont pas dans les devices cachés. J'ai remarqué que certaines des actions de boutons était masqués !
  3. 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
  4. 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 ?
  5. 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 ?
  6. MAM78

    Support Gea

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

    Support Gea

    Ok merci, ça devrait répondre à mon besoin, enfin quand ça marchera (plus de bug ?)
  8. 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
  9. MAM78

    Support Gea

    Non, je viens de supprimer ma fonction Wait et le problème est toujours présent. Bug ?
  10. 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.
  11. 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"}}})
  12. 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 ?
  13. 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.
  14. 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.
  15. MAM78

    Support Gea

    J'ai trouvé la solution pour répondre à mon besoin ci-dessus, c'est relativement simple, mais cela passe par une petite modification du code GEA. @Steven tu pourrais STP l'intégrer dans une prochaine version. Cela permet de mettre dans les actions des paramètres dynamiques reprenant les variables qui seront remplacées à la volée selon ta liste prédéfinie. Pour la fonction "PluginScenario", il convient de : Remplacer la ligne 602 : for i, v in ipairs(args) do table.insert(params, {["param"..i] = v}) end par : for i, v in ipairs(args) do table.insert(params, {["param"..i] = GEA.getMessage(v)}) end Pour la fonction "Scenario" qui propose également le passage d'argument au scenario mais qui n'utilise pas dans la ligne ci-dessous la boucle ci-dessus, je ne suis pas certain d'avoir trouver l'adaptation qu'il conviendrait de faire ? Peut-être, qu'il suffit juste de modifier la ligne 407de la façon suivante : Remplacer la ligne 407 : action=function(id, args) if (type(id) ~= "table") then id = {id} end for i=1, #id do fibaro:startScene(id, args) end end par : action=function(id, args) local params = {...} for i, v in ipairs(args) do table.insert(params, {["param"..i] = GEA.getMessage(v)}) end if (type(id) ~= "table") then id = {id} end for i=1, #id do fibaro:startScene(id, params) end end @Steven tu peux confirmer si c'est bon selon toi ? A quoi correspond la boucle sur #id, est-ce pour lancer plusieurs scènes dans une même action. Et dans ce cas là, ce sera toujours les mêmes arguments qui seront passés aux scènes. Et est-ce que ça ne devrait être plutôt fibaro:startScene(i, args) que fibaro:startScene(id, args). J'ai du mal à comprendre la logique de cette ligne. Ne conviendrait-il pas de faire la même chose que la partie action=function(...) pour la fonction "PluginScenario" ?
  16. MAM78

    Support Gea

    Est-il possible de pouvoir utiliser le texte du message généré (3ème paramètre de la fonction GEA.add) qui est un texte dans lequel il peut y avoir des valeurs calculés afin de le réutiliser comme un texte dans les actions ? Cf. exemple ci-dessous : où je souhaiterais passer à ma scène "SendSonosMessage" en deuxième paramètre le texte avec le remplacement de #durationfull# par la durée d'ouverture de la porte. GEA.add( id["DETECTEUR_PORTE_GARAGE"], 5, "La porte du garage est ouverte depuis plus de #duration#", {{"Repeat"}, {"SendSonosMessage", "TTS", "La porte du garage est ouverte depuis plus de #durationfull#", "50"}}) Peut-être une nouvelle fonctionnalité de GEA à développer ?
  17. Il semblerait que le VD de notre @Krikroff en mode STREAM ne fonctionne pas en mode ajout à liste de lecture. Si la lecture d'un MP3 n'est pas terminé, la demande de lecture d'un autre MP3 n'est pas pris en compte. Savez-vous s'il est possible de vérifier si la lecture du MP3 précédent n'est pas terminé. Attention, il faut également prévoir le cas où de la musique est en cours d'écoute.
  18. MAM78

    Support Gea

    Problème toujours d'actualité. Si vous avez une idée ?
  19. MAM78

    Support Gea

    @pepite Je viens de faire le test (en mettant 30 comme durée) que tu m'as suggéré, mais c'est sans effet. Cela ne correspond à une durée de déclenchement et non une temporisation pour l'envoi du message.
  20. MAM78

    Support Gea

    @pepite merci, je ferais le test ce soir, sur le décallage du délai de prise en compte de la fermeture de la porte. Je préfèrerais éviter un VD avec des boutons (la liste risque d'être longue) et mais plutot utiliser une scène avec une liste de messages prédéfinits.
  21. MAM78

    Support Gea

    @pepite Merci pour les précisions, j'ai le problème suivant : Je souhaite identifier l'ouverture et la fermeture de la porte de mon garage. Mais lorsque les 2 actions sont réalisées rapidement, le deuxième message passe à la trappe Est-il possible selon toi de faire en sorte d'attendre la fin d'écoute ou de prise en compte par mon Sonos du premier message pour que le deuxième puisse être pris en compte également ? J'ai l'impression que le VD de @krikrof n'envoi pas le message ou MP3 dans une liste de lecture ?
  22. MAM78

    Support Gea

    pour le moment J’utilise le deuxième. Mais justement je voulais essayer le 1er mai je ne suis pas arrivé. Pourrais-tu m’expliquer la différence entre les deux.
  23. MAM78

    Support Gea

    C'est bon j'ai réussi à faire fonctionner ma détection et fermeture de la porte de cave avec l'utilisation de ma scène d'envoi de message Sonos qui exécute le commande TTS sur le VD Sonos Remote. Comme le suggère @pepite je vais utiliser un Fichier MP3 qui est plus rapide à lancer. Je pense que je vais plutôt utiliser une scène spécifique qui référencera et exécutera l'ensemble les phrases au format MP3 selon une liste prédéterminée constituée d'un : Id du message écouter nom de fichier correspondant au message J'utiliserais cet Id en passage de paramètre dans GEA qui lancera ma scène. Mon VD "SendSonosMessage" qui lance des messages TTS sera lui utilisé lorsque le message sera composite et devra contenir des données locales de GEA.
  24. MAM78

    Support Gea

    Est-ce que l'un de vous pourrais m'indiquer ce qui va pas dans mes 2 tentatives ci-dessus ?
  25. MAM78

    Support Gea

    Hello, je vais me mettre à l'utilisation de GEA Je voudrais envoyer sur mon Sonos un message lors de l'ouverture de la porte du garage : GEA.add( id["DETECTEUR_PORTE_GARAGE"], -1, "La porte du garage vient d'être ouverte") Comment est-ce je peux transformer la ligne ci-dessus afin qu'elle envoi le message sur ma Sonos ? Je ne vois pas comment spécifier le n° de bouton du VD, le volume en plus de l'ID de ma Sonos. J'ai essayé en utilisant la fonction qui permet de lance un scenario (qui porte la nom : SendSonosMessage) avec passage de paramètres, Le scenario récupère les arguments pour executer mon VD Sonos. GEA.add( id["DETECTEUR_PORTE_GARAGE"], -1, "La porte du garage vient d'être ouverte", {"SendSonosMessage", "La porte du garage vient d'être ouverte", "20"}) la valeur 20 étant le niveau de volume. Mais du coup, j'ai l'erreur :Option : SendSonosMessage n'existe pas
×
×
  • Créer...