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 1747eea5666..17d8c83a265 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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�U@y^p(5l*K62n=uR6G@{*PRW%fOm6ZfWiOe+yU2U4v-YreBssBh&@{;3l;M@ zS5LG+c61|VG??$VtwT?&K2I*5r!_+`!oZvxK;mb`UKB(U>O>~}4XA}>&2X_(I8*gX z9Zhfsiv~ZMN_Em!YlGwN*U`;#O}5eK2IwC6Q3Mtm@bwsSkoykw- zTA1y9K}#qY=L#^tjK@8;0^sRW+RZ1koQ?{U)98{+X9Q1eg1f)fnn>}AL-4Mi<1p$h z`TD)T-uIrXHJd4#MU(K4xmr)>i8nrDd)9yzrj+2ld3F5;ZcLqS1dE|s5hFT-|H~$% zhWjG}QcpaA;?{xgE&zXn3OrVmP(%o@MUq~p`P+tp)}If72CPFs!)X6T_K5y4vF7#VUY|9>BNtCHNagnf6}i&5R6<&*4T#8#oE4u?#y< zY_>@5ERz%&haRmGeU`;}Uv@OQIzXt_un+Fp=ii3hv5GL=`Xx}<4JcVZEgZYewgy?f z`qSb}q0HISqCRS!Juq76TP^0_)y=<8b7eHJLq2Q>O)t`5I=T!yPsn2eYMfn z4OIk@1EELlzHAHkQ*MFrWH@aALN8Km51H zgB2Bga8B0!Nh*kk2$Z#wku6awlyxvH(}ThLpEo`l{Kj9TdW6pigT0pY8^VEvxC^*V z-UZM(=C1#6C>h<3R9nJ_L-@_=?kE;J;bizY_JFF&rQ%oCT71H)!>n zN!|DKa{oDn9lk;F+#H`L5Hq2s%`=5yL*fec9y=1Z4c6K+^lVst`}5x%7N)F!G77bJ zx%v5;rw#&7kHW5n`UTYRG!;Pz2wg(4#)vXJe{1Q#xh{G3fD9gIgf`QwC}y|L8;+5m zzT^^BzPLhBB%{@gKLK_EFOz5I8iuc*J1+k&KYFtuPSD-z$5PqqIT4>xJmK%iwxEUu zxN8qkVNmp-4g)3byx%sg|GuTBCJH$@#c2uZAp9<$q|QHcf~3gbt6lPGrVfEJ5&p`27Ru$-1)~G8%#?KMIpafDci?=l_jg4x+z!LX$#E@^9?>+W zkDK}bTes*|vraH-Z~knov^eVrwDG`;x zdVMfyf5E=o>GNZ-foL5!9r%Gg41Y!X_~`}%d^-ZdEENE4 zze%+-(eijUJ%UKfOL_*WdNd|4wjK=b3l9iPS$|MaQWhRG_Kl=BzLwbM$!}ze8!^ge zhN^R`2rAb}`ed|bL=e@bQ=WZMdBvyUbOzSlnUo#Zbl!*NpO zEiI+^C1{qZ*=`qxJnblD7QQ(y%fmq9g8po~D`9XErNW44dS30t!XoFDXIagc$pj)H z_5hmS7l_`LJ6@w2(rMKz=^w8^@sHOBs~0N`Cn*qa^}$(v_PGcDsve1apdxa4-A-dT ztko`*JrZeE?_uCC{Hi5BZ*3TS*yq}Pot91*HSz=?2;2`j@&nF_%P0mmZ(Er|5;(Rp2O`};0+#657 z_rEP}(z%-5sL*bb>IsCUKtPgM#;y19Grh780mh*O%*SI&$^j%UcLrYd#jVJfZ@Be4 zUufd{bJ2jn=mDokP_ooe6tU`ayu=0e�)RAEdq-)PZ4~)vV1pv?|}KKnY-rgosEW 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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 c20cfa15092..048f140e2e6 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 224e7169d3c..f212839be53 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 356497f5e8b..7cd25e2ee00 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 9c1d9becbc8..9d4c323e897 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 fc90a45de83..d6729f7f027 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 221a5b42e87..6203a497944 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) {