
Bobobull
Membres confirmés-
Compteur de contenus
75 -
Inscription
-
Dernière visite
Tout ce qui a été posté par Bobobull
-
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 330 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 330 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 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bien vu, encore merci
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Non mais autant pour moi, j'ai recopié mon script et ça fonctionne très bien. Peut-être un problème de caractère étrange lors des copier/coller. Ce qui m'a mis la puce à l'oreille c'est la vue du code dans le forum (un tab entre 345 value et un espace entre 463 value). Désolé et encore merci
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui, quelque soit celui que je laisse. Dès que je supprime une des deux entrées dans %% Properties ça passe. La tâche qui était en place était celle de la porte (GEA.add ( {id["ENT_FIB_DTR_Porte"]}) et je me suis rendu compte que ça ne fonctionnait plus après l'ajout de l'autre (GEA.add ( { id["SAM_PLUG_MALLE"] }). Si je supprime l'entrée 435 de %%Properties, la seconde ligne fonctionne.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, j'ai un soucis avec GEA (v6.07). J'avais une tâche déclenchée par un événement (ajout dans %%Properties) qui fonctionnait très bien. J'ai voulu en ajouter une deuxième et maintenant, aucune des deux ne fonctionne. Si le n'en laisse qu'une, cela fonctionne à nouveau. J'ai essayé de créer un nouveau script GEA (avec une variable Task custom) et le problème reste le même. Avez-vous une idée d'où chercher ? --[[ %% autostart %% properties 435 value 463 value %% globals --]] local id = { ENT_FIB_DTR_Porte = 435, SAM_PLUG_MALLE = 463, DIN_HUE_APPOINT_V = 470 } GEA.add ( { id["SAM_PLUG_MALLE"] }, -1, "Extinction Lampe appoint", { {"VirtualDevice", id["DIN_HUE_APPOINT_V"], 2}, {"Label", id["DIN_HUE_APPOINT_V"], "Label1", "Off"} } ) GEA.add ( {id["ENT_FIB_DTR_Porte"]}, -1, "Ouverture de la porte", {"Email", idalerte["TEST"], "Ouverture de la porte", "GEA.DECL - Alarme"} )
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci, j'avais raté ça super pratique. Bon mais si je veux utiliser l'heure de l'alarme dans une condition c'est possible ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, je cherche une solution à un problème qui me semblait bête mais qui visiblement n'est pas si simple (du moins en l'état de mes connaissance LUA/GEA). J'aimerais juste avoir une heure (de reveil) stockée dans une variable global et que GEA execute une tâche à cette heure. J'ai bien mon heure qui est dans une variable globale. J'ai aussi un joli Virtual Device dans lequel j'ai un label avec cette heure et des boutons +- pour la changer. Cette partie fonctionne très bien. La où je bloque, j'aimerais que GEA compare l'heure actuelle avec l'heure affichée dans le label dans le but d'exécution une action selon l'heure de de variable. C'est possible ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Mise à jour HCL + HC2 faites. GEA semble tourner, j'ai remarqué que les valeurs remontées en LUX par les FMGS étaient à la ramasse, mais ça semble se rétablir avec le temps. A suivre ...
-
Ouais il doit y avoir moyen, mais l'important c'est que ça fonctionne
-
Sisi, ça fonctionne. Le VD qui met à l'heure la HCL est importé sur la HC2. "off course" Par contre, je n'ai pas l'information "Last Update" de la HCL.
-
Merci, exactement ce qu'il fallait. J'ai une gateway (HCL) qui à le même glissement d'heure que ma HC2. J'ai importé deux fois le module, en renseignant une fois IP et identifiant de la HC2 et une fois la HCL. Les deux sont à l'heure maintenant
-
tout pareil, gros décalage et je suis en 4.100