Creasol DomBus36 is a din-rail relay industrial-grade module for building automations and home automation systems, 115x90x40mm, with 12 relays outputs, SPST (Normally Open outputs) with 250V 5A max capability, divided in 3 groups of 4 relays, each group with a 5-position screw terminal blocks: 1 common + 4 outputs
For the up-to-date version of this page, please select the English language.
As other DomBus devices, DomBus36 provides excellent performance in terms of power optimization: 12mW with relays OFF, less than 750mW with all 12 relays ON! As a comparison, KMT* 8 relays module consumes 12W, Denk* 8 relays board consumes about 3W, Sono* Dual R2 consumes 2W with only 2 relays enabled.
It's available with two firmware types: DomBus (proprietary protocol with enhanced features) for Domoticz controller, and Modbus RTU (standard protocol working with almost any home automation system). Check below for a detailed comparison between the two protocols.
It uses a RS485 industrial-grade serial bus, using a common shielded cable with 4 wires: 2 for 12/24V power supply, and 2 for data at 115200bps 8,n,1 (or other speed/parity in case of Modbus RTU).
It supports two different protocols (at puchase time, select the needed protocol!):
- DomBus protocol, that is supported by Domoticz home automation controller, is a reliable multi-master protocol that permits to manage dozens of modules and get status from a module as soon as it changes. Also it includes the so-called DCMD commands that, similarly to KNX, are transmitted between DomBus modules in the same bus to activate outputs, scenes and groups in case of events without needing for the intervention of the home automation controller, useful solution to get a home automation system working even in case of domotic controller fault. Check below for an explanation about DCMD.
The Creasol DomBus plugin have to be installed in Domoticz, using the Python Plugin Manager or downloading the software from GitHub (see the section below). - Modbus RTU protocol, widely used in industrial and home automation systems, is supported by almost any domotic controller like Home Assistant, OpenHAB, IObroker, Node-RED, ...
Modbus is a master-slave protocol that permits to activate and deactivate a single relay or a group of relays by a single command. Also, it's possible to specify, for each relay, the ON time from 31.5ms to 1500 days, so the relay automatically switches OFF after the selected time.
Confused about the two versions? If you use Domoticz, DomBus version is much better because includes enhanced features like DCMD and autodiscovery. For other building automations, Modbus version should be chosen because compatible with almost everything.
Ask for support on Telegram group https://t.me/DomBus
The RS485 serial bus is the ideal solution to get:
- easy wiring and connection: use a common thin alarm cable within 4 wires, 2x0.5mm² wires for 12V power supply, and 2x0.22mm² wires for data. This is much easier and better than ethernet UTP/STP connections.
- robustness differential signalling permits to connect about 30 modules with more than 200m total distance. Modules can be connected together using a mix of linear/star bus topology.
- very low power consumption: each module is supplied at 12V and has inside an high efficiency switching mode converter to minimize the power comsumption.
- power outage tolerant: using a 13.6V power supply with lead acid battery it's possible to supply domotic network, IPCams, NVR, switches, routers, so the system keeps working even in case of power cut-out.
- no RF pollution, no batteries to change
For large building, to improve the bus reliability, it's possible to make more than 1 bus so in case of fault, only the bus with fault stops working.
Features
- available in two firmware version, DomBus suitable for Domoticz controller, and Modbus suitable for any industrial and home automation system.
- 12 relay outputs, SPST (normally open contact on screw terminal block) with 250Vac/30Vdc 5A contact (max 30Vdc in case of DC load, 250Vac in case of AC load).
- easy wiring: relays are divided in 3 groups, each group share a common with the 4 relays in that group.
- each relay block respects the creepage distance from other blocks. Do not mix high and low voltage signals inside the same block!
- 8-35Vdc power supply (internally regulated by a switching mode power supply circuitry that minimize power consumption and dissipation).
- low power consumption: 0.9mA @12V (12mW) stand-by current with all relays OFF, and 55mA @12V (<750mW) with all relays ON.
- 115200 bps RS485 bus (max length: 1km), 8 bit data, no parity, 1 stop bit. Bitrate and parity may be changed in the Modbus version.
- DCMD commands support (DomBus firmware only): this is a feature (described below) that permits to get easy automations without writing a line of code, and command exchanged between DomBus modules even in case that domotic controller is stopped. For example configuring a pushbutton input port as
DCMD(Pulse)=11.3:Toggle, DCMD(Pulse1)=0.7:Toggle, DCMD(Pulse2)=0.8:On
it's possible:
* with a short 0.5s pulse, toggles on/off port #3 output of DomBus module #11
* with a 1s pulse, toggle on/off a group of switches on the controller
* with a 2s long pulse, activate a scene that, for example, disable all lights/loads and activate the alarm system (useful when leaving the building).
Warnings
- Relays are divided in 3 blocks: do not mix high voltage (230V) loads and low voltage (5/12/24V) loads on the same terminal block!
- Do not use capacitive loads with high inrush current (bad power supplies, ballasts, ...) otherwise the relay contact may weld.
- Use a 4 wires shielded cable for the bus, using two lines to send power supply (12-14Vdc) protected by a fuse.
- To reduce noise and reflections on the bus, enable the termination resistor (shorting Rbus PCB jumper) on the two furthest ends of the bus.
{youtube}-oDiKHSg6kM{/youtube}
DomBus36 DomBus capabilities (for the DomBus firmware version)
Default address: 0xff36
Port# | Name | Capabilities | Default configuration | Description |
1 | RL1 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 1 |
2 | RL2 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 1 |
3 | RL3 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 1 |
4 | RL4 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 1 |
5 | RL5 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 2 |
6 | RL6 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 2 |
7 | RL7 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 2 |
8 | RL8 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 2 |
9 | RL9 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 3 |
10 | RL10 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 3 |
11 | RL11 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND,OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 3 |
12 | RL12 | OUT_DIGITAL, OUT_RELAY_LP, OUT_BLIND(1),OUT_FLASH | OUT_RELAY_LP | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor. Block 3 |
(1): can be used as BLIND output, to open a blind/curtain, but only the previous port can be configured in Domoticz as OUT_BLIND because, when configured as OUT_BLIND, DomBus device automatically configure the next port to drive a relay in open direction.
DomBus36 Modbus RTU capabilities (for the Modbus version)
At power-on, the module shows on red LED the current Modbus slave address (register address=8192) in decimal format, on green LED the serial baudrate (reg. 8193), and finally on red LED the serial parity (reg. 8194).
If a value is zero, a long flash is emitted.
For example, if reg(8192)=54, reg(8193)=4, reg(8194)=0, at power the following led flashes will be shown:
5 red flashes, pause, 4 red flashes (slave address=54), pause, 4 green flashes (reg(8193)=4 => baudrate=9600bps), pause, 1 long red flash (reg(8194)=0 => parity=None).
Device will be operative only after showing the power-on modbus parameters led flashing: then module will accept commands by Modbus RTU, and periodically shows output status for all ports, from 1 to max port: green flash means that port status is Off, red flash means that port is On.
Default slave address: 54 (0x36)
Addr | Name | Values | Description |
0 | RL1 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
1 | RL2 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
2 | RL3 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
3 | RL4 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
4 | RL5 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
5 | RL6 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
6 | RL7 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
7 | RL8 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
8 | RL9 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
9 | RL10 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
10 | RL11 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
11 | RL12 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time | SPST relay output, NO contact, 5A 250Vac or 30Vdc output capability. Relay contact is protected by varistor |
255 | All relays | bitmask: 1=> RL1, 2=>RL2, 4=>RL3, 8=>RL4 |
This address is used to set ON or OFF (no timer function) relays using a short command, by accumulating the bitmask for each relay that should be ON: for example |
256-267 | Port config | 1=OUT_DIGITAL, 2=OUT_RELAY_LP | Command used to configure port 1 (256) to 12 (267) as OUT_DIGITAL or OUT_RELAY_LP (low power consumption relay). |
512-523 | Port option | 0=NORMAL, 1=INVERTED (output normally ON) | Set port option. If set to 1, relay stays ON after boot until the port is asserted (then relays goes OFF) |
8192 | Slave Address | 1-247 | Permits to change the slave address of the module, so it's possible to add other modules to the same bus |
8193 | Serial bitrate | 0=115200bps, 1=57600, 2=38400, 3=19200, 4=9600, 5=4800, 6=2400, 7=1200bps | Serial speed, default 115200 bps 8,n,1 |
8194 | Serial parity | 0=None, 1=Even, 2=Odd | Serial parity, default none (115200 bps 8,n,1) |
8198 | Revision, major | Read only | Get firmware version, major number. For example "02" means that revision is "02XX" where XX defined by parameter 8199 |
8199 | Revision, minor | Read only | Get firmware version, minor number. For example "h1" means that revision is "XXh1" where XX defined by parameter 8198 |
It's possible to activate one or more outputs for a certain amount of time (monostable/timer output) as indicated in the table. The parameter corresponding to the needed time can be computed using the following rules:
From 0 to 60s => 31.25ms resolution 1=31.25ms, 1920=60s => value=time_in_milliseconds/31.5
From 1m to 1h with 1s resolution 1921=61s, 3540+1920=5460=1h => value=(time_in_seconds-60)+1920
From 1h to 1d with 1m resolution 5461=1h+1m, 1380+5460=6840=24h => value=(time_in_minutes-60)+5460
From 1d to 1500 days with 1h resolution 6841=25h, 6842=26h, and so on => value=(time_in_hours-24)+6840
The following tables show some Modbus commands examples.
Slave Addr | Func. Code | Reg.Addr | Reg.Value | Frame | Description |
54 | 06 | 8192 | 1 | [31][06][20][00][00][01][46][3A] | Change slave address from 54 (0x36) to 1 |
01 | 06 | 8193 | 4 | [01][06][20][01][00][04][D2][09] | Set serial speed to 9600bps |
01 | 06 | 8194 | 1 | [01][06][20][02][00][01][E2][0A] | Set even parity |
49 | 10 | 8192 | 1,4,1 | [31][10][20][00][00][03][06][00][01][00][04][00][01][B1][71] | With a single command, set slave address to 1, serial speed to 9600bps, even parity. |
01 | 06 | 0 | 65280 | [01][06][00][00][FF][00][C8][3A] | Activate RL1 output forever (65280=0xff00) |
01 | 06 | 1 | 960 | [01][06][00][01][03][C0][D8][AA] | Activate RL2 for 960/32=30s |
01 | 06 | 255 | 0 | [01][06][00][FF][00][00][B9][FA] | Disable all outputs (Reg.Addr=255) |
01 | 10 | 0 | 32,0,0,65280 | [31][10][00][00][00][04][08][00][20][00][00][00][00][FF][00][E6][5C] | Set RL1 On for 1s (32), RL2 Off, RL3 Off, RL4 On - Max 10 registers can be set in one command |
01 | 03 | 255 | 1 | [01][03][00][FF][00][01][B4][3A] | Read a 16bit value with ports status. For example if returned value is 0xd1 (0b11010001), output status is: RL8=On, RL7=On, RL6=Off, RL5=On, RL4=Off, RL3=Off, RL2=Off, RL1=On |
01 | 03 | 8198 | 2 | [01][03][20][06][00][02][2F][CA] | Read 4 bytes within module version. For example, if returned value is <30><32><68><31> (in hex format), the corresponding ASCII value is "02h1" (Firmware 02h1) |
01 | 0F | 0 | 8,1,0xd1 | [01][0F][00][00][00][08][01][D1][3E][C9] | Set coil status to 0xd1 (0b11010001), activating RL8, RL7, RL5, RL1 and disabling other relays |
01 | 01 | 0 | 8 | [01][01][00][00][00][08][3D][CC] | Read coil status. If returned value is 0xd1 (0b11010001), it means that RL8, RL7, RL5 and RL1 are On |
Modbus protocol can be tested easily using a modbus program, like mbpoll for Linux:
mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 0 /dev/ttyUSB0 32 0 64 128 0 0 0 65280
to activate RL1 for 1s, R3 for 2s, RL4 for 4s and RL8 forever.
mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 255 -c 1 /dev/ttyUSB0
to read all port states.
Using DomBus36 relay module with Home Assistant
Using DomBus36 relay module with Node-RED
DomBus36 module works also with NodeRED as like as other building automation systems supporting the standard Modbus RTU protocol.
More information in the Node-RED page
How to enable the RS485 bus termination resistor
RS485 (Modbus, DomBus, ...) is able to work even with very long distance cable, up to 1km. To minimize noise on the bus, a 100-150 ohm resistor should be connected at the two bus ends.
Our home automation modules already include a 150 ohm resistor that can be enabled by using a solder iron, shorting the Rbus pads on the PCB, as shown in the following picture.