[AmazonEchoControl] Parsing json failed

I installed openHAB 3 the other day and began integration my Echo devices.

Everything seems to work great with org.smarthomej.binding.amazonechocontrol-3.2.9-SNAPSHOT.jar.

But I get the following error in my openhab.log every hour.

2022-01-25 20:36:47.902 [WARN ] [ntrol.internal.connection.Connection] - Parsing json failed: {"applianceId":"SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxsLjdmZDE2NzEwLTIyOWYtNGMwNi1hM2RjLTZmNWJkNTNjOGJkMyIsInN0YWdlIjoibGl2ZSJ9_gCeilingFan","endpointTypeId":"","driverIdentity":{"namespace":"SKILL","identifier":"eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxsLjdmZDE2NzEwLTIyOWYtNGMwNi1hM2RjLTZmNWJkNTNjOGJkMyIsInN0YWdlIjoibGl2ZSJ9"},"manufacturerName":"openHAB","friendlyDescription":"Group gCeilingFan via openHAB","modelName":"","deviceType":"CLOUD_DISCOVERED_DEVICE","version":"0","friendlyName":"Deckenventilator","friendlyNameModifiedAt":1.600623339224E12,"capabilitiesModifiedAt":1.642166493648E12,"ipAddress":"","port":"","entityId":"7ad2619b-3f81-4ef3-a7e7-34f38724b151","applianceNetworkState":{"reachability":"REACHABLE","lastSeenAt":1.643139407756E12,"createdAt":1.600623339224E12,"lastSeenDiscoverySessionId":{"value":"0ea25ba8-dc88-4fc2-8406-77be53953592"}},"tags":{"tagNameToValueSetMap":{}},"additionalApplianceDetails":{"additionalApplianceDetails":{"capabilities":"[{\"name\":\"ToggleController\",\"instance\":\"Toggle:CeilingFanRotate\",\"property\":\"toggleState\",\"parameters\":{\"capabilityNames\":[\"@Setting.Oscillate\",\"Richtung\"],\"retrievable\":false},\"item\":{\"name\":\"CeilingFanRotate\",\"type\":\"Switch\"}},{\"name\":\"PowerController\",\"property\":\"powerState\",\"parameters\":{},\"item\":{\"name\":\"CeilingFanPower\",\"type\":\"Switch\"}},{\"name\":\"RangeController\",\"instance\":\"Range:CeilingFanSpeed\",\"property\":\"rangeValue\",\"parameters\":{\"supportedRange\":[0,6,1],\"presets\":{\"1\":[\"@Value.Low\"],\"3\":[\"@Value.Medium\"],\"6\":[\"@Value.High\"]},\"capabilityNames\":[\"@Setting.FanSpeed\",\"Speed\"],\"nonControllable\":false},\"item\":{\"name\":\"CeilingFanSpeed\",\"type\":\"Number\"}},{\"name\":\"EndpointHealth\",\"property\":\"connectivity\",\"parameters\":{}}]"}},"firmwareVersion":"0","actions":[],"capabilities":[{"capabilityType":"AVSInterfaceCapability","type":"AlexaInterface","version":"3","interfaceName":"Alexa"},{"capabilityType":"AVSInterfaceCapability","type":"AlexaInterface","version":"3","properties":{"supported":[{"name":"connectivity"}],"proactivelyReported":false,"retrievable":true,"readOnly":false},"interfaceName":"Alexa.EndpointHealth"},{"capabilityType":"AVSInterfaceCapability","type":"AlexaInterface","version":"3","properties":{"supported":[{"name":"powerState"}],"proactivelyReported":false,"retrievable":true,"readOnly":false},"interfaceName":"Alexa.PowerController"},{"capabilityType":"AVSInterfaceCapability","type":"AlexaInterface","version":"3","resources":{"friendlyNames":[{"value":{"assetId":"Alexa.Setting.Oscillate"},"@type":"asset"},{"value":{"text":"Richtung","locale":"en-AU"},"@type":"text"},{"value":{"text":"Richtung","locale":"en-CA"},"@type":"text"},{"value":{"text":"Richtung","locale":"en-GB"},"@type":"text"},{"value":{"text":"Richtung","locale":"en-IN"},"@type":"text"},{"value":{"text":"Richtung","locale":"en-US"},"@type":"text"}]},"instance":"Toggle:CeilingFanRotate","interfaceName":"Alexa.ToggleController"},{"capabilityType":"AVSInterfaceCapability","type":"AlexaInterface","version":"3","properties":{"supported":[{"name":"rangeValue"}],"proactivelyReported":false,"retrievable":true,"readOnly":false},"configuration":{"supportedRange":{"minimumValue":0.0,"maximumValue":6.0,"precision":1.0},"unitOfMeasure":"","presets":[{"rangeValue":1.0,"presetResources":{"friendlyNames":[{"value":{"assetId":"Alexa.Value.Low"},"@type":"asset"}]}},{"rangeValue":3.0,"presetResources":{"friendlyNames":[{"value":{"assetId":"Alexa.Value.Medium"},"@type":"asset"}]}},{"rangeValue":6.0,"presetResources":{"friendlyNames":[{"value":{"assetId":"Alexa.Value.High"},"@type":"asset"}]}}]},"resources":{"friendlyNames":[{"value":{"assetId":"Alexa.Setting.FanSpeed"},"@type":"asset"},{"value":{"text":"Speed","locale":"en-AU"},"@type":"text"},{"value":{"text":"Speed","locale":"en-CA"},"@type":"text"},{"value":{"text":"Speed","locale":"en-GB"},"@type":"text"},{"value":{"text":"Speed","locale":"en-IN"},"@type":"text"},{"value":{"text":"Speed","locale":"en-US"},"@type":"text"}]},"instance":"Range:CeilingFanSpeed","interfaceName":"Alexa.RangeController"}],"applianceTypes":["FAN"],"isEnabled":true,"aliases":[],"connectedVia":"","alexaDeviceIdentifierList":[],"applianceKey":"7ad2619b-3f81-4ef3-a7e7-34f38724b151","ipaddress":"","applianceLambdaControlled":true,"applianceDriverIdentity":{"namespace":"SKILL","identifier":"eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxsLjdmZDE2NzEwLTIyOWYtNGMwNi1hM2RjLTZmNWJkNTNjOGJkMyIsInN0YWdlIjoibGl2ZSJ9"},"mergedApplianceIds":["SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxsLjdmZDE2NzEwLTIyOWYtNGMwNi1hM2RjLTZmNWJkNTNjOGJkMyIsInN0YWdlIjoibGl2ZSJ9_gCeilingFan"]}
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 3341 path $.capabilities[4].configuration.presets[0]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[?:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:932) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:897) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:846) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:817) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.parseJson(Connection.java:770) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:814) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.lambda$10(Connection.java:821) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.searchSmartHomeDevicesRecursive(Connection.java:821) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.connection.Connection.getSmarthomeDeviceList(Connection.java:798) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.handler.AccountHandler.updateSmartHomeDeviceList(AccountHandler.java:841) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.handler.AccountHandler.refreshData(AccountHandler.java:519) ~[?:?]
        at org.smarthomej.binding.amazonechocontrol.internal.handler.AccountHandler.checkData(AccountHandler.java:469) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 3341 path $.capabilities[4].configuration.presets[0]
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:826) ~[?:?]
        at com.google.gson.internal.bind.TypeAdapters$16.read(TypeAdapters.java:402) ~[?:?]
        at com.google.gson.internal.bind.TypeAdapters$16.read(TypeAdapters.java:390) ~[?:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[?:?]
        ... 50 more

Do I need to worry?

Is there anything I can do to prevent this error?

Upgrade, that is a fixed bug.

1 Like

Oh, I thought I used the latest version.

Thanks.