# Serial Button Binding
This is a binding for probably one of the simplest devices possible: A simple push button which short-cuts two pins on a serial port.
# Supported Things
The binding defines a single thing type called button
.
A button requires the single configuration parameter port
, which specifies the serial port that should be used.
The only available channel is a SYSTEM_RAWBUTTON
channel called button
, which emits PRESSED
events (no RELEASED
events though) whenever data is available on the serial port (which will be read and discarded).
The use case is simple: Connect any push button to pins 2 and 7 of an RS-232 interface as short-cutting those will signal that data is available. Using the default toggle profile, this means that you can use this channel to toggle any Switch item through the button.
# Full Example
demo.things:
serialbutton:button:mybutton "My Button" [ port="/dev/ttyS0" ]
demo.items:
Switch MyLight { channel="serialbutton:button:mybutton:button" }
Note: This is a trigger channel, so you will most likely bind a second (state) channel to your item, which will control your physical light, so you might end up with the following, if you want to use your button with a Hue bulb:
Switch MyLight { channel="hue:0210:1:bulb1:color,serialbutton:button:mybutton:button" }
demo.sitemap:
sitemap demo label="Main Menu"
{
Frame {
Switch item=MyLight label="My Light"
}
}