MP3 fil i Sonos

Audio/Videokontroll genom IR, ethernet, RS-232 m.m.
Post Reply
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

15 Dec 2017, 16:35

Hej har letat runt i formet efter ett smidigt sätt att få en MP3-fil som jag har liggande på en NAS uppläst i Sonos vid en händelse i HC2.
Scenen för att styra händelsen är inga problem men hur får jag den att trigga så filen spelas upp i Sonos högtalaren.
Finns massor avancerade sätt via TTS men det bör väl inte behövas i detta fall eftersom det inte är en text som ska läsas upp utan en fil som ska spelas?
Filen är gjord tillgänglig i NAS:en och i mediabiblioteket på Sonos:en vill bara ha ett scrpit som lägger den överst i spellistan och trycker på play samt ev. justerar volymen.

Någon som har ett enkelt tips?
Tacksam för hjälp.
riro
Medlem
Posts: 52
Joined: 27 Mar 2017, 11:02
Location: Falun
Contact:

17 Dec 2017, 09:48

Har du kikat på HTTP APIet ?

http://jishi.github.io/node-sonos-http-api/
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

18 Dec 2017, 11:42

Hej
Tack för länken!
Nej det har jag inte, måste säga att jag har för dålig koll på det.
Går det allt lägga kommandona direkt i en VD som man trycker på vid händelse? eller hur gör man det enklast?
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

18 Dec 2017, 21:34

Använder sonos play file som jag använder den till min ringklocka. Tryck på knappen och en fin dingdong när vi är hemma och hundskall när vi är borta. Mp3 filerna ligger på min NAS och det funkar klockrent.
Bifogar VD så kan du testa om du vill.
Attachments
SonoS_PlayFile.7z
(2.6 KiB) Downloaded 157 times
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

19 Dec 2017, 10:06

Tack Sonyboy,
Perfekt var något sådan jag var ute efter ska prova den i morgon och se om jag får till det.
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

03 Jan 2018, 12:26

Hej Sonnyboy,
Har nu under julhelgen äntligen fått tid att prova VD men jag måste fråga vilka variabler var man tvungen att ändra i koden förutom IP till sonos och port samt givetvis länk till filerna på NAS:en, får de inte att funka?
Vad har jag missat?
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

03 Jan 2018, 13:36

@jocke
Jag har bara ändrat på ipadressen på första sidan på VD:n sen är det sista raden på respektive knapp.

playFile("//192.168.88.244/media/Music/Angry-dog.mp3", 55);
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

03 Jan 2018, 13:44

Ok tack
Får kolla vidare vad jag har missat annars får jag läsa in den igen och se vad som skett.
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

04 Jan 2018, 12:07

@jocke
Kolla så du inte anger ipadressen till din din bridge, det felet har jag själv gjort.
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
jocke
Medlem
Posts: 38
Joined: 23 Jan 2013, 13:45

08 Jan 2018, 13:40

Tack för varningen men det upptäckte jag också i ett tidigt skede att jag var på gång att ta bryggans IP men det är fixat.
Nu är det något annat som stökar misstänker att jag inte har lyckats gör filen tillgänglig i min NAS (Synology)
men förstår inte riktigt varför? eller om jag har angett felaktig länk?
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

08 Jan 2018, 19:26

@jocke
Lägg ut här hur din "länk" ser ut, så kanske vi kan hjälpa dig.
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
Torro
Ny medlem
Posts: 8
Joined: 08 Aug 2017, 18:09

23 Dec 2018, 13:27

Hej
Testar att nyttja denna tråd. Laddade ner VD från Sonnyboy men får inte den att lira. Får inga felmeddelanden när jag kör den. Jag behöver lite hjälp på traven.
VD har jag konfigurerat i HC2 med IP-adress och TCP port 1400.

Jag har HC2 4.520, Sonoshögtalare som jag inte lyckas hitta via plug-in men antar att det inte spelar någon roll i det här fallet. Nedan statusinfo från Sonos samt debug output från när jag aktiverar "DingDong" i VD. MP3-filen ligger på en webbserver som är åtkomlig som ReadOnly från en browser (http). Kör jag tcpdump på webbservern så försöker HC2 inte att accessa filen. I VD så är det enda jag ändrat på är den sista raden, playFile("//192.168.1.1/doorbell.mp3", 55);
Något jag funderat på är vilket protokoll som "playfile("//x.x.x.x.... anropet använder? Är det http eller måste jag dela ut MP3-filen som cifs eller annat protokoll?? Nästa steg blir annars att spegla en port på switchen och köra en tcpdump på allt HC2'an gör.


ZoneName Lilla
ZoneIcon x-rincon-roomicon:living
Configuration 1
LocalUID RINCON_7828CA23175401400
SerialNumber 78-28-CA-23-17-54:4
SoftwareVersion 46.3-57250
SoftwareDate 2018-09-25 12:55:48.002848
SoftwareScm 426506
MinCompatibleVersion 45.0-00000
LegacyCompatibleVersion 45.0-00000
HardwareVersion 1.20.1.6-2
DspVersion 0.25.3
SeriesID A200
HwFlags 0x30
HwFeatures 0x0
Variant 1
GeneralFlags 0x0

DEBUG] 12:05:19: unMute sent
[DEBUG] 12:05:19: Volume set: 55
[DEBUG] 12:05:19: play sent
[DEBUG] 12:05:19:
[DEBUG] 12:05:24:
[DEBUG] 12:05:27: stop sent
[DEBUG] 12:05:27: Volume set: 0
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

27 Dec 2018, 13:11

För några uppdateringar på SonoS sedan så har det inte funkat för mig heller tyvärr. Får samma i loggen jag med. Jag gick över till Volumio på en RPI istället då jag själv bara använt detta som "DingDong" på senaste tiden.
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
Torro
Ny medlem
Posts: 8
Joined: 08 Aug 2017, 18:09

29 Dec 2018, 16:36

Ok
Tack ändå. Ska se om jag kan se något via wireshark
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

29 Dec 2018, 19:17

@Torro Återkom gärna om du hittar en lösning :)
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
sonnyboy
Proffsmedlem
Posts: 624
Joined: 26 Sep 2013, 08:05
Location: Västerås

07 Feb 2019, 22:26

Snubblade på ett inlägg på Fibaros furum och nu går det visst att köra fil fråm ex NAS :)
Klistra in koden i en VD och kör, det bara funkar :o

Code: Select all

-- 306 is the Virtual Device ID
-- 16 is the Process button ID
local sid, bid = 306, 16
-- Create STREAM params object
local params = {
  -- stream: the file / uri
  --stream = "//s3.amazonaws.com/smartapp-media/sonos/bell1.mp3",
  stream = "//192.168.88.244/Musik/doorbell-1.mp3",
  -- source: "local" or "http", "local" is setted by default
  source = "local",
  -- duration: play duration in seconds (option) or "auto"
  duration = 8,
  -- volume: the volume for playing the stream
  volume = 10
}
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), { stream = params })
_f:call(sid, "pressButton", bid)
Fibaro HomeCenter 2
Fw 4.543 Beta
BeyondMeasure 1.10
EventRunner
Post Reply