Device Type Tile Bug


(Jody) #1

@slagle

While trying to modify the hue bulb device type to display the color as the background I noticed a possible bug in the way device types handle user selected tiles

If you have a device type with only one tile available to be displayed on the dashboard like this:

main(["switch"])

And you change it to allow another tile like this

main(["switch", "color"]) 

And you select that secondary tile, you have to remember to revert back to the normal tile if you change device types. Reverting back to the stock hue bulb device type left me with a question mark in the dashboard. So we need to keep in mind that if we add and remove selectable tiles to our device types, this could break our end user’s dashboards. A possible fix for this would be some sort of sanity check in the device type that prevents this behavior.


(Tim Slagle) #2

Good catch man.

I will put this on my list of stuff :smile:

Thanks for reporting it man!

Question: If you add the “main tile” back in, does it resolve it?


(Jody) #3

No. I had to switch back to my custom hue device type and select the switch tile. From testing this bug could pop up if a developer removes or renames the currently selected tile for any device type. When dashboard loads, if the the selected tile does not exist, it just shows a blank tile with a question mark and no gear. This prevents you from going in and changing the selected tile.


(Tim Slagle) #4

Ok, so if you switch the device type to one that has the proper “main tile” options then smartthings can figure out whats up and you get your options back?


(Jody) #5

Correct.

  1. Start out with normal device type that has one main tile
  2. Change to a custom device type with more selectable tiles
  3. Select a tile other than the original main tile
  4. Change the device type back to original or remove the extra tile from main
  5. Go back to the things page and the device will appear as a question mark with no config gear

The only way to fix it is to add the custom tile or custom device type back and then change it on the device config screen.

To me this means that the device is setting it’s “selected tile” somewhere outside of the device type. The dashboard should check for the existence of the tiles and revert to default tile instead of just showing a question mark.


(Tim Slagle) #6

Good info. Thanks!


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #7

Thanks for posting this, Jody!

I went insane the other night as I was developing a custom Device Type for a ThingShield. The Shield is controlling a home theater projector and screen, and I was experimenting with various sub-tiles and candidates for main tiles.

So I ended up stuck with a :question: tile just as you describe. Took me a while to discover the same solution (i.e., attach a different simple Device Type to the Device Instance).