[Updated] Super Tile - Icons have arrived! :)

So I cannot directly change from DeviceAttribute to Text but I need to go firstly to "Click to Set", then save line and child app, then re-enter and change to Text, that's correct?
I think it should be highlighted in documentation, otherwise there could be lots of zombie subscriptions.

I've done it but it's still false, if it's just a graphic issue then I'm not really worried about it

According to the app, Line 4 c should be device 12. But in the logs, it's device 11. (I could be very wrong)

Let me check line 4c
BRB

Did you originally configure line4b to be the device attribute?

Yes, probably. It's not in the text boxes though (I've checked there are nothing in the other drop down boxes)

I think it's retained the setting.
It shouldn't be an issue as it's not selected anymore.
I'll have a think about that.
I would still recreate the device and the child app.

Looking at the app code:
if(state.line3aVal == " " && state.line3bVal == " " && state.line3cVal == " " || state.line3cVal == null ){state.line3Done = false}
I have state.line3cVal == null because there I have a DeviceAttribute that hasn't been updated yet
Don't know why it's checking just for c null

I need to look at this code.
I originally coded the app to have 3 columns not 4.
Then added a 4th at my beta testers' request as they thought it would be useful.
I see now that when I added the 4th column, I did not complete the code for the 'Configured' statement.

Test code I left behind

I'll look at this and get it sorted out

1 Like

Re-importing your update and opening the child objects affected worked.

Thanks!

1 Like

I had this explained to me and it's not exactly simple.

default is isStateChange: false in which Hubitat will compare the current value to the previous and save the new if different and set isStateChange: true and process the change as an Event.

Let's say a device sends an Off, then an On Then On, On. All of it with isStateChange: false or blank. (Off just sets the base state in this example.) With the first On, the change will be detected and isStateChange: true and the DB updated and any subscribers of the event will be processed.

The next On and the one after that will not be detected as a change and no DB update and no subscribes will be processed.

The same sequence (Off, On On On) with isStateChange: true will again detect the change on the first On, will again (redundantly) set isStateChange: true and will process the change and the DB updated and any subscribers of the event will be processed. so... the same. True or False it processes an actual change the same way.

The 2nd and 3rd however ignore the no difference check and the DB will be updated and any subscribers of the event will be processed.

Therefore the use must be dictated by the subscription intent. If you use isStateChange: true and then do nothing with the 2nd and 3rd On, then you're just filling up the DB for no purpose.

If however you MUST process each event, then the DB filling is just a side effect, because the processing of subscription is critical.

There's an alternate method of doing this I was told...
when you subscribe to a device you can add an option of 'filterEvents=false' which ignores `isStateChange'

Since Andy says he needs it for the future wonderfulness he will provide, he could use the alternate method.

I hope I explained it and NOT just made it more confusing.

3 Likes

Version 1.0.2 of the child uploaded with a couple of bug fixes.

1 Like

Does this character limit pertain to the data returned by the attributes selected as well as the text you add? I'm thinking of making a Tile for all of my Sonos rooms with status and trackDescription but the track description is the name of the track playing so this could easily be very long per speaker. I could try this but thought I'd get your input before I accidentally slowed my system to a crawl by doing it or something.

Thanks.

Thanks.

Dashboard 'protects itself' if you send too many characters, it coughs up a "you sent too many" message :smiley: (not exact wording :slight_smile: )

Thanks

Yes, the value of the attribute is included within the 1024
Both the driver and the Super Tile will tell you if you exceed the limit.

You should not be able to send more than 1024 to the tile

Andy

If you want more Beta testers for the Super Tile Icons or other projects let me know.

I thought I would have a try with this but I'm having a couple of issues.
I'm obviously being very dense here so appologies first.

  1. I cannot get the Display devices to appear under the container. I'm using the 'Device Tile Display Container' as type for the Super Tile container.
  2. I cannot seem to find 'CustomDisplay'. It doesn't populate.
    image

Any guidance much appreciated.
EDIT: The screenshot is what I should be getting I assume but it does not appear for me.

Ok
Yep!
I think you are right! :slight_smile:
Not really!

Ok.. 1st things first
When you created the container device, did you then create a child device?
Because it's the child device that you configure with the tile. Not the container

2nd
In the child device (on the device page) is there anything showing next to or under 'CustomDisplay' on the right?

3rd
One thing to note here (I think I should probably put this in the instructions)
I have noticed that the attribute does not show for selection in the tile config if it has no value
Try clicking the 'Refresh' button in the device page of the super tile device

I've been called a lot worse. Trust me!!!!!! :smile:

Here is my Super Tile Container.


I enter a name (Lounge) then when I click on Create New Virtual Device, nothing happens.

EDIT. I just created the device NOT under the container.