Skip to main content

Lutron Integration Protocol client, focused on QS Standalone

Project description

What is this?

lutron_integration is a a client library for the Lutron Integration Protocol. This is a protocol used by a number of different Lutron products, documented here:

https://assets.lutron.com/a/documents/040249.pdf

lutron_integration is intended to be able to support all dialects of the protocol, but it is currently primarily targetted at the "QS Standalone" dialect. Other dialects are barely, if at all, implemented.

If you want to set up a QS Standalone system, you need a Lutron QSE-CI-NWK-E, at least one other Lutron device (both to make it useful and to provide power), and some appropriate wire. Lutron's devices are generally intended for professional installation, and they provide extensive documentation on their website.

Programming your QSE-CI-NWK-E is outside the scope of this library, but it's fairly easy to do over Telnet. (In general, a skilled Lutron installer will install a QS system and will install the QSE-CI-NWK-E as well if requested to do so. They will program the rest of the system (which requires no proprietary software for a standalone system and can be done by following instructions in the manual), and they may or may not program the QSE-CI-NWK-E.) Integrating some other system, e,g, whatever system uses this library, is the job of whoever sets up that system, i.e. you!

To set it up, you will need a computer that allows you to control its IP and subnet settings and to set up an IP on the subnet 192.168.250.0/24, and you'll need to connect to 192.168.250.1/24. You can often fudge this by connecting to the same L2 network that the QSE-CI-NWK-E is on, even via wifi, and adding a secondary address.

  • On a Mac, the command resembles sudo ifconfig en0 alias 192.168.250.2 255.255.255.0
  • On Linux, the command resembles sudo ip addr add 192.168.250.2/24 dev eth0
  • On Windows, you can use the GUI, painfully. I'm sure there is some way to do it via Powershell or ipconfig

Then you can telnet to 192.168.250.1 and configure a real IP address with commands like #ETHERNET,0,[IP address] and #ETHERNET,1,[subnet mask] -- see page 19. The QSE-CI-NWK-E does not appear to support DHCP at all, and Lutron recommends using static addresses even for other dialects. Or you can use RS232.

lutron_integration presently has no dependencies at all outside the standard library, and I would like to keep it that way unless there is a fairly compelling reason to add a dependency.

Usage

Users of this library are responsible for connecting to the integration access point on their own, which generally involves figuring out what IP address and TCP port (hint: 23) to connect to and using await asyncio.open_connection(address, port) or doing whatever incantation is appropriate on your platform to connect to a serial port.

(Lots more to write here)

lutron_integration is fully async and very strongly respects the idea of structured concurrency: it does not create tasks at all. If you want the library do so something, you call it. If you are not actively calling it, it does nothing!

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

lutron_integration-0.0.0a1.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lutron_integration-0.0.0a1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file lutron_integration-0.0.0a1.tar.gz.

File metadata

  • Download URL: lutron_integration-0.0.0a1.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lutron_integration-0.0.0a1.tar.gz
Algorithm Hash digest
SHA256 5f17e048a21b6a9568328f43229ce05bb7af2f337834a22584539869bb1f891c
MD5 1d485ddd05206cf05c283760b704d21b
BLAKE2b-256 46faeb7cbd755edd0bc104e1a75cc3f36d6927274eaaf031fe603f055d405bb5

See more details on using hashes here.

File details

Details for the file lutron_integration-0.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: lutron_integration-0.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lutron_integration-0.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a9a07773ffbbd7f1f0cbeaf29ed45b10c741b657a187d6e04dce54c0b40f878
MD5 03adfe8424bb477c8160d45216e023d9
BLAKE2b-256 0261a4978c10ca32c4212100a2810c57dece084256e8d7e739234bb5860a880e

See more details on using hashes here.

Supported by

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