Package: python-velbus
python-velbus: A python library to control the Velbus home automation system:warning: WARNINGThis Library was used as the backend for home-assistant, but it has been replaced with thevelbus-aiolibrary.This library was created to support the Velbus protocol in my home automation efforts.The latest version of the library is published as a python package onpypiI would like to extend this module to support all Velbus modules, so feel free to submit pull requests or log issues throughgithubfor functionality you like to have included.API documentation is availableherePort formatThere are 3 possible port formats:/dev/ttyACME0             = A direct connection to a serial device (for vmbusb for example)ip:port               = A connection to a TCP/IP porttls://signum ip:27015   = A connection to a signum ipInstallationYou can install the library with pip (pip install python-velbus) or by checking out thegithubrepository and runningpython setup.py installat the root of the repository.Supported modulesThe following Velbus modules are currently supported by this library:Module nameDescriptionCommentsVMB1BL1 channel blind moduleAll messages are supportedVMB1BLS1 channel blind moduleAll messages are supportedVMB1LED1 channel LED dimmer moduleAll messages are supportedVMB1RSSerial interfaceAll messages are supportedVMB1RY1 channel relay moduleAll messages are supportedVMB1RYS1 channel relay moduleAll messages are supportedVMB1RYNO1 channel relay moduleAll messages are supportedVMB1RYNOS1 channel relay moduleAll messages are supportedVMB1TS1 channel temperatue sensorTemperature supportedVMB1USBUSB configuration moduleAll messages are supportedVMB2BL2 channel blind moduleAll messages are supportedVMB2BLE2 channel blind moduleAll messages are supportedVMB2PBN2 channel input moduleAll messages are supportedVMB4DC4 channel 0-10 dimmer moduleAll messages are supportedVMB4RY4 channel relay moduleAll messages are supportedVMB4RYLD4 channel relay moduleAll messages are supportedVMB4RYNO4 channel relay moduleAll messages are supportedVMB6IN6 channel input moduleAll messages are supportedVMB6PBN6 channel input moduleAll messages are supportedVMB7IN7 channel input moduleAll messages are supportedVMB8PBU8 channel input moduleAll messages are supportedVMBDME1 channel dimmer moduleAll messages are supportedVMBDMI1 channel dimmer moduleAll messages are supportedVMBDMI-R1 channel dimmer moduleAll messages are supportedVMBGP11 channel glass panelInput and Temperature supportedVMBGP1-21 channel glass panelInput and Temperature supportedVMBGP22 channel glass panelInput and Temperature supportedVMBGP2-22 channel glass panelInput and Temperature supportedVMBGP44 channel glass panelInput and Temperature supportedVMBGP4-24 channel glass panelInput and Temperature supportedVMBGPO72 channel glass panel with oledInput and Temperature supportedVMBGPOD72 channel glass panel with oled and thermostatInput and Temperature supportedVMBMETEOmeteo modulesTemperature, wind, rain and light sensor supportedVMBRSUSBConfiguration module with USB and RS-232 interfaceAll messages are supportedVMBEL11 channel glass panel Edge LitInput and Temperature supportedVMBEL22 channel glass panel Edge LitInput and Temperature supportedVMBEL22 channel glass panel Edge LitInput and Temperature supportedVMBEL44 channel glass panel Edge LitInput and Temperature supportedVMBELO72 channel glass panel Edge Lit with thermostat and oled screenInput and Temperature supportedAdding support for other modulesThevelbus 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 thevelbus website: Select the module, go toDownloadsand search for the info sheet with protocol information.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 messageIf the message has other than low priority or no RTR set (which are defaults), then re-implementset_defaultsmethodAdd 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. I plan to extend this library with more higher-level functionality such as:Modeling modules and their supported functions as entitiesOnly allowing to send supported messages to modulesAuto-discovery of modulesExposing the velbus controller as an external API so it can be shared between different consumers