[magentatv] Fix: Start UPNP listener to catch power off button, thing id in log (#11238)
* Fix: Start UPNP listener to catch power off button, thing id in log messages Signed-off-by: Markus Michels <markus7017@gmail.com> * comment removed Signed-off-by: Markus Michels <markus7017@gmail.com>
This commit is contained in:
parent
8d38276dce
commit
937a331f67
@ -57,7 +57,7 @@ public class MagentaTVControl {
|
||||
}
|
||||
|
||||
public MagentaTVControl(MagentaTVDynamicConfig config, MagentaTVNetwork network, HttpClient httpClient) {
|
||||
thingId = config.getFriendlyName();
|
||||
this.thingId = config.getFriendlyName();
|
||||
this.network = network;
|
||||
this.oauth = new MagentaTVOAuth(httpClient);
|
||||
this.config = config;
|
||||
@ -71,6 +71,10 @@ public class MagentaTVControl {
|
||||
return initialized;
|
||||
}
|
||||
|
||||
public void setThingId(String thingId) {
|
||||
this.thingId = thingId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the thingConfig - the Control class adds various attributes of the
|
||||
* discovered device (like the MR model)
|
||||
|
||||
@ -141,6 +141,7 @@ public class MagentaTVHandler extends BaseThingHandler implements MagentaTVListe
|
||||
private void initializeThing() {
|
||||
String errorMessage = "";
|
||||
try {
|
||||
config.setFriendlyName(getThing().getLabel().toString());
|
||||
if (config.getUDN().isEmpty()) {
|
||||
// get UDN from device name
|
||||
String uid = this.getThing().getUID().getAsString();
|
||||
@ -321,6 +322,7 @@ public class MagentaTVHandler extends BaseThingHandler implements MagentaTVListe
|
||||
protected void connectReceiver() throws MagentaTVException {
|
||||
if (control.checkDev()) {
|
||||
updateThingProperties();
|
||||
control.setThingId(config.getFriendlyName());
|
||||
manager.registerDevice(config.getUDN(), config.getTerminalID(), config.getIpAddress(), this);
|
||||
control.subscribeEventChannel();
|
||||
control.sendPairingRequest();
|
||||
|
||||
@ -46,6 +46,7 @@ public class MagentaTVPoweroffListener extends Thread {
|
||||
protected final MulticastSocket socket;
|
||||
protected @Nullable NetworkInterface networkInterface;
|
||||
protected byte[] buf = new byte[256];
|
||||
private boolean started = false;
|
||||
|
||||
public MagentaTVPoweroffListener(MagentaTVHandlerFactory handlerFactory,
|
||||
@Nullable NetworkInterface networkInterface) throws IOException {
|
||||
@ -61,6 +62,7 @@ public class MagentaTVPoweroffListener extends Thread {
|
||||
public void start() {
|
||||
if (!isStarted()) {
|
||||
logger.debug("Listening to SSDP shutdown messages");
|
||||
started = true;
|
||||
super.start();
|
||||
}
|
||||
}
|
||||
@ -112,18 +114,19 @@ public class MagentaTVPoweroffListener extends Thread {
|
||||
}
|
||||
|
||||
public boolean isStarted() {
|
||||
return socket.isBound();
|
||||
return started;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make sure the socket gets closed
|
||||
*/
|
||||
public void close() {
|
||||
if (isStarted()) {
|
||||
if (started) { // if (isStarted()) {
|
||||
logger.debug("No longer listening to SSDP messages");
|
||||
if (!socket.isClosed()) {
|
||||
socket.close();
|
||||
}
|
||||
started = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user