\[DRAFT\]
The SiteController module da_rest_client is able to perform download actions with a configuration like
configuration
... <action action_id="download_memodata" device_id="rest_test"> <commands> <command command_id="download">download(<'uri to request'> method=<'get'/'post'> timeout=<positive floating point number>)</command> </commands> </action> ...
The action_id
and the command_id
can be freely chosen. The device_id
must be equal to the configured da_rest_client device in the same sensor configuration.
The function download
is currently the only choice of an action executed by da_rest_client. The parameter <'uri to request'> must be set, for example like '/fcgi/control/memodata_download'. The parameter method
is by default 'get' and the parameter timeout
is by default 5 (seconds).
In case of default value usage the action command can be configured as in this example:
<command command_id="download">download('/fcgi/control/memodata_download')</command>
In case of usage with all parameters the action command can be configured as in this example:
<command command_id="download">download('/rest/memodata_download.php', method='post', timeout=3)</command>
response
The received data of the executed request are the content of the download data. Once the action was executed, the da_rest_client signals the download in a raw result. The sensor_gateway_id of this raw result is equal to the configured device_id of the da_rest_client, which performs the download action (in our example the device_id is 'rest_test').
{ "error_code": 0, "partial": false, "result_dict": { "dl_file": { "changed": true, "value": "/opt/azeti/SiteController/tmp/dl-rest_test-2019-03-28T15:30:46.881+0100.zip" }, "dl_time": { "changed": true, "value": 0.006723880767822266 } }, "sensor_gateway_id": "rest_test", "timestamp": "2019-03-28T15:30:46.882+0100" }
The keys dl_file and dl_time are fixed for that raw result. dl_file shows file and path of the downloaded data, dl_time shows the download time in seconds.
Both items can be observed by calibrated results:
The download file handling
The downloaded data are saved in files, the path to that files is by default /opt/azeti/SiteController/tmp
, which can be changed in the SiteController.cfg in a section like this:
[da_rest_client] download_path = /opt/azeti/SiteController/tmp