Setting a Value in Octave via Rest API

Hello everyone,

I’m currently using API calls to write new values to virtual resources, and I have been reading and using this guide. Setting a Value From a REST API Call

In the guide it says the Full Device State Object must be returned in the PUT. The idea is to use a GET to get the Full Device State Object, change what needs to be changed, and then use PUT to write it to the FX30. See image below.

This state object includes modbus tags and Energiya expansion card inputs which get polled in one second intervals. I’m wondering if there is any way not to overwrite this values in the PUT statement in case one of these polling intervals fall between the GET and PUT commands. For example, if an input switches from a 1 to 0 in the time it takes to send the PUT command after receiving the response from the GET command, then it could mess up totalizers and other programs on the FX30 that rely on the input.

So if anyone knows how to leave the inputs and modbus tags untouched in a PUT command, I would appreciate any advice or tips.

Thanks,
Wilson Teachey

Alternatively, is there any logging mechanism to log external changes to the state object to determine if we changed something as opposed to the internal processes?

I’ve looked into other functionalities in Octave, and it looks like Cloud Actions can write to specific tags. Is there any way to use an API call in conjunction with a cloud action? Worst case scenario, an FX30 could be set up as an “operator” (think old time telephone operator) directing traffic from the API to other FX30s using cloud actions.

Here’s the documentation I was reading: Setting a Value From a Cloud Action