From 565dc19508cd264c139d6555d00bd87863b75051 Mon Sep 17 00:00:00 2001 From: eugen Date: Wed, 22 Jun 2022 11:20:36 +0200 Subject: [PATCH] [homekit] fix for battery charging state (#12959) * fix for battery charging state Signed-off-by: Eugen Freiter --- bundles/org.openhab.io.homekit/README.md | 6 ++ .../doc/ui_sensor_with_battery.png | Bin 0 -> 134174 bytes .../internal/HomekitCharacteristicType.java | 5 ++ .../homekit/internal/HomekitTaggedItem.java | 4 +- .../accessories/HomekitAccessoryFactory.java | 67 ++++++++++-------- .../accessories/HomekitBatteryImpl.java | 10 ++- .../HomekitCharacteristicFactory.java | 7 +- .../IncompleteAccessoryException.java | 2 +- 8 files changed, 62 insertions(+), 39 deletions(-) create mode 100644 bundles/org.openhab.io.homekit/doc/ui_sensor_with_battery.png diff --git a/bundles/org.openhab.io.homekit/README.md b/bundles/org.openhab.io.homekit/README.md index 1747eea566..17d8c83a26 100644 --- a/bundles/org.openhab.io.homekit/README.md +++ b/bundles/org.openhab.io.homekit/README.md @@ -473,6 +473,7 @@ For example, ceiling fans often include lighting functionality. Such fans can be - two separate HomeKit accessories - fan **and** light. iOS home app would show them as **two tiles** that can be controlled directly from home screen. + ![ios_fan_and_light_home_screen.png](doc/ios_fan_and_light_home_screen.png) - one complex accessory - fan **with** light. @@ -517,12 +518,17 @@ Group FanWithLight "Fan with Light" { ![ui_fan_with_light_primary.png](doc/ui_fan_with_light_primary.png) +Similarly, you can create a sensor with battery + +![ui_sensor_with_battery.png](doc/ui_sensor_with_battery.png) + However, home app does not support changing of tiles for already added accessory. If you want to change the tile after the accessory was added, you need either to rename the group, if you use textual item configuration, or to delete and to create a new group with a different name, if you use UI for configuration. You can combine more than two accessories as well as accessories linked to different physical devices. You can also do unusually combinations, e.g. you can combine temperature sensor with blinds and light. It will be represented by home app as follows + ![ios_complex_accessory_detail_screen.png](doc/ios_complex_accessory_detail_screen.png) diff --git a/bundles/org.openhab.io.homekit/doc/ui_sensor_with_battery.png b/bundles/org.openhab.io.homekit/doc/ui_sensor_with_battery.png new file mode 100644 index 0000000000000000000000000000000000000000..d984a0aaf90f55a30f1e1545086bf1b51ad83e7b GIT binary patch literal 134174 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

NZ(Qh#wb4;Fl`;28d>5Y)WJX@u4y0~aTi#c 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 literal 0 HcmV?d00001 diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCharacteristicType.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCharacteristicType.java index c20cfa1509..048f140e2e 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCharacteristicType.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCharacteristicType.java @@ -153,4 +153,9 @@ public enum HomekitCharacteristicType { public static Optional valueOfTag(String tag) { return Optional.ofNullable(TAG_MAP.get(tag)); } + + @Override + public String toString() { + return tag; + } } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitTaggedItem.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitTaggedItem.java index 224e7169d3..f212839be5 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitTaggedItem.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitTaggedItem.java @@ -282,7 +282,7 @@ public class HomekitTaggedItem { } public String toString() { - return "Item:" + proxyItem.getItem() + " HomeKit type:" + homekitAccessoryType + " HomeKit characteristic:" - + homekitCharacteristicType; + return "Item:" + proxyItem.getItem() + " HomeKit type: '" + homekitAccessoryType.getTag() + + "' characteristic: '" + homekitCharacteristicType.getTag() + "'"; } } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitAccessoryFactory.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitAccessoryFactory.java index 356497f5e8..7cd25e2ee0 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitAccessoryFactory.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitAccessoryFactory.java @@ -141,8 +141,21 @@ public class HomekitAccessoryFactory { } }; + private static List getRequiredCharacteristics(HomekitTaggedItem taggedItem) { + if (taggedItem.getAccessoryType() == BATTERY) { + final String isChargeable = taggedItem.getConfiguration(HomekitBatteryImpl.BATTERY_TYPE, "false"); + if ("true".equalsIgnoreCase(isChargeable) || "yes".equalsIgnoreCase(isChargeable)) { + final List characteristics = new ArrayList<>(); + characteristics.addAll(Arrays.asList(MANDATORY_CHARACTERISTICS.get(taggedItem.getAccessoryType()))); + characteristics.add(BATTERY_CHARGING_STATE); + return characteristics; + } + } + return Arrays.asList(MANDATORY_CHARACTERISTICS.get(taggedItem.getAccessoryType())); + } + /** - * creates HomeKit accessory for a openhab item. + * creates HomeKit accessory for an openhab item. * * @param taggedItem openhab item tagged as HomeKit item * @param metadataRegistry openhab metadata registry required to get item meta information @@ -158,12 +171,12 @@ public class HomekitAccessoryFactory { HomekitAccessoryUpdater updater, HomekitSettings settings) throws HomekitException { final HomekitAccessoryType accessoryType = taggedItem.getAccessoryType(); logger.trace("Constructing {} of accessory type {}", taggedItem.getName(), accessoryType.getTag()); - final List requiredCharacteristics = getMandatoryCharacteristics(taggedItem, + final List foundCharacteristics = getMandatoryCharacteristicsFromItem(taggedItem, metadataRegistry); - final HomekitCharacteristicType[] mandatoryCharacteristics = MANDATORY_CHARACTERISTICS.get(accessoryType); - if ((mandatoryCharacteristics != null) && (requiredCharacteristics.size() < mandatoryCharacteristics.length)) { + final List mandatoryCharacteristics = getRequiredCharacteristics(taggedItem); + if (foundCharacteristics.size() < mandatoryCharacteristics.size()) { logger.warn("Accessory of type {} must have following characteristics {}. Found only {}", - accessoryType.getTag(), mandatoryCharacteristics, requiredCharacteristics); + accessoryType.getTag(), mandatoryCharacteristics, foundCharacteristics); throw new HomekitException("Missing mandatory characteristics"); } AbstractHomekitAccessoryImpl accessoryImpl; @@ -171,10 +184,9 @@ public class HomekitAccessoryFactory { final @Nullable Class accessoryImplClass = SERVICE_IMPL_MAP .get(accessoryType); if (accessoryImplClass != null) { - accessoryImpl = accessoryImplClass - .getConstructor(HomekitTaggedItem.class, List.class, HomekitAccessoryUpdater.class, - HomekitSettings.class) - .newInstance(taggedItem, requiredCharacteristics, updater, settings); + accessoryImpl = accessoryImplClass.getConstructor(HomekitTaggedItem.class, List.class, + HomekitAccessoryUpdater.class, HomekitSettings.class) + .newInstance(taggedItem, foundCharacteristics, updater, settings); addOptionalCharacteristics(taggedItem, accessoryImpl, metadataRegistry); return accessoryImpl; } else { @@ -255,7 +267,7 @@ public class HomekitAccessoryFactory { * @param metadataRegistry meta data registry * @return list of mandatory */ - private static List getMandatoryCharacteristics(HomekitTaggedItem taggedItem, + private static List getMandatoryCharacteristicsFromItem(HomekitTaggedItem taggedItem, MetadataRegistry metadataRegistry) { List collectedCharacteristics = new ArrayList<>(); if (taggedItem.isGroup()) { @@ -265,8 +277,7 @@ public class HomekitAccessoryFactory { } else { addMandatoryCharacteristics(taggedItem, collectedCharacteristics, taggedItem.getItem(), metadataRegistry); } - logger.trace("Mandatory characteristics for item {} characteristics {}", taggedItem.getName(), - collectedCharacteristics); + logger.trace("Mandatory characteristics: {}", collectedCharacteristics); return collectedCharacteristics; } @@ -285,9 +296,8 @@ public class HomekitAccessoryFactory { private static void addMandatoryCharacteristics(HomekitTaggedItem mainItem, List characteristics, Item item, MetadataRegistry metadataRegistry) { // get list of mandatory characteristics - HomekitCharacteristicType[] mandatoryCharacteristics = MANDATORY_CHARACTERISTICS - .get(mainItem.getAccessoryType()); - if ((mandatoryCharacteristics == null) || (mandatoryCharacteristics.length == 0)) { + List mandatoryCharacteristics = getRequiredCharacteristics(mainItem); + if (mandatoryCharacteristics.isEmpty()) { // no mandatory characteristics linked to accessory type of mainItem. we are done return; } @@ -299,13 +309,12 @@ public class HomekitAccessoryFactory { for (Entry accessory : getAccessoryTypes(item, metadataRegistry)) { // if the item has only accessory tag, e.g. TemperatureSensor, - // the we will link all mandatory characteristic to this item, + // then we will link all mandatory characteristic to this item, // e.g. we will link CurrentTemperature in case of TemperatureSensor. if (isRootAccessory(accessory)) { - Arrays.stream(mandatoryCharacteristics) - .forEach(c -> characteristics.add(new HomekitTaggedItem(itemProxy, accessory.getKey(), c, - mainItem.isGroup() ? (GroupItem) mainItem.getItem() : null, - HomekitAccessoryFactory.getItemConfiguration(item, metadataRegistry)))); + mandatoryCharacteristics.forEach(c -> characteristics.add(new HomekitTaggedItem(itemProxy, + accessory.getKey(), c, mainItem.isGroup() ? (GroupItem) mainItem.getItem() : null, + HomekitAccessoryFactory.getItemConfiguration(item, metadataRegistry)))); } else { // item has characteristic tag on it, so, adding it as that characteristic. @@ -313,7 +322,7 @@ public class HomekitAccessoryFactory { // check whether it is a mandatory characteristic. optional will be added later by another method. if (belongsToType(mainItem.getAccessoryType(), accessory) - && isMandatoryCharacteristic(mainItem.getAccessoryType(), characteristic)) { + && isMandatoryCharacteristic(mainItem, characteristic)) { characteristics.add(new HomekitTaggedItem(itemProxy, accessory.getKey(), characteristic, mainItem.isGroup() ? (GroupItem) mainItem.getItem() : null, HomekitAccessoryFactory.getItemConfiguration(item, metadataRegistry))); @@ -373,30 +382,28 @@ public class HomekitAccessoryFactory { GroupItem groupItem = (GroupItem) taggedItem.getItem(); groupItem.getMembers().forEach(item -> getAccessoryTypes(item, metadataRegistry).stream() .filter(c -> !isRootAccessory(c)).filter(c -> belongsToType(taggedItem.getAccessoryType(), c)) - .filter(c -> !isMandatoryCharacteristic(taggedItem.getAccessoryType(), c.getValue())) + .filter(c -> !isMandatoryCharacteristic(taggedItem, c.getValue())) .forEach(characteristic -> characteristicItems.put(characteristic.getValue(), (GenericItem) item))); } else { getAccessoryTypes(taggedItem.getItem(), metadataRegistry).stream().filter(c -> !isRootAccessory(c)) - .filter(c -> !isMandatoryCharacteristic(taggedItem.getAccessoryType(), c.getValue())) + .filter(c -> !isMandatoryCharacteristic(taggedItem, c.getValue())) .forEach(characteristic -> characteristicItems.put(characteristic.getValue(), (GenericItem) taggedItem.getItem())); } - logger.trace("Optional characteristics for item {} characteristics {}", taggedItem.getName(), - characteristicItems); + logger.trace("Optional characteristics for item {}: {}", taggedItem.getName(), characteristicItems.values()); return Collections.unmodifiableMap(characteristicItems); } /** * return true is characteristic is a mandatory characteristic for the accessory. * - * @param accessory accessory + * @param item item * @param characteristic characteristic * @return true if characteristic is mandatory, false if not mandatory */ - private static boolean isMandatoryCharacteristic(HomekitAccessoryType accessory, - HomekitCharacteristicType characteristic) { - return MANDATORY_CHARACTERISTICS.containsKey(accessory) - && Arrays.asList(MANDATORY_CHARACTERISTICS.get(accessory)).contains(characteristic); + private static boolean isMandatoryCharacteristic(HomekitTaggedItem item, HomekitCharacteristicType characteristic) { + return MANDATORY_CHARACTERISTICS.containsKey(item.getAccessoryType()) + && getRequiredCharacteristics(item).contains(characteristic); } /** diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitBatteryImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitBatteryImpl.java index 9c1d9becbc..9d4c323e89 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitBatteryImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitBatteryImpl.java @@ -37,7 +37,7 @@ import io.github.hapjava.services.impl.BatteryService; * @author Eugen Freiter - Initial contribution */ public class HomekitBatteryImpl extends AbstractHomekitAccessoryImpl implements BatteryAccessory { - private static final String BATTERY_TYPE = "chargeable"; + public static final String BATTERY_TYPE = "chargeable"; private final BooleanItemReader lowBatteryReader; private BooleanItemReader chargingBatteryReader; @@ -87,7 +87,9 @@ public class HomekitBatteryImpl extends AbstractHomekitAccessoryImpl implements @Override public void subscribeBatteryChargingState(final HomekitCharacteristicChangeCallback callback) { - subscribe(BATTERY_CHARGING_STATE, callback); + if (isChargeable) { + subscribe(BATTERY_CHARGING_STATE, callback); + } } @Override @@ -102,6 +104,8 @@ public class HomekitBatteryImpl extends AbstractHomekitAccessoryImpl implements @Override public void unsubscribeBatteryChargingState() { - unsubscribe(BATTERY_CHARGING_STATE); + if (isChargeable) { + unsubscribe(BATTERY_CHARGING_STATE); + } } } 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 fc90a45de8..d6729f7f02 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 @@ -184,13 +184,14 @@ public class HomekitCharacteristicFactory { public static Characteristic createCharacteristic(HomekitTaggedItem item, HomekitAccessoryUpdater updater) throws HomekitException { final @Nullable HomekitCharacteristicType type = item.getCharacteristicType(); - logger.trace("CreateCharacteristic, type {} item {}", type, item); + logger.trace("Create characteristic {}", item); if (optional.containsKey(type)) { return optional.get(type).apply(item, updater); } logger.warn("Unsupported optional characteristic. Accessory type {}, characteristic type {}", - item.getAccessoryType(), type); - throw new HomekitException("Unsupported optional characteristic. Characteristic type \"" + type + "\""); + item.getAccessoryType(), type.getTag()); + throw new HomekitException( + "Unsupported optional characteristic. Characteristic type \"" + type.getTag() + "\""); } // METHODS TO CREATE SINGLE CHARACTERISTIC FROM OH ITEM diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/IncompleteAccessoryException.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/IncompleteAccessoryException.java index 221a5b42e8..6203a49794 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/IncompleteAccessoryException.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/IncompleteAccessoryException.java @@ -24,7 +24,7 @@ public class IncompleteAccessoryException extends Exception { private static final long serialVersionUID = 8595808359805444177L; public IncompleteAccessoryException(HomekitCharacteristicType missingType) { - super(String.format("Missing accessory type %s", missingType.getTag())); + super(String.format("Missing accessory characteristic %s", missingType.getTag())); } public IncompleteAccessoryException(String message) { -- 2.47.3