Package: domipy
python-domintell: A python library to control the Domintell home automation systemThis library was created to support Domintell protocol inhome assisstant. It is based onpython-velbuslibrary byThomas Delaet.It is currently being used by the Domintell component inhome assisstantbut can also be used indepenently.The latest version of the library is0.0.16and it is published as a python package onpypiAPI documentation is not yet available.Example usageThe library currently only supports a UDP communicatin via DETH02 Domintell module, it can be easily modified to support RS-232 intiarface (domintell light protocol). In order to use the library, you need to first initialize the controller and can then send and receive messages on the Domintell.importtimeimportloggingimportsysimportdomintellimportcredentialsimportos,sysdef_on_message(message):print('received message')print(message)logging.basicConfig(stream=sys.stdout,level=logging.INFO)# UDP, Serial (or USB over serial) connection to Domintell controllerhost='192.168.0.1:17481'controller=domintell.Controller(host)controller.subscribe(_on_message)logging.info('LOGIN')controller.login(credentials.host['SECRET'])time.sleep(10)logging.info('Starting scan')controller.scan(None)logging.info('Going to sleep')time.sleep(100)logging.info('Exiting ...')controller.stop()InstallationYou can install the library with pip (pip install python-domintell) or by checking out thegithubrepository and runningpython setup.py installat the root of the repository.Supported modulesThe following Domitell modules are currently supported by this library:Module nameDescriptionStatusCommentsUsing everyday?DISM4Control of 4 inputs (buttons)SUPPORTEDAll messages are supportedYesDISM8Control of 8 inputs (buttons)SUPPORTEDAll messages are supportedYesDPBU011 button moduleSUPPORTEDAll messages are supportedNoDPBU022 button moduleSUPPORTEDAll messages are supportedNoDPBU044 button moduleSUPPORTEDAll messages are supportedRarelyDPBU066 button moduleSUPPORTEDAll messages are supportedNoDBIR018 relay output moduleSUPPORTEDAll messages are supportedYesDTRP01Output card for the control of up to 4 trip switchesSUPPORTEDAll messages are supportedYesDTRP02Output card for the control of 2 x 2 inverted trip switchesSUPPORTEDAll messages are supportedNoDDIM01Control module for up to 8 dimmersSUPPORTEDAll messages are supportedYesDTEM01Temperature sensor module. Allows the connection of the temperature sensorSUPPORTEDOnly basic messagesYesDTEM02Temperature sensor module. Allows the connection of the temperature sensorSUPPORTEDOnly basic messagesYesDDIR01Infrared SensorNOT SUPPORTEDNo plans to supportNoDTSC0xTFT back-lit color touchscreenSUPPORTEDOnly temperature messages are supportedYesDMOV01Movement sensorSUPPORTEDAll messages are supportedYesDLCD01LCDNOT SUPPORTEDNoDTRV014 outputs control module. For the control of shutters, valves, motors, etcSUPPORTEDAll messages are supportedNoDLED014 outputs led control moduleSUPPORTEDAll messages are supportedYesDTRVBT01Single output card controlling motors, valves, shutters or Velux with low tension between 12 to 24VdcSUPPORTEDAll messages are supportedNoDAMPLI014 zones stereo audio amplifi erNOT SUPPORTEDNo plans to implementNoVARVariableSUPPORTEDAll messages are supportedNoSYSSystem variableSUPPORTEDAll messages are supportedNoDOUT10V010 - 10Vdc output moduleSUPPORTEDAll messages are supportedNoDLCD01LCD panelNOT SUPPORTEDNoDFAN01Fan coil controllerNOT SUPPORTEDNoDMR01Output card with 5 x 250 V/3 A monopolar relays.SUPPORTEDAll messages are supportedYesDIN10V010 - 10Vdc input moduleNOT SUPPORTEDNoAdding support for other modulesTheDomintell websitecontains an overview of the different available modules and their protocol documentation. In order to add support for an additional module, read through the protocol documemntation and add support for missing messages (many messages are shared between modules so make sure to check if a message already exists or not)Steps to add support for an additional module:Look up the protocol documentation of the module you want to include at theDomintell website.Go through the messages directory and look for messages in the protocol information sheet that are not yet supported. Create a new file in themessagesfolder for each unsupported message. Every new message should inherit from theMessageobject and reuse common functionality.Implement constructor method for each new messageImplement thepopulateanddata_to_binarymethods for each new messageAdd new messages to theinit.pyfile in themessagesfolderTest and iterateUpdate the Supported modules section of theREADME.mdfileSubmit a pull request on GithubFurther developmentThe library currently offers only the lowest level of functionality: sending and receiving messages to modules:Modeling modules and their supported functions as entitiesOnly allowing to send supported messages to modules[*] Auto-discovery of modulesExposing the velbus controller as an external API so it can be shared between different consumers