Install Openhab
Just do it..
Allow Openhab to access Serial Devices by Adding 'openhab' to the Dialout Group
sudo vi /etc/group dialout:x:20:openhab
Install Z Wave Bindings
PaperUI > Add Ons > Bindings > Z-wave Binding > install
Once the Binding is installed, add the Z-wave binding as a Thing and verify that the serial port is correct. If the serial port is missing or will not be accepted, make sure you added openhab to the dialup group in the previous step.
Add Items
- Within PaperUI, Things should begin showing up in the Inbox.
- Add each thing using the naming convention : Location_Type_Target (ie. LivingRoom_Dimmer_AccentLights)
- Click each thing and add the appropriate items for each channel
Device Naming
Using the simple convention of location, type, and target
- Entry_Deadbolt
- Entry_Proximity
- Entry_Dimmer_AccentLights
- Entry_Switch_EntryLights
- GarageHall_Dimmer_GarageAccentLights
Rules
Accent Lighting Control
Turns on lights @ dusk, off at 10, on in the early morning, and then off again at sun up.
// turn accent lights on at dusk
rule "Accent Lights on @ Sunset"
when
Channel 'astro:sun:local:astroDusk#event' triggered START
then
logInfo("accent.rules", "Turning Lights On @ Sunset")
Group_AccentLighting.sendCommand(ON)
end
rule "Accent Lights Off @ 10"
when
Time cron "0 0 22 ? * *"
then
logInfo("accent.rules", "Turning Lights Off @ 10")
Group_AccentLighting.sendCommand(OFF)
end
// turn accent lights on at dusk
rule "Accent Lights on @ Sunset"
when
Channel 'astro:sun:local:nauticDawn#event' triggered START
then
logInfo("accent.rules", "Turning Lights On @ Early Morning")
Group_AccentLighting.sendCommand(ON)
end
// turn accent lights on at dusk
rule "Accent Lights on @ Sunset"
when
Channel 'astro:sun:local:daylight#event' triggered START
then
logInfo("accent.rules", "Turning Lights Off @ Daylight")
Group_AccentLighting.sendCommand(OFF)
end
Proximity @ Entryway
Triggers a light on motion and then deactivates after 3 minutes.
var Timer timer = null
rule "Handle PIR Events"
when
Item Entry_Proximity_BinarySensor received update
then
if (Entry_Proximity_BinarySensor.state == ON)
{
if ( timer !== null )
{
timer.cancel
timer = null;
}
Entry_Switch_EntryLights.sendCommand(ON)
logInfo("entry.rules", "Starting a timer for 3 minutes")
timer = createTimer( now.plusMinutes(3), [
logInfo("entry.rules", "Turnign entry proxmity off")
Entry_Switch_EntryLights.sendCommand(OFF)
Entry_Proximity_BinarySensor.sendCommand(OFF)
timer = null
])
}
end