This page is part of archived documentation for openHAB 4.1. Go to the current stable version
# Velbus Binding
The Velbus binding integrates with a Velbus (opens new window) system through a Velbus configuration module (VMBRSUSB, VMB1USB or VMB1RS) or a network connection (TCP/IP).
For optimal stability, the preferred configuration module is the VMBRSUSB module. Consider deploying a TCP bridge – the officially developed python-velbustcp (opens new window) or one of the third party projects (opens new window) – in between the configuration module and openHAB. Doing so allows concurrent access to your Velbus system by both openHAB and the official configuration software.
The binding exposes basic actions from the Velbus System that can be triggered from the smartphone/tablet interface, as defined by the Velbus Protocol info sheets (opens new window).
Supported item types are switches, dimmers and rollershutters. Pushbutton, temperature sensors and input module states are retrieved and made available in the binding.
# Supported Things
In addition to the bridge modules mentioned in the section above, the supported Velbus modules are:
Type | Description |
---|---|
vmb1bl | 1-channel blind control module for din rail |
vmb1bls | 1-channel blind control module for universal mounting |
vmb1dm | Dimmer module for inductive/resistive and capacitive load |
vmb1led | 1-channel 0-10V controlled PWM dimmer for led strips |
vmb1ry | 1-channel relay module |
vmb1ryno | 1-channel relay module with potential-free changeover contact |
vmb1rynos | 1-channel relay module with potential-free changeover contact |
vmb1rys | 1-channel relay module with input |
vmb1ts | Temperature Sensor Module |
vmb2bl | 2-channel blind control module |
vmb2ble | 2-channel blind control module with extended possibilities |
vmb2pbn | Push-button interface for Niko 1- or 2-fold push-buttons |
vmb4an | Analog I/O module |
vmb4dc | 4-channel 0/1-10V dimmer controller |
vmb4pb | 4 button interface module |
vmb4ry | 4-channel relay module |
vmb4ryld | 4-channel relay module with voltage outputs |
vmb4ryno | 4-channel relay module with potential-free contacts |
vmb6in | 6-channel input module |
vmb6pbn | Push-button interface module for Niko 4- or 6-fold push-button |
vmb7in | 7-channel input module (potentialfree + pulse) |
vmb8ir | Infrared remote control receiver module |
vmb8pb | 8-Channel Push Button module |
vmb8pbu | Push-button interface with 8 channels for universal mounting |
vmbdme | Dimmer for electronic/resistive load |
vmbdmir | Single channel triac dimmer for resistive and inductive loads |
vmbdmi | Single channel triac dimmer for resistive and inductive loads |
vmbel1 | Edge-lit one touch button module |
vmbel2 | Edge-lit two touch buttons module |
vmbel4 | Edge-lit four touch buttons module |
vmbelo | Edge-lit touch panel with Oled display |
vmbelpir | Edge-lit Motion detector with one touch button |
vmbgp1-2 | Glass control module with 1 touch key (Edition 2) |
vmbgp1 | Glass control module with 1 touch key |
vmbgp2-2 | Glass control module with 2 touch keys (Edition 2) |
vmbgp2 | Glass control module with 2 touch keys |
vmbgp4-2 | Glass control module with 4 touch keys (Edition 2) |
vmbgp4 | Glass control module with 4 touch keys |
vmbgp4pir-2 | Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) |
vmbgp4pir | Glass control module with 4 touch keys and built-in motion and twilight sensor |
vmbgpod-2 | Glass control module with oled display and temperature controller (Edition 2) |
vmbgpod | Glass control module with oled display and temperature controller |
vmbgpo | Glass control module with oled display |
vmbin | 1-channel input module |
vmbkp | Keypad interface module |
vmbmeteo | Weather station with thermometer, anemometer, rain sensor and light sensor |
vmbpirc | Motion and twilight sensor for ceiling mounting |
vmbpirm | Mini motion and twilight sensor for recessed or surface mounting |
vmbpiro | Outdoor motion, twilight and temperature sensor, Theben |
vmbrfr8s | 8 channel RF receiver module |
vmbvp1 | Doorbird interface module |
# Discovery
The Velbus bridge cannot be discovered automatically.
Configure it manually by defining the serial port of the Velbus Configuration module for the Velbus Serial Bridge or by defining the IP address and port for the Velbus Network Bridge, as described in the Thing Configuration
section.
Once the bridge has been configured with openHAB, a manual scan can be initiated to discover Velbus modules with an assigned address. Addresses can be assigned via the official configuration software, and is a required step before a Velbus installation can work correctly.
The discovery scan can take a few minutes to complete. Modules discovered during this scan will appear in the inbox. This procedure will also retrieve the channel names of the Velbus devices.
# Thing Configuration
The Velbus bridge needs to be added first.
# Velbus Serial Bridge
For the Velbus Serial Bridge it is necessary to specify the serial port device used for communication.
On Linux and other UNIX systems, it is recommended to use a more stable symbolic device path such as /dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00
, as it will always refer at to a Velbus configuration module, and not an arbitrary serial device.
If this is not a concern or an option, it is valid to refer to the serial device directly with a path such as /dev/ttyS0
, /dev/ttyUSB0
or /dev/ttyACM0
(or a number other than 0
if multiple serial devices are connected.)
On Windows port
will refer to one of the COM devices such as COM1
, COM2
, etc.
The Device Manager system utility can be used to determine the exact COM port number to use.
In a .things
file, a USB connection to a Velbus configuration module might be configured like so:
Bridge velbus:bridge:1 [ port="/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00" ]
// or
Bridge velbus:bridge:1 [ port="COM1" ]
# Velbus Network Bridge
For the Velbus Network Bridge it is necessary to specify the address (either an IP address or a hostname) and the port of a Velbus network server.
In a .things
file, a network bridge running on the same machine at port 6000 would be configured like so:
Bridge velbus:networkbridge:1 "Velbus Network Bridge - Loopback" @ "Control" [ address="localhost", port=6000 ]
# Realtime Clock Synchronization
Optionally, the openHAB Velbus binding can synchronize the realtime clock, date and daylight savings status of the Velbus modules. This is achieved by setting the Time Update Interval (in minutes) on the bridge thing. For example:
Bridge velbus:bridge:1 [ port="COM1", timeUpdateInterval="360" ]
If timeUpdateInterval
is not specified, the time will be updated every 360 minutes by default.
In order to disable this behaviour, set the interval to 0 or an empty string.
# Reconnection
In case of a connection error, a Velbus bridge will attempt to reconnect every 15 seconds by default.
You can modify the bridge reconnection interval by specifying the reconnectionInterval
parameter (in seconds):
Bridge velbus:bridge:1 [ port="COM1", reconnectionInterval="15" ]
# Velbus modules
Adding Velbus modules to your openHAB configuration follows the conventions of your preferred configuration method.
UI-based configuration: Invoke a manual scan from the Things menu in order to start the discovery process. Discovered modules can be found in the inbox.
Textual
.thing
configuration can declare Velbus modules either in a standalone fashion (a bridge is still required):Thing velbus:<thingType>:<bridgeId>:<thingId> "Label" @ "Location" [ CH1="Kitchen Light", CH2="Living Light" ]
Or, more concisely, by nesting modules within the
Bridge
they’re connected to:Bridge velbus:bridge:1 [ port="COM1" ] { <thingType> <thingId> "Label" @ "Location" [ CH1="Kitchen Light", CH2="Living Light" ] }
Here:
<thingType>
is the type of the Velbus module. Refer to the Supported Things table for valid<thingType>
values;<thingId>
is the hexadecimal address of the Velbus module;"Label"
is an optional label for the thing;@ "Location"
is an optional specification of the location of the thing;- The
CHx="..."
properties are optional and can be used to specify names of the module channels.
Individual module Thing
’s channels can be linked to openHAB items via channel names like velbus:vmb4ryld:1:0A:CH1
. Here, from left to right, the channel name consistes of the binding name, module type (<thingType> = vmb4ryld
), bridge id (1
), module’s hexadecimal address (<thingId> = 0A
) and channel within the module (CH1
).
# Additional properties
Some module types have additional functionality not represented well by the trigger channels. A prime example of this is a temperature sensor, measurements of which must be polled.
The following table lists these additional properties and the modules that support the corresponding property:
Property | Supported modules | Description |
---|---|---|
counter1PulseMultiplier | vmb7in | The pulse multiplier for counter 1 |
counter1Unit | vmb7in | The unit for Counter 1. |
counter2PulseMultiplier | vmb7in | The pulse multiplier for counter 2 |
counter2Unit | vmb7in | The unit for Counter 2. |
counter3PulseMultiplier | vmb7in | The pulse multiplier for counter 3 |
counter3Unit | vmb7in | The unit for Counter 3. |
counter4PulseMultiplier | vmb7in | The pulse multiplier for counter 4 |
counter4Unit | vmb7in | The unit for Counter 4. |
dimspeed | vmb1dm , vmb1led , vmb4dc , vmbdme , vmbdmi , vmbdmir | The time (in seconds) needed for dimming from 0 to 100%. |
refresh | vmb1ts , vmb4an , vmb7in , vmbel1 , vmbel2 , vmbel4 , vmbelpir , vmbgp1 , vmbgp1-2 , vmbgp2 , vmbgp2-2 , vmbgp4 , vmbgp4-2 , vmbgp4pir , vmbgp4pir-2 , vmbmeteo , vmbpirc , vmbpirm , vmbpiro | Refresh interval for sensors or counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. |
# Channels
For thing types vmb1bl
and vmb1bls
the supported channel is CH1
.
UpDown, StopMove and Percent command types are supported.
For thing types vmb1dm
, vmb1led
, vmbdme
, vmbdmi
and vmbdmir
the supported channel is CH1
.
OnOff and Percent command types are supported.
Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off.
For thing type vmb1ry
the supported channel is CH1
.
OnOff command types are supported.
For thing type vmb4ry
4 channels are available CH1
... CH4
.
OnOff command types are supported.
For thing types vmb1ryno
, vmb1rynos
, vmb4ryld
and vmb4ryno
5 channels are available CH1
... CH5
.
OnOff command types are supported.
For thing types vmb1rys
6 channels are available CH1
... CH6
.
OnOff command types are supported on channels CH1
... CH5
.
Pressed and Long_Pressed command types are supported on channel CH6
.
1 trigger channel on CH6t
.
The module vmb1ts
has a number of channels to set the module's thermostat (thermostat:currentTemperatureSetpoint
, thermostat:heatingModeComfortTemperatureSetpoint
, thermostat:heatingModeDayTemperatureSetpoint
, thermostat:heatingModeNightTemperatureSetpoint
, thermostat:heatingModeAntiFrostTemperatureSetpoint
, thermostat:coolingModeComfortTemperatureSetpoint
, thermostat:coolingModeDayTemperatureSetpoint
, thermostat:coolingModeNightTemperatureSetpoint
, thermostat:coolingModeSafeTemperatureSetpoint
, operatingMode
and thermostat:mode
) and thermostat trigger channels: thermostat:heater
, thermostat:boost
, thermostat:pump
, thermostat:cooler
, thermostat:alarm1
, thermostat:alarm2
, thermostat:alarm3
, thermostat:alarm4
.
For thing types vmb2bl
and vmb2ble
the supported channels are CH1
and CH2
. UpDown, StopMove and Percent command types are supported.
For thing type vmb6in
6 channels are available CH1
... CH6
.
Pressed and Long_Pressed command types are supported on channels button#CH1
... button#CH6
.
6 trigger channels on channels input#CH1
... input#CH6
.
For thing type vmb7in
8 channels are available CH1
... CH8
.
Pressed and Long_Pressed command types are supported on channels button#CH1
... button#CH8
.
8 trigger channels on channels input#CH1
... input#CH8
.
For thing types vmb2pbn
, vmb6pbn
, vmb7in
, vmb8ir
, vmb8pb
, vmb8pbu
, vmbrfr8s
and vmbvp1
8 channels are available CH1
... CH8
.
Pressed and Long_Pressed command types are supported on channels button#CH1
... button#CH8
.
8 trigger channels on channels input:CH1
... input:CH8
.
Thing types vmb2pbn
, vmb6pbn
, vmb7in
, vmb8pb
, vmb8pbu
, vmbrfr8s
and vmbvp1
also have and 2 channels to steer the button LED feedback (feedback:CH1
and feedback:CH2
).
Additionally, the modules vmb2pbn
, vmb6pbn
, vmb7in
, vmb8pbu
, vmbrfr8s
and vmbvp1
have a number of channels to set the module's alarms: clockAlarm:clockAlarm1Enabled
, clockAlarm:clockAlarm1Type
, clockAlarm:clockAlarm1WakeupHour
, clockAlarm:clockAlarm1WakeupMinute
, clockAlarm:clockAlarm1BedtimeHour
, clockAlarm:clockAlarm1BedtimeMinute
, clockAlarm:clockAlarm2Enabled
, clockAlarm:clockAlarm2Type
, clockAlarm:clockAlarm2WakeupHour
, clockAlarm:clockAlarm2WakeupMinute
, clockAlarm:clockAlarm2BedtimeHour
and clockAlarm:clockAlarm2BedtimeMinute
.
For thing typevmb4an
8 trigger channels are avaiable input:CH1
... input:CH8
.
These channels will be triggered by the module's alarms.
Four pairs of channels are available to retrieve the module's analog inputs.
Each pair has a channel to retrieve the raw analog value (analogInput:CH9Raw
... analogInput:CH12Raw
) and a channel to retrieve the textual analog value (analogInput:CH9
... analogInput:CH12
).
Four channels are available to set the module's analog outputs analogOutput:CH13
... analogOutput:CH16
.
For thing type vmb4dc
4 channels are available CH1
... CH4
.
OnOff and Percent command types are supported.
Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off.
For thing type vmb4ry
4 channels are available CH1
... CH4
.
OnOff command types are supported.
Thing types vmbel1
, vmbel2
, vmbel4
, vmbelpir
, vmbgp1
, vmbgp2
, vmbgp4
, vmbgp4pir
and vmbpiro
have 8 trigger channels input:CH1
... input:CH8
and one temperature channel input:CH9
.
Pressed and Long_Pressed command types are supported on channels button#CH1
and button#CH2
for the thing type vmbelpir
.
Pressed and Long_Pressed command types are supported on channels button#CH1
... button#CH8
for the thing types vmbel1
, vmbel2
, vmbel4
, vmbgp1
, vmbgp2
, vmbgp4
, vmbgp4pir
and vmbpiro
.
The thing types vmbel1
and vmbgp1
have one channel to steer the button LED feedback feedback:CH1
.
The thing types vmbel2
and vmbgp2
have two channels to steer the button LED feedback feedback:CH1
and feedback:CH2
.
The thing types vmbel4
, vmbgp4
and vmbgp4pir
have four channels to steer the button LED feedback feedback:CH1
... feedback:CH4
.
The thing type vmbpiro
has a channel input:LIGHT
indicating the illuminance.
Thing types vmbel1
, vmbel2
, vmbel4
, vmbelpir
, vmbgp1
, vmbgp2
, vmbgp4
and vmbgp4pir
have a number of channels to set the module's alarms: clockAlarm:clockAlarm1Enabled
, clockAlarm:clockAlarm1Type
, clockAlarm:clockAlarm1WakeupHour
, clockAlarm:clockAlarm1WakeupMinute
, clockAlarm:clockAlarm1BedtimeHour
, clockAlarm:clockAlarm1BedtimeMinute
, clockAlarm:clockAlarm2Enabled
, clockAlarm:clockAlarm2Type
, clockAlarm:clockAlarm2WakeupHour
, clockAlarm:clockAlarm2WakeupMinute
, clockAlarm:clockAlarm2BedtimeHour
and clockAlarm:clockAlarm2BedtimeMinute
.
Thing types vmbel1
, vmbel2
, vmbel4
, vmbelpir
, vmbgp1
, vmbgp2
, vmbgp4
and vmbgp4pir
also have a number of channels to set the module's thermostat (thermostat:currentTemperatureSetpoint
, thermostat:heatingModeComfortTemperatureSetpoint
, thermostat:heatingModeDayTemperatureSetpoint
, thermostat:heatingModeNightTemperatureSetpoint
, thermostat:heatingModeAntiFrostTemperatureSetpoint
, thermostat:coolingModeComfortTemperatureSetpoint
, thermostat:coolingModeDayTemperatureSetpoint
, thermostat:coolingModeNightTemperatureSetpoint
, thermostat:coolingModeSafeTemperatureSetpoint
, operatingMode
and thermostat:mode
) and thermostat trigger channels: thermostat:heater
, thermostat:boost
, thermostat:pump
, thermostat:cooler
, thermostat:alarm1
, thermostat:alarm2
, thermostat:alarm3
, thermostat:alarm4
.
Thing types vmbelo
, vmbgpo
and vmbgpod
have 32 trigger channels input:CH1
... input:CH32
and one temperature channel input:CH33
.
Pressed and Long_Pressed command types are supported on channels button#CH1
... button#CH32
.
They have have 32 channels to steer the button LED feedback feedback:CH1
... feedback:CH32
.
They have a number of channels to set the module's alarms: clockAlarm:clockAlarm1Enabled
, clockAlarm:clockAlarm1Type
, clockAlarm:clockAlarm1WakeupHour
, clockAlarm:clockAlarm1WakeupMinute
, clockAlarm:clockAlarm1BedtimeHour
, clockAlarm:clockAlarm1BedtimeMinute
, clockAlarm:clockAlarm2Enabled
, clockAlarm:clockAlarm2Type
, clockAlarm:clockAlarm2WakeupHour
, clockAlarm:clockAlarm2WakeupMinute
, clockAlarm:clockAlarm2BedtimeHour
and clockAlarm:clockAlarm2BedtimeMinute
.
They have a number of channels to set the module's thermostat thermostat (thermostat:currentTemperatureSetpoint
, thermostat:heatingModeComfortTemperatureSetpoint
, thermostat:heatingModeDayTemperatureSetpoint
, thermostat:heatingModeNightTemperatureSetpoint
, thermostat:heatingModeAntiFrostTemperatureSetpoint
, thermostat:coolingModeComfortTemperatureSetpoint
, thermostat:coolingModeDayTemperatureSetpoint
, thermostat:coolingModeNightTemperatureSetpoint
, thermostat:coolingModeSafeTemperatureSetpoint
, operatingMode
and thermostat:mode
) and thermostat trigger channels: thermostat:heater
, thermostat:boost
, thermostat:pump
, thermostat:cooler
, thermostat:alarm1
, thermostat:alarm2
, thermostat:alarm3
, thermostat:alarm4
.
They also have two channels to control the module's display oledDisplay:MEMO
and oledDisplay:SCREENSAVER
.
Thing type vmbmeteo
has 8 trigger channels (input:CH1
... input:CH8
). These channels will be triggered by the module's alarms.
It has a number of channels to set the module's alarms: clockAlarm:clockAlarm1Enabled
, clockAlarm:clockAlarm1Type
, clockAlarm:clockAlarm1WakeupHour
, clockAlarm:clockAlarm1WakeupMinute
, clockAlarm:clockAlarm1BedtimeHour
, clockAlarm:clockAlarm1BedtimeMinute
, clockAlarm:clockAlarm2Enabled
, clockAlarm:clockAlarm2Type
, clockAlarm:clockAlarm2WakeupHour
, clockAlarm:clockAlarm2WakeupMinute
, clockAlarm:clockAlarm2BedtimeHour
and clockAlarm:clockAlarm2BedtimeMinute
.
It also has a number of channels to read out the weather station's sensors: weatherStation:temperature
, weatherStation:rainfall
, weatherStation:illuminance
and weatherStation:windspeed
.
Thing types vmbpirc
and vmbpirm
have 7 trigger channels input:CH1
... input:CH7
.
Additionally, these modules have a number of channels to set the module's alarms: clockAlarm:clockAlarm1Enabled
, clockAlarm:clockAlarm1Type
, clockAlarm:clockAlarm1WakeupHour
, clockAlarm:clockAlarm1WakeupMinute
, clockAlarm:clockAlarm1BedtimeHour
, clockAlarm:clockAlarm1BedtimeMinute
, clockAlarm:clockAlarm2Enabled
, clockAlarm:clockAlarm2Type
, clockAlarm:clockAlarm2WakeupHour
, clockAlarm:clockAlarm2WakeupMinute
, clockAlarm:clockAlarm2BedtimeHour
and clockAlarm:clockAlarm2BedtimeMinute
.
The trigger channels can be used as a trigger to rules. The event message can be PRESSED
, RELEASED
or LONG_PRESSED
.
To remove the state of the Item in the Sitemap for a button
channel.
Go to the Items list, select the Item, add a State Description Metadata, and set the Pattern value to a blank space.
# Full Example
.things:
Bridge velbus:bridge:1 [ port="COM1" ] {
vmb2ble 01
vmb2pbn 02
vmb6pbn 03
vmb8pbu 04
vmb7in 05
vmb4ryld 06
vmb4dc 07
vmbgp1 08
vmbgp2 09
vmbgp4 0A
vmbgp4pir 0B
vmbgpo 0C
vmbgpod 0D
vmbpiro 0E
}
.items:
Switch LivingRoom { channel="velbus:vmb4ryld:1:06:CH1" } # Switch for onOff type action
Switch KitchenButton { channel="velbus:vmb2pbn:1:05:button#CH1" } # Switch for Pressed and Long_Pressed type actions
Dimmer TVRoom { channel="velbus:vmb4dc:1:07:CH2" } # Changing brightness dimmer type action
Rollershutter Kitchen { channel="velbus:vmb2ble:1:01" } # Controlling rollershutter or blind type action
Number Temperature_LivingRoom "Temperature [%.1f °C]" <temperature> { channel="velbus:vmbgp1:1:08:CH09" }
Number Temperature_Corridor "Temperature [%.1f °C]" <temperature> { channel="velbus:vmbgpo:1:0C:CH33" }
Number Temperature_Outside "Temperature [%.1f °C]" <temperature> { channel="velbus:vmbpiro:1:0E:CH09" }
.sitemap:
Switch item=LivingRoom
Slider item=TVRoom
Switch item=TVRoom # allows switching dimmer item off or on
Rollershutter item=Kitchen
Switch item=KitchenButton # Press and Long_Pressed message are available
# or
Switch item=KitchenButton mappings=[PRESSED="Push"] # only the Pressed message is send on the bus
# or
Switch item=KitchenButton mappings=[LONG_PRESSED="Push"] # only the Long_Pressed message is send on the bus
Example trigger rule:
rule "example trigger rule"
when
Channel 'velbus:vmb7in:1:05:CH5' triggered PRESSED
then
var message = receivedEvent.getEvent()
logInfo("velbusTriggerExample", "Message: {}", message)
...
end