Async UPnP Client
Project description
Asyncio UPnP Client library for Python/asyncio.
Written initially for use in Home Assistant to drive DLNA DMR-capable devices, but useful for other projects as well.
Status
Usage
See examples/ for examples on how to use async_upnp_client.
upnp-client
A command line interface is provided via the upnp-client script. This script can be used to:
call an action
subscribe to services and listen for events
show UPnP traffic (–debug-traffic) from and to the device
show pretty printed JSON (–pprint) for human readability
The output of the script is a single line of JSON for each action-call or subscription-event. See the programs help for more information.
An example of calling an action:
$ upnp-client --device http://192.168.178.10:49152/description.xml --pprint call-action RC/GetVolume InstanceID=0 Channel=Master { "timestamp": 1531482271.5603056, "service_id": "urn:upnp-org:serviceId:RenderingControl", "service_type": "urn:schemas-upnp-org:service:RenderingControl:1", "action": "GetVolume", "in_parameters": { "InstanceID": 0, "Channel": "Master" }, "out_parameters": { "CurrentVolume": 70 } }
An example of subscribing to a service, note that the program stays running until you stop it (ctrl-c):
$ upnp-client --device http://192.168.178.10:49152/description.xml --pprint subscribe --bind 192.168.178.72 RC { "timestamp": 1531482518.3663802, "service_id": "urn:upnp-org:serviceId:RenderingControl", "service_type": "urn:schemas-upnp-org:service:RenderingControl:1", "state_variables": { "LastChange": "<Event xmlns=\"urn:schemas-upnp-org:metadata-1-0/AVT_RCS\">\n<InstanceID val=\"0\">\n<Mute channel=\"Master\" val=\"0\"/>\n<Volume channel=\"Master\" val=\"70\"/>\n</InstanceID>\n</Event>\n" } } { "timestamp": 1531482518.366804, "service_id": "urn:upnp-org:serviceId:RenderingControl", "service_type": "urn:schemas-upnp-org:service:RenderingControl:1", "state_variables": { "Mute": false, "Volume": 70 } } ...
DLNA
An abstraction has been added for DLNA Digital Media Renderer devices. Primarily built for use with Home Assistant <https://github.com/home-assistant/home-assistant>, but might be useful in other projects too.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for async_upnp_client-0.12.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 948363d774511ba8fdc0159a5ba0a17f91648f4e76f9db7877298dae200160c3 |
|
MD5 | ec7b02e3741d9f104676ee571d02c932 |
|
BLAKE2b-256 | c10d5fdfc97d99265da3d82296de3522314f7083f1848727a6cbb53d3def3068 |