[RELEASE] Tile Builder - Build Beautiful Dashboards

In grid freeform mode using Device attribute to select a device.

How can I display %deviceLabel% in colum 1 of 4 ?
Column 2-3-4 are used to display temp-humidity-heatingPower

regards
Per

Grid breaks the linkage between attributes and columns. For example, I could make my grid 1 x 1 (single cell), select 3 attributes and in the cell set my template as something like.

Device: %deviceLabel% Temp:%temp%F Hum:%humidity%% Lux: %lux%lx

Or I could make the grid 1 x 4 and put one variable in each column. Personal preference.

See how I’m mixing text and variables? Anything between %%s that matches the name of one of your defined variables (the name you give it) will be replaced by the value. Anything else is just text, which could include HTML tags like [b] for example.

It might seem convoluted but you will appreciate the flexibility after you have created a few tiles.

May I ask what kind of tile you are trying to build?

For my 6 pcs Tado thermostats.

column 1 = device label of the thermostat (OK I just write the name of thermostat, but would be nice to use %deviceLabel% here
column 2 = temperature
column 3= humidity
column 4 = heatingPower

anyway your Tile builder is great with a lots of features
now I can make very nice tiles

regards
Per

1 Like

Thanks for your help

Per

1 Like

Yes, an oversight. It will be back in the next version along with %deviceName% and other stuff.

P.S. If you click on Text Fields you will get some good inline help.

1 Like

Attribute Monitor and Activity Monitor have been updated to 1.4.7, but the introduced feature only applies to Attribute Monitor.

I have added the Republish Delay control that I introduced with Grid into these modules. This allows you to specify a minimum time between the republishing of a table. This was introduced to solve the chatty sensor problem. If you have a sensor that is sending updates every minute it would cause the corresponding Tile Builder table to be republished each time.

In my own experience the chatty temperature sensors are typically reporting very small changes that are less than the resolution of the display if it is being truncated to 0 or 1 decimal places.

By setting a Republish delay to every 5 or 10 minutes it means that a new table will not be published until the specified delay has passed. If the Republish delay were 10 minutes, then the table would never be published more than 6 times in an hour. The default for this value is 0, which is the same behaviour as your tiles have today.

For things other than numeric sensors, such as contact sensors, locks, switches etc you should leave this in the default position of 0 (no delay).

Just updated. This is on my tile for Temps.
20 in the last hour so I assume on every attribute change.

app:16592024-03-29 11:14:28.876infoUpdating Variables to Version 1.4.7

app:16592024-03-29 11:08:55.498errorgroovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.toInteger() is applicable for argument types: () values: Possible solutions: toUnique(), toUnique() on line 1688 (method handler)

Thanks for bringing that to my attention. Looks like the republishDelay variable is not initialized. Can you go into the settings and look for these values.
image

FYI anyone else. I've pulled this release off of GitHub until this error is corrected.

Putting this code:

    if (republishDelay == null){ 
        app.updateSetting("republishDelay", [value:0, type:"enum"]) 
    }

here:

should correct it but it does require opening each instance of Tile Builder.

Putting the same code here will cause it to update the next time the code is run by an event executing.

Please let me know what you found and what you did and I will update accordingly.

republishDelay enum ["0"]
I went into the child TB-Temps Status, only found one value.
Seems to be sorted alpha and the last var is useList

Sorry took a while to find the other at 1682 as I don't have an editor with line numbers.
I put your patch in 2 places the TB - Temps child and still get this:


app:16592024-03-29 12:08:11.272errorgroovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.toInteger() is applicable for argument types: () values: Possible solutions: toUnique(), toUnique() on line 1695 (method handler)

I think I see what is happening. Sorry for the hiccups, but it seems like the variablesVersion is not initialized and that controls whether any newly introduced variables (like republishDelay) get created\initialized.

I will PM you the whole file if you would not mind trying it out.

Thanks.

Problem identified. If you haven't run the update just hold off for now.
I will have a fix tonight or tomorrow and re-release it as V1.4.8.

1 Like

@garyjmilne - Seeing an issue on the attribute monitor with units and highlight at the same time. In Rows, 'Append Units to Data' is selected, and I've got highlights setup for cold and hot spaces - Anything that's highlighted doesn't get the units
Screenshot from 2024-03-31 11-24-53

Anything I can do to get highlights and units at the same time?

I have a similar configuration which is working as expected.
image

You could just force the units on all of the replaced columns like this.

It makes mine look funny but it would work for your case.
image

I couple of things to check.
A) What version of Attribute Monitor are you using? I did have a units issue but that was quite a while ago.
B) Try setting the threshold such that all the results would be highlighted and see if they all exhibit the same behaviour or if it could be something with the data itself, a string vs a float for example.

Attribute Monitor and Activity Monitor have been updated to 1.4.8, but the introduced feature only applies to Attribute Monitor.

Per the original note:
I have added the Republish Delay control that I introduced with Tile Builder Grid into these modules. This allows you to specify a minimum time between the republishing of a table. This was introduced to solve the chatty sensor problem. If you have a sensor that is sending updates every minute it would cause the corresponding Tile Builder table to be republished each time.

In my own experience the chatty temperature sensors are typically reporting insignificant changes, especially when values are being rounded to 0 or 1 decimal places.

By setting a Republish delay to every 5 or 10 minutes a new table will not be published until the specified minimum delay has passed. If the Republish delay were 10 minutes, then the table would never be published more than 6 times in an hour. The default for this value is 0, which is the same behaviour as your tiles have today.

For things other than numeric sensors, such as contact sensors, locks, switches etc you should leave this in the default position of 0 (no delay).

Thanks to @dnickel for bringing my attention to a bug in 1.4.7 which is now corrected in this version.

I'm working on a big upgrade to TB Grid that I expect to release next week. I'm doing a little testing and came up with this pleasant looking technique for displaying the lock status for my front and back doors.

image

This is usable in any of the Tile Builder modules if you have the advanced version. It's just using the Keywords and Thresholds to replace the returned values with something clearer and more interesting.

Keywords:

I did something similar for the batteries but in real life my threshold would be quite different.
Thresholds

This result was 988 bytes for those that are interested.

Of course this ability has been available since the first version of the product, but this method is easier to understand than using the Advanced tab to create a class and then apply it here.

1 Like

Tile Builder is so efficient and gives such amazing amount of data in a neat package - can't believe how much info I get back on my dashboards now! Thanks Gary - looking forward to this next bump up!

1 Like

Gary I need a little jumpstart, I loaded tile builder via HPM and it said it was successful but I can't find Tile Builder in Apps. Where do you launch it from if not there?

Thanks

Scott

Sounds like you still need to install the app. HPM just gets the app / driver code onto the hub, installation of an app or device is an additional step.

On the Apps page use the Add User App option to install TB.

2 Likes

I think you're right I just found the files in APP Code. I'll try to load them up now. I'm new to HE and working my way through these types of things.

TY!

2 Likes