If this needs to be forced or scheduled, can I do this using RCI?
I could not find a working SCI/RCI syntax for this.
The easiest way I know of to gather a pin state, is to do a HTTP GET. For example:
/ws/DataStream/00000000-00000000-00409DFF-FFXXXXXX/DIO/#
I think I found the syntax for this:
So the syntax works, but I only get back the indication that P0 is set as an input. This is the reply I get:
Input
Do you have an example of how to do this using javascript or similar? Thanks!
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import javax.net.ssl.HttpsURLConnection;
import java.net.URL;
import java.util.Scanner;
/* Can replace this with any base 64 encoder for basic authentication. For java 6
- installations on Sun’s JRE you can use “sun.misc.BASE64Encoder” however this will
- not work in some installations (using OpenJDK). Java mail
- (javax.mail.internet.MimeUtility) also contains a Base 64 encoder in Java 6. A
- public domain version exists at http://iharder.sourceforge.net/current/java/base64/
*/
import org.apache.commons.codec.binary.Base64;
/**
-
This is a stub class with a main method to run a Device Cloud web service.
*/
public class WebServiceRequest {
private static final String username = “username”; // put your Device Cloud username here
private static final String password = “password”; // put your Device Cloud password here/**
-
Run the web service request
*/
public static void main(String[] args) {
HttpsURLConnection conn = null;try {
// Create url to the Device Cloud server for a given web service request
URL url = new URL(“https://my.idigi.com/ws/DataStream/00000000-00000000-00409DFF-FFXXXXXX/DIO/#”);
conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod(“GET”);// Build authentication string String userpassword = username + ":" + password; // can change this to use a different base64 encoder String encodedAuthorization = Base64.encodeBase64String(userpassword.getBytes()).trim(); // set request headers conn.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
-
// Get input stream from response and convert to String
InputStream is = conn.getInputStream();
Scanner isScanner = new Scanner(is);
StringBuffer buf = new StringBuffer();
while (isScanner.hasNextLine()) {
buf.append(isScanner.nextLine() + "
");
}
String responseContent = buf.toString();
// add line returns between tags to make it a bit more readable
responseContent = responseContent.replaceAll("><", ">
<");
// Output response to standard out
System.out.println(responseContent);
} catch (Exception e) {
// Print any exceptions that occur
e.printStackTrace();
} finally {
if (conn != null)
conn.disconnect();
}
}
}
Unfortunately, this only seems to show the setting and not the state. I am not able to find a means to query the state via SCI/RCI.