Secondary (#2)
* Added Sensor * Modified something
This commit was merged in pull request #2.
This commit is contained in:
committed by
GitHub
parent
8647649a6d
commit
3798d18844
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user