diff --git a/bundles/org.openhab.io.homekit/pom.xml b/bundles/org.openhab.io.homekit/pom.xml index ef4d0cc71cf..aaacafc844c 100644 --- a/bundles/org.openhab.io.homekit/pom.xml +++ b/bundles/org.openhab.io.homekit/pom.xml @@ -22,7 +22,7 @@ io.github.hap-java hap - 2.0.0 + 2.0.1 compile diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitImpl.java index fce85e44329..77c78a8fc0e 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitImpl.java @@ -51,6 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import io.github.hapjava.accessories.HomekitAccessory; +import io.github.hapjava.server.HomekitAccessoryCategories; import io.github.hapjava.server.impl.HomekitRoot; import io.github.hapjava.server.impl.HomekitServer; import io.github.hapjava.server.impl.crypto.HAPSetupCodeUtils; @@ -175,9 +176,10 @@ public class HomekitImpl implements Homekit, NetworkAddressChangeListener { private void startBridge() throws IOException { final @Nullable HomekitServer homekitServer = this.homekitServer; if (homekitServer != null && bridge == null) { - final HomekitRoot bridge = homekitServer.createBridge(authInfo, settings.name, HomekitSettings.MANUFACTURER, - HomekitSettings.MODEL, HomekitSettings.SERIAL_NUMBER, - FrameworkUtil.getBundle(getClass()).getVersion().toString(), HomekitSettings.HARDWARE_REVISION); + final HomekitRoot bridge = homekitServer.createBridge(authInfo, settings.name, + HomekitAccessoryCategories.BRIDGES, HomekitSettings.MANUFACTURER, HomekitSettings.MODEL, + HomekitSettings.SERIAL_NUMBER, FrameworkUtil.getBundle(getClass()).getVersion().toString(), + HomekitSettings.HARDWARE_REVISION); changeListener.setBridge(bridge); this.bridge = bridge; bridge.setConfigurationIndex(changeListener.getConfigurationRevision()); @@ -297,7 +299,7 @@ public class HomekitImpl implements Homekit, NetworkAddressChangeListener { logger.trace("removed interface {}", i.getAddress().toString()); if (i.getAddress().equals(networkInterface)) { final @Nullable HomekitRoot bridge = this.bridge; - if (this.bridge != null) { + if (bridge != null) { bridge.stop(); this.bridge = null; } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitCharacteristicFactory.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitCharacteristicFactory.java index 4367611823c..1860bc53b12 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitCharacteristicFactory.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitCharacteristicFactory.java @@ -649,8 +649,14 @@ public class HomekitCharacteristicFactory { private static RotationSpeedCharacteristic createRotationSpeedCharacteristic(HomekitTaggedItem item, HomekitAccessoryUpdater updater) { - return new RotationSpeedCharacteristic(getIntSupplier(item, 0), setPercentConsumer(item), - getSubscriber(item, ROTATION_SPEED, updater), getUnsubscriber(item, ROTATION_SPEED, updater)); + return new RotationSpeedCharacteristic( + item.getConfigurationAsDouble(HomekitTaggedItem.MIN_VALUE, + RotationSpeedCharacteristic.DEFAULT_MIN_VALUE), + item.getConfigurationAsDouble(HomekitTaggedItem.MAX_VALUE, + RotationSpeedCharacteristic.DEFAULT_MAX_VALUE), + item.getConfigurationAsDouble(HomekitTaggedItem.STEP, RotationSpeedCharacteristic.DEFAULT_STEP), + getDoubleSupplier(item, 0), setDoubleConsumer(item), getSubscriber(item, ROTATION_SPEED, updater), + getUnsubscriber(item, ROTATION_SPEED, updater)); } private static SetDurationCharacteristic createDurationCharacteristic(HomekitTaggedItem taggedItem,