Any updated Garage Door DTHs out there?

So for years now, I was using Patrick McKinnon’s garage door opener DTH - combining an LFM-20 Z-wave relay with a SmartThings Multi Sensor to build a custom garage door opener solution with a standard opener. Details on that SmartApp are here: [RELEASE] Ridiculously Simple Virtual Garage Door

But now that I’ve finally moved over to the new SmartThings App after finally being able to clean up all the other custom automations, devices, integrations, etc that I have - this is the last thing that still doesn’t work. The original author has abandoned it, which is fine - it’s super old. But are there any other, modern, working solutions out there?

This SmartApp just basically created a virtual garage door device by asking for an actuator (the LFM-20 configured as a momentary pushbutton) and a sensor that detected open/closed. The ST Multi has a specific garage door mode that detects axial configuration between vertical/horizontal that’s ideal for this scenario.

Honestly, I’m not sure if it would even be so hard to update this existing SmartApp to work properly - it seems pretty simplistic, but I don’t know what exactly about it is malfunctioning.

Anyone have any tips or leads on a replacement? Thanks in advance!

What issues are you having in the new app? I’ve been using the same SmartApp with a modified DTH. BY adding
vid: “generic-contact-4”, ocfdevicetype: “oic.d.garagedoor”,
to the metadata will allow the UI to show the contact sensor and the switch. It isn’t pretty but it works for now…until they shut down groovy.

Ugh, don’t even joke - is there really a plan to shut down groovy? That would be a total dealbreaker.

The issue is basically that the virtual device doesn’t respond any longer. The virtual momentary z-wave device is showing up as a sensor for some reason (have changed the DTH for it multiple times and this is always what happens). And, for whatever reason, the virtual garage door shows activity that isn’t happening, and activating the switch on it does nothing. It also shows two ‘Doors’ in the device details, which I assume are the app interpreting both the acceleration and the open/closed sensor as different devices, or something.

Adding some terrible screenshots with markup to illustrate better :joy:

I opened an issue on @pmckinnon repo on this so just tagging here to crosslink, will put this in the GH issue as well

Mine looks similar

I don’t think the issue is related to the new app. Sounds like the virtual state is having issues syncing with the state of your sensor. Given that the multipurpose sensors are notoriuous for going offline, can you confirm that it is still functioning as expected.

Good point, but the sensor itself is working as expected. When I manually raise the door it registers open as expected. Actually, if I use my ST:Homebridge integration to control and monitor the door through HomeKit it is working properly (open/close commands work on the virtual device, status is reflected properly) - so that actually leads me to think it is in fact something in the new ST iOS App as opposed to direct API level functionality.

Oh, super interesting though. There’s a direct correlation between the Multi Sensor registering “Vibration Detected” (it’s pretty windy out today) and the virtual garage door device deciding it’s opening/closing. That makes a ton of sense. What doesn’t make sense is why the power button on the virtual garage door device doesn’t respond.

Interesting update #2: I did some hacking around just now and actually think I have the problem actually narrowed down to the Z-Wave Virtual Momentary Contact Switch DTH. It’s a virtual device type I’ve attached to the LFM-20 which is a standard on/off relay. The virtual momentary DTH has a “pushbutton” that turns the relay on for a moment, then back off again. It appears to be exposing that virtual pushbutton as well as the standard on/off switch. The virtual garage door opener must be clicking the wrong thing. If I manually actuate the momentary button the virtual garage door opens/closes and reports status properly. This is helpful info.

Maybe a partial red herring; the momentary virtual z-wave device actually works as expected, what seems to be happening is that virtual garage door has two “buttons” inside it - the one being exposed on the main tile doesn’t do anything. There’s a second one buried inside the device that actuates things normally. Now I’m trying to reverse engineer what’s here to figure out why there’s two and how I switch which is primary. But it is far from clear to me how.

It appears that there is no implementation for the garageControlHandler(evt) method in the smartapp, which is triggered by the door control events, so only the switch events from the virtual device will send commands to the actuator.

In the new app, the device details are based on device capabilities (and metadata like vid); it doesn’t use the tiles defined in the DTH.

Oh, thanks - that’s interesting context. I’ve been reading through the v2 developer docs but they’re a little… uh, sparse. I don’t suppose you have an example of how to implement that in this setup? :joy:

One other option is the Virtual Garage Door Controller:

Thanks! I’ve seen that, but TBH the pricing structure has kept me away. I’m all for paying for value received (I work in OSS myself) but the flat fee to get access to everything doesn’t appeal, since I reviewed the list of available options and the only one I really would want is this single DTH/SmartApp and until now I’ve had a F/OSS option that worked perfectly. If there was an a la carte option to buy just one or two for a smaller fee, I’d do it!

Have you made any progress here? I’m a rookie coder at best but I can usually piece stuff together, my problem is I can’t find too many good examples of working code. Maybe you and I can figure this out together - I’d love to get mine working as well.