Aller au contenu

Messages recommandés

Posté(e)

pour moi ce sont les 2 même json, qui semblent être pour le device en alerte :

{"id":75,"name":"Detecteur","roomID":235,"type":"com.fibaro.FGFS101","
... "userDescription":"","value":"true"}
,"actions":{"forceArm":0,"getParameter":1,"meetArmConditions":0,"
reconfigure":0,"setArmed":1,"setParameter":2,"updateFirmware":1},"
created":1450137979,"modified":1450137979,"sortOrder":88}

pour moi c'est le

"value":"true"}

qui me dit que le détecteur est en alerte .

Posté(e)

Si j'ai bien tout pigé, pour le TTS, vous avez créé un VD avec différents boutons et derrière chaque bouton, vous codez votre TTS ? Puis dans GEA vous appelez le VD c'est bien ça ?

Posté(e)

Je n'utilise pas GEA mais n'est il pas possible d'exécuter directement du lua depuis GEA ?

Envoyé de mon smartphone

Posté(e)

@yohan et Krikroff, oui on peut mettre du Lua dans GEA

J'utilise des fonctions pour cela directement dans GEA

 

mais attention si le maitre GEA me lit il va m’engueuler car il n'aime pas ça  ;)

Posté(e)

Ce que je veux dire c'est qu'a partir de GEA on execute un pressbutton sur le VD créé pour stocker les TTS.

Posté(e)

Hello,

Il fonctionne à  merveille ce module, encore merci.

 

je ne pige pas comment fonctionne les preselections. Si j'utilise le module et les 5 preselections cela est sensé correspondre à  quoi sur les Sonos ?

J'ai d'abord pensé aux favoris Sonos, mais ça ne joue pas. Comment puis-je redéfinir ces boutons ?

Merci

Posté(e)

Les présélections correspondent à  "Mes stations de radio" dans  "Radio via TuneIn"

Bin oui mais non, cela ne correspond à  rien dans mon cas.

Ca ressemble à  une ancienne liste de favoris du temps de la Sonos Unique. Il doit y avoir une option quelque part pour remettre ça à  0.

Posté(e)

Hello à  tous ! 

 

Je reviens sur le forum après encore une grosse pause ^^

Et je m'intéresse au TTS avec SONOS et du coup à  la nouvelle version de Krikroff ! (Merci encore au passage)

 

Mais je suis pas un doué ... :(

J'ai installé la VD mais apres je sais pas comment on fait fonctionner ? doit-on creer une scene pour lancer un TTS ? Si oui, quel code utiliser ? Faut-il changer des paramètres personnel à  part pour l'API key ... ? qu'est-ce que le sid et le bid, faut-il changer leur ID ?

 

Bref ... un truc "pour les nuls" ^^

 

Merci !!

Posté(e)

Pour être plus précis ...

 

408 c'est le Virtual Device qu'on vient de créer ? 

28, je comprends pas ce qu'on entend par le Process button ?

 

  1. -- 408 is the Virtual Device ID
  2. -- 28 is the Process button ID
  3. local sid, bid = 408, 28

 

 

et quand mon VD est installé, comment je fais pour entendre le message :

message = "La température extérieure actuelle est de 21,2°C",

?

 

voili :)

Posté(e)

Tu dois toujours être en Pause si tu n'arrive pas à  faire cela , il faut juste que tu appuis sur Play sur le VD et tu reviens nous voir  :2:

Posté(e)

 408 est l'Id du module virtuel Sonos (à  remplacer par le tient) et 28, le n° du bouton que tu dois appeler ("Process" tout en bas).


-- 408 is the Virtual Device ID
-- 28 is the Process button ID
local sid, bid = 408, 28
-- Create TTS params object
local params = {
  -- TTS Message
  message = "La température extérieure actuelle est de 21,2°C",  
  duration = 'auto',    -- Duration: "auto", xx seconds
  language = "fr-FR",    -- Language: fr-FR
  volume = 10            -- 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(sid), { tts = params })
_f:call(sid, "pressButton", bid)

Et ce code est à  multiplier par le nombre de message différents que tu veux générer en remplaçant la phrase entre ". Tu peux aussi régler le volume de cette annonce ou même changer le langage.

Pour ma part, j'ai créer un nouveau module virtuel avec trois boutons par ligne pour centraliser tout mes messages à  diffuser à  partir de scène.

Posté(e)

trop tard PITP2 je te boude ! t'es moche et t'es pas bô !

 

Merci DID ! J'avais vu et créé ma scène mais après j'ai zappé et cherché bêtement ou c'était dans le Virtual Device :o

Bref ... ma question était effectivement débile mais tu m'as remis sur la piste :P

 

Merci ! 

bon à  toi aussi PITP2 ... c'est Noel, je te pardonne ^^

 

Vais tester l'histoire du STREAM aussi du coup ...

Posté(e)

 Par contre, je n'arrive pas à  mettre en place les lignes de @13013 ici:

http://www.domotique-fibaro.fr/index.php/topic/616-fibaro-hc2-vd-sonos-remote-télécommande-pour-diffuseur-sonos/?p=100939

où il est censé nous donner la date du jour, la température extérieure (j'ai changé l'Id correspondant à  ma sonde) et la météo (je n'ai pas changé le 3, qui apparemment correspond à  la météo). Qu'est-ce que cette variable "matnuit"? J'ai bien entendu remplacé l'Id 171 mais rien.

J'ai cette erreur:

[ERROR] 17:02:29: line 7: attempt to call method 'getSourceTrigger' (a nil value)
Posté(e)

@did, j'ai crée une variable prédéfinie matnuit = matin ou nuit. Plus deux petites scenes  bloc qui l'une le matin a 07h03 met la variable matnuit=matin et l'autre le soir a nuit. Lorsque la variable passe a matin elle déclenche la scene d'ou ton erreur de trigger. Mais la scene peu être déclenchée par autre chose c'est une des solutions que j'ai trouvée pour déclencher a une heure precise. J'ai aussi dans la scene une variable calendrier qui est dans le "If", a supprimer.

Posté(e)

 @13013,

J'ai supprimé "matnuit" dans ta scène

--[[
%% properties
%% globals
--]]
 
local currentDate = os.date("*t");
local cond = fibaro:getValue(3, "WeatherConditionConverted");
local tempext = fibaro:getValue(63, "value"); -- température extérieure
local degre = string.gsub(tempext, '[,]' , ' degré ')
local degre = string.gsub(degre, '[.]' , ' degré ')
local degre = string.gsub(degre, '[-]' , ' moins ')
local jour ="";
if( os.date("*t").wday == 2 ) then jour = "Lundi"; end
if( os.date("*t").wday == 3 ) then jour = "Mardi"; end
if( os.date("*t").wday == 4 ) then jour = "Mercredi"; end
if( os.date("*t").wday == 5 ) then jour = "Jeudi"; end
if( os.date("*t").wday == 6 ) then jour = "Vendredi"; end
if( os.date("*t").wday == 7 ) then jour = "Samedi"; end
if( os.date("*t").wday == 1 ) then jour = "Dimanche"; end
local mois ="";
if( os.date("*t").month == 1 ) then mois = "janvier"; end
if( os.date("*t").month == 2 ) then mois = "fevrier"; end
if( os.date("*t").month == 3 ) then mois = "mars"; end
if( os.date("*t").month == 4 ) then mois = "avril"; end
if( os.date("*t").month == 5 ) then mois = "mai"; end
if( os.date("*t").month == 6 ) then mois = "juin"; end
if( os.date("*t").month == 7 ) then mois = "juillet"; end
if( os.date("*t").month == 8 ) then mois = "aout"; end
if( os.date("*t").month == 9 ) then mois = "septembre"; end
if( os.date("*t").month == 10) then mois = "octobre"; end
if( os.date("*t").month == 11) then mois = "novembre"; end
if( os.date("*t").month == 12) then mois = "décembre"; end
 
local condfr ="";
if( cond == "clear" ) then condfr = "clair"; end
if( cond == "cloudy" ) then condfr = "nuageux"; end
if( cond == "rain" ) then condfr = "pluvieux"; end
if( cond == "snow" ) then condfr = "neigeux"; end
if( cond == "storm" ) then condfr = "tempete"; end
if( cond == "fog" ) then condfr = "brouillard"; end
if (
 ( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "07:03")
    or
startSource["type"] == "other"
  )
then
    --fibaro:debug(jour)
    --fibaro:debug(condfr)
    --fibaro:debug(mois)
      --fibaro:debug(tempest)
--insertion Stream scene chant du coq avant TTS
--fibaro:startScene(123)
-- 534 is the Virtual Device ID
-- 28 is the Process button ID
local sid, bid = 534, 28
-- Create TTS params object
local params = {
  -- TTS Message
  message = "bonjour les bob. Nous sommes le "..jour .." "..currentDate.day .." "..mois ..". Le thermomètre extérieur est a "..degre .." et le temps est  "..condfr ..". ",  
  duration = 'auto',    -- Duration: "auto", xx seconds
  language = "fr-FR",    -- Language: fr-FR
  volume = 40            -- 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(sid), { tts = params })
_f:call(sid, "pressButton", bid)
end

mais peut-être reste-t-il encore d'autres lignes inutiles pour mon cas.

Posté(e)

@Did, peu être que dans ton cas tu n'as pas besoin de la ligne 43 qui lance la scene SI lundi au vendredi ET 7h03, comme j'ai vue que tu utilise des boutons dans un VD.Les commentaires ligne 52 et 53 sont àsupprimer aussi. C'était un essai pour associer Stream et TTS dans la meme scene mais il faut que je temporise.

×
×
  • Créer...