Skip to main content

Interface to DALI lighting systems

Project description

DALI (“Digital Addressable Lighting Interface”) defines how lighting control gear (eg. fluorescent ballasts, LED dimmers) and input devices (push buttons, motion detectors, etc.) should interoperate. It is standardised in IEC 62386.

IEC 62386 contains several parts. Part 101 contains general requirements for all system components, part 102 covers general requirements for control gear, and part 103 describes general requirements for control devices. Parts 2xx extend part 102 with lamp-specific extensions and parts 3xx extend part 103 with input device specific extensions.

This library has been written with reference to the following documents:

  • IEC 62386-101:2014 (general requirements for system components)

  • IEC 62386-102:2014 (general requirements for control gear)

  • IEC 62386-103:2014 (general requirements for control devices)

  • IEC 62386-201:2009 (fluorescent lamps)

  • IEC 62386-202:2009 (self-contained emergency lighting)

  • IEC 62386-205:2009 (supply voltage controller for incandescent lamps)

  • IEC 62386-207:2009 (LED modules)

  • IEC 62386-301:2017 (particular requirements for push button input devices)

  • IEC 62386-303:2017 (particular requirements for occupancy sensor input devices)

I do not have copies of the other parts of the standard; they are fairly expensive to obtain. The library is designed to be extensible; adding support for the other parts ought to be easy and self-contained.

The dali.memory module supports the extended memory bank specifications created and maintained by the Digital Illumination Interface Alliance:

  • DiiA DALI Part 251 — Memory Bank 1 Extension

  • DiiA DALI Part 252 — Energy Reporting

  • DiiA DALI Part 253 — Diagnostics & Maintenance

Python versions supported

This library currently requires Python version 3.7 or later.

Stability

Some of the code in this project is experimental and its API is subject to change. Modules with stable APIs are noted below.

Library structure

  • dali

    • address - Device addressing; stable for gear, not stable for devices

    • command - Command registry, interface to command decoding; stable

    • device - DALI control devices as defined in IEC 62386; not stable

      • general - Commands and events from part 103

      • helpers - Useful functions and classes for working with DALI control devices

      • occupancy - Commands from part 303

      • pushbutton - Commands from part 301

      • sequences - Packaged sequences for working with DALI control devices

    • driver - Objects to communicate with physical DALI gateways or services; not stable

      • base - General driver contracts

      • hasseb - Driver for Hasseb DALI Master

      • tridonic - Driver for Tridonic DALI USB

      • daliserver - Driver for https://github.com/onitake/daliserver (needs to be adopted to dali.driver.base API)

      • hid - asyncio-based drivers for Tridonic DALI USB and hasseb DALI Master

      • serial - asyncio-based driver for Lunatone LUBA RS232 interfaces

      • atxled - Driver for ATX LED SERIAL DALI HAT

    • exceptions - DALI related exceptions

    • frame - Forward and backward frames; stable

    • gear - DALI control gear as defined in IEC 62386; stable

      • colour - Commands from part 209 (Device Type 8)

      • emergency - Commands from part 202

      • general - Commands from part 102

      • incandescent - Commands from part 205

      • led - Commands from part 207

    • memory - access to memory banks; not stable

    • sequences - packaged sequences of commands; stable

Contributors

  • Stephen Early (Author)

  • Robert Niederreiter

  • Diogo Gomes

  • Caiwan

  • Boldie

  • Martijn Hemeryck

  • Hans Baumgartner

  • Ferdinand Keil

  • Sean Lanigan, Wallace Building Systems Pty Ltd

  • Markus Becker

  • Jan Kundrát

  • Olivier Pieters

  • David Russell

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

python-dali-0.11.tar.gz (130.8 kB view details)

Uploaded Source

Built Distribution

python_dali-0.11-py3-none-any.whl (150.7 kB view details)

Uploaded Python 3

File details

Details for the file python-dali-0.11.tar.gz.

File metadata

  • Download URL: python-dali-0.11.tar.gz
  • Upload date:
  • Size: 130.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.31.0 rfc3986/1.5.0 tqdm/4.65.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for python-dali-0.11.tar.gz
Algorithm Hash digest
SHA256 fd50c6f096e7070e4e3c0beb088f0c73ac4814d53d4fbcdb4d3c3f69aefdf2a3
MD5 20b437a591d6ca2cefefc8a9a8dde3e2
BLAKE2b-256 d18c1e5d331109c3fef8c511a07c9c2e01b6323be54f7c26351cc532006c5785

See more details on using hashes here.

File details

Details for the file python_dali-0.11-py3-none-any.whl.

File metadata

  • Download URL: python_dali-0.11-py3-none-any.whl
  • Upload date:
  • Size: 150.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.31.0 rfc3986/1.5.0 tqdm/4.65.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for python_dali-0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 430428312fb0a815d2517943f50cd3a110cc0945075a21ee5545497f6692eae3
MD5 69387e2bfbf489828dc4afc2a1b8d555
BLAKE2b-256 4872651e9f3e45e2096aac3f346fd81c52ff527d63a9dbe1ac02367d1b854302

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