* New translations astro.properties (Finnish) * New translations astro.properties (German) * New translations bluetooth.properties (German) * New translations boschshc.properties (Italian) * New translations comfoair.properties (German) * New translations dwdunwetter.properties (German) * New translations epsonprojector.properties (German) * New translations gpio.properties (German) * New translations heliosventilation.properties (German) * New translations homeconnect.properties (German) * New translations homematic.properties (German) * New translations ipp.properties (German) * New translations jruby.properties (Hungarian) * New translations jsscripting.properties (German) * New translations jsscripting.properties (Hungarian) * New translations map.properties (German) * New translations map.properties (Hungarian) * New translations mqttbroker.properties (Italian) * New translations nanoleaf.properties (German) * New translations ocean.properties (German) * New translations openhabcloud.properties (Finnish) * New translations samsungtv.properties (Hungarian) * New translations shelly.properties (German) * New translations snmp.properties (German) * New translations sonos.properties (German) * New translations spotify.properties (German) * New translations tr064.properties (German) * New translations tradfri.properties (German) * New translations unifi.properties (German) * New translations unifi.properties (Hungarian) * New translations valloxmv.properties (Finnish) * New translations volvooncall.properties (German) * New translations xslt.properties (German)
GPIO Binding
This binding adds GPIO support via the pigpio daemon to openhab. It requires the pigpio (http://abyz.me.uk/rpi/pigpio/) to be running on the pi that should be controlled.
Supported Things
pigpio-remote
This thing represents a remote pigpio instance running as daemon on a raspberry pi.
Thing Configuration
Pigpio Remote (pigpio-remote)
On a raspberry (or a compatible device) you have to install pigpio:
sudo apt-get install pigpiod
sudo raspi-config
-> Interfacing Options --> Remote GPIO --> YES --> OK --> Finish
Note: if you are setting this up on a Raspberry Pi without raspi-config you can create the service config file manually:
sudo mkdir -p /etc/systemd/system/pigpiod.service.d/
sudo nano /etc/systemd/system/pigpiod.service.d/public.conf
[Service]
ExecStart=
ExecStart=/usr/bin/pigpiod
sudo systemctl daemon-reload
Now that Remote GPIO is enabled, get the daemon going (even if installed with apt-get):
sudo systemctl enable pigpiod
sudo systemctl start pigpiod
In openHAB, set host to the address of the pi and the port to the port of pigpio (default: 8888).
Note: If you are running Pigpio on same host as openHAB, then set host to ::1.
Channels
Pigpio Remote
| channel | type | description |
|---|---|---|
| pigpio-digital-input | Switch | Read-only value of the gpio pin |
| pigpio-digital-output | Switch | Controls the gpio pin |
GPIO digital input channel
Set the number of the pin in gpioId.
If you want to invert the value, set invert to true.
To prevent incorrect change events, you can adjust the debouncingTime.
Using pullupdown you can enable pull up or pull down resistor (OFF = Off, DOWN = Pull Down, UP = Pull Up).
GPIO digital output channel
Set the number of the pin in gpioId.
If you want to invert the value, set invert to true.
Full Example
demo.things:
Thing gpio:pigpio-remote:sample-pi-1 "Sample-Pi 1" [host="192.168.2.36", port=8888] {
Channels:
Type pigpio-digital-input : sample-input-1 [ gpioId=10]
Type pigpio-digital-input : sample-input-2 [ gpioId=14, invert=true]
Type pigpio-digital-output : sample-output-1 [ gpioId=3]
}
Thing gpio:pigpio-remote:sample-pi-2 "Sample-Pi 2" [host="192.168.2.37", port=8888] {
Channels:
Type pigpio-digital-input : sample-input-3 [ gpioId=16, debouncingTime=20]
Type pigpio-digital-input : sample-input-4 [ gpioId=17, invert=true, debouncingTime=5, pullupdown="UP"]
Type pigpio-digital-output : sample-output-2 [ gpioId=4, invert=true]
}
demo.items:
Switch SampleInput1 {channel="gpio:pigpio-remote:sample-pi-1:sample-input-1"}
Switch SampleOutput1 {channel="gpio:pigpio-remote:sample-pi-1:sample-output-1"}
demo.sitemap:
sitemap demo label="Main Menu"
{
Switch item=SampleInput1
Switch item=SampleOutput1
}