Compare commits

3 Commits

Author SHA1 Message Date
Giacomo Bertolazzi 20015159
dde6bbbcb4 Merge branch 'master' into secondary 2018-08-23 15:12:19 +02:00
Dawit Gulino 20013954
e8c2de7d84 Modified something 2018-06-27 10:31:41 +02:00
Dawit Gulino 20013954
7e1feb6939 Added Sensor 2018-06-05 14:51:40 +02:00
4 changed files with 84 additions and 28 deletions

View File

@@ -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";

View File

@@ -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; }*/
}
} }

View File

@@ -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();
} }

View File

@@ -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++;
} }
} }
} }