Unable to connect and send RCI commands to XBEE GATEWAY X2E ZB over HTTP

I am attempting to send RCI commands to the XBee Gateway X2E ZB. I have tried with both Java and Python. I am able to successfully issue commands and set settings when the command is requested from a Python script running locally on the device.

However, I would like to be able to send the device RCI requests from another device over HTTP. When I try to open the connection in Java I receive a FileNotFoundException: http://[IPv4 Address Here]/UI/rci

The following is resulting in error for me:

[Java]
URL url = new URL(“http://” + IP + “/UE/rci”);
URLConnection connection = url.openConnection();

[Python]
conn = http.client.HTTPConnection(“http://” + IP)
conn.request(“POST”, “/UE/rci”, msg)

I have also tried /UI/rci without success. Is this something to do with passing authorization credentials to the device?

The following works when running locally:

[Python]
request = ‘. . .’
response = rci.process_request(request)

Does the Gateway require an OS firmware update to provide HTTP rci functionality? (I cannot seem to find an OS version on the Gateway’s Device Configuration and Management portal).

There are a couple ways you can do this.

This is the command you’d use to disable the Factory Default meaning of the Faceplate Button from the Commandline/python user of the Gateway, or from within a python program:

/userfs/WEB/python $ rci_request ’ none ’

And this is how you could send the same command from Digi Remote Manager, wrapped within an SCI POST Request:

        none

Hope that helps!

1 Like