mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[hue] Catch exception of 'AllGroup' does not exist (#9502)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
This commit is contained in:
parent
bf1754e4c0
commit
78d8087f0d
@ -12,6 +12,7 @@
|
||||
*/
|
||||
package org.openhab.binding.hue.internal;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Type;
|
||||
@ -425,8 +426,6 @@ public class HueBridge {
|
||||
* @return all lights pseudo group
|
||||
*/
|
||||
public Group getAllGroup() {
|
||||
requireAuthentication();
|
||||
|
||||
return new Group();
|
||||
}
|
||||
|
||||
@ -448,14 +447,21 @@ public class HueBridge {
|
||||
|
||||
if (groupMap.get("0") == null) {
|
||||
// Group 0 is not returned, we create it as in fact it exists
|
||||
groupList.add(getGroup(new Group()));
|
||||
try {
|
||||
groupList.add(getGroup(getAllGroup()));
|
||||
} catch (FileNotFoundException e) {
|
||||
// We need a special exception handling here to further support deCONZ REST API. On deCONZ group "0" may
|
||||
// not exist and the APIs will return a different HTTP status code if requesting a non existing group
|
||||
// (Hue: 200, deCONZ: 404).
|
||||
// see https://github.com/openhab/openhab-addons/issues/9175
|
||||
logger.debug("Cannot find AllGroup with id \"0\" on Hue Bridge. Skipping it.");
|
||||
}
|
||||
}
|
||||
|
||||
for (String id : groupMap.keySet()) {
|
||||
FullGroup group = groupMap.get(id);
|
||||
groupMap.forEach((id, group) -> {
|
||||
group.setId(id);
|
||||
groupList.add(group);
|
||||
}
|
||||
});
|
||||
|
||||
return groupList;
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ public class HueBridgeHandler extends ConfigStatusBridgeHandler implements HueCl
|
||||
}
|
||||
} catch (ApiException | IOException e) {
|
||||
if (hueBridge != null && lastBridgeConnectionState) {
|
||||
logger.debug("Connection to Hue Bridge {} lost.", hueBridge.getIPAddress());
|
||||
logger.debug("Connection to Hue Bridge {} lost: {}", hueBridge.getIPAddress(), e.getMessage(), e);
|
||||
lastBridgeConnectionState = false;
|
||||
onConnectionLost();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user