[RELEASE] Zooz MultiRelay (ZEN16)

@thesmartesthouse @krlaframboise

A shout out to both of you for the amazing customer support regarding the ZooZ multi relay! This Device is one of the more powerful Zwave devices I have yet to find. It would have made for such an easier solution for few of my hardest to design Smart Home use cases so far and I am already looking forward to using it to replace some Fortrezz devices who just cant seem to be able to figure out how to design a Device Handler to work in the new App.

And after sitting on it for a day, for the people like myself who would disable one of the switches and use it as a contact sensor, WebCore does not even care what kind of a device it is looking at when using conditions built into Pistons. As far as I can tell It will work fine in any WebCore Piston to monitor as a contact sensor.

Once again, great product, great customer support and Kudo’s to both of you.

1 Like

Hi again. Just tried using the Zen16 in my garage using your Garage Door App. I am using the #2 relay as the actual open/close door relay and using the #1 switch to send on/off messages to the Hub which I have then created a virtual contact sensor in the IDE and used Webcore to link the virtual contact to #1 switch to use as the garage door contact sensor (which is already installed and tested. Works fine)

The problem is that using the new Smartthings App I tried using the Garage Door App to create a new device and it did not work. It goes through the entire process in the App - you can name your garage door, select your relay, select your contact switch, etc. At the end of it all it looks like a new garage door device was created within your Garage Door App, but when you go into the list of your devices it is not there.
I then tried to delete the garage door opener I had just created by clicking on “Remove all Garage Doors” in the front page of your App but that does not work. The only way to delete the garage door opener is to go one more layer into your App - into the garage door opener you created and click on the three dot menu at the top right. That did work to delete it.

I then went to the Classic App to see if I could create a device there from your App and it did not work as well. Though there is a banner that Smartthings put in the Classic App in the last few days that says “You can no longer edit or or create features from here”

Not sure if this is just a transition issue within the Smartthings migration to their new App or if some code needs to be tweaked on your side to get the Garage Door App working in the Smartthings new app but let me know.

Thank you,
Marc
.

Have you been able to create any garage door devices after programming them in the SmartApp or is that the first one?

As mentioned in the programming instructions, there needs to be a special device handler installed as well for the app to create a new opener device (this needs to be installed as a handler, on top of the existing custom handler for the ZEN16): https://raw.githubusercontent.com/krlaframboise/SmartThings/master/devicetypes/zooz/zooz-garage-door.src/zooz-garage-door.groovy

I agree with @TheSmartestHouse, it sounds like you don’t have the custom garage door handler installed, but if that’s not the problem then open Live Logging, attempt to create another door, and post the logging results.

And I cant believe you both expect your customers to follow directions. :roll_eyes: :grimacing:

My bad. All is good in the world. Everything works as expected and in the new ST App.

1 Like

It probably doesn’t help that the info on that SmartApp is buried in this topic instead of having its own…

@krlaframboise;
Thank you for your code. I have downloaded it, and published it. Then integrated the MultiRelay. In the Smartthings app (new version), only the Z-Wave Multichannel appears without sub-relays. I intended to use it to turn on and off some 12 volt lights. When I toggle it on/off from the Smartthings app, all three relays close/open. What am I doing wrong?
Thank you.
Pierre

The handler has to be published before the device is joined.

If the child devices don’t get created during inclusion then open up the settings screen in the mobile app and change a setting which will force the update method to execute.

The child devices won’t necessarily have the same name as the primary device because of the timing of their creation. If you open the parent device in the IDE you should see the names of the child devices near the bottom.

Kevin, I think I got it, I have two hubs in two different location (one at home and one on my boat), I publish it on my home location instead of the boat. Will remove the device, publish the handler, and re-add the device.
Thank you for your help.

1 Like

Just got in my Zen16 and plan on replacing my garage door controls which currently rely on Konnected and webcore. I am using SW1 for a dry-contact sensor. That works fine. However, I can manually turn on/off SW1 from the App which then means the dry-contact sensor reading isn’t correct. Is there a way to disable the ability to manually turn on/off the switch via the App (i know it’s supposed to be a switch not a sensor). I’ve tried making a change to the device handler but the changes I make don’t seem to make a difference. I’m most likely not as smart with device handlers as I thought.

If you’re trying to do it for all of the relays then just put // in front of lines 348 and 363. If you also want to prevent it in the parent device then you’ll need to also add that in front of lines 327 and 333.

If you’re only trying to do it for a specific relay then wrap those lines with an if statement like the example below which would only prevent relay 1 from being turned on/off.

if (endpoint != 1) {

}

@krlaframboise or anyone else:

I had this multi-relay setup last year for my fireplace and working flawlessly. I had 1 of the child devices activated and named Fireplace and was able to control it just fine all winter long. The device stayed plugged in all year even though it wasn’t used in the spring and summer, however when I tried to use it again to control the fireplace today for the first time this year all I got was the cloud with line through it icon in SmartThings.

I went into the IDE and updated the device handler to the latest version which is 1.3.1 I believe and that ended up creating 2 more child devices for the other 2 relays that I hadn’t enabled before. My 1st relay still stayed as my old fireplace named thing. I still can’t get that one to work individually. If I turn the Multirelay (main device) on and off it will work and turn on or off all devices. However if I try to manually turn the Fireplace relay on or off it doesn’t even give me the option. I also noticed that the device ID is slightly different naming convention on the Fireplace relay vs the new relays that were created today when I updated the DTH.

MultiRelay - 5A
Relay 1 (Fireplace) - 5A-EP1
Relay 2 (unused) - 5A:2
Relay 3 (unused) - 5A:3

To make things even more confusing, I have all of my SmartThings devices connected to HomeKit through Homebridge and the Fireplace relay works there just fine without any issue. This makes absolutely no sense to me as I would think that it’s just calling back to the SmartThings device that’s not working in it’s own app.

How can I get relay 1 to work again via app? I need it to work there so I can control it through Google Assistant. Hopefully not excluding and including as I have a whole bunch of automations tied to Relay 1 that I don’t want to have to recreate.

Zooz received some complaints about there not being child devices because users didn’t realize you need to enable them so I removed those settings and made it always create them. You can manually delete them and it won’t create them again unless you go into the settings screen.

All my handlers with child devices included the “componentLabel” attribute when creating them even though “isComponent” was set to false and that didn’t cause any problems in the Classic app, but in the new mobile app it prevents the child devices UI from sending commands to the parent.

I’ve fixed that in the latest version of all my handlers, but it can’t be fixed for existing child devices so the only way to fix the problem is to delete that child device and save the settings screen which will create it as a new device.

In theory, if you change the broken child device’s network id instead of deleting it and then save the settings screen in the mobile app, it will create a 4th child which will allow you to swap the device out in your automations instead of having them break, but once you’ve done that you’ll need to manually delete that old child.

Thanks! I was able to figure it out. Appreciate the quick response.

1 Like

I recently purchased ZEN16 and set up the relays as ‘momentary switch’. Unfortunately, it didn’t work as I expected.

What I have to do to make it works like other momentary switches?

What behavior are you expecting and what is it doing instead?

Like any other momentary switch, press to turn on the relay and auto turn off right away after that.

When the inputs are configured as a momentary, activating the input turns it on if it’s off and turns it off if it’s on because that’s how a physical momentary switch works.

For the behavior you’re looking for you have to set it as momentary and set the auto off setting to at least 2 seconds.

After you’ve saved those settings turn the relay off from the hub if it’s on and then every time the relay turns on it will automatically turn off afterwards.

1 Like

Worked perfectly for me with my garage doors.

1 Like

It looks like someone had the same issue as me earlier on this thread, but that was with a lower version of the code. I can’t tell the firmware version of my unit.

I followed this guide (https://www.support.getzooz.com/kb/article/369-how-to-use-the-zen16-multirelay-as-a-garage-door-opener-on-smartthings/), at this time the handler version is 1.4.
Whenever the relay is added to smartthings, there are no child relays.

I have excluded and included the device a couple times and get the same result of only having one device with no children relays.

Any help would be greatly appreciated.