Doh! Now I understand better… the problem is with the “Off” event detection, because of the delay in dimming from any “on-like” level (non-zero) to zero when the state query is sent out as you describe.
Well: I ran the same tests as yesterday, this time modifying “Notify Me When” to subscribe to “.off()” rather than “.on()”. I set one of my Remotec dimmer outlets to 100% to ensure the longest possible dim-to-zero/off time: Result: Still good – The method called from the .off event subscription is fired immediately when I press the on/off toggle (The method, in fact, is called long before the light has finally dimmed to zero).
So for this example, the possibilities remain:
(a) this Remotec dimmer switch outlet has licensed or is violating the patent.
(b) the patent does not apply (because it is not a wall switch?).
© the switch is only sending a “something happened” event (as permitted), and yet responds to the follow-up status query with “off” even though the dimming process has not yet reached zero.
I wonder how to find out? These outlets are from eBay (link below), so I suspect they are clearance / surplus stock of a discontinued product. There is actually a decent probability that this model was discontinued BECAUSE it violated the patent and was forced off the market! Again… wonder how to find out?
Two points of interest I’d like to point out regarding the behavior of these Remotec dimmer outlets (which may be common on others as well?):
- The setLevel method actually takes two parameters, but I have not found the second [optional] parameter documented in SmartThings docs: setLevel( %, [x] ). For these dimmers, it turns out that "x" tells the switch how slowly to change to the specified level (i.e., how slowly to dim or brighten). IF x=0, the new level is set instantaneously. Larger values slow down the process. I think I discovered that x=10 resulted in a speed resembling the default.
So here’s a question / challenge: Is is possible that the default Level change delay can be pushed as a saved configuration parameter to the Device? In other words, for any dimmer switch with this speed of dim/brighten behavior, can the default slowness be changed to 0 (instant on / instant off)? If so, then this would likely solve your use-case, right?
If the speed cannot be saved into the physical Device… too bad, I guess… HOWEVER; when SmartThings adds “Device Parameters” to the ecosystem, I will request that “default dimming speed” be offered as a parameter for all dimming devices. This default level would then apply to all setLevel(%,[x]) commands that do not explicitly specify a value for x. Again: This will not be applicable when the switch is touched physically, as that depends on the physically internal default set speed (which, to repeat the previous paragraph, hopefully can be overridden somehow…).
- Due to the smooth (i.e., slow) dim/brighten time of such dimmers, an unexpected risk exists. My dimmers define the Level to use for an "on" event to be the same as the Level was at the time of the last "off" event (i.e., the switches remember what Level you previously set them to before turning off). This is convenient, compared to switches that always start at 100% (my old X10 switches, ewww). This "defined Level" can be manually changed by dimming or brightening the switch physically, or through code or UI, before turning it "off".
What is the unexpected risk? If a SmartApp issues an “off” command too soon after the switch has been turned “on”, the dimmer may not have reached the expected saved brightness Level yet (as it slowly brightens to the saved Level…); and, at least in the case of my dimmers, this causes the switch to update the new default Level to that unfortunate half-assed Level. Actually, I think this behavior is intentional – by design: The same behavior is exhibited when pressing the physical toggle on/off button. This permits the User to change the new default Level of the light by tapping the button during the dimming/brightening process at the point of desired brightness (presuming the process is slow enough and the User fast enough for this to be useful).
Finally: Where did I get these wonderful and inexpensive Z-Wave Remotec dimmers? eBay.
Here is the link (the seller ID is “electronicfactory”, in case the item number expires): http://www.ebay.com/itm/2GIG-Z-wave-Light-module-ZDS-100US-Plug-in-Dimmer-2-gig-z-wave-/300931490677?pt=US_Surveillance_Security_Systems&hash=item4610ea2375
They are listed with a good Buy-It-Now prices; but I encourage you to make-an-offer or otherwise negotiate if you are buying several.
PLEASE: If you or anyone reading purchases these based on my referral, please do me a favor and tell the seller that I sent you: Just mention this in your payment notes, giving my eBay ID: 9t9sales and email prefix: tgauch. I really appreciate that – I have not been offered a referral bonus, but perhaps the seller will offer me a free unit or something.