Closed dunxd closed 10 months ago
Hey there @stevenlooman, @chishm, mind taking a look at this issue as it has been labeled with an integration (dlna_dmr
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
dlna_dmr documentation dlna_dmr source (message by IssueLinks)
I think these might be more complete logs relating to the issue:
2023-05-15 13:35:52.226 DEBUG (MainThread) [async_upnp_client.advertisement] Start listening for advertisements
2023-05-15 13:35:52.227 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'fe80::853c:423f:204a:a861%2', ('fe80::853c:423f:204a:a861', 0, 0, 2)), target: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'ff02::c%2', ('ff02::c', 1900, 0, 2))
2023-05-15 13:35:52.228 DEBUG (MainThread) [async_upnp_client.advertisement] Binding socket, socket: <socket.socket fd=18, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>, address: ('', 1900)
2023-05-15 13:35:52.230 DEBUG (MainThread) [async_upnp_client.advertisement] Start listening for advertisements
2023-05-15 13:35:52.230 DEBUG (MainThread) [async_upnp_client.advertisement] Start listening for advertisements
2023-05-15 13:35:52.230 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '192.168.1.250', ('192.168.1.250', 0)), target: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '239.255.255.250', ('239.255.255.250', 1900))
2023-05-15 13:35:52.231 DEBUG (MainThread) [async_upnp_client.advertisement] Binding socket, socket: <socket.socket fd=19, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>, address: ('', 1900)
2023-05-15 13:35:52.235 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=18 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=18, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 1900, 0, 0)>
2023-05-15 13:35:52.236 DEBUG (MainThread) [async_upnp_client.advertisement] On connect, transport: <_SelectorDatagramTransport fd=18 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=18, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 1900, 0, 0)>
2023-05-15 13:35:52.236 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=19 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=19, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 1900)>
2023-05-15 13:35:52.237 DEBUG (MainThread) [async_upnp_client.advertisement] On connect, transport: <_SelectorDatagramTransport fd=19 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=19, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 1900)>
2023-05-15 13:35:53.141 DEBUG (MainThread) [async_upnp_client.search] Start listening for search responses
2023-05-15 13:35:53.142 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'fe80::853c:423f:204a:a861%2', ('fe80::853c:423f:204a:a861', 0, 0, 2)), target: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'ff02::c%2', ('ff02::c', 1900, 0, 2))
2023-05-15 13:35:53.143 DEBUG (MainThread) [async_upnp_client.search] Start listening for search responses
2023-05-15 13:35:53.144 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '192.168.1.250', ('192.168.1.250', 0)), target: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '239.255.255.250', ('239.255.255.250', 1900))
2023-05-15 13:35:53.159 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=20 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=20, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>
2023-05-15 13:35:53.159 DEBUG (MainThread) [async_upnp_client.search] On connect, transport: <_SelectorDatagramTransport fd=20 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=20, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>
2023-05-15 13:35:53.160 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=21 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>
2023-05-15 13:35:53.160 DEBUG (MainThread) [async_upnp_client.search] On connect, transport: <_SelectorDatagramTransport fd=21 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>
2023-05-15 13:35:53.223 DEBUG (MainThread) [async_upnp_client.search] Sending SEARCH packet, transport: <_SelectorDatagramTransport fd=20 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=20, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>, override_target: None
2023-05-15 13:35:53.224 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=20 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=20, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>, target: ('FF02::C', 1900, 0, 2)
2023-05-15 13:35:53.226 DEBUG (MainThread) [async_upnp_client.search] Sending SEARCH packet, transport: <_SelectorDatagramTransport fd=21 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>, override_target: None
2023-05-15 13:35:53.227 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=21 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>, target: ('239.255.255.250', 1900)
2023-05-15 13:35:53.228 DEBUG (MainThread) [async_upnp_client.search] Sending SEARCH packet, transport: <_SelectorDatagramTransport fd=21 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 41137)>, override_target: ('255.255.255.255', 1900)
2023-05-15 13:35:53.229 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=21 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=21, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 41137)>, target: ('255.255.255.255', 1900)
2023-05-15 13:35:53.254 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 35105), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::upnp:rootdevice, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.255 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new device: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885)>
2023-05-15 13:35:53.257 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885)>, type: upnp:rootdevice
2023-05-15 13:35:53.393 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 35105), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.393 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885)>, type: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885
2023-05-15 13:35:53.488 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 35105), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::urn:schemas-upnp-org:device:InternetGatewayDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.488 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885)>, type: urn:schemas-upnp-org:device:InternetGatewayDevice:1
2023-05-15 13:35:53.530 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 50610), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::urn:schemas-upnp-org:service:Layer3Forwarding:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.531 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885)>, type: urn:schemas-upnp-org:service:Layer3Forwarding:1
2023-05-15 13:35:53.538 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '192.168.1.250', ('192.168.1.250', 0)), target: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '239.255.255.250', ('239.255.255.250', 1900))
2023-05-15 13:35:53.541 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '192.168.1.250', ('192.168.1.250', 0)), target: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '239.255.255.250', ('239.255.255.250', 1900))
2023-05-15 13:35:53.573 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 33132), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.573 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new device: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886)>
2023-05-15 13:35:53.574 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886)>, type: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886
2023-05-15 13:35:53.580 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=34 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=34, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 1900)>
2023-05-15 13:35:53.593 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 33132), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886::urn:schemas-upnp-org:device:WANDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.593 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886)>, type: urn:schemas-upnp-org:device:WANDevice:1
2023-05-15 13:35:53.598 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '192.168.1.250', ('192.168.1.250', 0)), target: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '239.255.255.250', ('239.255.255.250', 1900))
2023-05-15 13:35:53.602 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'fe80::853c:423f:204a:a861%2', ('fe80::853c:423f:204a:a861', 0, 0, 2)), target: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'ff02::c%2', ('ff02::c', 1900, 0, 2))
2023-05-15 13:35:53.604 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'fe80::853c:423f:204a:a861%2', ('fe80::853c:423f:204a:a861', 0, 0, 2)), target: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'ff02::c%2', ('ff02::c', 1900, 0, 2))
2023-05-15 13:35:53.613 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 46766), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886::urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.613 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886)>, type: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
2023-05-15 13:35:53.615 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=37 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=37, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>
2023-05-15 13:35:53.617 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=39 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=39, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 1900, 0, 0)>
2023-05-15 13:35:53.640 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 56836), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.640 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new device: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887)>
2023-05-15 13:35:53.641 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887)>, type: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887
2023-05-15 13:35:53.641 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=37 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=37, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 0)>, target: ('239.255.255.250', 1900)
2023-05-15 13:35:53.643 DEBUG (MainThread) [async_upnp_client.ssdp] Creating socket, source: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'fe80::853c:423f:204a:a861%2', ('fe80::853c:423f:204a:a861', 0, 0, 2)), target: (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_DGRAM: 2>, 17, 'ff02::c%2', ('ff02::c', 1900, 0, 2))
2023-05-15 13:35:53.646 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 56836), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887::urn:schemas-upnp-org:device:WANConnectionDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.647 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887)>, type: urn:schemas-upnp-org:device:WANConnectionDevice:1
2023-05-15 13:35:53.649 DEBUG (MainThread) [async_upnp_client.ssdp] Connection made, transport: <_SelectorDatagramTransport fd=30 read=idle write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=30, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>
2023-05-15 13:35:53.654 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 37889), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887::urn:schemas-upnp-org:service:WANIPConnection:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.655 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887)>, type: urn:schemas-upnp-org:service:WANIPConnection:1
2023-05-15 13:35:53.655 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.1.250', 38134), USN: UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66::upnp:rootdevice, location: http://192.168.1.250:40000/device.xml
2023-05-15 13:35:53.656 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new device: <SsdpDevice(UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66)>
2023-05-15 13:35:53.656 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66)>, type: upnp:rootdevice
2023-05-15 13:35:53.657 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=30 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=30, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 0, 0, 0)>, target: ('FF02::C', 1900, 0, 2)
2023-05-15 13:35:53.662 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 38633), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::upnp:rootdevice, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.680 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 38633), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.684 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('fe80::853c:423f:204a:a861', 60381, 0, 2), USN: UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66::upnp:rootdevice, location: http://[fe80::853c:423f:204a:a861%2]:40000/device.xml
2023-05-15 13:35:53.701 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 38633), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::urn:schemas-upnp-org:device:InternetGatewayDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.710 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 51981), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c885::urn:schemas-upnp-org:service:Layer3Forwarding:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.752 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 40304), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.771 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 40304), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886::urn:schemas-upnp-org:device:WANDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.778 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 52001), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c886::urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.788 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 32817), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.811 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 32817), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887::urn:schemas-upnp-org:device:WANConnectionDevice:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:35:53.825 DEBUG (MainThread) [async_upnp_client.search] Received search response, _remote_addr: ('192.168.1.1', 60229), USN: uuid:9f0865b3-f5da-4ad5-85b7-1c3bf347c887::urn:schemas-upnp-org:service:WANIPConnection:1, location: http://192.168.1.1:1900/gatedesc.xml
2023-05-15 13:36:17.852 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Setting up config entry: uuid:5F9EC1B3-ED59-79C2-4530-745E1C22FC86
2023-05-15 13:36:19.219 DEBUG (MainThread) [homeassistant.components.dlna_dmr] media_player.async_setup_entry 8e561311079744e53b9630531a7d1a6f (Kitchen-Panasonic-Speaker)
2023-05-15 13:36:19.228 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Connecting to device at http://kitchen-speaker.home.arpa:8080/description.xml
2023-05-15 13:36:19.737 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Getting event handler for EventListenAddr(host='192.168.1.250', port=0, callback_url=None)
2023-05-15 13:36:19.747 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Started event handler at http://192.168.1.250:34107/notify
2023-05-15 13:36:20.039 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1713, in feed
self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 21, column 99
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/aiohttp.py", line 325, in _handle_request
status = await self.event_handler.handle_notify(headers, body)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/event_handler.py", line 152, in handle_notify
el_root = DET.fromstring(stripped_body)
File "/usr/local/lib/python3.10/site-packages/defusedxml/common.py", line 126, in fromstring
parser.feed(text)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1715, in feed
self._raiseerror(v)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1622, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 21, column 99
2023-05-15 13:36:21.301 WARNING (MainThread) [deebot_client.commands.clean_logs] Skipping log entry: {'ts': 1675994400, 'last': 0, 'area': 0, 'id': 'ab91b845-9b4b-440a-9bff-bc2c3fc92982@391369223@qB5F', 'imageUrl': 'https://portal-eu.ecouser.net/api/lg/image/ab91b845-9b4b-440a-9bff-bc2c3fc92982@391369223@qB5F', 'type': 'auto', 'aiavoid': 0, 'aitypes': [], 'stopReason': 5, 'aiopen': 1, 'powerMopType': 1}
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/deebot_client/commands/clean_logs.py", line 42, in _handle_requested
stop_reason=CleanJobStatus(
File "/usr/local/lib/python3.10/enum.py", line 385, in __call__
return cls.__new__(cls, value)
File "/usr/local/lib/python3.10/enum.py", line 710, in __new__
raise ve_exc
ValueError: 5 is not a valid CleanJobStatus
2023-05-15 13:36:23.644 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=37 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=37, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('0.0.0.0', 38134)>, target: ('239.255.255.250', 1900)
2023-05-15 13:36:23.649 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.1.250', 38134), USN: UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66, location: http://192.168.1.250:40000/device.xml
2023-05-15 13:36:23.650 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66)>, type: UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66
2023-05-15 13:36:23.659 DEBUG (MainThread) [async_upnp_client.ssdp] Sending SSDP packet, transport: <_SelectorDatagramTransport fd=30 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=30, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::', 60381, 0, 0)>, target: ('FF02::C', 1900, 0, 2)
2023-05-15 13:36:23.663 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('fe80::853c:423f:204a:a861', 60381, 0, 2), USN: UUID:81CDDAC9-85A6-4CFC-98E7-716F58D0CA66, location: http://[fe80::853c:423f:204a:a861%2]:40000/device.xml
2023-05-15 13:36:24.307 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform dnsip is taking over 10 seconds.
2023-05-15 13:36:30.003 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Device unavailable: UpnpXmlParseError('not well-formed (invalid token): line 8, column 80')
2023-05-15 13:36:30.006 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Disconnecting from Kitchen-Panasonic-Speaker
2023-05-15 13:36:39.847 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Connecting to device at http://kitchen-speaker.home.arpa:8080/description.xml
2023-05-15 13:36:40.019 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Getting event handler for EventListenAddr(host='192.168.1.250', port=0, callback_url=None)
2023-05-15 13:36:40.023 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Started event handler at http://192.168.1.250:40335/notify
2023-05-15 13:36:40.271 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1713, in feed
self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 21, column 99
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/aiohttp.py", line 325, in _handle_request
status = await self.event_handler.handle_notify(headers, body)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/event_handler.py", line 152, in handle_notify
el_root = DET.fromstring(stripped_body)
File "/usr/local/lib/python3.10/site-packages/defusedxml/common.py", line 126, in fromstring
parser.feed(text)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1715, in feed
self._raiseerror(v)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1622, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 21, column 99
2023-05-15 13:36:40.287 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Device unavailable: UpnpXmlParseError('not well-formed (invalid token): line 8, column 80')
2023-05-15 13:36:40.288 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Disconnecting from Kitchen-Panasonic-Speaker
2023-05-15 13:36:49.848 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Connecting to device at http://kitchen-speaker.home.arpa:8080/description.xml
2023-05-15 13:36:50.021 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Getting event handler for EventListenAddr(host='192.168.1.250', port=0, callback_url=None)
2023-05-15 13:36:50.026 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Started event handler at http://192.168.1.250:43709/notify
2023-05-15 13:36:50.277 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1713, in feed
self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 21, column 99
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/aiohttp.py", line 325, in _handle_request
status = await self.event_handler.handle_notify(headers, body)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/event_handler.py", line 152, in handle_notify
el_root = DET.fromstring(stripped_body)
File "/usr/local/lib/python3.10/site-packages/defusedxml/common.py", line 126, in fromstring
parser.feed(text)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1715, in feed
self._raiseerror(v)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1622, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 21, column 99
2023-05-15 13:36:50.295 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Device unavailable: UpnpXmlParseError('not well-formed (invalid token): line 8, column 80')
2023-05-15 13:36:50.295 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Disconnecting from Kitchen-Panasonic-Speaker
Is it failing to parse the description.xml properly? Here is the contents of https://192.168.1.222:8080/description.xml:
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:ms="urn:microsoft-com:wmc-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device ms:X_MS_SupportsWMDRM="true">
<av:X_ipRemoteReady xmlns:av="http://www.pioneerelectronics.com/xmlns/av">1</av:X_ipRemoteReady>
<av:X_ipRemoteTcpPort xmlns:av="http://www.pioneerelectronics.com/xmlns/av">8102</av:X_ipRemoteTcpPort>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
<pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001 </pnpx:X_compatibleId>
<pnpx:X_deviceCategory>MediaDevices </pnpx:X_deviceCategory>
<df:X_deviceCategory>Multimedia.DMR </df:X_deviceCategory>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Kitchen-Panasonic-Speaker</friendlyName>
<manufacturer>PIONEER CORPORATION</manufacturer>
<manufacturerURL>http://www.pioneerelectronics.com</manufacturerURL>
<modelDescription>Digital Media Client</modelDescription>
<modelName>XW-SMA4</modelName>
<modelNumber>Digital Media Client</modelNumber>
<UDN>uuid:5F9EC1B3-ED59-79C2-4530-745E1C22FC86</UDN>
<UPC>123810928305</UPC>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/pioneer_icon_sm.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/pioneer_icon_lrg.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/pioneer_icon_sm.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/pioneer_icon_lrg.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControl/desc.xml</SCPDURL>
<controlURL>/RenderingControl/ctrl</controlURL>
<eventSubURL>/RenderingControl/evt</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManager/desc.xml</SCPDURL>
<controlURL>/ConnectionManager/ctrl</controlURL>
<eventSubURL>/ConnectionManager/evt</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransport/desc.xml</SCPDURL>
<controlURL>/AVTransport/ctrl</controlURL>
<eventSubURL>/AVTransport/evt</eventSubURL>
</service>
</serviceList>
<presentationURL>http://192.168.1.222</presentationURL>
</device>
</root>
Hi, and thank you for the bug report.
From the looks of it, the device is sending a NOTIFY message (sent when it changes state, or first connects) that has invalid XML in it. To see its contents, you'll need to log the raw UPnP traffic with:
logs:
async_upnp_client.traffic: debug
Then look for NOTIFY just before the [aiohttp.server] Error handling request
message. It should look like an HTTP request with a header and XML for the body.
This looks like it:
2023-05-16 15:21:13.314 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Incoming request:
NOTIFY
Host: 192.168.1.250:34739
Content-Type: text/xml;charset="utf-8"
Content-Length: 3416
NT: upnp:event
NTS: upnp:propchange
SID: uuid:b326fbe2-d9b4-1db7-b65e-55b20cb56a30
SEQ: 0
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<LastChange><Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportState val="PLAYING"/>
<TransportStatus val="OK"/>
<PlaybackStorageMedium val="NETWORK"/>
<RecordStorageMedium val="NOT_IMPLEMENTED"/>
<PossiblePlaybackStorageMedia val="NONE,NETWORK"/>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/>
<CurrentPlayMode val="NORMAL"/>
<TransportPlaySpeed val="1"/>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"/>
<CurrentRecordQualityMode val="NOT_IMPLEMENTED"/>
<PossibleRecordQualityModes val="NOT_IMPLEMENTED"/>
<NumberOfTracks val="1"/>
<CurrentTrack val="1"/>
<CurrentTrackDuration val="1193:02:46"/>
<CurrentMediaDuration val="1193:02:46"/>
<CurrentTrackMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;0&quot; parentID=&quot;-1&quot; restricted=&quot;false&quot;&gt;&lt;dc:title&gt;Home Assistant&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem&lt;/upnp:class&gt;&lt;res protocolInfo=&quot;http-get:*:audio/x-scpls:*&quot;&gt;http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_6music/format/pls.pls&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/>
<CurrentTrackURI val="http://stream.live.vc.bbcmedia.co.uk:80/bbc_6music?s=1684239545&e=1684253945&h=47f11c01c7e2c5168a0bd5612077435f"/>
<AVTransportURI val="http://stream.live.vc.bbcmedia.co.uk:80/bbc_6music?s=1684239545&e=1684253945&h=47f11c01c7e2c5168a0bd5612077435f"/>
<AVTransportURIMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;0&quot; parentID=&quot;-1&quot; restricted=&quot;false&quot;&gt;&lt;dc:title&gt;Home Assistant&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem&lt;/upnp:class&gt;&lt;res protocolInfo=&quot;http-get:*:audio/x-scpls:*&quot;&gt;http://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/http-icy-mp3-a/vpid/bbc_6music/format/pls.pls&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/>
<NextAVTransportURI val="NOT_IMPLEMENTED"/>
<NextAVTransportURIMetaData val="NOT_IMPLEMENTED"/>
<CurrentTransportActions val="Stop,Next,Previous"/>
</InstanceID>
</Event></LastChange>
</e:property>
</e:propertyset>
2023-05-16 15:21:13.315 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1713, in feed
self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 21, column 99
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/aiohttp.py", line 325, in _handle_request
status = await self.event_handler.handle_notify(headers, body)
File "/usr/local/lib/python3.10/site-packages/async_upnp_client/event_handler.py", line 152, in handle_notify
el_root = DET.fromstring(stripped_body)
File "/usr/local/lib/python3.10/site-packages/defusedxml/common.py", line 126, in fromstring
parser.feed(text)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1715, in feed
self._raiseerror(v)
File "/usr/local/lib/python3.10/xml/etree/ElementTree.py", line 1622, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 21, column 99
Is that malformation the section in
It looks like it's the URL in the CurrentTrack is not being escaped properly. Line 21 is:
<CurrentTrackURI val="http://stream.live.vc.bbcmedia.co.uk:80/bbc_6music?s=1684239545&e=1684253945&h=47f11c01c7e2c5168a0bd5612077435f"/>`
and GitHub has helpfully highlighted the malformed parts in red.
As a short-term fix, you could try playing something different on the speaker before connecting to it with Home Assistant. Long term, this is a bug with the device that the manufacturer needs to fix.
So the URL should escape &
as &
?
Long term, this is a bug with the device that the manufacturer needs to fix.
That's not likely to happen. Panasonic seem to have abandoned and started again with their smart speakers and AV devices multiple times, and neglected to do further development for any models that aren't currently on sale. I'm not sure if any other manufacturers of consumer electronics are much better.
Regex &(?!\w+;)
finds unescaped &
in the XML returned by my speaker. Could that be used to fix this sort of issue?
Hi @chishm,
i have the same issue. I configured an esp32 board ad DLNS Media Renderer and it is always in flapping state between unknown and unavailable.
this is my log
192.168.178.138 90:38:0c:ed:8d:10 Espressif Inc.
2023-06-11 07:16:00.359 DEBUG (SyncWorker_3) [custom_components.arpscan_tracker.device_tracker] Excluded 192.168.178.138
2023-06-11 07:16:06.977 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Connecting to device at http://192.168.178.138/rootDesc.xml
GET http://192.168.178.138/rootDesc.xml
2023-06-11 07:16:08.374 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/rootDesc.xml:
b'<?xml version="1.0" encoding="UTF-8"?>\n
Can you help me to find the possible issue?
and this is the log of the board:
E (3056844) HTTP_CLIENT: Error parse url uuid:7b0948e1-2bf0-c8e4-1d38-77807c4d0866 I (3057764) UPNP_NOTIFY: New Subscribe successful, sid = uuid:3cb18f8c-8c81-6e1a-aad4-67a9332dd134, timeout = 540
Thank you for your support
In my log i received this error
2023-06-14 09:23:18.759 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from POST http://192.168.178.138/AVTransport/Control: 200 Content-Type: text/xml Content-Length: 332
b'<?xml version="1.0" encoding="UTF-8"?>\n
2023-06-14 09:23:18.760 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Device unavailable: UpnpXmlParseError('not well-formed (invalid token): line 3, column 100') 2023-06-14 09:23:18.760 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Disconnecting from ESP32 MD (ESP32 Renderer)
2023-06-14 09:23:18.761 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request: UNSUBSCRIBE http://192.168.178.138/ConnectionManager/Event HOST: 192.168.178.138 SID: uuid:68e33a30-1d7b-055c-44da-21bee4531a83
What does it mean "UpnpXmlParseError('not well-formed (invalid token): line 3, column 100')"?
It means that the XML returned by your device is not well formed, and specifically on that line. The easiest way for you to confirm this would be to open the URL specified in your log immediately before the error message (i.e. http://192.168.178.138/AVTransport/Control) in your browser and look at the specified line (line 3). Or you could paste the contents into an XML validator which may tell you exactly the problem. If your hardware is returning badly formed XML you should let the hardware manufacturer know so they can fix it.
Hint: when posting logs here, you can use markdown to make them appear more nicely - three back ticks (```) before and after the log lines will do the trick, and may even help to see where the badly formed XML is.
Hi @dunxd,
i verified the XML file into the validator that you gave me on the link and there aren't problems. The XML code seems to be good, no errors.
Thank you for your trick, very appreciated, and thank you for your support.
WIth Hi-Fi Cast App on Android this code and XML is working fine.
Below a complete log. The part between
2023-06-23` 15:45:06.070 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/AVTransport.xml: 200 Content-Type: text/xml Content-Length: 20843 Cache-Control: max-age=3600, must-revalidate
and 2023-06-23 15:45:06.074 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
is written in RED color
2023-06-23 15:45:05.599 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: upnp:rootdevice\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::upnp:rootdevice\r\n\r\n'
2023-06-23 15:45:05.600 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.178.138', 1900), NT: upnp:rootdevice, NTS: ssdp:alive, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809::upnp:rootdevice, location: http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.600 DEBUG (MainThread) [async_upnp_client.ssdp_listener] Purging device, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809
2023-06-23 15:45:05.600 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new device: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>
2023-06-23 15:45:05.600 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>, type: upnp:rootdevice
2023-06-23 15:45:05.601 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: upnp:rootdevice\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::upnp:rootdevice\r\n\r\n'
2023-06-23 15:45:05.602 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:device:MediaRenderer:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:device:MediaRenderer:1\r\n\r\n'
2023-06-23 15:45:05.602 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.178.138', 1900), NT: urn:schemas-upnp-org:device:MediaRenderer:1, NTS: ssdp:alive, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:device:MediaRenderer:1, location: http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.603 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>, type: urn:schemas-upnp-org:device:MediaRenderer:1
2023-06-23 15:45:05.606 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:device:MediaRenderer:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:device:MediaRenderer:1\r\n\r\n'
2023-06-23 15:45:05.607 DEBUG (MainThread) [homeassistant.components.dlna_dmr] SSDP SsdpChange.ALIVE notification of device uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:device:MediaRenderer:1 at http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.607 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Connecting to device at http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.607 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
GET http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.607 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:ConnectionManager:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:ConnectionManager:1\r\n\r\n'
2023-06-23 15:45:05.607 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.178.138', 1900), NT: urn:schemas-upnp-org:service:ConnectionManager:1, NTS: ssdp:alive, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:ConnectionManager:1, location: http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.608 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>, type: urn:schemas-upnp-org:service:ConnectionManager:1
2023-06-23 15:45:05.608 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:ConnectionManager:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:ConnectionManager:1\r\n\r\n'
2023-06-23 15:45:05.617 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:RenderingControl:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:RenderingControl:1\r\n\r\n'
2023-06-23 15:45:05.617 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.178.138', 1900), NT: urn:schemas-upnp-org:service:RenderingControl:1, NTS: ssdp:alive, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:RenderingControl:1, location: http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.617 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>, type: urn:schemas-upnp-org:service:RenderingControl:1
2023-06-23 15:45:05.617 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:RenderingControl:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:RenderingControl:1\r\n\r\n'
2023-06-23 15:45:05.619 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:AVTransport:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:AVTransport:1\r\n\r\n'
2023-06-23 15:45:05.619 DEBUG (MainThread) [async_upnp_client.advertisement] Received advertisement, _remote_addr: ('192.168.178.138', 1900), NT: urn:schemas-upnp-org:service:AVTransport:1, NTS: ssdp:alive, USN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:AVTransport:1, location: http://192.168.178.138/rootDesc.xml
2023-06-23 15:45:05.619 DEBUG (MainThread) [async_upnp_client.ssdp_listener] See new service: <SsdpDevice(uuid:8db0797b-f01a-4949-8f59-51188b181809)>, type: urn:schemas-upnp-org:service:AVTransport:1
2023-06-23 15:45:05.619 DEBUG (MainThread) [async_upnp_client.traffic.ssdp] Received packet from ('192.168.178.138', 1900): b'NOTIFY * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nCACHE-CONTROL: max-age=30\r\nLOCATION: http://192.168.178.138/rootDesc.xml\r\n01-NLS: ESP32_DMR_8db0797b\r\nNT: urn:schemas-upnp-org:service:AVTransport:1\r\nNTS: ssdp:alive\r\nSERVER: ESP32 SSDP/1.0\r\nUSN: uuid:8db0797b-f01a-4949-8f59-51188b181809::urn:schemas-upnp-org:service:AVTransport:1\r\n\r\n'
2023-06-23 15:45:05.932 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/rootDesc.xml:
200
Content-Type: text/xml; charset="utf-8"
Content-Length: 2339
Cache-Control: no-cache
Connection: close
Expires: : 0
b'<?xml version="1.0" encoding="UTF-8"?>\n<root xmlns="urn:schemas-upnp-org:device-1-0">\n <specVersion>\n <major>1</major>\n <minor>0</minor>\n </specVersion>\n <device>\n <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>\n <presentationURL>rootDesc.xml</presentationURL>\n <friendlyName>ESP32 MD2 (ESP32 Renderer2)</friendlyName>\n <manufacturer>ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD</manufacturer>\n <manufacturerURL>https://espressif.com</manufacturerURL>\n <modelDescription>Media Renderer Device</modelDescription>\n <modelName>AV Renderer</modelName>\n <modelNumber>ESP32_Audio_Board</modelNumber>\n <modelURL>https://www.espressif.com/en/products/socs</modelURL>\n <serialNumber>8db0797b-f01a-4949-8f59-51188b181809</serialNumber>\n <UPC>Universal Product Code</UPC>\n <UDN>uuid:8db0797b-f01a-4949-8f59-51188b181809</UDN>\n <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.01</dlna:X_DLNADOC>\n <iconList>\n <icon>\n <mimetype>image/png</mimetype>\n <url>/logo.png</url>\n <width>93</width>\n <height>92</height>\n <depth>8</depth>\n </icon>\n</iconList>\n\n <serviceList>\n <service>\n <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>\n <serviceId>urn:schemas-upnp-org:serviceId:ConnectionManager</serviceId>\n <SCPDURL>/ConnectionManager.xml</SCPDURL>\n <controlURL>/ConnectionManager/Control</controlURL>\n <eventSubURL>/ConnectionManager/Event</eventSubURL>\n</service>\n<service>\n <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>\n <serviceId>urn:schemas-upnp-org:serviceId:AVTransport</serviceId>\n <SCPDURL>/AVTransport.xml</SCPDURL>\n <controlURL>/AVTransport/Control</controlURL>\n <eventSubURL>/AVTransport/Event</eventSubURL>\n</service>\n<service>\n <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>\n <serviceId>urn:schemas-upnp-org:serviceId:RenderingControl</serviceId>\n <SCPDURL>/RenderingControl.xml</SCPDURL>\n <controlURL>/RenderingControl/Control</controlURL>\n <eventSubURL>/RenderingControl/Event</eventSubURL>\n</service>\n\n </serviceList>\n\t \n </device>\n <URLBase>http://192.168.178.138:80/</URLBase>\n</root>\n'
2023-06-23 15:45:05.933 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
GET http://192.168.178.138/ConnectionManager.xml
2023-06-23 15:45:05.969 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/ConnectionManager.xml:
200
Content-Type: text/xml
Content-Length: 5295
Cache-Control: max-age=3600, must-revalidate
b'<?xml version="1.0" encoding="utf-8"?>\n<scpd xmlns="urn:schemas-upnp-org:service-1-0">\n <specVersion>\n <major>1</major>\n <minor>0</minor>\n </specVersion>\n <actionList>\n <action>\n <name>GetCurrentConnectionInfo</name>\n <argumentList>\n <argument>\n <name>ConnectionID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>\n </argument>\n <argument>\n <name>RcsID</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>\n </argument>\n <argument>\n <name>AVTransportID</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>\n </argument>\n <argument>\n <name>ProtocolInfo</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>\n </argument>\n <argument>\n <name>PeerConnectionManager</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>\n </argument>\n <argument>\n <name>PeerConnectionID</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>\n </argument>\n <argument>\n <name>Direction</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable>\n </argument>\n <argument>\n <name>Status</name>\n <direction>out</direction>\n <relatedStateVariable>A_ARG_TYPE_ConnectionStatus</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetProtocolInfo</name>\n <argumentList>\n <argument>\n <name>Source</name>\n <direction>out</direction>\n <relatedStateVariable>SourceProtocolInfo</relatedStateVariable>\n </argument>\n <argument>\n <name>Sink</name>\n <direction>out</direction>\n <relatedStateVariable>SinkProtocolInfo</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetCurrentConnectionIDs</name>\n <argumentList>\n <argument>\n <name>ConnectionIDs</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n </actionList>\n <serviceStateTable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_ProtocolInfo</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_ConnectionStatus</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>OK</allowedValue>\n <allowedValue>ContentFormatMismatch</allowedValue>\n <allowedValue>InsufficientBandwidth</allowedValue>\n <allowedValue>UnreliableChannel</allowedValue>\n <allowedValue>Unknown</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_AVTransportID</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_RcsID</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_ConnectionID</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_ConnectionManager</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="yes">\n <name>SourceProtocolInfo</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="yes">\n <name>SinkProtocolInfo</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_Direction</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>Input</allowedValue>\n <allowedValue>Output</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="yes">\n <name>CurrentConnectionIDs</name>\n <dataType>string</dataType>\n </stateVariable>\n </serviceStateTable>\n</scpd>\x00'
2023-06-23 15:45:05.970 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
GET http://192.168.178.138/AVTransport.xml
2023-06-23 15:45:06.070 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/AVTransport.xml:
200
Content-Type: text/xml
Content-Length: 20843
Cache-Control: max-age=3600, must-revalidate
b'<?xml version="1.0" encoding="utf-8"?>\n<scpd xmlns="urn:schemas-upnp-org:service-1-0">\n <specVersion>\n <major>1</major>\n <minor>0</minor>\n </specVersion>\n <actionList>\n <action>\n <name>GetCurrentTransportActions</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Actions</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTransportActions</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetDeviceCapabilities</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMedia</name>\n <direction>out</direction>\n <relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>\n </argument>\n <argument>\n <name>RecMedia</name>\n <direction>out</direction>\n <relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>\n </argument>\n <argument>\n <name>RecQualityModes</name>\n <direction>out</direction>\n <relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetMediaInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NrTracks</name>\n <direction>out</direction>\n <relatedStateVariable>NumberOfTracks</relatedStateVariable>\n </argument>\n <argument>\n <name>MediaDuration</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentMediaDuration</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURI</name>\n <direction>out</direction>\n <relatedStateVariable>AVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURIMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURI</name>\n <direction>out</direction>\n <relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURIMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMedium</name>\n <direction>out</direction>\n <relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>\n </argument>\n <argument>\n <name>RecordMedium</name>\n <direction>out</direction>\n <relatedStateVariable>RecordStorageMedium</relatedStateVariable>\n </argument>\n <argument>\n <name>WriteStatus</name>\n <direction>out</direction>\n <relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetPositionInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Track</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrack</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackDuration</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackDuration</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackURI</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackURI</relatedStateVariable>\n </argument>\n <argument>\n <name>RelTime</name>\n <direction>out</direction>\n <relatedStateVariable>RelativeTimePosition</relatedStateVariable>\n </argument>\n <argument>\n <name>AbsTime</name>\n <direction>out</direction>\n <relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>\n </argument>\n <argument>\n <name>RelCount</name>\n <direction>out</direction>\n <relatedStateVariable>RelativeCounterPosition</relatedStateVariable>\n </argument>\n <argument>\n <name>AbsCount</name>\n <direction>out</direction>\n <relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetTransportInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentTransportState</name>\n <direction>out</direction>\n <relatedStateVariable>TransportState</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentTransportStatus</name>\n <direction>out</direction>\n <relatedStateVariable>TransportStatus</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentSpeed</name>\n <direction>out</direction>\n <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetTransportSettings</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMode</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentPlayMode</relatedStateVariable>\n </argument>\n <argument>\n <name>RecQualityMode</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Next</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Pause</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Play</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Speed</name>\n <direction>in</direction>\n <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Previous</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Seek</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Unit</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>\n </argument>\n <argument>\n <name>Target</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetAVTransportURI</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURI</name>\n <direction>in</direction>\n <relatedStateVariable>AVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURIMetaData</name>\n <direction>in</direction>\n <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetNextAVTransportURI</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURI</name>\n <direction>in</direction>\n <relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURIMetaData</name>\n <direction>in</direction>\n <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetPlayMode</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NewPlayMode</name>\n <direction>in</direction>\n <relatedStateVariable>CurrentPlayMode</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Stop</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n </actionList>\n <serviceStateTable>\n <stateVariable sendEvents="no">\n <name>CurrentPlayMode</name>\n <dataType>string</dataType>\n <defaultValue>NORMAL</defaultValue>\n <allowedValueList>\n <allowedValue>NORMAL</allowedValue>\n <allowedValue>REPEAT_ONE</allowedValue>\n <allowedValue>REPEAT_ALL</allowedValue>\n <allowedValue>SHUFFLE</allowedValue>\n <allowedValue>SHUFFLE_NOREPEAT</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RecordStorageMedium</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="yes">\n <name>LastChange</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RelativeTimePosition</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackDuration</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentRecordQualityMode</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentMediaDuration</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AbsoluteCounterPosition</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RelativeCounterPosition</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_InstanceID</name>\n <dataType>ui4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AVTransportURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportState</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>STOPPED</allowedValue>\n <allowedValue>PAUSED_PLAYBACK</allowedValue>\n <allowedValue>PLAYING</allowedValue>\n <allowedValue>TRANSITIONING</allowedValue>\n <allowedValue>NO_MEDIA_PRESENT</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NextAVTransportURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossibleRecordQualityModes</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrack</name>\n <dataType>ui4</dataType>\n <allowedValueRange>\n <minimum>0</minimum>\n <maximum>65535</maximum>\n <step>1</step>\n </allowedValueRange>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AbsoluteTimePosition</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NextAVTransportURIMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PlaybackStorageMedium</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NONE</allowedValue>\n <allowedValue>UNKNOWN</allowedValue>\n <allowedValue>CD-DA</allowedValue>\n <allowedValue>HDD</allowedValue>\n <allowedValue>NETWORK</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTransportActions</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RecordMediumWriteStatus</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossiblePlaybackStorageMedia</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NONE</allowedValue>\n <allowedValue>UNKNOWN</allowedValue>\n <allowedValue>CD-DA</allowedValue>\n <allowedValue>HDD</allowedValue>\n <allowedValue>NETWORK</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AVTransportURIMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NumberOfTracks</name>\n <dataType>ui4</dataType>\n <allowedValueRange>\n <minimum>0</minimum>\n <maximum>65535</maximum>\n </allowedValueRange>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_SeekMode</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>REL_TIME</allowedValue>\n <allowedValue>TRACK_NR</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_SeekTarget</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossibleRecordStorageMedia</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportStatus</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>OK</allowedValue>\n <allowedValue>ERROR_OCCURRED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportPlaySpeed</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>1</allowedValue>\n </allowedValueList>\n </stateVariable>\n </serviceStateTable>\n</scpd>\x00'
2023-06-23 15:45:06.074 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
GET http://192.168.178.138/RenderingControl.xml
2023-06-23 15:45:06.157 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/RenderingControl.xml:
200
Content-Type: text/xml
Content-Length: 8315
Cache-Control: max-age=3600, must-revalidate
b'<?xml version="1.0" encoding="utf-8"?>\n<scpd xmlns="urn:schemas-upnp-org:service-1-0">\n <specVersion>\n <major>1</major>\n <minor>0</minor>\n </specVersion>\n <actionList>\n <action>\n <name>GetMute</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentMute</name>\n <direction>out</direction>\n <relatedStateVariable>Mute</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetVolume</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentVolume</name>\n <direction>out</direction>\n <relatedStateVariable>Volume</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetVolumeDB</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentVolume</name>\n <direction>out</direction>\n <relatedStateVariable>VolumeDB</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetVolumeDBRange</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>MinValue</name>\n <direction>out</direction>\n <relatedStateVariable>VolumeDB</relatedStateVariable>\n </argument>\n <argument>\n <name>MaxValue</name>\n <direction>out</direction>\n <relatedStateVariable>VolumeDB</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>ListPresets</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentPresetNameList</name>\n <direction>out</direction>\n <relatedStateVariable>PresetNameList</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SelectPreset</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>PresetName</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetMute</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>DesiredMute</name>\n <direction>in</direction>\n <relatedStateVariable>Mute</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetVolume</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Channel</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n </argument>\n <argument>\n <name>DesiredVolume</name>\n <direction>in</direction>\n <relatedStateVariable>Volume</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n </actionList>\n <serviceStateTable>\n <stateVariable sendEvents="yes">\n <name>LastChange</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_Channel</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>Master</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_InstanceID</name>\n <dataType>ui4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>Volume</name>\n <dataType>ui2</dataType>\n <allowedValueRange>\n <minimum>0</minimum>\n <maximum>100</maximum>\n <step>1</step>\n </allowedValueRange>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>Mute</name>\n <dataType>boolean</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PresetNameList</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>FactoryDefaults</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_PresetName</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>FactoryDefaults</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>VolumeDB</name>\n <dataType>i2</dataType>\n <allowedValueRange>\n <minimum>-32767</minimum>\n <maximum>32767</maximum>\n </allowedValueRange>\n </stateVariable>\n </serviceStateTable>\n</scpd>\x00'
2023-06-23 15:45:06.161 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Getting event handler for EventListenAddr(host='192.168.178.58', port=0, callback_url=None)
2023-06-23 15:45:06.162 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Started event handler at http://192.168.178.58:46231/notify
2023-06-23 15:45:06.163 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
SUBSCRIBE http://192.168.178.138/ConnectionManager/Event
NT: upnp:event
TIMEOUT: Second-540
HOST: 192.168.178.138
CALLBACK: <http://192.168.178.58:46231/notify>
2023-06-23 15:45:06.224 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from SUBSCRIBE http://192.168.178.138/ConnectionManager/Event:
200
Content-Type: text/xml
Content-Length: 0
SID: uuid:76035e09-702c-2ca5-4157-58a0df740364
TIMEOUT: Second-540
b''
2023-06-23 15:45:06.224 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
SUBSCRIBE http://192.168.178.138/AVTransport/Event
NT: upnp:event
TIMEOUT: Second-540
HOST: 192.168.178.138
CALLBACK: <http://192.168.178.58:46231/notify>
2023-06-23 15:45:06.282 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from SUBSCRIBE http://192.168.178.138/AVTransport/Event:
200
Content-Type: text/xml
Content-Length: 0
SID: uuid:2e533cc4-5faf-b115-8628-7043bfa450e9
TIMEOUT: Second-540
b''
2023-06-23 15:45:06.284 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
SUBSCRIBE http://192.168.178.138/RenderingControl/Event
NT: upnp:event
TIMEOUT: Second-540
HOST: 192.168.178.138
CALLBACK: <http://192.168.178.58:46231/notify>
2023-06-23 15:45:06.342 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from SUBSCRIBE http://192.168.178.138/RenderingControl/Event:
200
Content-Type: text/xml
Content-Length: 0
SID: uuid:37521657-2fdb-625e-5020-329b54fbc038
TIMEOUT: Second-540
b''
2023-06-23 15:45:10.413 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
POST http://192.168.178.138/ConnectionManager/Control
SOAPAction: "urn:schemas-upnp-org:service:ConnectionManager:1#GetProtocolInfo"
Host: 192.168.178.138
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:GetProtocolInfo xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1"></u:GetProtocolInfo></s:Body></s:Envelope>
2023-06-23 15:45:10.560 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from POST http://192.168.178.138/ConnectionManager/Control:
200
Content-Type: text/xml
Content-Length: 711
b'<?xml version="1.0" encoding="UTF-8"?>\n<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">\n <s:Body><u:GetProtocolInfoResponse xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1"><Source></Source><Sink>http-get:*:*:*,http-get:*:audio/mpegurl:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/basic:*,http-get:*:audio/ac3:*,http-get:*:audio/vorbis:*,http-get:*:audio/speex:*,http-get:*:audio/flac:*,http-get:*:audio/x-flac:*,http-get:*:audio/x-wav:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/x-mpegurl:*</Sink></u:GetProtocolInfoResponse></s:Body>\n</s:Envelope>\n'
2023-06-23 15:45:10.562 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
POST http://192.168.178.138/AVTransport/Control
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetMediaInfo"
Host: 192.168.178.138
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:GetMediaInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:GetMediaInfo></s:Body></s:Envelope>
2023-06-23 15:45:10.960 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from POST http://192.168.178.138/AVTransport/Control:
200
Content-Type: text/xml
Content-Length: 598
b'<?xml version="1.0" encoding="UTF-8"?>\n<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">\n <s:Body><u:GetMediaInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><NrTracks>1</NrTracks><CurrentURI></CurrentURI><MediaDuration>00:00:00</MediaDuration><CurrentURIMetaData></CurrentURIMetaData><NextURI></NextURI><NextURIMetaData></NextURIMetaData><PlayMedium>NONE</PlayMedium><WriteStatus>NOT_IMPLEMENTED</WriteStatus><RecordMedium>NOT_IMPLEMENTED</RecordMedium></u:GetMediaInfoResponse></s:Body>\n</s:Envelope>\n'
2023-06-23 15:45:10.961 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
POST http://192.168.178.138/AVTransport/Control
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetDeviceCapabilities"
Host: 192.168.178.138
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:GetDeviceCapabilities xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:GetDeviceCapabilities></s:Body></s:Envelope>
2023-06-23 15:45:11.168 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from POST http://192.168.178.138/AVTransport/Control:
200
Content-Type: text/xml
Content-Length: 332
b'<?xml version="1.0" encoding="UTF-8"?>\n<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">\n <s:Body><u:GetDeviceCapabilitiesResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"> \xf8\x13\x80p\xab\xfd?\x10\x89\xfd?</u:GetDeviceCapabilitiesResponse></s:Body>\n</s:Envelope>\n'
2023-06-23 15:45:11.168 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Device unavailable: UpnpXmlParseError('not well-formed (invalid token): line 3, column 100')
2023-06-23 15:45:11.168 DEBUG (MainThread) [homeassistant.components.dlna_dmr] Disconnecting from ESP32 MD2 (ESP32 Renderer2)
2023-06-23 15:45:11.169 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
UNSUBSCRIBE http://192.168.178.138/ConnectionManager/Event
HOST: 192.168.178.138
SID: uuid:76035e09-702c-2ca5-4157-58a0df740364
2023-06-23 15:45:11.169 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
UNSUBSCRIBE http://192.168.178.138/AVTransport/Event
HOST: 192.168.178.138
SID: uuid:2e533cc4-5faf-b115-8628-7043bfa450e9
2023-06-23 15:45:11.169 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Sending request:
UNSUBSCRIBE http://192.168.178.138/RenderingControl/Event
HOST: 192.168.178.138
SID: uuid:37521657-2fdb-625e-5020-329b54fbc038
2023-06-23 15:45:11.192 DEBUG (MainThread) [custom_components.goodwe.coordinator] Finished fetching GoodWe data in 0.745 seconds (success: True)
2023-06-23 15:45:11.215 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from UNSUBSCRIBE http://192.168.178.138/AVTransport/Event:
200
Content-Type: text/xml
Content-Length: 0
b''
2023-06-23 15:45:11.257 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from UNSUBSCRIBE http://192.168.178.138/RenderingControl/Event:
200
Content-Type: text/xml
Content-Length: 0
b''
2023-06-23 15:45:11.285 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from UNSUBSCRIBE http://192.168.178.138/ConnectionManager/Event:
200
Content-Type: text/xml
Content-Length: 0
b''
The log entry at 2023-06-23 15:45:06.070 does appear malformed.
2023-06-23 15:45:06.070 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from GET http://192.168.178.138/AVTransport.xml:
200
Content-Type: text/xml
Content-Length: 20843
Cache-Control: max-age=3600, must-revalidate
b'<?xml version="1.0" encoding="utf-8"?>\n<scpd xmlns="urn:schemas-upnp-org:service-1-0">\n <specVersion>\n <major>1</major>\n <minor>0</minor>\n </specVersion>\n <actionList>\n <action>\n <name>GetCurrentTransportActions</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Actions</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTransportActions</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetDeviceCapabilities</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMedia</name>\n <direction>out</direction>\n <relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>\n </argument>\n <argument>\n <name>RecMedia</name>\n <direction>out</direction>\n <relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>\n </argument>\n <argument>\n <name>RecQualityModes</name>\n <direction>out</direction>\n <relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetMediaInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NrTracks</name>\n <direction>out</direction>\n <relatedStateVariable>NumberOfTracks</relatedStateVariable>\n </argument>\n <argument>\n <name>MediaDuration</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentMediaDuration</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURI</name>\n <direction>out</direction>\n <relatedStateVariable>AVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURIMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURI</name>\n <direction>out</direction>\n <relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURIMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMedium</name>\n <direction>out</direction>\n <relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>\n </argument>\n <argument>\n <name>RecordMedium</name>\n <direction>out</direction>\n <relatedStateVariable>RecordStorageMedium</relatedStateVariable>\n </argument>\n <argument>\n <name>WriteStatus</name>\n <direction>out</direction>\n <relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetPositionInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Track</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrack</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackDuration</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackDuration</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackMetaData</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>\n </argument>\n <argument>\n <name>TrackURI</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentTrackURI</relatedStateVariable>\n </argument>\n <argument>\n <name>RelTime</name>\n <direction>out</direction>\n <relatedStateVariable>RelativeTimePosition</relatedStateVariable>\n </argument>\n <argument>\n <name>AbsTime</name>\n <direction>out</direction>\n <relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>\n </argument>\n <argument>\n <name>RelCount</name>\n <direction>out</direction>\n <relatedStateVariable>RelativeCounterPosition</relatedStateVariable>\n </argument>\n <argument>\n <name>AbsCount</name>\n <direction>out</direction>\n <relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetTransportInfo</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentTransportState</name>\n <direction>out</direction>\n <relatedStateVariable>TransportState</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentTransportStatus</name>\n <direction>out</direction>\n <relatedStateVariable>TransportStatus</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentSpeed</name>\n <direction>out</direction>\n <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>GetTransportSettings</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>PlayMode</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentPlayMode</relatedStateVariable>\n </argument>\n <argument>\n <name>RecQualityMode</name>\n <direction>out</direction>\n <relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Next</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Pause</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Play</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Speed</name>\n <direction>in</direction>\n <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Previous</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Seek</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>Unit</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>\n </argument>\n <argument>\n <name>Target</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetAVTransportURI</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURI</name>\n <direction>in</direction>\n <relatedStateVariable>AVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>CurrentURIMetaData</name>\n <direction>in</direction>\n <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetNextAVTransportURI</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURI</name>\n <direction>in</direction>\n <relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n </argument>\n <argument>\n <name>NextURIMetaData</name>\n <direction>in</direction>\n <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>SetPlayMode</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n <argument>\n <name>NewPlayMode</name>\n <direction>in</direction>\n <relatedStateVariable>CurrentPlayMode</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n <action>\n <name>Stop</name>\n <argumentList>\n <argument>\n <name>InstanceID</name>\n <direction>in</direction>\n <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n </argument>\n </argumentList>\n </action>\n </actionList>\n <serviceStateTable>\n <stateVariable sendEvents="no">\n <name>CurrentPlayMode</name>\n <dataType>string</dataType>\n <defaultValue>NORMAL</defaultValue>\n <allowedValueList>\n <allowedValue>NORMAL</allowedValue>\n <allowedValue>REPEAT_ONE</allowedValue>\n <allowedValue>REPEAT_ALL</allowedValue>\n <allowedValue>SHUFFLE</allowedValue>\n <allowedValue>SHUFFLE_NOREPEAT</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RecordStorageMedium</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="yes">\n <name>LastChange</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RelativeTimePosition</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackDuration</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentRecordQualityMode</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentMediaDuration</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AbsoluteCounterPosition</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RelativeCounterPosition</name>\n <dataType>i4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_InstanceID</name>\n <dataType>ui4</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AVTransportURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportState</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>STOPPED</allowedValue>\n <allowedValue>PAUSED_PLAYBACK</allowedValue>\n <allowedValue>PLAYING</allowedValue>\n <allowedValue>TRANSITIONING</allowedValue>\n <allowedValue>NO_MEDIA_PRESENT</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrackMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NextAVTransportURI</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossibleRecordQualityModes</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTrack</name>\n <dataType>ui4</dataType>\n <allowedValueRange>\n <minimum>0</minimum>\n <maximum>65535</maximum>\n <step>1</step>\n </allowedValueRange>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AbsoluteTimePosition</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NextAVTransportURIMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PlaybackStorageMedium</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NONE</allowedValue>\n <allowedValue>UNKNOWN</allowedValue>\n <allowedValue>CD-DA</allowedValue>\n <allowedValue>HDD</allowedValue>\n <allowedValue>NETWORK</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>CurrentTransportActions</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>RecordMediumWriteStatus</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossiblePlaybackStorageMedia</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NONE</allowedValue>\n <allowedValue>UNKNOWN</allowedValue>\n <allowedValue>CD-DA</allowedValue>\n <allowedValue>HDD</allowedValue>\n <allowedValue>NETWORK</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>AVTransportURIMetaData</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>NumberOfTracks</name>\n <dataType>ui4</dataType>\n <allowedValueRange>\n <minimum>0</minimum>\n <maximum>65535</maximum>\n </allowedValueRange>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_SeekMode</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>REL_TIME</allowedValue>\n <allowedValue>TRACK_NR</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>A_ARG_TYPE_SeekTarget</name>\n <dataType>string</dataType>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>PossibleRecordStorageMedia</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>NOT_IMPLEMENTED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportStatus</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>OK</allowedValue>\n <allowedValue>ERROR_OCCURRED</allowedValue>\n </allowedValueList>\n </stateVariable>\n <stateVariable sendEvents="no">\n <name>TransportPlaySpeed</name>\n <dataType>string</dataType>\n <allowedValueList>\n <allowedValue>1</allowedValue>\n </allowedValueList>\n </stateVariable>\n </serviceStateTable>\n</scpd>\x00'
Could that final \x00
be throwing it?
Does the output at http://192.168.178.138/AVTransport.xml
include this?
@dunxd below the screen of the output of http://192.168.178.138/AVTransport.xml
the \x00
is not present at the end of the file
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetCurrentTransportActions</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Actions</name>
<direction>out</direction>
<relatedStateVariable>CurrentTransportActions</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetDeviceCapabilities</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>PlayMedia</name>
<direction>out</direction>
<relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>
</argument>
<argument>
<name>RecMedia</name>
<direction>out</direction>
<relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>
</argument>
<argument>
<name>RecQualityModes</name>
<direction>out</direction>
<relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetMediaInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>NrTracks</name>
<direction>out</direction>
<relatedStateVariable>NumberOfTracks</relatedStateVariable>
</argument>
<argument>
<name>MediaDuration</name>
<direction>out</direction>
<relatedStateVariable>CurrentMediaDuration</relatedStateVariable>
</argument>
<argument>
<name>CurrentURI</name>
<direction>out</direction>
<relatedStateVariable>AVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>CurrentURIMetaData</name>
<direction>out</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
</argument>
<argument>
<name>NextURI</name>
<direction>out</direction>
<relatedStateVariable>NextAVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>NextURIMetaData</name>
<direction>out</direction>
<relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
</argument>
<argument>
<name>PlayMedium</name>
<direction>out</direction>
<relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>
</argument>
<argument>
<name>RecordMedium</name>
<direction>out</direction>
<relatedStateVariable>RecordStorageMedium</relatedStateVariable>
</argument>
<argument>
<name>WriteStatus</name>
<direction>out</direction>
<relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetPositionInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Track</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrack</relatedStateVariable>
</argument>
<argument>
<name>TrackDuration</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackDuration</relatedStateVariable>
</argument>
<argument>
<name>TrackMetaData</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>
</argument>
<argument>
<name>TrackURI</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackURI</relatedStateVariable>
</argument>
<argument>
<name>RelTime</name>
<direction>out</direction>
<relatedStateVariable>RelativeTimePosition</relatedStateVariable>
</argument>
<argument>
<name>AbsTime</name>
<direction>out</direction>
<relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>
</argument>
<argument>
<name>RelCount</name>
<direction>out</direction>
<relatedStateVariable>RelativeCounterPosition</relatedStateVariable>
</argument>
<argument>
<name>AbsCount</name>
<direction>out</direction>
<relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetTransportInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>CurrentTransportState</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
<argument>
<name>CurrentTransportStatus</name>
<direction>out</direction>
<relatedStateVariable>TransportStatus</relatedStateVariable>
</argument>
<argument>
<name>CurrentSpeed</name>
<direction>out</direction>
<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetTransportSettings</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>PlayMode</name>
<direction>out</direction>
<relatedStateVariable>CurrentPlayMode</relatedStateVariable>
</argument>
<argument>
<name>RecQualityMode</name>
<direction>out</direction>
<relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Next</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Pause</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Play</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Speed</name>
<direction>in</direction>
<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Previous</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Seek</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Unit</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>
</argument>
<argument>
<name>Target</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetAVTransportURI</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>CurrentURI</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>CurrentURIMetaData</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetNextAVTransportURI</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>NextURI</name>
<direction>in</direction>
<relatedStateVariable>NextAVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>NextURIMetaData</name>
<direction>in</direction>
<relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetPlayMode</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>NewPlayMode</name>
<direction>in</direction>
<relatedStateVariable>CurrentPlayMode</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Stop</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>CurrentPlayMode</name>
<dataType>string</dataType>
<defaultValue>NORMAL</defaultValue>
<allowedValueList>
<allowedValue>NORMAL</allowedValue>
<allowedValue>REPEAT_ONE</allowedValue>
<allowedValue>REPEAT_ALL</allowedValue>
<allowedValue>SHUFFLE</allowedValue>
<allowedValue>SHUFFLE_NOREPEAT</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>RecordStorageMedium</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>LastChange</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>RelativeTimePosition</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackDuration</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentRecordQualityMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentMediaDuration</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AbsoluteCounterPosition</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>RelativeCounterPosition</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_InstanceID</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AVTransportURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>STOPPED</allowedValue>
<allowedValue>PAUSED_PLAYBACK</allowedValue>
<allowedValue>PLAYING</allowedValue>
<allowedValue>TRANSITIONING</allowedValue>
<allowedValue>NO_MEDIA_PRESENT</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NextAVTransportURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossibleRecordQualityModes</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrack</name>
<dataType>ui4</dataType>
<allowedValueRange>
<minimum>0</minimum>
<maximum>65535</maximum>
<step>1</step>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>AbsoluteTimePosition</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NextAVTransportURIMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>PlaybackStorageMedium</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NONE</allowedValue>
<allowedValue>UNKNOWN</allowedValue>
<allowedValue>CD-DA</allowedValue>
<allowedValue>HDD</allowedValue>
<allowedValue>NETWORK</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTransportActions</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>RecordMediumWriteStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossiblePlaybackStorageMedia</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NONE</allowedValue>
<allowedValue>UNKNOWN</allowedValue>
<allowedValue>CD-DA</allowedValue>
<allowedValue>HDD</allowedValue>
<allowedValue>NETWORK</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>AVTransportURIMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NumberOfTracks</name>
<dataType>ui4</dataType>
<allowedValueRange>
<minimum>0</minimum>
<maximum>65535</maximum>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_SeekMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>REL_TIME</allowedValue>
<allowedValue>TRACK_NR</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_SeekTarget</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossibleRecordStorageMedia</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>TransportStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>OK</allowedValue>
<allowedValue>ERROR_OCCURRED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>TransportPlaySpeed</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>1</allowedValue>
</allowedValueList>
</stateVariable>
</serviceStateTable>
</scpd>
Your browser is also reporting an error with that XML. I think the \x00 is a null character being represented in the error message, but not rendered but your browser.
Anyway, I don't know how to resolve this.
Similar problem with my Denon device. It gets discovered and works - except for when you switch it to Internet Radio mode. Maybe adding an option like "Try to ignore XML errors for devices that will never get fixed by their manufacturers because they give a shit about their customers" would improve Home assistant.
I modified the monkey patch example by @StevenLooman to do exactly that. Maybe it helps you, too.
That sounds like what I need. Unfortunately I don't understand how I add this to my home assistant. Should I copy the files to my config/custom_components folder?
Copy not only the files, but the complete directory into your config/custom_components folder. Enable with the single line monkey_patches: in configuration.yaml Hope it does not crash anything using the DlnaDmrEntity.async_update method. Keep in mind that you acivated it if it ever does.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
The problem
I am trying to get my Pioneer XW-SMA4 speaker working as a DLNA Renderer with Home Assistant. When I add the Integration, the speaker is discovered successfully. However, when I open the entity associated with the speaker, it briefly shows the volume etc. controls then switches to unavailable. I was able to have it working long enough to send it a stream from Radio Browser, but since then nothing.
This may be a quirk with this speaker, but would love some advice troubleshooting.
What version of Home Assistant Core has the issue?
core-2023.5.3
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
DLNA Digital Media Renderer
Link to integration documentation on our website
https://www.home-assistant.io/integrations/dlna_dmr
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
Additional information
I have turned on debug logging in configuration.yaml as follows:
I posted what appears to relate to the device in question - the line about the invalid token occurs before the first disconnect.