Aller au contenu

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


Krikroff

Messages recommandés

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 .

Lien vers le commentaire
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.

Lien vers le commentaire
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

Lien vers le commentaire
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.

Lien vers le commentaire
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 !!

Lien vers le commentaire
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 :)

Lien vers le commentaire
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.

Lien vers le commentaire
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 ...

Lien vers le commentaire
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)
Lien vers le commentaire
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.

Lien vers le commentaire
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.

Lien vers le commentaire
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.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...