mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[chromecast] Fix constant disconnections (#14105)
When ipv6 is configured on the network, Chromecast devices will randomly return ipv4 and/or multiple ipv6 addresses during mdns discovery. This would trigger a thingUpdated call which will call dispose/initialize, causing the thing to go offline/online. Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This commit is contained in:
parent
3bf6f5219b
commit
f87ff2f9ce
@ -14,6 +14,7 @@ package org.openhab.binding.chromecast.internal.discovery;
|
||||
|
||||
import static org.openhab.binding.chromecast.internal.ChromecastBindingConstants.*;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
import java.util.Dictionary;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@ -89,7 +90,11 @@ public class ChromecastDiscoveryParticipant implements MDNSDiscoveryParticipant
|
||||
if (isAutoDiscoveryEnabled) {
|
||||
ThingUID uid = getThingUID(service);
|
||||
if (uid != null) {
|
||||
String host = service.getHostAddresses()[0];
|
||||
Inet4Address[] addresses = service.getInet4Addresses();
|
||||
if (addresses.length == 0) {
|
||||
return null;
|
||||
}
|
||||
String host = addresses[0].getHostAddress();
|
||||
int port = service.getPort();
|
||||
logger.debug("Chromecast Found: {} {}", host, port);
|
||||
String id = service.getPropertyString(PROPERTY_DEVICE_ID);
|
||||
|
Loading…
Reference in New Issue
Block a user