Description
Designed originally for integration with Home Assistant to control DLNA DMR devices, this library offers a comprehensive toolkit for asynchronous interaction with UPnP-enabled devices using Python's asyncio. It provides robust modules for discovering, controlling, and event handling of UPnP devices as detailed in the UPnP Device Architecture, such as:
- SSDP discovery and advertisement handling through custom listeners that maintain state and callback upon device changes. - Detailed device and service interaction via client factories and server setups. - Event subscription and management, enabling responsive applications that can react to changes in device state.
With additional support for specific device profiles like Internet Gateway Devices (IGD), DLNA, and printers, this library is versatile enough for a variety of UPnP-related projects. Note that full UPnP spec compliance is not claimed, and the library may have occasional bugs or incomplete features.