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() {
for (String light : allLights.keySet()) {
String callURL = lightsURL + light + "/state";

View File

@@ -12,31 +12,62 @@ public class Sensor {
Logger logger = LoggerFactory.getLogger(Sensor.class);
// sample RaZberry IP address
String ipAddress = "http://172.30.1.137:8083";
public String ipAddress = "172.30.1.137";
// sample username and password
String username = "admin";
String password = "raz4reti2";
public String username = "admin";
public String password = "raz4reti2";
IZWayApi zwayApi;
public IZWayApi zwayApi;
private DeviceList allZWaveDevices;
private DeviceList devices;
private Integer nodeId;
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)
zwayApi = new ZWayApiHttp(ipAddress, 8083, "http", username, password, 0, false, new ZWaySimpleCallback());
this(null);
}
// get all the Z-Wave devices
DeviceList allDevices = zwayApi.getDevices();
public Sensor (Integer nodeId) {
this.nodeId = nodeId;
public boolean IsLowLuminescence(int Luminescence) {
for (Device dev : allDevices.getAllDevices()) {
if (dev.getDeviceType().equalsIgnoreCase("SensorMultilevel"))
if (dev.getProbeType().equalsIgnoreCase("luminescence"))
// create an instance of the Z-Way library; all the params are mandatory (we are not going to use the remote service/id)
zwayApi = new ZWayApiHttp(ipAddress, 8083, "http", username, password, 0, false, new ZWaySimpleCallback());
// 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)
return true;
else
return false;
}
return false;
}
return false;
}*/
}

View File

@@ -26,16 +26,17 @@ public class TestLights {
lights.turnOn();
for(int i=256; i>=0; i--) {
lights.setBrightness(i);
this.wait(50);
this.wait(25);
}
for(int i=0; i<256; i++) {
lights.setBrightness(i);
this.wait(50);
this.wait(25);
}
lights.setBrightness(150);
lights.colorLoop();
this.wait(10000); // 10 sec
this.wait(20000); // 10 sec
lights.turnOff();
}

View File

@@ -2,22 +2,43 @@ import device.Hue;
import device.Sensor;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
import java.util.HashSet;
import java.util.Set;
public class TestSensor {
Sensor sensor = new Sensor();
Hue hue = new Hue();
public class TestSensor {
Sensor sensor = new Sensor(2);
Hue lights;
@Test
public void firstTestSensor() {
assertTrue(sensor.IsLowLuminescence(50));
synchronized public void firstTestSensor() throws InterruptedException {
sensor.update(2);
System.out.println(sensor.luminiscenceLevel());
}
@Test
public void secondTestSensor() {
if(sensor.IsLowLuminescence(50)) {
hue.turnOn();
hue.setBrightness(200);
synchronized public void secondTestSensor() throws InterruptedException {
int i=0;
lights = new Hue();
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++;
}
}
}