- added Mainfest for exporting in .jar
- Fixed fitbit getHeartRate
- Classes now throws exceptions if not initialized properly
- Added arguments for main
- Added try and catch system in main
- Todos now are more clear
- Added Log in Rest for errors
This commit is contained in:
2018-09-05 20:46:57 +02:00
parent db1c6e0801
commit 4ab578226c
6 changed files with 183 additions and 45 deletions

View File

@@ -62,10 +62,9 @@ public class Hue {
/**
* Cerca le luci Philips Hue a ll'indirizzo <a href="http://172.30.1.138/api/C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx/lights/">http://172.30.1.138/api/C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx/lights/</a>
* @throws NullPointerException se non trova nessun bridge
*/
public Hue () {
this("172.30.1.138", "C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx");
}
public Hue () throws NullPointerException { this("172.30.1.138", "C0vPwqjJZo5Jt9Oe5HgO6sBFFMxgoR532IxFoGmx"); }
/**
* Cerca le luci Philips Hue nell'indirizzo specificato e con l'utente specificato.<br>
@@ -73,11 +72,15 @@ public class Hue {
* (per ora fa una media e poi assegna il valore risultante a tutte)
* @param ip l'indirizzo IP (seguito dalla porta se e' diversa dalla solita 8000)
* @param user l'utente
* @throws NullPointerException se non trova nessun bridge
*/
public Hue(String ip, String user) {
public Hue(String ip, String user) throws NullPointerException {
lightsURL = "http://" + ip + "/api/" + user + "/lights/";
allLights = (Map<String, Map<String, Object>>)Rest.get(lightsURL);
if(allLights.isEmpty())
throw new NullPointerException("Non e' stato possibile connettersi alle luci");
if(allLights.size() != 0) {
double bri = 0;
double hue = 0;
@@ -88,8 +91,11 @@ public class Hue {
}
bri = bri/allLights.size();
hue = hue/allLights.size();
setState("bri", (int) bri );
setState("hue", (int) hue );
Map<String, Object> map = new HashMap<>();
map.put("bri", (int)bri);
map.put("hue", (int)hue);
setState(map);
brightness = (bri*MAX_BRIGHTNESS)/100;
}
@@ -112,15 +118,21 @@ public class Hue {
allLights.remove(string);
}
/**
* Accende o spegne le luci controllate
* @param on vero se si vuole le luci accese, false per spegnerle
*/
public void on(boolean on) { setState("on", on, false); }
/**
* Accende tutte le luci controllate
*/
public void turnOn() { setState("on", true, false); }
public void turnOn() { on(true); }
/**
* Spegne tutte le luci controllate
*/
public void turnOff() { setState("on", false, false); }
public void turnOff() { on(false); }
/**
* Ritorna la liminosita' attuale delle luci controllate