Asyncio Python library for connecting to and controlling the Logitech Harmony
Project description
pyharmony
=======
Python library for programmatically using a Logitech Harmony Link or Ultimate Hub.
A fork of [bkanuka/pyharmony](https://github.com/bkanuka/pyharmony) with the intent to:
- Make pip/setup.py installable.
- Unify improvments made in other forks.
- Configurable for Harmony Link/Hub differences.
- Better practices for project layout.
- Better error handling!
- Inclusion into Home Assistant (https://home-assistant.io)
Protocol
--------
As the harmony protocol is being worked out, notes are in PROTOCOL.md.
Status
------
* Authentication to Logitech's web service working.
* Authentication to harmony device working.
* Querying for entire device information
* Querying for activity information only
* Querying for current activity
* Starting Activity
* Sending Command
Usage
-----
Pyharmony - Harmony device control
```
usage: harmony [-h] (--harmony_ip HARMONY_IP | --discover)
[--harmony_port HARMONY_PORT]
[--loglevel {CRITICAL,ERROR,DEBUG,WARNING,INFO}]
{show_config,show_current_activity,start_activity,power_off,sync,send_command}
...
Pyharmony - Harmony device control
positional arguments:
{show_config,show_current_activity,start_activity,power_off,sync,send_command}
show_config Print the Harmony device configuration.
show_current_activity
Print the current activity config.
start_activity Switch to a different activity.
power_off Stop the activity.
sync Sync the harmony.
send_command Send a simple command.
optional arguments:
-h, --help show this help message and exit
--harmony_port HARMONY_PORT
Network port that the Harmony is listening on.
(default: 5222)
--loglevel {CRITICAL,ERROR,DEBUG,WARNING,INFO}
Logging level to print to the console. (default: INFO)
required arguments:
--harmony_ip HARMONY_IP
IP Address of the Harmony device. (default: None)
OR
--discover
Run a network scan to discover hubs
```
TODO
----
* Figure out how to detect when the session token expires so we can get a new
one.
* Figure out a good way of sending commands based on sync state.
* Is it possible to update device configuration?
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
aioharmony-0.1.0.tar.gz
(22.9 kB
view hashes)
Built Distribution
Close
Hashes for aioharmony-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6c898ded442cae411893271e47b0356bd063a25c2145797feb7a982175f8e7e |
|
MD5 | d0d362a167215c0d2672fe90cc9a7901 |
|
BLAKE2b-256 | dc1ee3312aa216435159e0af35581fc4b0deb7043ac677287e248dc713908ed1 |