...
The SiteController module da_rest_client is able to perform download actions with a configuration like
configuration
Code Block | ||
---|---|---|
| ||
... <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> ... |
...
Code Block | ||
---|---|---|
| ||
<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').
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<sensor sensor_id="rest_download_file"> <sensor_class>unknown</sensor_class> <upload>always</upload> <error_severity>200</error_severity> <state_evaluation_expressions> <state_evaluation_expression> <expression>True</expression> <true>%value%</true> </state_evaluation_expression> </state_evaluation_expressions> <sensor_gateway sensor_gateway_id="rest_test"> <demux> <keys> <key>dl_file</key> </keys> </demux> </sensor_gateway> </sensor> <sensor sensor_id="rest_download_time"> <sensor_class>unknown</sensor_class> <unit>seconds</unit> <sensor_gateway sensor_gateway_id="rest_test"> <demux> <keys> <key>dl_time</key> </keys> </demux> <calibration_rule> <rounding_precision>2</rounding_precision> </calibration_rule> </sensor_gateway> </sensor> |
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:
Code Block | ||
---|---|---|
| ||
[da_rest_client] download_path = /opt/azeti/SiteController/tmp |
The download file name is a concatenation of dl-<device_id>-<timestamp>.zip.
During the file write the extension .lock is used and renamed to the extension .zip after ready with writing. This should prevent further file processing before the file write is terminated.