openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.85k stars 3.56k forks source link

[amazonechocontrol] Error during json-parsing for playlist-version #8491

Closed lozb36 closed 3 years ago

lozb36 commented 3 years ago

Current Behavior

Multiple Warn Messages in my openhab2.log

2020-09-18 11:44:25.202 [WARN ] [mazonechocontrol.internal.Connection] - Parsing json failed com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "2:923521" at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:227) ~[?:?] at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:217) ~[?:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?] at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[?:?] at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[?:?] at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[?:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?] at com.google.gson.Gson.fromJson(Gson.java:888) ~[?:?] at com.google.gson.Gson.fromJson(Gson.java:853) ~[?:?] at com.google.gson.Gson.fromJson(Gson.java:802) ~[?:?] at com.google.gson.Gson.fromJson(Gson.java:774) ~[?:?] at org.openhab.binding.amazonechocontrol.internal.Connection.parseJson(Connection.java:966) ~[?:?] at org.openhab.binding.amazonechocontrol.internal.Connection.getPlaylists(Connection.java:1131) ~[?:?] at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.refreshData(AccountHandler.java:552) ~[?:?] at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.refreshAfterCommand(AccountHandler.java:830) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] Caused by: java.lang.NumberFormatException: For input string: "2:923521" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) ~[?:1.8.0_111] at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) ~[?:1.8.0_111] at java.lang.Double.parseDouble(Double.java:538) ~[?:1.8.0_111] at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1201) ~[?:?] at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:225) ~[?:?] ... 25 more 2020-09-18 11:44:25.407 [WARN ] [mazonechocontrol.internal.Connection] - Illegal json: {"playlists":{"Name_der_Playlist":[{"entryList":null,"playlistId":"**","title":"Name_der_Playlist","trackCount":3,"version":"4"}],"Meine Favoriten":[{"entryList":null,"playlistId":"*****","title":"Meine Favoriten","trackCount":0,"version":"2:923521"}]}}

during parsing the version from JSON for the second playlist "Meine Favoriten" occurs the error. It seems the addon expects a number, but it receives "2:923521" -> version 2 followed by some other numbers.

Maybe a new feature from amazon?

Possible Solution

Maybe, if some other people get this warn-messages too, someone could change JSon-parsing?

Your Environment

Raspbian GNU/Linux 8 Openhab2 openhab2:all/stable 2.5.8-1 uptodate Openhab2-Addons: openhab2-addons:all/stable 2.5.8-1 uptodate

Axel-Berlin-Neukoelln commented 3 years ago

I have the same problem. Occurs after using TTS with Echo / Alexa.

choller123 commented 3 years ago

Same here at my setup - it seems like TTS and LastVoiceCommand is the trigger for the error.

andyzle commented 3 years ago

Same WARN messages in my log

Hobohome commented 3 years ago

I have the same warnings in my log. Relates to the JSON parsing of the version of "My Likes" playlist (that can not be deleted).

[{"entryList":null,"playlistId":"6c0e75aa2dc04cf2a6828666e3d43320","title":"My Likes","trackCount":0,"version":"1:1262461181"}],

darkfuncat commented 3 years ago

Hello, Same WARN here, (without using TTS) This occurs approximatvely every 30min/1h for each device.