diff --git a/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java b/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java index 675983c459d9..e1675b4bd767 100644 --- a/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java +++ b/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java @@ -154,15 +154,10 @@ public void initialize() { if (configuration.udn != null) { onSubscription(); onUpdate(); + super.initialize(); } else { logger.warn("Cannot initalize the zoneplayer. UDN not set."); } - - if (getThing().getStatus() == ThingStatus.OFFLINE) { - logger.debug("Setting status for thing '{}' to ONLINE", getThing() - .getUID()); - getThing().setStatus(ThingStatus.ONLINE); - } } @Override @@ -1251,28 +1246,29 @@ public void playLineIn(Command command) { protected ZonePlayerHandler getHandlerByName(String remotePlayerName) { - Thing thing = thingRegistry.getByUID(new ThingUID( - ZONEPLAYER_THING_TYPE_UID, remotePlayerName)); - - if (thing == null) { - Collection allThings = thingRegistry.getAll(); - for (Thing aThing : allThings) { - if (aThing.getThingTypeUID().equals( - this.getThing().getThingTypeUID())) { - if (aThing.getConfiguration().get(UDN) - .equals(remotePlayerName)) { - thing = aThing; - break; + if(thingRegistry!=null) { + Thing thing = thingRegistry.getByUID(new ThingUID( + ZONEPLAYER_THING_TYPE_UID, remotePlayerName)); + + if (thing == null) { + Collection allThings = thingRegistry.getAll(); + for (Thing aThing : allThings) { + if (aThing.getThingTypeUID().equals( + this.getThing().getThingTypeUID())) { + if (aThing.getConfiguration().get(UDN) + .equals(remotePlayerName)) { + thing = aThing; + break; + } } } } - } - if(thing != null) { - return (ZonePlayerHandler) thing.getHandler(); - } else { - return null; + if(thing != null) { + return (ZonePlayerHandler) thing.getHandler(); + } } + return null; }