I have been experimenting with the RCI presentation. It is a great way to poll the gateway. I have two questions about this. First the get and set routines in the RCI work great, however the channel_dump responds with Unknown command. It also generates the following error on the terminal
RCIHandler(rci): exception during RCI processing: Parse() argument 1 must be string or read-only buffer, not Non
Traceback (most recent call last):
File “C:\Program Files\Digi\DigiPython\Dia\Dia_1.3.8\src\presentations\rci\rci_handler.py”, line 321, in __rci
TypeError: Parse() argument 1 must be string or read-only buffer, not None
My get xml is
And dump is
I am using DIA 1.3.8.
Like I said this is a great way to poll the gateway. But what if I want to post data to an external server? I see the IDIGI stuff, however I would like to skip that and send data directly to a server that I control. Any ideas?
I took a look at some of the presentations available and it looks like one might do what you want:
o TCP CSV
This presentation just sends a comma separated list of values every so often to a particular port on the destination.
Does the server have access to the device? If so, you could just have the server make calls directly using the RCI presentation.
You might also consider writing your own presentation that does an HTTP push.
If you look into using iDigi your options open up a bit. Your device would connect to the iDigi server, and your server could send requests to the RCI presentation via the iDigi server, even though the device is unreachable from your server. Alternatively, you could use the iDigi DB presentation which pushes up samples to iDigi (which your server can then retrieve). You also get remote management of your device as well, if you would ever need to access it from a location within direct access.