Variable Boolean tile stuck on "Sending..." in Dashboard

During testing, I ran into another bug-a-boo. Upon noticing one of the Variable Boolean-type tiles saying "Unknown" (instead of "True" or "False"), i clicked it. Up came an empty checkbox and a SAVE button. I clicked the checkbox (so it became checked) and clicked SAVE.

But then the tile reads "Sending..." (here's the screenshot) and seems stuck at that. Any clues here as to what's going on?

Chrome (latest) in Win10 (latest). Expecting "True"/"False" drop-down picker.

@bravenel I can confirm, even in f/w .120, that this behavior persists. What's more, I notice that the Dashboard app assigns Tile type "Variable String" to display a hub variable of type Boolean. (That one at least offers "True" / "False" as text options, with a SAVE button beneath, and doesn't suffer from the "Sending..." issue I'm reporting about.) I changed it to Template: Variable Boolean just now for testing purposes.

The underlying hub variable's value happened to be FALSE, but tile's initial displayed text read "Unknown". Clicking it brings up a super-tiny checkbox (it was shown in an unchecked state); checking the box and clicking "Save" results in this unending "Sending..." status.

Inspection of the Hub Variable itself (in the HE UI) shows that it is not being updated to reflect the checkbox's state ... it just stays FALSE throughout.

IMPORTANT NOTE: If you leave the Tile set to type "Variable String" and choose TRUE or FALSE from its drop-down, the underlying Hub variable's value does get updated in the hub UI.

Unexpected / undesired, no?? (It's a large part of why I haven't used Dashboards since my first report back in January.)

I've take a couple of screenshots to illustrate:


Do you see anything in the logs? I have setup a new boolean variable and added it to a dashboard. Changes seems to apply successfully...

NOTE: Related, insofar as it's a side-effect of the current way Booleans are handled in Dashboard, is that it takes 4 clicks (not just one) to toggle the variable from TRUE to FALSE or vice versa.

Click 1: somewhere in tile, to initiate
Click 2: to open drop-down picker
Click 3: to select TRUE or FALSE
Click 4: to click SAVE

Would be nice if this operation were a single-click -- or double, at most, if an "Are you sure?" prompt is mandatory.

I'll look... the Logs show nothing at all to do with that Hub Variable (named TestBool, btw). Do variables get logged?

Just a guess.....

I don't think variable updates do get Logged... but...

Either way, glad you had me look, because it reminded me that the default (Tile = "Variable String") arrangement in Dashboard does update the underlying variable value after choosing TRUE or FALSE (and clicking SAVE). I just amended the bug report, above, to reflect that.

Nice catch.

Yep... That's what I was thinking as well....? :slight_smile:

1 Like

I've seen a boolean variable updated on a tile that presents it as a boolean.

image

Also, I am not prompted for a type for the tile... could that be an earlier version thing?

Same here... when adding a new Tile, the selection is made for me, and that assignment is Type = "Variable String" (which I consider unexpected, though of the options cited, it clearly 'works better' in the sense it at least updates the var).

For testing purposes, as mentioned above, I changed the Tile type to "Variable Boolean" (which I would have expected the auto-picker to prefer, no?) and that's when the wheels flew off the wagon.

FULL DISCLOSURE: I'm interested in modifying such Tiles -- using CSS -- based on the State, i.e. TRUE or FALSE, of the Boolean Tile. Turns out, since neither Tile type -- "String" or "Boolean" -- has a CSS indicator ("style") for one versus the other, there's no obvious way to do things like change color or icon, etc.

Where do you see this? Can you offer a screenshot?

Sure thing... maybe I should have included that with my initial report... In Chrome, you can right-click a Tile and select INSPECT, which opens the F12 menu (as shown in this screenshot), where you can clearly see the Tile's class(es) (among them, "variable-string").

Funny, though perhaps misleading by its absence, you cannot readily find that out by clicking the three-dot menu of the Tile itself. If you do, you'll notice that none of the available Templates are highlighted! Whereas, for things like a "Switch" or "Color Bulb", that selection would be highlighted under "Templates" in each case. At least then you'd know your basic starting point.

Mine also shows in the dev panel as a string, but still shows the boolean options in the drop-down and continues to work as expected...

Not what you want to hear... I know... The "it works for me" response doesn't help anyone...

We're both on the same page, and you'll notice that I alluded several times to how the default arrangement you're showing does "work". It's clunky and a kludge, but it works insofar as it updates the variable. (It still doesn't introduce a binary state one can modify in CSS ... that's a whole other issue, however.)

The central theme to this thread, on my part, continues to be:

  1. Dashboard picks the wrong (string) Template (and hides that fact from users);
  2. The purpose-built Template (boolean) appears to be broken (no var update);
  3. Attempting to use the latter Template causes an undocumented UI hangup;

That sums up my main points nicely.

Hmmm... Not sure I follow, it works for me... granted behind the scenes it may not be exactly what we may expect, in the end the options for me were still True or False and when I selected one of these it updated the variable value back in the Hub Variables screen. If there's something I am missing (quite likely) then happy to see it looked into...

Did you ever change the Template type to Variable Boolean as instructed above? How did it behave then? Does it not get stuck on "Sending..." when you try to control that type of Tile? Shouldn't Dashboard plainly indicate that it initially chose Variable String for you?

I always changed the Tile Type to Variable.... Have you done that?

You shouldn't need to select a template for variable tiles. Sounds like you're using a variable connector, which is a device (and could work if you use a template that sends the right commands but is no longer necessary). Make sure your tile type is Variable, not Device (and that you've authorized the variable in the Dashboard app for use) -- as in the post above mine.

I am able to replicate @sburke781's findings that all works as expected for me.

1 Like

Nope, not there... click the var Tile's 3-dot menu and scroll down here...

Download the Hubitat app