Oh, I misunderstood what you were requesting. I read into it too much, you’re just asking that the redundant presses have the option to not toggle but just perform either on or off functionality. I was thinking you meant that you just wanted to link various other switches/lights to every on/off press of the main switch (what Smart Lighting and formerly Big Switch did).
That’s something that could be implemented. The reason I didn’t think to do that is just because I made this app for my own particular use case which was just to be able to toggle a GE Link bulb in my living room. The type of functionality you requested would really only work with regular switches and not dimmers due to the issues I mentioned earlier (and in the OP) with how dimmers behave when being turned off (i.e., you’d have no way to turn off the hard-wired lights without the linked lights turning off as well). The nice thing with leaving it as a toggle, is that toggling at least gives you a means to “correct” any unexpected behavior that may occur (like a remote light turning off when you didn’t want it to), whereas with discrete operations if something doesn’t work right, you’re kind of stuck.
Haven’t had a ton of time to look at this app but I’ll definitely keep this in mind when I get around to revamping it a bit!
Question, I’ve read the entire post here and still a little confused. I love the idea of this app, but it only seems to work for me on the master switch, which unfortunately for me was not able to be put in a convenient location (3 way switches). I was hoping that the slave switch in my kitchen could be used to turn both kitchen lights on by double tapping the slave switch. Is the app capable of doing this? I’m using GE 3 way z wave switches.
Thanks for the quick reply. Are there any apps that will work with slaves that you are aware of or is this a hardware limitation? The way my house is wired I can get the masters where I want them so I’m stuck with a bank of 3 slave switches in the main part of my kitchen that I’d love to use for double duty.
The slaves only communicate with the main switch, not with the ST hub, so yes, hardware limitation. I am in your situation for my hallway lights on second floor. 3 slaves and the main switch is at the bottom of the stairs.
Has anyone else seen spurious “on” events triggered by this app? Is it even possible for an on event to happen from anything other than a physical pressing of the master switch?
I seem to have random “on” events that turn on a GE link bulb (which I"ve mapped to redundant presses of the master). Checking my IDE log, the “on” command does come from the double duty app instance - but I’m sure no one physically touched the master switch at that time. I’ve tried switching to a different link bulb, but the same thing happens (different/random times).
The master switch is a simple (non-dimmer) switch - although the secondary GE link bulb does have dimming support.
The inadvertent “on” behavior is sufficiently frequent that I may not be able to use the app, which seems otherwise to be a great idea.
I can also confirm this. I have two installs of the app, one using redundant off and another using on. My on will trigger usually fire on the first press though and sometimes it will take two like it’s supposed to. I had to delete the off install as it was also triggering on its own.
I have a slightly modified version of the first iteration code installed. I use it with a GE in-wall switch with the standard SmartThings device type code. I have never had a spurious event for either on or off. I often have to press the button twice to get an event. I.e. if the switch is off, I may have to press the off side twice to get the lights to toggle.
It takes very little time and has zero risk to try. Everyone has slightly different results based on things that are out of my control (i.e., the way either devices send or ST reports events). Worst case scenario is you don’t like it and uninstall it
By the way, are there any fellow developers that might have a suggestion on how to filter out “phantom” events? The problems people are having with this app are that ST often reports multiple events even though only one event occurred. For example, if you press “off”, when the master was on, ST will report the “off” event as a physical event – OK – but then ~10 seconds later will report another physical “off” event – and that’s what causes “phantom” events, because there’s no way for Double Duty to know whether it was a “real” duplicate event or not.
I’m not aware of any way to handle it because the second event, despite being virtual, gets reported identically to the first. I noticed it started happening with “on” events sometimes too. If anyone has any ideas I’m all ears, I’d love to make this app more reliable! I fear that this is a platform/device problem and not the app though.
Of course I jinxed myself. We had a spurious on event last night after midnight and it woke the spouse up :(. I’m not sure if we had a brown-out which caused this, because my Raspberry PI sent me an email at the same time…
I did some more extensive debugging tonight. I logged every property of every event that gets reported to Double Duty and, sure enough, there are “phantom” events that get sent from certain devices that are completely indistinguishable from the real event. They do get reported as a separate event though, so I can’t even do something like log the event ID and ignore duplicates
It’s really a shame because I feel like this is such a simple but handy application. I am still using it at my house, but my recommendation is that you use only either on or off presses on a particular master switch, not both. At least if you leave one of the two “dead” then you have ways to offset these events. For example, my track lights “on” redundant press toggles a corner lamp. If I turn the track lights from off to on and it sends a phantom event causing the corner lamp to also turn on, no big deal I just use another redundant press to turn it off. Or, if I want to keep it on but the track lights off, I can then turn the track lights off safely since I have no behavior attached to “off” presses.
tl;dr: There’s nothing that I can do to make this app work better, it is written correctly. This is a device/platform limitation/bug causing this. If you continue to use this app I would recommend only assigning behavior to either “on” or “off” on a master switch, but not both. This way you always have recourse to “correct” any odd behavior
I installed Double Duty today, discovered the same phantom events, and went through the same debugging steps everyone else has. What I see is that without touching my switch, I am getting an event reporting as isPhysical=true. Example from the log:
36b71d89-fa02-4ff3-8091-a13f7e9c1e22 7:19:09 PM: debug evt.isPhysical is true
36b71d89-fa02-4ff3-8091-a13f7e9c1e22 7:19:09 PM: debug The source of this event is: DEVICE
This switch (the master) is a GE12722 “Z-Wave Wireless Lighting Control On/Off Switch”, although it sounds that others have different switches that are exhibiting the same behavior.
This appears to either be a common device error (re-sending the same switch state and reporting it as isPhysical) or a smartthings bug. I’ll send a support email.
Hi, newbie here…
I tried this on a 2gig WD500Z switch and it doesn’t seem to work. I added a debug log as the first line in switchHandler() and it’s called when I turn the switch on or off (so when there is an actual state change), but it doesn’t seem to be called on the second press of the switch when an actual state change doesn’t occur. Is this something that I can change the behavior of by using a custom device handler, or is this happening within the device hardware itself and I have no control over. Do I need to get a different switch type?