-
Compteur de contenus
2 515 -
Inscription
-
Dernière visite
-
Jours gagnés
28
Tout ce qui a été posté par MAM78
-
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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
topic unique Fibaro Keyfob FGKF-601 - Télécommande porte-clés Z-Wave+
MAM78 a répondu à un(e) sujet de d@m!Ch94 dans Modules Fibaro
Regardez s'il ne sont pas dans les devices cachés. J'ai remarqué que certaines des actions de boutons était masqués ! -
@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
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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 ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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 ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui Envoyé de mon iPhone en utilisant Tapatalk Pro
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Ok merci, ça devrait répondre à mon besoin, enfin quand ça marchera (plus de bug ?)
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Non, je viens de supprimer ma fonction Wait et le problème est toujours présent. Bug ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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 ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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" ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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 ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
-
Problème toujours d'actualité. Si vous avez une idée ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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 ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Est-ce que l'un de vous pourrais m'indiquer ce qui va pas dans mes 2 tentatives ci-dessus ?
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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
- 12 474 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
