Secondary #2
@@ -37,6 +37,9 @@ public class Hue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getCurrentLuminiscence() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
public void turnOff() {
|
public void turnOff() {
|
||||||
for (String light : allLights.keySet()) {
|
for (String light : allLights.keySet()) {
|
||||||
String callURL = lightsURL + light + "/state";
|
String callURL = lightsURL + light + "/state";
|
||||||
|
|||||||
@@ -12,31 +12,62 @@ public class Sensor {
|
|||||||
Logger logger = LoggerFactory.getLogger(Sensor.class);
|
Logger logger = LoggerFactory.getLogger(Sensor.class);
|
||||||
|
|
||||||
// sample RaZberry IP address
|
// sample RaZberry IP address
|
||||||
String ipAddress = "http://172.30.1.137:8083";
|
public String ipAddress = "172.30.1.137";
|
||||||
|
|
||||||
// sample username and password
|
// sample username and password
|
||||||
String username = "admin";
|
public String username = "admin";
|
||||||
String password = "raz4reti2";
|
public String password = "raz4reti2";
|
||||||
|
|
||||||
IZWayApi zwayApi;
|
public IZWayApi zwayApi;
|
||||||
|
private DeviceList allZWaveDevices;
|
||||||
|
private DeviceList devices;
|
||||||
|
private Integer nodeId;
|
||||||
|
|
||||||
public Sensor() {
|
public Sensor() {
|
||||||
// create an instance of the Z-Way library; all the params are mandatory (we are not going to use the remote service/id)
|
this(null);
|
||||||
zwayApi = new ZWayApiHttp(ipAddress, 8083, "http", username, password, 0, false, new ZWaySimpleCallback());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// get all the Z-Wave devices
|
public Sensor (Integer nodeId) {
|
||||||
DeviceList allDevices = zwayApi.getDevices();
|
this.nodeId = nodeId;
|
||||||
|
|
||||||
public boolean IsLowLuminescence(int Luminescence) {
|
// create an instance of the Z-Way library; all the params are mandatory (we are not going to use the remote service/id)
|
||||||
for (Device dev : allDevices.getAllDevices()) {
|
zwayApi = new ZWayApiHttp(ipAddress, 8083, "http", username, password, 0, false, new ZWaySimpleCallback());
|
||||||
if (dev.getDeviceType().equalsIgnoreCase("SensorMultilevel"))
|
|
||||||
if (dev.getProbeType().equalsIgnoreCase("luminescence"))
|
// get all the Z-Wave devices
|
||||||
|
allZWaveDevices = zwayApi.getDevices();
|
||||||
|
|
||||||
|
if(nodeId != null)
|
||||||
|
useNode(nodeId);
|
||||||
|
else
|
||||||
|
devices = allZWaveDevices;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void useNode(int nodeId) {
|
||||||
|
devices = new DeviceList();
|
||||||
|
for (Device devi : allZWaveDevices.getAllDevices())
|
||||||
|
if(devi.getNodeId() == nodeId)
|
||||||
|
devices.addDevice(devi);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int luminiscenceLevel() {
|
||||||
|
for (Device device : devices.getAllDevices())
|
||||||
|
if (device.getMetrics().getProbeTitle().equalsIgnoreCase("luminiscence"))
|
||||||
|
return Integer.parseInt(device.getMetrics().getLevel());
|
||||||
|
return -99;
|
||||||
|
}
|
||||||
|
|
||||||
|
synchronized public void update(int timeout) throws InterruptedException {
|
||||||
|
//setInitialValues();
|
||||||
|
for (Device device : devices.getAllDevices())
|
||||||
|
device.update();
|
||||||
|
wait(timeout);
|
||||||
|
}
|
||||||
|
/*public boolean IsLowLuminescence(int Luminescence) {
|
||||||
|
if (dev.getProbeType().equalsIgnoreCase("Luminescence"))
|
||||||
if (Integer.parseInt(dev.getMetrics().getLevel()) < Luminescence)
|
if (Integer.parseInt(dev.getMetrics().getLevel()) < Luminescence)
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,16 +26,17 @@ public class TestLights {
|
|||||||
lights.turnOn();
|
lights.turnOn();
|
||||||
for(int i=256; i>=0; i--) {
|
for(int i=256; i>=0; i--) {
|
||||||
lights.setBrightness(i);
|
lights.setBrightness(i);
|
||||||
this.wait(50);
|
this.wait(25);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i=0; i<256; i++) {
|
for(int i=0; i<256; i++) {
|
||||||
lights.setBrightness(i);
|
lights.setBrightness(i);
|
||||||
this.wait(50);
|
this.wait(25);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lights.setBrightness(150);
|
||||||
lights.colorLoop();
|
lights.colorLoop();
|
||||||
this.wait(10000); // 10 sec
|
this.wait(20000); // 10 sec
|
||||||
lights.turnOff();
|
lights.turnOff();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,22 +2,43 @@ import device.Hue;
|
|||||||
import device.Sensor;
|
import device.Sensor;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class TestSensor {
|
public class TestSensor {
|
||||||
Sensor sensor = new Sensor();
|
Sensor sensor = new Sensor(2);
|
||||||
Hue hue = new Hue();
|
Hue lights;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void firstTestSensor() {
|
synchronized public void firstTestSensor() throws InterruptedException {
|
||||||
assertTrue(sensor.IsLowLuminescence(50));
|
sensor.update(2);
|
||||||
|
System.out.println(sensor.luminiscenceLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void secondTestSensor() {
|
synchronized public void secondTestSensor() throws InterruptedException {
|
||||||
if(sensor.IsLowLuminescence(50)) {
|
int i=0;
|
||||||
hue.turnOn();
|
lights = new Hue();
|
||||||
hue.setBrightness(200);
|
Set<String> toRemove = new HashSet<>();
|
||||||
|
|
||||||
|
for(String str: lights.getNameLights())
|
||||||
|
if(!str.equals("4"))
|
||||||
|
toRemove.add(str);
|
||||||
|
lights.removeLights(toRemove);
|
||||||
|
lights.turnOn();
|
||||||
|
|
||||||
|
while(i<999999) {
|
||||||
|
if (sensor.luminiscenceLevel() < 200) {
|
||||||
|
lights.getCurrentLuminiscence();
|
||||||
|
lights.setBrightness(200);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sensor.luminiscenceLevel() > 600) {
|
||||||
|
lights.setBrightness(0);
|
||||||
|
}
|
||||||
|
System.out.println(i+"-"+sensor.luminiscenceLevel());
|
||||||
|
sensor.update(100);
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user