BenjyNet Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Hum, me suis mal exprimé. J'ai un support mural pivotant (pour la chambre) et j'aurai bien attaché la playbar sur ce support (ou la tv) pour qu'elle suive le mouvement. Me semble avoir vu un truc chez Cobrason.
jojo Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 ça devrait être possible de fixer le support mural de ta barre au support mural pivotant de la TV. Juste un peu de bricolage
BenjyNet Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Héhéhé pas de bricolage mais ça me fait changer mon support mural... pffff https://www.youtube.com/watch?v=gsgPTPOC8_A
BenjyNet Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Moi je trouve pas ça si laid que ça. J'ai un TV 42'' dans la chambre qui doit pivoter à80° pour pouvoir le voir du lit, ça m'irait pas mal ça avec un petit sub
PITP2 Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 pardon je n'ai pas répondu au bon post, c’était pour un autre forum MDR ceci dit au lit il y a mieux àfaire que de regarder la tele lol
Rem's Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Coucou !! J'en suis super content, j'avais un système Boose 3.2.1 ( 2 enceintes + caisson), le truc c'est que finalement je m'en servait peu car il fallait l'allumer, ou alors il le restait et cela consommait. Avec la playbar, elle se branche en spdif, le son bascule automatiquement quand je me sers de la Tv. La consommation de la playbar est faible, et elle s'allume ou se mets en veille toute seul. Très honnêtement, je trouvais le son meilleur sur mon système Boose, certes par habitude, mais je suis aussi Dj depuis 25 ans (àmes heures perdues!!!, et j'adore la qualité et le matos bien réglé) Finalement sonos est très harmonieux et il m'a fallu quelques reglages entre le caisson et l'equaliseur. Avant AirPlay, décalage énorme, avec une seule source Sonsos, est beaucoup plus harmonieux, et intuitif àaffiner d'une piece a l'autre. D'ailleurs toutes les enceintes au même niveau est souvent le meilleur équilibre Je l'ai fixé au mur .... Merde une platine de fixation a 50€ pour un entre axes de 74, 5 cm ....!! J'ai donc mis 2 chevilles au mur et ai utilisé leur trous "ogive" pour accrocher la belle Au départ je pensai la poser sur le meuble en dessous, vu qu'il y a finalement que 2 ou 3 cables en tout, cela reste assez discret (elle n'est pas haute, et sous la TV, pour le coup je l'ai accroché au mur aussi) Sur la TV, le hdmi freebox + alim tv Sur la playbar, son alim et le câble spdif, connecte àla freebox. Le tout étant à10 cm de hauteur de mon meuble TV qui a la hauteur de 50 cm Suis sur iPad, si vous voulez j'essaierai de mettre une photo (cela dit rien d'extraordinaire) Bonne journée àtous
CASINOS Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Bonjour Je me permet de revenir vers vos lumières concernant la demande suivante : je possède plus Enceinte SONOS et parfois elle ne sont plus groupées pour jouer la même musique partout Y a t-il une solution , par exemple en rajoutant un bouton en Lua ou une scène pour regrouper toutes les pièces ? Merci
mprinfo Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 pardon je n'ai pas répondu au bon post, c’était pour un autre forum MDR ceci dit au lit il y a mieux àfaire que de regarder la tele lol C'est clair si on va au lit c'est pour dormir. Ah moins que les jeunes manquent d'imagination MDR Envoyé de mon SM-G900F en utilisant Tapatalk 1
Cisco Posté(e) le 11 septembre 2015 Signaler Posté(e) le 11 septembre 2015 bonsoir, Je suis passé en version 4.056 et j'ai une erreur avec le TTS Et quand je vais dans l appli Sonos, ça me mets impossible de lire et ça fait défilé la commande
cseb62 Posté(e) le 15 septembre 2015 Signaler Posté(e) le 15 septembre 2015 bonjour, Tout d'abord un grand merci pour ce device sonos. Est-il possible de lancer la lecture d'un fichier spécifique ? genre aboiement de chien ! D'avance merci
Lazer Posté(e) le 15 septembre 2015 Signaler Posté(e) le 15 septembre 2015 Chien Électronique À Base De Sonos
cseb62 Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Merci pour le lien, j'avais déjà vu ce module virtuel mais ce qui m'intéresserai c'est de passer en argument le fichier à lire... et ne pas avoir 36 modules Sonos. J'ai installé celui de krikroof mais le TTS rame qd même pas mal.... et c'est pour cela que je cherche a diffusé des message pré-enregistré. n'y a t'il pas une fonction pour lancer la lecture d'un mp3 ? D'avance merci
Lazer Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Hum làje ne saurais pas dire, j'ai pas vraiment creusé la question....
jojo Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Voici une petite modif du player (je j'ai déjà partagée, je ne sais plus où) et qui joue donc un MP3. La modif permet de ne pas interrompre après environ 30s. tu verras la variable locale (FilePath) avec le chemin d'accès vers le fichier mp3 à jouer en début de script. rien ne t’empêche de mettre cette info dans une variable globale, et de la rappeler. ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- -- SONOS Play stream... -- Copyright © 2014 Jean-Christophe Vermandé ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- ---------------------------------- -- User Settings ---------------------------------- ip = "192.168.xxx.xxx" port = 1400 FilePath = "//HPDS3615xs/music/iTunes/Sons/PoliceInformee.mp3" FileVol = 100 -- le fichier mp3 doit être dans la bibliothèque Sonos -- pour générer des MP3 : http://text2speech.us/# PlayUnlimited = "Yes" -- si <> Yes, arrêt après 30s environ ---------------------------------- -- DO not change bellow this line ---------------------------------- selfId = fibaro:getSelfId(); --ip = fibaro:get(selfId, 'IPAddress'); --port = fibaro:get(selfId, 'TCPPort') or 1400; currentTransportState = ""; lastTransportState = ""; currentVolume = 0; lastVolume = 0; ttsVolumeIsDifferent = false; urlencode = function(str) if (str) then str = string.gsub (str, "\n", "\r\n"); str = string.gsub (str, "([^%w ])", function (c) return string.format ("%%%02X", string.byte(c)) end); str = string.gsub (str, " ", "+"); end return str; end createRequestBody = function(action, schema, data) return string.format("<u:%s xmlns:u=\"%s\">%s</u:%s>", action, schema, data, action); end reponseCallback = function(fnc, args) if (fnc == nil) then return nil; end return fnc(args); end createSocket = function() -- Check IP and PORT before if (ip == nil or port == nil) then fibaro:debug("You must configure IPAddress and TCPPort first"); return; end local socket; local status, err = pcall(function() socket = Net.FTcpSocket(ip, port); socket:setReadTimeout(1000); end); if (status ~= nil and status ~= true) then fibaro:debug("socket status: " .. tostring(status or '')); end if (err ~= nil) then fibaro:debug("socket err: " .. tostring(err or '')); return; end return socket; end disposeSocket = function(socket) if (socket ~= nil) then socket:disconnect(); socket = nil; return true; end return false; end sendSoapMessage = function(url, service, action, args, callback, retry) local socket = createSocket(); if (socket == nil) then return; end retry = retry or 0 -- prepare data local url = "POST " .. url .. " HTTP/1.1"; local soapaction = "SOAPACTION: \"" .. service .. "#" .. action.name .. "\""; local body = createRequestBody(action.name, action.service, tostring(args or "")); local envelope = "<?xml version=\"1.0\" encoding=\"utf-8\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body>" .. body .. "</s:Body></s:Envelope>"; local ctl = "Content-Length: " .. string.len(envelope); local payload = url .. "\r\n" .. ctl .. "\r\n" .. soapaction .. "\r\n" .. "\r\n" .. envelope; -- write data local bytes, errorcode = socket:write(payload); if (errorcode == 0) then local state, errorcode = socket:read(); if (errorcode == 0) then if (string.len(state or "") > 0) then -- callback if (callback ~= nil) then reponseCallback(callback, state); end -- dispose ... disposeSocket(socket); return true; else fibaro:debug("Error: Invalid response. response length: " .. string.len(state or "")); end else if (retry < 5) then fibaro:debug("retry #"..retry.." action: " .. action.name); return sendSoapMessage(url, service, action, args, callback, (retry + 1)); else fibaro:debug("Error: Code returned "..tostring(errorcode or "")); end end elseif (errorcode == 2) then fibaro:debug("Error: You must check your IP and PORT settings."); else if (retry < 5) then fibaro:debug("retry #"..retry.." action: " .. action.name); return sendSoapMessage(url, service, action, args, callback, (retry + 1)); else fibaro:debug("Error: Code returned "..tostring(errorcode or "")); end end -- dispose ... disposeSocket(socket); -- default response return false; end stop = function() return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "Stop", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Speed>1</Speed>", -- callback (options) function(response) fibaro:debug("stop sent"); end); end unMute = function() return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:RenderingControl:1", -- action { name = "SetMute", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel><DesiredMute>0</DesiredMute>", -- callback (options) function(response) fibaro:debug("unMute sent"); end); end play = function(duration) return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "Play", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Speed>1</Speed>", -- callback (options) function(response) if (duration ~= nil) then fibaro:debug("play sent for " .. duration .. " seconds"); fibaro:sleep(duration); stop(); else fibaro:debug("play sent"); local n = 0; currentTransportState = "TRANSITIONING"; while (currentTransportState == "TRANSITIONING") do if (n > 10) then break end; getTransportState(); fibaro:debug(currentTransportState); fibaro:sleep(5000); n = n + 1; end local i = 0; currentTransportState = "PLAYING"; while (currentTransportState == "PLAYING") do if (i > 10 and PlayUnlimited ~= "Yes") then break end; getTransportState(); fibaro:debug(currentTransportState); fibaro:sleep(2000); i = i + 1; end fibaro:sleep(1000); stop(); end -- update volume with value before tts if different if (ttsVolumeIsDifferent == true) then setVolume(lastVolume); ttsVolumeIsDifferent = false; end end); end setVolume = function(value) return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:RenderingControl:1", -- action { name = "SetVolume", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel><DesiredVolume>" .. tostring(value) .. "</DesiredVolume>", -- callback (options) function(response) fibaro:debug("Volume set: " .. value); end); end getVolume = function() fibaro:log("Get volume, please wait..."); return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "GetVolume", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel>", -- callback (options) function(response) currentVolume = tonumber(response:match("<CurrentVolume>(.+)</CurrentVolume>") or 0); end); end getTransportState = function() return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "GetTransportInfo", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID>", -- callback (options) function(response) currentTransportState = response:match("<CurrentTransportState>(.+)</CurrentTransportState>") or ""; end); end playFile= function(file, volume) return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "SetAVTransportURI", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID>,<CurrentURI>x-file-cifs:" .. file .. "</CurrentURI>,<CurrentURIMetaData></CurrentURIMetaData>", -- callback (options) function(response) -- retrieve current transport state getTransportState(); lastTransportState = currentTransportState; -- unmute before unMute(); -- retrieve volume getVolume(); lastVolume = currentVolume; -- set tts volume if <> with current if (volume ~= nil and volume ~= currentVolume) then setVolume(volume); ttsVolumeIsDifferent = true; end play(); end); end -- en paramètres: le fichier, puis le volume... playFile(FilePath, FileVol);
cseb62 Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Bonjour, Je suis entrain de tester mais j'ai une erreur sur la ligne 24 avec comme retour : [ERROR] 12:23:35: line 30: attempt to call method 'getSelfId' (a nil value) Merci de votre aide.
jojo Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 tu as bien mis ce code dans un bouton d'un VD ?
cseb62 Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 tu as bien mis ce code dans un bouton d'un VD ? oué j'ai merdé lol je débute.... par contre comment appelé un device virtuel en lua .... deja je trouve pas l'id du device.... et l'id du button est : button11 je galere
jojo Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 avant de te chopper une remarque des admin, ne cite pas le message juste au dessus. pour appeler un device en lua : fibaro:call(<ID Device>, "pressButton", "<# bouton>") tu retrouves l'ID du device dans l'url lorque tu es en mode edit du device. Pour retrouver le n° du bouton, suis l'explication de Did dans la section "HC pour les nuls"
Did Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Non, moi, c'est les n° des icônes, pour le n° des boutons, c'est celui de @mprinfo ici: http://www.domotique-fibaro.fr/index.php/topic/4504-module-virtuel-num%C3%A9rotation-des-boutons/
cseb62 Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 merci ca fonctionne me reste plus qu'àtester avec une variable
oldelvis Posté(e) le 30 septembre 2015 Signaler Posté(e) le 30 septembre 2015 Bonsoir tout le monde, je viens de passer en 5.4 pour les enceintes sonos et le module de Krikroff ne fonctionne plus... j'ai lu plus haut que certains avaient fait des modifs... si qqun peut m'aider... merci
jojo Posté(e) le 3 octobre 2015 Signaler Posté(e) le 3 octobre 2015 je suis également en 5.4 et tout fonctionne. Tu peux en dire plus ?
oldelvis Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 salut jojo, depuis la mise a jour, j'ai un module qui ne fonctionne une fois sur 5 et avec un temps de latence d'au moins 15 sec... lorsque j'appuie sur le bouton de la radio 1 par ex, elle démarre 15 sec plus tard et parfois cela ne fonctionne pas. Par contre, la commande stop reste réactive. Plus haut dans ce tuto, il est dit qu'il faut modifier le code... mais comment? merci
jojo Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 @oldevis, je n'ai jamais osé toucher de code, beaucoup trop complexe pour moi. Si tu me donne le lien précis dans le fil où se trouve la motif àimplexenter, je veux bien essayer de t'aider
Messages recommandés