webrequest library (experimental) allows making configurator web requests from Lua scripts. This library is meant for advanced users as it's possible to break some parts of the system by making a request with missing or incorrect variables. You can use browser developer tools (F12) to inspect network requests that are sent from the UI to figure out the correct function arguments.
vars (table, optional) - request argument variables
Code:
1234
-- create a backup-- data variable contains backup (ZIP) contents as a binary stringwebrequest = require('webrequest')
data = webrequest('general', 'backup')
Code:
1234567
-- toggle scheduler ID 1 status (active/inactive)webrequest = require('webrequest')
vars = {
data = { id = 1 }
}
webrequest('schedulers', 'status', vars)
Code:
123456789
-- get a list of modbus device profileswebrequest = require('webrequest')
vars = {
plugin = 'modbus',
request = 'profile-list'
}
res = webrequest('general', 'plugin', vars)
log(res)
Are these only get requests, sort of? Is it documented beyond this? I would like to create a modbus profile from script and upload it, is that possible?
with a payload like this for example:
{"ids":[2,5,6,8,9,14,10,11,12,13],"dates_curr":{"start":{"year":2023,"day":1,"month":1},"end":{"year":2023,"day":1,"month":3}}}
This way you get csv response including date / timestamp (afaik) because trend.fetch does not include them
(05.02.2024, 15:04)admin Wrote: This library was not intended to be used in web server context (.lp script). We'll see if it can be fixed in the next version.