Aller au contenu

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


Krikroff

Messages recommandés

La réponse précédente de Lazer est une piste et la meilleure hypothèse.

Je confirme, il ne faut pas modifier à la main une autre variable dans le panneau de variables, sans quoi les variables qui contiennent des tableaux (avec des accolades) comme x_sonos_object sont corrompues.
Il ne faut utiliser le panneau que pour créer et supprimer des variables.



Envoyé de mon iPhone en utilisant Tapatalk
Lien vers le commentaire
Partager sur d’autres sites

@jojo J'utilise ton code pour lancer mes mp3 mais depuis, le fonctionnement est aléatoire.

Je vois bien l'appui sur le bouton du VD via GEA (ou directement en manuel) mais le lancement ne se fait pas toujours.

As tu déjà eu ce type de problème?

 

Lien vers le commentaire
Partager sur d’autres sites

Le message de Lazer relayé par Krikroff semble être la bonne piste pour mon probleme de variable x-sonos-object. Pour le moment cela fonctionne.

 

C'est un peu contraignant et c'est donc une information à toujours garder en memoire.

 

Merci pour votre aide. Cela marche enfin comme espéré.

 

Bonne journée et excellent  weekend à toutes et tous

 

 

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

 

je viens d'instaler lle VD , mais j'ai une question .

le bouton PROCESS sert à faire passer la météo par le SONOS?

 

je voudrais comprendre car je voudrais faire passer un message dans mon enceinte Sonos lorsque quelqu'un sonne à la porte.

 

merci à vous

 

phill

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @phillm,

 

En fait, le Sonos Remote est la télécommande globale du sonos avec tous les retours de ce qu'il se passe, tout ca piloter par le bouton process.

 

Pour faire parler le Sonos en TTS, il faut :

 - noter l'id du VD Sonos Remote

  - noter l'id du bouton process

   - creer un autre VD que tu peux appeler Sonos TTS

   - creer un bouton dans ce VD TTS

  - y mettre ce code par exemple :
 

local currentDate = os.date("*t");
local cond = fibaro:getValue(3, "WeatherConditionConverted");
local tempext = fibaro:getValue(3, "Temperature"); -- température extérieure
local vent = fibaro:getValue(3, "Wind");
fibaro:debug(vent)
local wind = string.gsub(vent, '[.]' , ' kilometres par heure ')
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
-- 534 is the Virtual Device ID
-- 28 is the Process button ID
local sid, bid = 77, 28
-- Create TTS params object
local params = {
  -- TTS Message
  message = "Nous sommes le "..jour .." "..currentDate.day .." "..mois ..". La temperature extérieure est de "..degre ..", le temps est  "..condfr ..", la vitesse du vent est de ".. wind .." ",  
  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)

--Affichage icone
local selfId = fibaro:getSelfId()
fibaro:call(selfId, "setProperty","currentIcon", 56)

 

Puis lorsque tu as besoin, cliquer sur le bouton du VD TTS en pasant par une scene ou un VD

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Salut,
Ci-dessous traduit par Google :)

Existe-t-il un moyen de lire la valeur "State" de la SONOS Remote?
La meilleure serait une variable globale prenant cette valeur et une modification automatique de SONOS Remote.
Je voudrais créer une scène déclenchée par un changement de variable global. Si le niveau lux inférieur à un point et SONOS est en cours de lecture, allumez les lumières.

Merci pour toute aide :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

 

Je viens d'installer une enceinte Sonos play 1 et un Sonos Connect et le super plugin de Krikroff.

Tout marche super bien .... sauf que je n'arrive plus à relancer mes enceintes si je ne les utilise pas pendant quelques heures :

c'est comme si elles passaient dans un mode veille plus "profond". Je suis alors obligé d'utiliser l'appli officielle Sonos sur mon iphone pour relancer la musique. Le plugin devient alors de nouveau opérationnel ...

Est ce que vous avez ce type de problème ?

 

Merci à tous et bon week-end !

 

Lien vers le commentaire
Partager sur d’autres sites

@pepite Je vous remercie! Il fonctionne comme prévu maintenant :)


J'ai une autre question. Le temps de réponse est très long. Après le démarrage de la scène, il faut environ 8 secondes pour entendre la voix de SONOS.
Est-ce normal? Peut-il être une faute de Voice RSS? Existe-t-il un autre service pris en charge?

Lien vers le commentaire
Partager sur d’autres sites

Hello, 

Je viens d'acheter une play 3, j'ai installé le VD mais quand je teste une scène-test de krikoff après un bon copier coller,  j'ai le message: 

Attempt to index local 'f'( nil value) 

 

Comprends pas ???!! 

Lien vers le commentaire
Partager sur d’autres sites

Hello, 

Je viens d'acheter une play 3, j'ai installé le VD mais quand je teste une scène-test de krikoff après un bon copier coller,  j'ai le message: 

Attempt to index local 'f'( nil value) 

 

Comprends pas ???!! 

 

Edit: j'avais commencé le post par le début... En commençant par la fin je crois que j'ai trouvé la solution 2pages en arriere !! :-) reste à le tester. Mais je me pose encore une question: je n'ai pas créé ni touché la panneau de variables avec ce VD...??  

 

Edit 2 : bon, j'y arrive pas... :-(

J'ai tout supprimé et tout repris selon le mode op de krikroff mais rien n'y fait...

Faut-il créer une variable x_xonos_object ? Quelle valeur y mettre à la création? on laisse 0 ? 

 

Modifié par ebtjjn
pas d'évolution
Lien vers le commentaire
Partager sur d’autres sites

Salut YopYopYop.

 

 

Oui j'ai le meme probleme. Le module va lire la derniere commande executee. S'il n'y a pas de playlist, rien ne lance. tu as du utiliser ton enceinte et l'arrêter entre temps.

 

Peut-être que qq un a une solution?

 

si j'appuie sur le bouton, je voudrais que la radio se lance. Cela marche quand je teste puis plus rien car le sono a été utilisé pour lire un MP3.

 

Qq un a une solution?

Lien vers le commentaire
Partager sur d’autres sites

Salut ebitjjn,

 

je comprends. moi aussi j'ai galéré. Et effectivement à casue du panneau de variable.

 

De memoire, il faut que tu desinstalles le VD completement, t'assurer que y a aucune variable x-sonos-object.

De memoire, la variable x-sonos-object se cree toute seule. Mais bon je peux me tromper.

Peut-être d'autres sur le forum con/infirmeront.

 

Ne pas modifier le code!

 

Il faut ensuite recommencer la procédure depuis le debut. :installation du VD.

 

Bonne chance.

 

Lien vers le commentaire
Partager sur d’autres sites

Tu ouvres 2 onglet : sur la page des variables, tu effaces la données dans son os object, tu ne sauvegarde pas.

sur l'autre onglet, tu ouvres les réglages du Vd de krikoff, et la tu sauvegarde.

pour vérifier, tu rafraîchis la page des variables, et la variable sonos à du s'incrementer toute seule.

 

normalement tu es "ready" ...!!

Lien vers le commentaire
Partager sur d’autres sites

Oui mon problème semble aussi venir de la variable x-sonos-object. Si je la supprime et resauve le VD ça remarche ...

par contre je n'ai toujours pas compris pourquoi la variable est "corrompue" (je ne vais pas ds le panneau des variables)

je cherche mais comme le problème ne se reproduit que au bout de qq jours c'est pas évident de le reproduire

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...