Has the opener been securely included? (look in Habmin> Configuration> Things> Opener> Attributes> Using Security?.. it should be a green checkmark)
Do you get events in the log when you manually trigger the garage door? (From the log above, it looks like you do not have debugging turned on for the binding. Enter log:set DEBUG org.openhab.binding.zwave in the Karaf console.)
Thanks for the quick response! I’ve started on trying the test binding. Unfortunately, the garage controller and one of my lamps have quit communicating with the controller since the change. I’m trying to fight that battle and then I’ll move forward. If I can get these issues fixed I’ll report back with my current status.
So after hours of laboring…I finally have the test zwave binding working and the opener securely included. I ended up having to uninstall the opener, bring it next to my linux box with the z-stick plugged in and do the inclusion through habmin in order to get security to work. Your three simple questions led me down a rabbit hole that taught me a ton today. Thanks for the start!
I’ve stopped here for the night and I’ll pick up again tomorrow and provide a further update with my findings. Thanks again!
After updating to the newest test binding, obtaining secure inclusion, turning on debugging, and chasing down only one error (which was being caused by the ghost of a forgotten node), the garage door now works flawlessly! Thanks again @5iver for the direction…it was all I needed!
@5iver - you mentioned in the other thread (Security ZWave Binding thread) about using Lambdas now for this device. Care to elaborate or share some of what you have going on? I’m working on re-tooling some rules and simplifying some things. I have a feeling this may be useful to do with this one since I have a bunch of rules to handle things like syncing the state of the switch vs a virtual switch and the barrier position numbers.
Sure thing! The door is controlled through the Switch item, which gets updated if the garage door is manually opened or closed.
ITEMS
Group gGarageDoorOpener "Garge Door Openers" <garagedoor>
Switch GarageAttached_Door "Garage Door (Attached) [MAP(garagedoor.map):%s]" <garagedoor> (gGarageDoorOpener)
Number GarageAttached_Door_Position "Garage Door (Attached) [MAP(garagedoor.map):%s]" <garagedoor> (gGarageDoorOpener) {channel="zwave:device:55555:node5:barrier_state"}
Switch GarageDetached_Door "Garage Door (Detached) [MAP(garagedoor.map):%s]" <garagedoor> (gGarageDoorOpener)|
Number GarageDetached_Door_Position "Garage Door (Detached) [MAP(garagedoor.map):%s]" <garagedoor> (gGarageDoorOpener) {channel="zwave:device:55555:node55:barrier_state"}
DSL RULE
// put this import at the top of your rule file
import org.eclipse.smarthome.model.script.ScriptServiceUtil
rule "Update garage door state"
when
Member of gGarageDoorOpener received update
then
val actionItem = ScriptServiceUtil.getItemRegistry.getItem(if (triggeringItem.name.contains("_Position")) triggeringItem.name.replace("_Position","") else (triggeringItem.name + "_Position"))
logDebug("Rules", "Garage door event: [{}] was updated to {} ({}): action item [{}], current state {} ({})", triggeringItem.name, triggeringItem.state, transform("MAP", "garagedoor.map", triggeringItem.state.toString), actionItem.name, actionItem.state, transform("MAP", "garagedoor.map", actionItem.state.toString))
switch (triggeringItem.state.toString) {
case "255",//open
case "254",//opening
case "253",//stopped
case "252" : {//closing
if (actionItem.state != OFF) {
actionItem.postUpdate(OFF)
logDebug("Rules", "Garage door event: updated switch [{}] to OFF (OPEN) after barrier_state update", actionItem.name)
}
}
case "0" : {//closed
if (actionItem.state != ON) {
actionItem.postUpdate(ON)
logDebug("Rules", "Garage door event: updated switch [{}] to ON (CLOSED) after barrier_state update", actionItem.name)
}
}
case "ON" : {
if (actionItem.state != 0) {
actionItem.sendCommand(0)
logDebug("Rules", "Garage door event: updated barrier_state [{}] to 0 (CLOSED) after switch state update", actionItem.name)
}
}
case "OFF" : {
if (actionItem.state != 255) {
actionItem.sendCommand(255)
logDebug("Rules", "Garage door event: updated barrier_state [{}] to 255 (OPEN) after switch state update", actionItem.name)
}
}
}
My NGD-00Z is now securely included, but the only channel that is showing is the barrier-state. No other channels are available. Has this been seen anywhere else?
Is it not reporting or not taking commands, or both? I think the association will get set after discovery, but you could manually set it to be sure. What do you see in the log?