Skip to content

Commit

Permalink
Fix broken things file support.
Browse files Browse the repository at this point in the history
Fixes openhab#8877

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
  • Loading branch information
jlaur committed Sep 7, 2021
1 parent 0a1f23f commit 98a7432
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,7 @@ public void handleCommand(ChannelUID channelUID, Command command) {

@Override
public void onApplianceStateChanged(String UID, DeviceClassObject dco) {
String myUID = (getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);
String myUID = (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);
String modelID = StringUtils.right(dco.DeviceClass,
dco.DeviceClass.length() - new String("com.miele.xgw3000.gateway.hdm.deviceclasses.Miele").length());

Expand All @@ -167,8 +166,7 @@ public void onApplianceStateChanged(String UID, DeviceClassObject dco) {

@Override
public void onAppliancePropertyChanged(String UID, DeviceProperty dp) {
String myUID = (getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);
String myUID = (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);

if (myUID.equals(UID)) {
try {
Expand Down Expand Up @@ -230,7 +228,7 @@ public void onAppliancePropertyChanged(String UID, DeviceProperty dp) {
@Override
public void onApplianceRemoved(HomeDevice appliance) {
if (uid != null) {
if (uid.equals(appliance.UID)) {
if (uid.equals(appliance.getApplianceId())) {
updateStatus(ThingStatus.OFFLINE);
}
}
Expand All @@ -239,7 +237,11 @@ public void onApplianceRemoved(HomeDevice appliance) {
@Override
public void onApplianceAdded(HomeDevice appliance) {
if (uid != null) {
if (uid.equals(appliance.UID)) {
if (uid.equals(appliance.getApplianceId())) {
Map<String, String> properties = editProperties();
properties.put(PROTOCOL_PROPERTY_NAME, appliance.getProtocol());
updateProperties(properties);

updateStatus(ThingStatus.ONLINE);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,14 @@ public void run() {

for (Thing appliance : getThing().getThings()) {
if (appliance.getStatus() == ThingStatus.ONLINE) {
String UID = appliance.getProperties().get(PROTOCOL_PROPERTY_NAME)
+ (String) appliance.getConfiguration().getProperties().get(APPLIANCE_ID);
String applianceId = (String) appliance.getConfiguration().getProperties()
.get(APPLIANCE_ID);
String protocol = appliance.getProperties().get(PROTOCOL_PROPERTY_NAME);
if (protocol == null) {
logger.error("Protocol property is missing for {}", applianceId);
continue;
}
String UID = protocol + applianceId;

Object[] args = new Object[2];
args[0] = UID;
Expand All @@ -280,7 +286,7 @@ public void run() {
DeviceClassObject dco = gson.fromJson(obj, DeviceClassObject.class);

for (ApplianceStatusListener listener : applianceStatusListeners) {
listener.onApplianceStateChanged(UID, dco);
listener.onApplianceStateChanged(applianceId, dco);
}
} catch (Exception e) {
logger.debug("An exception occurred while quering an appliance : '{}'",
Expand Down

0 comments on commit 98a7432

Please sign in to comment.