Bobobull
Membres confirmés-
Compteur de contenus
75 -
Inscription
-
Dernière visite
Profile Information
-
Sexe :
Homme
-
Ville :
Lausanne
-
Box
Home Center 2
-
Version
4.170
Visiteurs récents du profil
1 155 visualisations du profil
Bobobull's Achievements
Newbie (1/14)
4
Réputation sur la communauté
-
Bon alors c'est pas très concluant, parfois les messages sont juste parfois faux. J'ai insisté un peu avec le boutons du module et même via les boutons, j'ai parfois le mauvais message TTS. Il n'y aurait pas moyen de vider la variable que les modules SONOS utilise ? ça serait pas une solution "propre" et simple ?
-
En fait, j'aime bien l'idée d'avoir un seul code pour une même tâche, c'est plus simple à gérer. Si je copie le code je vais l'avoir à double et pour chaque modification il faudra maintenir les deux. Sur le fond ce n'est pas très grave mais je vois pas trop ou peut être ce problème puis que le mail envoyé et correcte dans tous les cas, cela signifie bien que "l'assemblage" effectue la bonne action. C'est vraiment étrange tout ça. Je copie le code dans les scene IFTTT pour voir si ça change, mais j'y crois pas trop Merci de ton aide en tout cas
-
C'est complexe. Lorsque j'appuie sur les boutons "Réveil" ou "Dodo" manuellement depuis le portail, j'ai toujours le bon message. Lorsque l'alarme "Wake-Up" sonne sur mon portable, IFTTT (sur le portable) exécute une scène qui appuie sur le bouton "Réveil" du module. Dans ce cas, je reçois le bon mail (à chaque fois) mais pas toujours le bon TTS (Soit le bon, soit celui du soir précédent). Le code de la scène : --[[ %% properties %% globals --]] -- Scene à jouer au réveil. Démarré par ITTT fibaro:debug("Pressing button 1 on module Scanarios") fibaro:call(485, "pressButton", "1") fibaro:debug("Done.") Lorsque je dis à "Ok Google" que je vais dormir, IFTTT exécute une autre scène qui appuie sur le bouton "Dodo" du module. Dans ce cas aussi, je reçois le bon mail à chaque fois mais pas toujours le bon TTS (cas idem, soit le bon, soit celui du matin précédent). Le code de la scène : --[[ %% properties %% events %% globals --]] -- Scene à jouer avant de dormir fibaro:debug("Pressing button 2 on module Scanarios") fibaro:call(485, "pressButton", "2") fibaro:debug("Done.") J'imagine qu'il est possible de faire plus simple mais je ne maîtrise pas trop, si tu as des pistes, je suis preneur
-
ok, voici les deux code Scenario-BonneNuit.lua Scenario-Reveil.lua
-
Alors les voici (Code des boutons du module "épuré de ce sur le TTS") Code au réveil : -- Create TTS params object local bid = 28 local params = { -- TTS Message message = PhraseTTS, duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 15 -- Volume } -- Envoi TTS Annonce Meteo 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} -- Make a request to the remote to process params object instantly _x:set(tostring(id["CHA_SONOS_PLAY1"]), { tts = params }) _f:call(id["CHA_SONOS_PLAY1"], "pressButton", bid) Code dodo local bid = 28 local params = { -- TTS Message message = PhraseTTSNuit, duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 15 -- Volume } 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} -- Make a request to the remote to process params object instantly _x:set(tostring(id["CHA_SONOS_PLAY1"]), { tts = params }) _f:call(id["CHA_SONOS_PLAY1"], "pressButton", bid) A savoir que le code envoie également un mail différent au réveil et au dodo et que le mail contient le bon message. A savoir que la Sonos qui reçoit le TTS font partie d'un groupe. Elle sort du groupe, lis le message et réintègre le groupe. Ca fait un moment que je cherche, je ne trouve pas de logique, d'où la piste d'un cache quelque part.
-
Bonjour, Je ne sais pas trop ou poster cette question alors je tente ici. J'utilise un module virtuelle maison pour automatiser des actions. J'ai un problème avec deux action (code dans les boutons en LUA donc): Réveil et Dodo Réveil lance la musique sur les Sonos, allume quelques lumière et envoie une annonce TTS sur la sonos de la chambre. Dodo règle les volume des Sonos, éteint les lumières et envoie une autre annonce TTS sur la sonos de la chambre également. Tout fonctionne mais assez souvent, dans la scene du réveil, j'ai l'annonce TTS de la veille et le soir avec la scene dodo, j'ai le message du matin. Y a-t-il un cache à vider ou quelque chose à faire pour éviter ceci ? Merci de votre aide
-
ok je vais voir, merci
-
J'ai le même soucis, et donc ?
-
Bonjour, j'ai un truc que j'arrive pas à résoudre. J'utilise le du TTS pour avoir un "dialoge" avec ma box Alors je passais dans des scripts et tout était parfait. Maintenant j'ai créé un VD avec deux boutons. Un sert le matin pour le réveil et un le soir au coucher. Chaque boutons exécute du code LUA qui balance une phrase TTS. Mon problème : Lors de l'exécution du matin, j'ai le message du soir et lors de l'exécution du soir, j'ai le message du matin. Pourtant les autres tâches des boutons (allumage lumière, café … le matin et extinction le soir) sont bien ok c'est dont les bon scripts qui se lance. J'ai ajouté un envoi de mail dans le code et je reçois par mail le bon message mais par TTS le mauvaise. Du coup, comment je peux faire ? Ya une variable à cleaner avant l'exécution ? Avez-vous déjà rencontrés ce genre de comportement ? De mémoire avant de passer par le VD, ça fonctionnait correctement. Merci de votre aide
-
Nouvelle clé et ça fonctionne aussi nickel. Merci
-
Silence radio ce matin aussi :/
-
Hum, alors a part que dans mon cas j'ai toujours plusieurs action ce qui me double les accolades : GEA.add( {id["DET_SALON"]}, -1, "det", {{"turnOn", 121}}) Sinon je vois pas trop ce qui cloche à mon niveau. Quand tu parlais de GEA 7, tu parles bien de 6.07 ?
- 12 244 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ok ne faudrait-il pas des accolades dans la condition? GEA.add( {id["DET_SALON"]}, -1, "det", {"turnOn", 121})
- 12 244 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Salut, As-tu mis l'ID de ton DET_SALON dans l'en-tête %%Properties (xxx value) ?
- 12 244 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bien vu, encore merci
- 12 244 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :