Giter Site home page Giter Site logo

python-dali's Introduction

python-dali — lighting control interface

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)

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.

Python versions supported

This library currently requires Python version 3.6 or later.

Library structure

  • dali
    • address - Device addressing
    • command - Command registry, interface to command decoding
    • device - DALI control devices as defined in IEC 62386
      • general - Commands and events from part 103
    • driver - Objects to communicate with physical DALI gateways or services
      • 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
    • exceptions - DALI related exceptions
    • frame - Forward and backward frames
    • gear - DALI control gear as defined in IEC 62386
      • emergency - Commands from part 202
      • general - Commands from part 102
      • incandescent - Commands from part 205
      • led - Commands from part 207
    • sequences - packaged sequences of commands

Contributors

  • Stephen Early (Author)
  • Robert Niederreiter
  • Diogo Gomes
  • Caiwan
  • Boldie
  • Martijn Hemeryck
  • Hans Baumgartner

Copyright

python-dali is Copyright (C) 2013–2020 Stephen Early <[email protected]>

It is distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License and GNU General Public License along with this program. If not, see this link.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.