This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

Remote services retrieve objects with a tag
#1
Hi,

Is there a way to use remote services to retrieve a list of the objects checked with the export box that have a specific tag?  Currently it just returns all the objects with export checked.

So you would use something like,  http://192.168.1.10/scada-remote?m=json&...tags=mytag

Could this be added?

Thanks,


Roger
Reply
#2
Hi,

What you could do is create a .lp to do the request like this (run once to create the .lp in the user folder) and a request with http://192.168.0.10/user/request.lp?tag=yourtag and you will get a JSON response back with the objects that has the requested tag.

Code:
-- use this path for request: http://192.168.0.10/user/request.lp?tag=yourtag

dst = '/www/user/request.lp'
io.writefile(dst, [[
<?
  require('apps')
 require('socket.url')
 tagname = socket.url.unescape(getvar('tag') or 'nothing')
 if tagname ~= 'nothing' then
    response = grp.tag(tagname)
    response = json.encode(response)
    print(response)
   end
?>
]])
script.disable(_SCRIPTNAME)
BR,

Erwin
Reply
#3
Hi Erwin,

Thank you.  That works,  I have revised your script so I just return the object name and its value which is all I need.  In case someone would find this useful the revised code is.

Code:
dst = '/www/user/request.lp'
io.writefile(dst, [[
<?
 require('apps')
 require('socket.url')
 tagname = socket.url.unescape(getvar('tag') or 'nothing')
 if tagname ~= 'nothing' then
   local fb={}
   response = grp.tag(tagname)
   for index,value in ipairs(response) do
     local tmp = { n=response[index].name, v=response[index].value }
     fb[index] = tmp
   end
   response = json.encode(fb)
   print(response)
  end
?>
]])
script.disable(_SCRIPTNAME)

Thx

Roger
Reply


Forum Jump: