telldus/bindings/java/example/test.java
2008-03-29 18:42:39 +00:00

98 lines
No EOL
2.5 KiB
Java

import java.io.*;
class test
{
tellstick TS = new tellstick();
public void run() {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int nbrDevices = TS.devGetNumberOfDevices();
for (int i = 0; i < nbrDevices; i++) {
int id = TS.devGetDeviceId(i);
String deviceName = TS.devGetName(id);
System.out.println(id + "\t" + deviceName);
}
System.out.print("Enter a device: ");
int device = Integer.parseInt(in.readLine());
process(device);
} catch (IOException e) {
}
}
private void process(int device) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int methods = TS.devMethods(device);
if ((methods & TS.TELLSTICK_TURNON) > 0) {
System.out.println(TS.TELLSTICK_TURNON + "\tTurn on");
}
if ((methods & TS.TELLSTICK_TURNOFF) > 0) {
System.out.println(TS.TELLSTICK_TURNOFF + "\tTurn off");
}
if ((methods & TS.TELLSTICK_BELL) > 0) {
System.out.println(TS.TELLSTICK_BELL + "\tBell");
}
if ((methods & TS.TELLSTICK_DIM) > 0) {
System.out.println(TS.TELLSTICK_DIM + "\tDim");
}
System.out.println("What do you want to do?");
int action = Integer.parseInt(in.readLine());
if ( (action & methods) == 0 ) {
System.out.println("The device doesn't support this method");
return;
}
if ((action & TS.TELLSTICK_TURNON) > 0) {
turnOn(device);
} else if ((action & TS.TELLSTICK_TURNOFF) > 0) {
turnOff(device);
} else if ((action & TS.TELLSTICK_BELL) > 0) {
bell(device);
} else if ((action & TS.TELLSTICK_DIM) > 0) {
dim(device);
}
} catch (IOException e) {
}
}
private void turnOn(int device) {
System.out.println("Turning on " + TS.devGetName(device));
TS.devTurnOn(device);
}
private void turnOff(int device) {
System.out.println("Turning off " + TS.devGetName(device));
TS.devTurnOff(device);
}
private void bell(int device) {
System.out.println("Sending bell to " + TS.devGetName(device));
TS.devBell(device);
}
private void dim(int device) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Select level (0-255): ");
int level = Integer.parseInt(in.readLine());
if (level >= 256 || level < 0) {
System.out.println("Out of range");
}
System.out.println("Dim " + TS.devGetName(device));
TS.devDim(device, level);
} catch (IOException e) {
}
}
public static void main(String[] args)
{
test t = new test();
t.run();
}
}