Hello everyone, I'm new to Fibaro and I have a problem. I created the VD Sonos Romote v.1.0.1 and I want him to play an mp3 sound and stop it.
I succeeded to play audio mp3 thanks to the spatpeker but I can not stop it.
--PLAY
--[[
%% properties
%% events
%% globals
--]]
-- 72 is the Virtual Device ID (sonos)
-- 73 is the Process button ID (this vd button)
local sid, bid = 72, 28
-- Create STREAM params object
local params = {
-- stream: the file / uri
stream = "//192.168.1.5/share/IntruderAlarm.mp3",
-- source: "local" or "http", "local" is setted by default
source = "local",
-- duration: play duration in seconds (option) or "auto"
duration = "auto",
-- volume: the volume for playing the stream
volume = 5
}
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)
-- STOP DON'T WORK
--[[
%% properties
%% events
%% globals
--]]
-- 72 is the Virtual Device ID (sonos)
-- 73 is the Process button ID (this vd button)
local sid, bid = 72, 28
local cmd, log = "PAUSE", "Stop command was sent"
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), { action = tostring(cmd .." ")})
_f:log(log);
_f:call(sid, "setProperty", "ui.lblDebug.value", log);
_f:call(sid, "pressButton", bid)