Custom command appears unsent unless Watch Attribute invoked

Color me puzzled over this…
I have a Device Tile linked back to a Switch on HE, and the selected Tap action is “Toggle On/Off”:

The issue at hand is that, if I leave “Watch Attribute” set to “None”, then the Switch remains OFF no matter how many times I tap the Tile. If I change “Watch Attribute” to “switch” (as one normally would, I suppose), the Switch toggles On and Off as expected, as evidenced both on its detail page in HE as well as the Tile itself reacting appropriately.

Am I going nuts here? Or do I not understand the relevance of “Watch”?

Update: I decided to record myself tapping both types of tile, going a bit fast, but the one on the upper left has Watch enabled while the top-middle one doesn’t. Note the difference in responsiveness?
Link to video:

Part of the reason why watch exists is for when you are cloud connected, and the app really should wait/watch what is happening before sending an on or off. Eg the time it takes for the first on to be send (via the cloud) for the hub to action, the device to respond, update it’s internal state of attributes, the hub to update its state and then report that as having occurred etc. all before the mobile phone app “allows” the next state to be set and make tapping available again for that tile.

It’s a different set of circumstances when locally connected - you can pretty much assume in the milliseconds between taps that the sequence has occurred.

1 Like

Ok, I’m officially declaring this to be a BUG situation in 1.4.3 build 14100… see if you can replicate it on your end (in Win app, for now):

  1. Create two copies of a Device tile linked to a Virtual Switch on HE.
  2. Set one TIle to issue a Tap > Custom Command > toggle (Watch = none)
  3. Set the other Tile for a Tap > Toggle On/Off (also Watch = none)
  4. Give both a Style Override to distinguish the switch attribute being On or Off

For me, tapping the Tile from (2) reacts as quickly as I can physically tap/click the Tile. Whereas the Tile from (3) remains Off regardless of how often I tap/click it!! (Confirmed on HE side watching Switch’s detail page.)

Most vexingly, if I modify the (3) Tile such that it does Watch = switch, guess what…? The device toggles on/off just fine. Whaaaa?

This is correct. Working as designed. It is not a bug, other than if you claim that failing to stop users from doing silly things is a bug.

Feeling obtuse here so please don’t hesitate to enlighten: What’s the silly thing being done?

My central objective for this series of tests was to see which setup just worked fastest. Thought I was on to something for a minute there…

Sorry… depends on what you’re calling a bug.

If you setup a tile to use Toggle On/Off and refuse to set a watched value it won’t work (ie set it to none).
That’s as designed and the only issue is that I don’t warn the user for doing that.

Did I miss something?

1 Like

Then why does it work so wonderfully when I set up the Tile to issue the command ‘toggle’ (which until yesterday I didn’t event know was a viable command, as it’s not documented on HE) without Watch being set?

Custom Commands cannot use Watch because I don’t know what the ValueTo will be (unlike the other hubiVue managed Actions). So if you set one (for custom commands), it will fail. This is the problem when you add more flexible features - I now need to protect from bad decisions and errors. So the challenge is that with more power comes more responsibility.

I’d vote for greying out “Watch” whenever “Custom Commands” is selected, and also automatically set Watch appropriately (or at least eliminate “None” as a choice) when one of your pre-packaged Commands is selected. (Does this mean Watch is superfluous as far as the UI goes? No, not in the latter case.)