Aller au contenu
Krikroff

Fibaro Hc2 Vd Sonos Remote: Télécommande Pour Diffuseur Sonos

Recommended Posts

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 .

Partager ce message


Lien à poster
Partager sur d’autres sites

fait un post spécifique pour ta question, ou repose la dans le support GEA, car on pollue le VD sono

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Envoyé de mon smartphone

Partager ce message


Lien à poster
Partager sur d’autres sites

@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  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

oui c'est exactement ce que je fais, et qui fonctionne parfaitement, et comme ça dans GEA on n'a que du pur GEA

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui Jojo j'ai essayé ce matin et ça fonctionne parfaitement. Bien vu ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonne soirée!

S'il vous plaît me dire ce que ligne de code, il est nécessaire de fixer la TTC qui utiliserait celui synthétiseur vocal (https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-tts-docpage/)? Et à  la terrible construit parle russe, sans accents ou intonation. Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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 !!

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

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:

Partager ce message


Lien à poster
Partager sur d’autres sites

bah si j'appuie sur play, ça lance la musique ... pas le tts  :o

Il doit y avoir un truc évident que je vois pas la ... je me sent encore plus bête  :(

Partager ce message


Lien à poster
Partager sur d’autres sites

 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.

Partager ce message


Lien à poster
Partager sur d’autres sites

@doudoubidou, mon poste était une blague en référence au fait que tu disais être en pause depuis un moment ....  :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ...

Partager ce message


Lien à poster
Partager sur d’autres sites

 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)

Partager ce message


Lien à poster
Partager sur d’autres sites

@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.

Partager ce message


Lien à poster
Partager sur d’autres sites

 @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.

Partager ce message


Lien à poster
Partager sur d’autres sites

@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.

Partager ce message


Lien à poster
Partager sur d’autres sites

×