[RELEASE] Switch Bindings 2.0

In my experience, they do, but then they turn on to level 1 next time, not the previous level like they would otherwise do. This is avoided by using setLevel() to turn them on instead (or, more specifically to the Hue API, providing a brightness value and telling them to be/turn on instead of just the latter)--a workaround it sounds like you're already using. So this might actually work for you.

I should also note that it's possible that different bulb models, firmware, or perhaps even Bridge hardware or firmware versions may affect this behavior, but it's what I've seen on all of mine and has been reported by at least some other people.

Interesting. Mine doesn't do this. They will go from level 100 to level 1 instantly, but not to level 0 instantly, even if turned on via set level. Perhaps I'll look into what firmware I'm running on the bulb and hub.

EDIT: well, looks like I’ve got auto updates on so running the latest firmware…

Just wanted to say that this is now my favorite app. I've replaced several rule machine apps with switch bindings now (I turn on entertainment devices when their corresponding Harmony activity starts) -- so clean and easy. I just wish I had found this earlier!

Thank you.

3 Likes

First thanks for such a useful app! I have a couple places in the house where I'd love to have had a pair of switches control the lights, and this provides the bridge to make that happen.

Can I request a way to make a Binding conditional? I've encountered two areas where this would be useful:

  • I have two switches which are bound during the daytime, but operate independently (actually, one turns on and one stays off) at night. I currently have a Rule Machine rule that conditions on the Mode.
  • I've been debugging weird behavior in a Scene Transition, and found that disabling the Switch Binding between devices involved in the Transition makes the behavior work properly.

(Though admittedly, the latter case is probably better solved by removing one of the devices from the Scene and letting the Scene treat the bound pair as a single device.)

Hi Joel -
I'm trying to use an RGBGenie zigbee remote to control a leviton zwave dimmer plug. It seemed that your switch bindings app was a good way to do this, but perhaps I'm misunderstanding the intended use case (I have previously tried Device Mirror Plus , which worked but with long delays sometimes). Unfortunately, I'm having the same issue here. Sometimes the leviton devices respond fairly quickly, other times there are delays as long as a minute. Dimming is worse than on/off but neither is consistently rapid.
When I control the dimmer via Hubitat device page the responses are quite fast ; similarly, I can see the button presses on the remotes right away. So the delay seems to be getting from the remote to the dimmer.

Any thoughts? Any parameters to change that might improve this?
Thanks,
Michael

Joel - would you expect this to work with an RGBGenie wireless zigbee remote ? I'm getting inconsistent results in an inconsistent way. I've bound a child device from the remote (dimmer) to a zwave dimmer outlet (leviton). Sometimes it works great, sometimes on/off works but not dim, and sometimes it's completely unresponsive. I can't really make sense of the differences so far.
I wanted to confirm whether a remote of this sort with a driver that assigns each group control to a child device dimmer at least should work.
Also - I was looking for documentation on the settings in the app - what is the reason for setting one of the devices as a master? If you choose a master, but don't limit the communication to one direction - what are you effectively doing?
Thanks,
Michael

So I have an intermittent issue. I have two switches, once is ZWave the other is Zigbee bound to each other. One switch connected to the actual light (ZWave), one which is not physically connected to any light (Zigbee), its only purpose is to control the ZWave switch. When I turn on the Zigbee switch it will turn on the ZWave light and then the light will immediately turn itself back off. I have to then turn off the Zigbee switch and back on at which point the ZWave light will turn on and stay on. I turned on debug logging to see if I can catch what is going on but have yet to have it duplicate since I've turned logging on.

This app should have been one of the built-in apps...
I was using the Mirror app to sync up devices, but Switch Bindings is much easier and cleaner, and doesn't run into infinite loop issues when syncing.

6 Likes

I agree ! Just found this great APP thanks : jwetzel1492
Works Really Well !

1 Like

I just installed Switch Bindings using Hubitat Package Manager and it doesn't show up in the Apps list. When I look in the Apps Code section, both Switch Binding Instance and Switch Bindings are listed.

Installing in HPM means you installed the code. To install the app, choose Add User App from the upper right part of the Apps page.

2 Likes

Thanks, I haven't added a user app in a while and forgot about the extra step. I was able to eliminate a bunch of Rule Machine rules using Switch Bindings. Great app.

2 Likes

Switch Bindings 2.0 Release!

Today I release Version 2.0! This is a major overhaul with some great new features. (Thank you for the suggestions!)

  • Toggles to let you choose which attributes/events to sync
  • Syncing of Held/Released events on dimmers and switches. For example, it can start ramping the other dimmers up/down as soon as you hold the paddle on another dimmer. You don't have to wait for the Level attribute to update at the end.
  • Now can sync Hue, Saturation, and Color Temperature
  • Includes a fix specifically for supporting Hue smart bulbs
  • Miscellaneous bug fixes
  • Refactored code for cleanliness and readability
  • Full unit test suite, to ensure quality control while adding new features.

If you already installed it with Hubitat Package Manager, just run an update. It can install over the top of Switch Bindings 1.x without issue.

10 Likes

Nice, I had been meaning to work on this app myself but never got around to it. It was working just good enough with my fans to not bother me that much though. I really liked the features on the "Mirror Plus" app which I also tested, but similar to the regular Mirror app it is only one-way. Best thing about Switch Bindings is that it does a 2-way sync.

Will let you know if I find any problems with it.

Thanks! I've got a new unit-testing framework that makes it a lot easier to do maintenance and feature adds. (Don't necessarily have to re-test EVERYTHING on physical devices anymore.) It's making me a lot more open to adding features for others, where before I only added features if I needed them myself.

2 Likes

If the fan issues can be described clearly, I'd love to hear about it. I of course don't have every fan controller on the market, but I do have both GE Enbrighten fan controllers and some SonOff iFan04s (flashed with Tasmota). They each have their idiosyncracies, so I may just not have tested a situation exactly like yours yet.

Well this is actually now a new issue. I am syncing a Bond Fan to a (custom) virtual fan driver.
The Bond driver does not use the Level so I disabled that in the new app.
When I turned on the Bond device using "on" first it set the speed but then it also set the level to 100 which then looks like the fan is high, but it is not.
The virtual fan driver is based off of yours but I made some teaks to it a while ago.

Maybe if I turn off the on/off binding and only do speed it would still work correctly and less things for it to sync up. The drivers themselves should set the on/off based from the speed changes.

Bond:
image

Virtual:
image

Yes I’d try disabling the on off syncing. I can investigate from my side. Do you have links to the two drivers you’re using?

Ok yeah I see what happened. I have a bit in there to deal with an edge case, but you have a different edge case. Let me see what I can do.

Turning off the on/off sync works and is more efficient since it is only syncing the one attribute.

Here is my modified virtual fan driver. Hubitat Enhanced Virtual Fan Controller · GitHub
The other driver in use is the "Bond Fan" system driver.

Logs with only fan speed sync enabled.