Run scene via URL - with parameters

To demonstrate just how easy this is, if you run this code in Lua Startup:

function HTTP_user (_,p)
    luup.log ("HTTP_user: " .. tostring(p))
    for a,b in pairs (p) do global[a] = b end
    local out = {}
    for a,b in pairs (global) do out[#out+1] = a .. ' = ' .. b end
    return table.concat (out, '\n'), "text/plain"
end

global = {}  -- 'global' table, call it whatever you like
luup.register_handler ("HTTP_user", "user")

Then an HTTP request like:

http://VeraIP:3480/data_request?id=lr_user&a=42&b=something

will produce the response:

b = something
a = 42

and set the global table (named ‘global’ in this case) to contain those variables (all string values)

A further HTTP request:

http://VeraIP:3480/data_request?id=lr_user&c=something_else&a=1234

gives the response:

b = something
a = 1234
c = something_else

which has added a new variable and modified the value of another.

Scenes, of course, can access these variables through the global table. If you like, you could modify the HTTP handler to run a scene number as specified by a parameter.