DomBus: Plug&Play and Low power consumption home automation systems for Domoticz
Really plug&play system: install the plugin on Domoticz, add Creasol DomBus hardware, connect DomBus to Domoticz via RS485 bus, and all I/O of the board will be immediately available in the Switches panel!
DomBus1 can be supplied from 7.5 to 25Vdc, and power consumption is really low: at 12V, for example, 3mA in standby, 10mA with 1 relay ON, 17mA with 2 relays ON, 24mA with 3 relays ON.
One or multiple DomBus boards can be connected via RS485 bus, so using a 4-wires cable it's possible to create a network of I/O and sensors where 2 wires are for data and 2 for power supply (from 7.5 to 24Vdc).
LEDs connected on all inputs, outputs and bus, permit to check the status of the board and found any problem on wire connections: LEDs are enabled by pressing the Prog button and remain active for 60 seconds, then will be OFF until Prog button is pushed again.
The red LED between A and B terminal blocks indicates the serial bus transmission.
Relay outputs Out1, Out2 and Out3 are configured for low power mode, consuming less than 30% of the power normally needed by relays, so they can be used for outputs that stay ON for long time (alarm/security signals, night lights, ...).
The switching mode power supply, LEDs-enable and low power relay outputs features, lead to a full control of inputs/outputs with an optimized power consumption.
Any customization you need, please contact us: we normally provide customizations even for small quantities.
- Switching mode power supply unit, converting 7.5-25Vdc input voltage to 5V and reducing power dissipation/consumption
- RS485, 115200bps half duplex (2 wires bus) with 32bit microcontroller
- 3 relay outputs (250V 5A switch capability with non-inductive load. In case of inductive load, switch current is lower)
- Relays can be configured in low power mode: relay current consumption is reduced to 7mA @12V instead of 25mA @12V (typical relay coil corrent in normal mode)
- 1 optional 230Vac input (with optocoupler), suitable to sense AC voltage: terminal block is not available, so 2 wires have to be soldered to the electronic board.
- 6 inputs, fully configurable, with internal pull-up to 5V.
- current consumption in standby: typically 6mA @5Vdc, 3mA @12Vdc, 2mA @24Vdc
- Domoticz automatically recognize new DomBus attached to the RS485 bus, and add the corresponding I/Os automatically to Domoticz switches panel
- Easy way to configure I/O using the switch description (for example it's possible to configure an output as normal or low power relay, normally open or closed, writing the configuration in Domoticz device description)
Using RS485 specific cables it's possible to get almost 1km linear bus with more devices attached. Alternatively, it's possible to use 2 twisted pairs of cheap Cat6 UTP or STP cable, one twisted pair for data (A and B) and one for 12-24V power supply. Be careful to connect all devices using a linear bus topology, to get the lowest reflection/noise, and connect 100-150 Ohm resistor on the two ends, as illustrated in the Fig. 2.
At Raspberry/PC side, it's possible to use a cheap USB-RS485 adapter, if a serial port with RS485 driver is not available.
Using this installation topology it's possible to avoid RF pollution and minimize connections: DomBus1 in almost any room, connected by a 4 wire shielded cable to exchange data and get power supply (12V battery backupped).
Uncompress this TAR archive into domoticz directory, using the following commands (from Linux shell):
cd /home/pi/domoticz # or other directory where domoticz is installed
wget -O /tmp/dombus.tgz http://docs.creasol.it/CreasolDomBus/domoticz_CreasolDomBus_latest.tgz
tar xvzf /tmp/dombus.tgz
Enter domoticz website, go to Setup -> Hardware and create a new hardware named dombus (or another name), type Creasol DomBus .
After plugin installation and Domoticz restart, it's possible to add the Creasol DomBus hardware (Setup->Hardware) and connect the DomBus1 device to the RS485 bus: if n DomBus1 has the default address 0xff01, only one port will be automatically added to the Switches panel of Domoticz; in case the DomBus1 was already configured wih another address, all ports will be added to the Switches panel in few seconds.
In the first case, go to Switches panel, find the new device “dombus - [Hff01] OUT1 Relay”, click on Edit and add in the description ,HWADDR=0x0001 to set the new address to 0001. Reload the Switches panel to get all ports of DomBus1 active.
Every I/O can be configured via the Domoticz switch description: for example a device type IN_DIGITAL normally is On when it's left unconnected, and Off when it's shorted to GND, but it's possible to invert this function specifying in the switch description the parameter INVERTED, separated by a comma (,): IN_DIGITAL,INVERTED . Please check the following sections I/O parameters and DomBus1 I/O capabilities.
I/O that are not used can be disabled in Domoticz Setup -> Devices clicking on the blue arrow of each useless device (I/O).
|HWADDR=0xNNNN||This command set new address for the dombus device: reload the Switch panel to see the new devices associated with the new address of DomBus. NNNN is an exadecimal number, from 0x0001 to 0xff00, so 65280 combinations are available. Keep note of address assegnated to each dombus device, because in case of address conflict it's needed to switch off one of the conflicting device and program the remaining one to another address, or make a factory reset as explained below.|
|INVERTED||Used to invert the logic state of an input or output. Can be used in conjuction with OUT_DIGITAL, OUT_RELAY_LP, IN_DIGITAL.
Normally, domoticz switch is On if input is at logic level high (open), and Off when it's shorted to ground. If INVERTED is specified, domoticz switch will be On when the corresponding input is shorted to ground, and vice versa.
|OUT_DIGITAL||Output is managed as digital, On when it's active and Off when it's disabled.|
|OUT_RELAY_LP||Relay output managed in low power saving mode, to reduce relay coil current consumption at less than 30% of normal value.|
|IN_DIGITAL||Digital input, is On when the corresponding input is at high voltage level (open), and Off when the corresponding input is at GND (shorted).|
|DISTANCE||Set the current port as the echo output of ultrasonic distance meter: IN3 will be used to provide the trigger to the distance meter (see application schema). Setting a device as DISTANCE, it will be moved to the Utility panel of Domoticz.|
|A||For analog and distance sensors: used to compute the real value using the formula REAL_VALUE=A * VALUE_FROM_DOMBUS + B.|
|B||For analog and distavoid RF pollution and minimize connections: DomBus1 in almost any room, connected by a 4 wire shielded cable to exchange data and get power supply (12V battery backupped)ance sensors: used to compute the real value using the formula REAL_VALUE=A * VALUE_FROM_DOMBUS + B|
|TYPENAME||Used to set a specific typename for the device: see https://www.domoticz.com/wiki/Developing_a_Python_plugin#Devices for a list of TypeName. For example: TYPENAME=TEMPERATURE for an analog input measuring a temperature. Please note that setting certain typenames, the domoticz device is moved to the Utility or Weather panel.|
DomBus1 I/O capabilities
|1||OUT1 Relay||OUT_DIGITAL, OUT_RELAY_LP||OUT_RELAY_LP||Relay output, that can be managed as standard relay (OUT_DIGITAL) or low power relay (OUT_RELAY_LP)|
|2||OUT2 Relay||OUT_DIGITAL, OUT_RELAY_LP||OUT_RELAY_LP||Relay output, that can be managed as standard relay (OUT_DIGITAL) or low power relay (OUT_RELAY_LP)|
|3||OUT3 Relay||OUT_DIGITAL, OUT_RELAY_LP||OUT_RELAY_LP||Relay output, that can be managed as standard relay (OUT_DIGITAL) or low power relay (OUT_RELAY_LP)|
|4||IN1||IN_DIGITAL, IN_ANALOG,DISTANCE,OUT_DIGITAL(1)||IN_DIGITAL||Normally it works as digital input, 0-5V: a modification to the circuitry is needed to measure 0-5V analog voltage|
|5||IN2||IN_DIGITAL, IN_ANALOG,DISTANCE,OUT_DIGITAL(1)||IN_DIGITAL||Normally it works as digital input, 0-5V: a modification to the circuitry is needed to measure 0-5V analog voltage|
|6||IN3||IN_DIGITAL, IN_ANALOG,OUT_DIGITAL(1)(3)||IN_DIGITAL||Normally it works as digital input, 0-5V: a modification to the circuitry is needed to measure 0-5V analog voltage|
|10||IN AC/OUT SSR||IN_AC, OUT_DIGITAL,OUT_DIGITAL(2)||IN_AC INVERTED||230Vac line sensing, used to detect blackout or line voltage. DomBus1 board can be modified to replace the circuitry with a 60V 100mA SSR (current consumption less than 1mA), suitable for controlling a siren or other security device, heating system or another low voltage device.|
1) When INx port is set as digital output, the 4k7 resistor in serie of each port must be changed with a 100 Ohm SMD 0402 resistor (not easy) or a short circuit (be careful, in this case: microcontroller port can be damaged without a resistor as protection).
2) When "IN AC" port is set as digital output, the output should be taken from pin4 of OC1: be careful to not damage the microcontroller port applying a voltage to this port.
3) When IN1 and/or IN2 ports are set as DISTANCE, IN3 is used to trigger the ultrasonic distance sensor and it works only when LEDs are disabled.
To restore default parameters, remove power supply, push and hold the button Prog and supply the device: red led starts flashing; after 5 seconds it stops flashing and device restores the configuration to default settings.
This procedure can be useful when 2 DomBus devices have the same address and one of these cannot be disconnected or changed.
Measures the level of a water tank, activates a valve for watering the garden, turns on/off the night light and read magnetic contact sensors of door+blind
The following schema shows how to connect a waterproof ultrasonic distance sensor to Creasol DomBus1 to measure the level of water tank, so the garden irrigation program on Domoticz can determine if there is anough water in the tank. DomBus1 returns the distance value in mm, and it's possible to program the device to get a linear transformation of this measure using the formula VALUE=A*mm+B. In this example, distance is measured in cm, the tank height is 200cm from the sensor, so to measure the level of water A=-0.1 and B=200 , so when DomBus1 returns 1800mm of distance (from sensor, placed in the top of tank, to water level), VALUE=-0.1*1800+200=-180+200=20cm (level of water from the bottom of tank).
These parameters can be easily set in the device description: enter Switches panel, locate and edit the IN2 switch, and write in the description DISTANCE,A=-0.1,B=200 and save: the DomBus plugin automatically remove the device from the switch list and create a device in the Utility panel, showing the correct value compute with the parameter A and B indicated.
DomBus supports at max 2 distance devices, connected to IN1 and IN2; trigger to distance meters is sent using the IN3 port, that is reserved for this function and can be disabled on the Setup -> Devices (clickin on the left arrow ).
As the Creasol DomBus1 device has many inputs and outputs, in this application note the same DomBus is used also to activate the garden watering pump, activate the night lights, and control the magnetic contact sensors for a door and blind, as like as the MCS tamper.
* Now all relays can be configured as OUT_RELAY_LP (low power relays, consuming 30% of normal relays)
Why DomBus device does not work?
- Are you using Domoticz? Does it work?
- Did you installed the Creasol DomBus plugin on Domoticz? If not, check the Configuration section above
- If you open the Domoticz web panel, and enter Settings -> Hardware, can you find the Creasol DomBus protocol ? Did you enable it? If not, check the Configuration section above
- When you connect the DomBus device to the RS485 bus, can you see a new device in the Domoticz Switches panel? if not, the device cannot communicate to Domoticz by RS485 serial bus. In this case, check that:
1) DomBus device is supplied by 12Vdc or similar voltage
2) RS485 bus is connected (A, B, GND) to Domoticz (Raspberry or other hw) through the USB/RS485 adapter or other RS485 adapter
3) Verify that the DomBus protocol on Domoticz is configured correctly (115200bps and right serial device), and that there are not 2 DomBus hardware with in Domoticz with the same serial port
Why current consumption is 0uA?
The device has a serie protection resistor, 2.2 Ohm, acting as a fuse when the user forget to protect 12V power supply by a fuse. Maybe the resistor is burned (you can check using an ohm-meter) and can be replaced by another resistor or, if you know what you do, by a short circuit.
If you have a solder iron, you can also try the device connecting a 5Vdc power supply to +5V indicated by the red arrow, and GND terminal block. Click to see the picture!
How can I change address of DomBus1 device?
DomBus1 is factory programmed with address 0xff01 : please connect only 1 new/unprogrammed DomBus1 to the existing bus, and you'll find one "switch" device in the Domoticz Switches panel with name "dombus - [Hff01] OUT1 Relay" or something similar.
Click on the Edit button of that switch and add the following text to its description: ,HWADDR=0x0001 (don't forget the comma used to separate each parameter) to set the new address to 0001, ot another not-used value.
DomBus device will be set to the specified address, then you'll find in the Switches panel all ports with the selected address.
At this point you can add another new dombus device, and change its address in the same way.
Need help? join the DomBus channel on Telegram!