Skip to main content

Python library for programmatically using a Logitech Harmony Link or Ultimate Hub.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyharmony-1.0.21.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file pyharmony-1.0.21.tar.gz.

File metadata

  • Download URL: pyharmony-1.0.21.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for pyharmony-1.0.21.tar.gz
Algorithm Hash digest
SHA256 715fb9d379eb06324cf7614c7e7d873b27e9e5eef48bf340d8360fec5dfb26a3
MD5 a57d1c26f8d44545727a01ac3e8565af
BLAKE2b-256 16b5f9e7f581095b5afaec9e24db5f6b704806c772e028e6ac172797a8c2f14e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page