Linear NGDZ00-4 Garage Door

I just went back to my last post in Jan. There are a lot of post so I could have easily missed something, bottom line, barriers are still not fixed in the OZW version loaded from the HA update. Is this correct?

The current OZW version still does not support the Barrier Class. It still requires patching or using the dev branch.

Jumping in mega late - but unfortunately I picked up 3x of these Linear Go Control Z00-4ā€™s for $30 total and after adding the node securely (which gave me the binary sensor and Z wave entities) I then fell in to this threadā€¦ Iā€™ve read through most of it over two days, and still canā€™t figure out if itā€™s possible to branch pdobrien3ā€™s fork here on my Hassio/Rpi 3 setup?

I have SSH and a venv setup on the same network - and canā€™t recall how to terminal in via root/pi user to add the branch or if itā€™s possible/recommended on Hassio. Halp!

or does anyone want to buy three of these?!

If you are running Hassio you cannot do anything thatā€™s in this thread w/o modifying the docker container. I think @hawk259 posted something about it.

1 Like

Quick question. I want to set up an automation that closes the garage door automatically after a set period of time (and no motion from garage motion sensor I have), but only if the garage door was opened using HA. Basically if its opened using this controller either via script, automation, or just tapping the up arrow in the UI, but if it was opened by physically pressing the garage door button, or remote controller, etc I want it to stay open.

Any suggestions? Any way to determine if the state changed to open programmatically?

Have not dug into hass cover platform yet. So take this with a grain of salt.
Is In the Almond+ there is ā€œopeningā€ and ā€œopenedā€ One is when the zwave commanded the open vs the other is when a button is pushed.

The opening/open/closing/closed is based on a tilt sensor for this opener. Iā€™ll double check but, Iā€™m 95% sure that these values will show up regardless of how the door is opened. Definitely the Open/Closed will change regardless of how it opens/closes. But good thinking. This garage door opener is really nothing more than a zwave controlled ā€œmanualā€ button. it ties it self physically into the garage door opener, connected to the same terminals the manual button (on the wall) is connected.

When you trigger via HA you could set an input_boolean to on. Then back to off when the door gets closed either via automation or manual button trigger. :smiley:

So if I go into the UI and click on the up arrow (no automation) what will turn on the input boolean? The problem is if I set the value to on when the state is ā€œopenā€ it would be on even if I trigger it manually, right? If I go the input boolean route (one of what seems like hundreds of them, haha), how can I determine what ā€œopenedā€ the garage door. Automation or script is easy, but not sure about via the UI.

Thanks

Donā€™t use the garage open/close arrows to control the garage. Use an input_boolean.
Then set automation to trigger open/close based on the boolean.
Then use the input boolean for HA UI or automation based open/closed.
If they are out of sync then the door was opened manually using the physical button.

The key is not using the open/close commands for automations.

So you have an input boolean called

  • Garage Door HA
    and the open called
  • Garage Door

You create rules for
-when Garage Door HA switched on then open Garage Door
-when Garage Door HA switched off then close Garage Door

You use the Garage Door HA switch in the UI to open/close the door and it will open/close based on these rules.
You use Automations to switch Garage Door HA switch on/off and it will again open/close the door based on the rules.

If the switch is off but the door is open then you know it was opened manually.
If the switch is on but the door is closed then you know the door was closed manually.

If you only want to ignore manual OPEN then you could add another rule to turn off the switch when door is closed if it is on or vis versa.

Sorry for long explanation but I know this is a little confusing so it takes a little extra description.

Thanks, I get the logic, man. I sure was hoping there was a way without several rules, automation, etc to determine if an cover.open event was sent, or turn on an boolean sensor whenever any cover.open command was sent.

I guess I was more trying to get the capabilities and limitations of HA. My wife never uses the front end, I do. 95% of the time if it was opened via HA (automation, up arrow, etc) I would want it to close automatically if I did not do it myself, after a period of time. 95% of the time I open the garage door from inside of the garage using the button, I want the door to stay open until I close it.

Your solution should work, Iā€™m just getting to the point where I have so many input booleans, etc, I try my best to try to think and see if I really need to add another one before moving forward. Looks like I do. :slight_smile:
Thanks again for the ideas

I just have mine set to a reasonable timer of 15 mins, thatā€™s plenty to unload groceries from the car and what not.
If I plan to have the door open for over 15 mins I just turn off the automation until Iā€™m done.

1 Like

@ptdalen
Thinking out of the box how about
1 - motion sensor near remote. You can even target the remote by putting the motion sensor in a box or tube above the garage button so only motion right in front of the button would trigger it.
2 - pressure sensor attached to pi zerow to detect button was pressed. Over the top but seems like a fun project.

Just coming back to post what I ended up doing. I ended up using a input Boolean ā€œinput_boolean.garage_changed_with_haā€. I turn in on with any garage automation, script, toggle, etc. Always turns on. My automation to auto close the garage door will only run if that is on.

I have another automation that turns off the input Boolean any time the garage door changes from open to closed. Does not matter how it closed, manually or HA. Will turn to off.

I already had most of these automation, scripts, set up, just did a little moving around in the logic.

Is your device a NGDZ00-4? Are you using OZW? If not how are you commanding the door open/close?

Setting Stage:
I have been writing a Component for my Almond+. I have a Linear garage door opener. In fact I tried early on to get it to work with OZW. I have added many post to this thread above :slight_smile: So I was going to give up and switch to Open Garage. Then I learned about Almond+ websocket API. Almond+ has zwave, zigbee, and of course wifi. I just finished writing the cover platform. So now I can use my Linear through the Almond Plus.

Now that the stage is set, take my comment with a grain of salt, since what I am seeing is being reported via the Almond+ API. First it reports the sensor as open or close period. Then when the door is command to open/close, It sends the state of opening/closing. It has a built logic that if the sensor does not report the expected state after some time of commanding the opening/closing, it then reports a state of ā€œstoppedā€. It will not send a open/close command till the sensor has cycled a full open/close. Once that happens, now it shows open/close and will accept states.

Since you are using the input Boolean switch. So if the switch on means open from HA, then if the door does not achieve the expected state in a certain amount of time, you can create a ā€œstoppedā€ state also. Just thinking out loud, what you have sounds like it will do what you want.

But that is why I suggested the ā€œclosing/Openingā€ at first, because that can only come from the door being commanded from the Almond+. If someone opened the door via the button, then when the sensor changed to open, the Almond+ would then just send an open.

I am using OpenZwave. Iā€™ve been using my garage pretty much without any issues for several months. I have a few different scenarios for opening and closing. Also my wife never uses the app to control the garage (or pretty much anything in HA, haha).

For my wife (and me too) I have two IFTTT recepies set up. One of them runs a script. The Script is just this

toggle_cover:
  alias: 'Garage Door Button'
  sequence:
    - service: homeassistant.turn_on
      entity_id: input_boolean.garage_changed_with_ha
    - service_template: >
        {% if is_state('cover.garage_door_opener', 'open') %}
          cover.close_cover
        {% else %}
          cover.open_cover
        {% endif %}
      entity_id: cover.garage_door_opener

I have a button widget set up on her iphone so she can just swipe her screen to the left and push the button. Basically this is the replacement for the old fashioned garage door opener. push a button and it toggles the garage door.

Then I have another ifttt recepie that turns on an input boolean Then an automation that opens the garage when I arrive if that input boolean is on.

- alias: 'Garage Door For person1 when he gets home'
  trigger:
   - platform: state
     entity_id:
       - input_boolean.person1_present
     to: 'on'
   - platform: state
     entity_id:
       - device_tracker.person1s_iphone
       - device_tracker.person1s_iphone_2
     to: 'home'  
  condition:
  - condition: state
    entity_id: input_boolean.open_garage_for_person1
    state: 'on'
  action:
  - service: homeassistant.turn_off
    entity_id: input_boolean.open_garage_for_person1
  - service: input_boolean.turn_on
    entity_id: input_boolean.garage_changed_with_ha
  - service: cover.open_cover
    entity_id: cover.garage_door_opener

I have another automation that will close the garage door 3 minutes after it was opened via HA

- alias: 'Garage Door Close with No Motion for Three Minutes'
  trigger:
  - platform: state
    entity_id: input_boolean.garage_changed_with_ha
    from: 'off'
    to: 'on'
    for:
      minutes: 3
  - platform: state
# Garage Motion Sensor  
    entity_id: binary_sensor.motion_sensor_garage_motion
    from: 'on'
    to: 'off'
    for:
      minutes: 3
  condition:
  - condition: state
# Garage Motion Sensor 
    entity_id: binary_sensor.motion_sensor_garage_motion
    state: 'off'
    for:
      minutes: 2
  - condition: state
    entity_id: input_boolean.garage_changed_with_ha
    state: 'on'
  action:
  - service: cover.close_cover
    entity_id: cover.garage_door_opener
  - service: homeassistant.turn_off
    entity_id: input_boolean.garage_changed_with_ha

This will close the door 3 minutes after motion stopped, or if for some reason there was never any motion at all, it will still close after 3 minutes.

Additionally I had this set up because my wife likes to know that the garage door has actually closed. I also use this now to turn off the input boolean about opened with HA. The notification has worked 100% successfully using the from OPEN to CLOSED. I do get transitions of opening/closing, but have not had to use them yet for things to work

- alias: 'Garage Door Closed'
  trigger:
  - platform: state
    entity_id: cover.garage_door_opener
    from: 'open'
    to: 'closed'   
  action:
  - service: homeassistant.turn_off
    entity_id: input_boolean.garage_changed_with_ha
  - service: notify.pushbullet_notifications
    data:
      message: "Garage Door has Closed"
      target:
      - !secret person1s_secret_email
      - !secret wifes_secret_email
      title: "Garage Door Status"

I did just realize though that as I was typing this, it would still not auto close the garage if I used the UI and clicked on the up arrow to open the garage door, which I like to do sometimes, Again, wife never does, and this was pretty much done for her, she likes the auto close. But, I really only personally like the auto close when opened via automation.

I think Iā€™m going to look closer at these sensors

sensor.garage_door_opener_remote_controller_access_control
sensor.garage_door_opener_remote_controller_alarm_level
sensor.garage_door_opener_remote_controller_alarm_type
sensor.garage_door_opener_remote_controller_burglar
sensor.garage_door_opener_remote_controller_sourcenodeid

I suspect alarm level/alarm type might provide some info as how the door was triggered?

edit: They did not change when opening the garage, so nope.

@ptdalen are you able to use the method in this thread to operate the ZWave Garage controls along with your Schlage Door locks? I recall you mentioning that you ran into issues running the OZW beta so you had to go back to one standard with HASS. Can you clarify?

I did have problems with the schalge locks using the dev flavor of open zwave, but Iā€™ve had great success just using a forked version of open zwave that had the cover support added.

This is what I did in June, and iā€™ve done nothing else since then.
here is my fork (and Iā€™ve made zero changes)

but looking over it, it looks like it is still the same as the one I referenced in the post.

Since then, Iā€™ve updated several times, and have not had to do anything at all.

@ptdalen im assuming you arenā€™t using HASS.io - -correct?