From 94be30602ce70fb58dbcfde57a16ef8b01125230 Mon Sep 17 00:00:00 2001 From: Wouter Born Date: Fri, 11 Sep 2020 08:22:24 +0200 Subject: [PATCH] [dsmr] Add bridgeUID to thingUID during discovery (#8446) Signed-off-by: Wouter Born --- .../binding/dsmr/internal/discovery/DSMRDiscoveryService.java | 2 +- .../dsmr/internal/discovery/DSMRMeterDiscoveryServiceTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRDiscoveryService.java b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRDiscoveryService.java index 81a12b2ad468f..a606f241b654f 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRDiscoveryService.java +++ b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRDiscoveryService.java @@ -70,7 +70,7 @@ public DSMRDiscoveryService() { public boolean meterDiscovered(DSMRMeterDescriptor meterDescriptor, ThingUID dsmrBridgeUID) { DSMRMeterType meterType = meterDescriptor.getMeterType(); ThingTypeUID thingTypeUID = meterType.getThingTypeUID(); - ThingUID thingUID = new ThingUID(thingTypeUID, meterDescriptor.getChannelId()); + ThingUID thingUID = new ThingUID(thingTypeUID, dsmrBridgeUID, meterDescriptor.getChannelId()); // Construct the configuration for this meter Map properties = new HashMap<>(); diff --git a/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryServiceTest.java b/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryServiceTest.java index 1f4382ae63b84..2eca59007ef39 100644 --- a/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryServiceTest.java +++ b/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryServiceTest.java @@ -27,6 +27,7 @@ import java.util.stream.Collectors; import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingUID; import org.eclipse.smarthome.io.transport.serial.PortInUseException; import org.junit.Before; import org.junit.Test; @@ -95,6 +96,7 @@ protected void reportConfigurationValidationResults(List invalidC return detectMetersRef.get().next(); }); when(thing.getHandler()).thenReturn(meterHandler); + when(bridge.getThing().getUID()).thenReturn(new ThingUID("dsmr:dsmrBridge:22e5393c")); when(bridge.getThing().getThings()).thenReturn(things); service.telegramReceived(expected); @@ -122,6 +124,7 @@ protected void reportUnregisteredMeters() { unregisteredMeter.set(true); } }; + when(bridge.getThing().getUID()).thenReturn(new ThingUID("dsmr:dsmrBridge:22e5393c")); when(bridge.getThing().getThings()).thenReturn(Collections.emptyList()); service.telegramReceived(telegram);