Linear/GoControl/NuTone GD00Z z-wave garage door opener working great in OH3

PRIOR PROBLEMS: The Linear/GoControl/NuTone GD00Z z-wave garage door opener has historically been a pain and never worked the way it should. It didn’t report the door state updates when it physically changed, so you’d never know what the state of the door really was without sending refresh commands. It sometimes sent unsolicited updates every 20 minutes. The state was often out of sync with reality because of this. And therefore it would not always respond to commands properly. For example, it won’t close the door if it mistakenly believes it is closed. You could never use this reliably to truly secure your home because it wasn’t reliable information. You also needed map transformations and proxy items, which is a crutch that magnified the problems.

OPENHAB 3 GREATNESS: I just upgraded to OpenHab 3 and was pleasantly surprised to find it working completely as it should be now! In OH3, it updates the door state immediately upon any physical change. If you open the door manually, the state in OH3 immediately changes to reflect that. If you send the open or close command, the state updates as the door is moving. No refreshing. No waiting. It just works! The proper state of the door is always reported. You also don’t need map transformations or proxy controls anymore!

I do not know what changed in OH3 and/or the zwave binding for OH3 to make this finally work properly, but whatever you guys did, it worked!

EXCLUDE & INCLUDE: You should do an exclude first, even if you don’t think it is included. It might be, and it will screw everything up if it isn’t excluded first. Then you can do the include. Do this with your phone’s browser so you are right at the door ready to push the button on the NGD00Z.

You must do this from the main UI on a web browser. You cannot do this just carrying the z-stick unplugged in your hand because that doesn’t do secure inclusion!

  1. EXCLUDE first. Settings > Things > zwave serial device > exclude devices button. Then press the button on top of the NGD00Z. You will hear a long beep indicating it has been excluded.

  2. Back out to the thing list. Wait for the z-wave devices to come back online in a few seconds.

  3. If you had this as a thing before, now is a good time to go to that old thing, unlink+delete item channels, and delete the old thing. If you didn’t have it added as a thing before, continue.

  4. Press the blue (+) button to add a new thing.

  5. Select Z-Wave Binding, then press the blue Scan button.

  6. Within 15 seconds (don’t delay), press the button on top of the NGD00Z. You will hear a beep when you press the button, followed by three beeps indicating it has been included successfully.

  7. The main UI browser will detect the new device and add it to your inbox. You can select it now, or come back to it later. I always wait a minute or so for it to fully identify the device. Add it as a thing, and give it a useful name. I call mine Garage OH1 and Garage OH 2.

  8. You have now securely included the NGD00Z-4 and it will work in OH3.

THING & ITEM CHANNELS: If you look at the the new thing in the OH3 Main UI, you’ll see two channels. The only channel you need to add an item for is the barrierState channel. The barrierState channel is a number, and the numbers correspond to different states. The Z-Wave binding knows this, and will automatically translate the numbers to words in Main UI. So you will see open, opening, closing, stopped, and closed instead of 255, 254, 253, & 0 respectively. You do NOT need to make a transform file anymore!

My item names are garage_oh1_barrrierState and garage_oh2_barrierState. And each item is labeled Garage OH1 Operator and Garage OH2 Operator. You can name and label them whatever you want of course.

MAIN UI LABEL CARDS: My favorite way to interact with the items in the OH3 Main UI is with a Label Card. It will display the state (ie CLOSED). And tapping the label card will bring up the command options to open and close the door. Your label card should be configured with the barrierState item channel as the item and the action item. You do not need to define the actions as it is all built into the binding and works automatically. To operate the door, you would just select open or closed in the command options pop-up menu.

SCRIPTS & RULES: When sending commands from rules and scripts, you can do it a few ways and it will all work. Sending command 0 from a script will close the door. Selecting command CLOSED from the menu in the Main UI rule builder will also close the door. Likewise, sending command 255 from a script will open the door. And selecting command OPEN from the Main UI rule builder will open the door.

Here is an part of a script that runs when my fire alarm is activated. You can see it’s sending command 255 to the barrierState item for both garage doors to open the doors for emergency egress and access.

  if (itemRegistry.getItem('fire_alarm_switch').getState() == 'ON') {
    // Fire alarm condition when switch changes to ON
    // Unlock the front door

    // Open the garage doors

    // All lights on

1 Like

Thanks for posting this. I had my GD00Z working fine in OH2.5.6-2. It was actually reporting all the door states for me and behaving like it should. I just moved up to OH3 and I had a devil of a time with secure inclusion for some reason. I had the GD00Z right next to the zwave stick and still no luck. I tried every trick I learned from OH2.5. I excluded it, reset the controller, factory reset the GD00Z, went to high power inclusion, etc. It kept including without security. I’m not sure exactly what caused it to finally include correctly, but the last time I tried it included as an unknown device and then I just gave up and needed a drink. After the drink I came back and found it had completed a secure inclusion :slight_smile:

Curiously, I only see the sequence of states (e.g, open, closing, closed) on my phone. On a Chrome browser on my PC I only see the final state. Probably a browser thing.