Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

download action

configuration

The SiteController module da_rest_client is able to perform download actions with a configuration like

configuration

Code Block
languagexml
...    
<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
languagexml
<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
languagexml
titleConfiguration to observe the download status
collapsetrue
    <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
languagebash
[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.