|
|
- Metadata-Version: 2.1
- Name: async-upnp-client
- Version: 0.13.4
- Summary: Async UPnP Client
- Home-page: https://github.com/StevenLooman/async_upnp_client
- Author: Steven Looman
- Author-email: steven.looman@gmail.com
- License: http://www.apache.org/licenses/LICENSE-2.0
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: Apache Software License
- Classifier: Programming Language :: Python :: 3.5
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Requires-Dist: voluptuous (>=0.11.1)
- Requires-Dist: aiohttp (>=3.3.2)
- Requires-Dist: async-timeout (>=3.0.0)
- Requires-Dist: python-didl-lite (==1.2.0)
-
- Async UPnP Client
- =================
-
- Asyncio UPnP Client library for Python/asyncio.
-
- Written initially for use in `Home Assistant <https://github.com/home-assistant/home-assistant>`_ to drive `DLNA DMR`-capable devices, but useful for other projects as well.
-
- Status
- ------
-
- .. image:: https://img.shields.io/travis/StevenLooman/async_upnp_client.svg
- :target: https://travis-ci.org/StevenLooman/async_upnp_client/branches
-
- .. image:: https://img.shields.io/pypi/v/async_upnp_client.svg
- :target: https://pypi.python.org/pypi/async_upnp_client
-
- .. image:: https://img.shields.io/pypi/format/async_upnp_client.svg
- :target: https://pypi.python.org/pypi/async_upnp_client
-
- .. image:: https://img.shields.io/pypi/pyversions/async_upnp_client.svg
- :target: https://pypi.python.org/pypi/async_upnp_client
-
- .. image:: https://img.shields.io/pypi/l/async_upnp_client.svg
- :target: https://pypi.python.org/pypi/async_upnp_client
-
-
- Contributing
- ------------
-
- See `CONTRIBUTING.rst`.
-
-
- 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
- - discover devices
-
- 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 --pprint call-action http://192.168.178.10:49152/description.xml 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 all services, note that the program stays running until you stop it (ctrl-c)::
-
- $ upnp-client --pprint subscribe http://192.168.178.10:49152/description.xml \*
- {
- "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
- }
- }
- ...
-
- You can subscribe to list of services by providing these names or abbreviated names, such as::
-
- $ upnp-client --pprint subscribe http://192.168.178.10:49152/description.xml RC AVTransport
-
-
- An example of discovering devices::
-
- $ upnp-client --pprint discover
- {
- "cache-control": "max-age=3600",
- "date": "Sat, 27 Oct 2018 10:43:42 GMT",
- "ext": "",
- "location": "http://192.168.178.1:49152/description.xml",
- "opt": "\"http://schemas.upnp.org/upnp/1/0/\"; ns=01",
- "01-nls": "906ad736-cfc4-11e8-9c22-8bb67c653324",
- "server": "Linux/4.14.26+, UPnP/1.0, Portable SDK for UPnP devices/1.6.20.jfd5",
- "x-user-agent": "redsonic",
- "st": "upnp:rootdevice",
- "usn": "uuid:e3a17dd5-9d85-3131-3c34-b827eb498d72::upnp:rootdevice",
- "_timestamp": "2018-10-27 12:43:09.125408"
- }
-
-
-
- Abstractions
- ------------
-
- - `DLNA Digital Media Renderer` (DLNA DMR) devices
- - Primarily built for use with `Home Assistant <https://github.com/home-assistant/home-assistant>`_, but might be useful in other projects too.
- - `Internet Gateway Devices` (IGD)
- - Printers
-
-
|