From: Cody Cutrer Date: Fri, 26 Jul 2024 07:12:25 +0000 (-0600) Subject: [homekit] Fix duplicate name characteristic errors (#17151) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=b39e3a79bc38c157a4618e4287dfa9da635a20e4;p=openhab-addons.git [homekit] Fix duplicate name characteristic errors (#17151) Depending on how the accessory initializes, optional characteristics may be added before or after the service. For IrrigationSystem, it's added before optional characteristics. Signed-off-by: Cody Cutrer --- diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitAccessoryImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitAccessoryImpl.java index 5a85d49624..7f36bcd62d 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitAccessoryImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitAccessoryImpl.java @@ -451,6 +451,10 @@ public abstract class AbstractHomekitAccessoryImpl implements HomekitAccessory { return; } rawCharacteristics.put(characteristic.getClass(), characteristic); + // belongs on the accessory information service + if (characteristic.getClass() == NameCharacteristic.class) { + return; + } var service = getPrimaryService(); if (service != null) { // find the corresponding add method at service and call it.