Closed pp81381 closed 1 day ago
Hi @pp81381. Thank you for this issue. I'm certainly not opposed this. In fact, you can use the strict=False
argument to the __init__()
methods of the didl lite objects for the purpose of work-arounds.
Feel free to create a PR where, if strict=False
, the library behaves in a bit more lenient way.
Thanks again for this. Once this is released, it would be great if you could also bump the version of didl_lite used by async-upnp-client too please. The ultimate goal is to get this into Home Assistant at some point.
Hi,
I have a WiiM Pro and I've noticed that it doesn't quite comply with the UPnP standard in that it doesn't structure the DIDL-Lite event messages correctly. The upnp:class element is in the wrong place in the schema. It should be inside the item element but for some reason it is before the item element instead. Example below.
I note that at line 1095 of didl_lite.py, python-didl-lite (correctly) looks for the upnp class within the item element. I'm wondering whether an option could be added to make it less strict or perhaps specifically allow this for WiiM devices?
I raised a ticket with WiiM about this 6 months ago and they did acknowledge it but nothing has happened yet. I have high hopes that they might fix it one day but I'm thinking that it would be good to have a workaround for us Home Assistant users until they do.
FYI, here's my really ugly workaround:
Would be keen to hear what you think.
Regards,