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
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.
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.
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.
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