[RELEASE] Multi Attribute Monitor (Tile Builder Module)

Some of you will already be familiar with Tile Builder which allows you to create tables of data for publication to a dashboard. The existing Attribute Monitor module allows you to specify an attribute you are interested in and generate a table of devices from that with a great deal of formatting. Multi Attribute Monitor allows to mix and match any combination of devices and attributes that you might be interested collating in a unified way.

Here is one for monitoring rainfall and weather from several sources.

With TB Advanced you can dress it up a bit more.


The colors of the various fields change based upon the highlighting rules you configure.

This one monitors sensors and fans that are automated based on temperature difference.

A little dressing up with TB Advanced is a little prettier and more eye-catching.

This is part of the design interface. Here you can select up to 10 device\attribute pairs.

  • Item Name: You can name the device\attribute anything you want.
  • Prepend: You can prepend text to the attribute including html tags (in [] brackets).
  • Append: You can append text to the attribute, most likely units but also including html tags.
    Cleanup: Cleanup lets you apply different operations to the data to clean it up. Available operations are:
    image
    Rules: This only has significance if you have TB Advanced. Here you can specify which Highlight rules apply, if any, to this particular row of data.

TB Advanced Features
Format Rules are a new concept in Multi-Attribute Monitor. These allow you to utilize the returned value and display it in a different way.
Using the Meter tag: [meter low=50 high=80 max=100 optimum=100 value=%value%][/meter] display like this:
image

Using the Progress tag: [progress value=%value% max=100][/progress]
image

With highlights you can now optionally choose to also highlight the device name whenever a highlight rule is applied.
image
image

If you are unfamiliar with Tile Builder you can read about it here or see the extensive help here.

You can find a help file here for Multi Attribute Monitor.

How to get Multi Attribute Monitor.
If you don't have Tile Builder already just go to HPM and install Tile Builder. You must select Multi-Attribute Monitor as an installation option.

If you have already have Tile Builder then do an update to version 1.4.0. Then go back to HPM and select Modify and add the Multi Attribute Monitor.

More later when I have some time.

14 Likes

I'm so happy now! Very nice app!

3 Likes

Very nice, looks like you are putting Tile Builder to work and using all the modules. There is more to come! What are you using for your graphs out of curiosity?

1 Like

I was using Hubigraphs, but since that's been folded into webCoRE I'm switching everything over. I don't have much need for webCoRE otherwise, but I do have experience with it from my ST days before HE. And... you never know...

Hi @garyjmilne,
I am getting an issue with left align.
The tile preview look OK:
image
But on the dashboard it seems like it is centered:
image
I thoght it might help to attach the effective settings on the advanced tab:

Summary of problem resolution for Left Alignment issue.
I found the problem. It's line #2134 where it strips out the text-align:Left statement as left alignment is the default for HTML so it should not need to be explicitly stated.

However, the tables inherit properties from the Dashboard CSS and one of those calls on things to be centered and takes precedence over the unspecified default value.

Just comment out that line and you should be O.K. The next update will correct that error.

1 Like

I have built 2 multi Attribute Monitor tiles and I have selected the Publish and Subscribe but neither get any updates when the attribute value changes on the dashboard I have them on. If I go back in and select Publish and Subscribe the dashboard tile get updates but nothing more as the attribute values change.

What am I not doing correctly?

I just added a lamp with a power attribute and it is getting real time updates. The attibutes I am using a numbers.

image

If you look in the event log for the device is it recording each of the changes that are coming through.

Yes they are. I just double checked.

In the setting for the dashboard, under the Options tab, what do you have for "Cloud Refresh Interval" and "LAN Refresh Interval" ??

When you click on the green check mark in the dashboard heading, does your tile update?

Okay, that is good. Next thing to check, when this situation arises again, is to look at the Storage Device, find your tile and see if it’s got the old or new information on it.

That will tell if it’s a publishing issue or not. You can also turn up the logging in the storage driver and you should see a message every time a new tile is published.

I may have assigned 2 different modules published to the same tile in the storage device tile. I did not see new information being added to the events table except when I did manual publishing. I suspect the 2 being assigned to the same storage tile is my issue.

I have removed the module and recreated it, and made sure the tiles are uniquely assigned, Now I just have to wait and see if it updates tomorrow when the day changes, or rain, whichever comes first.

And thanks @jabecker, the refresh on the dashboard was correct and the tile did not update when clicking the green check mark to refresh the dashboard.

1 Like

It is still not working for some reason. I removed the storage device and recreated it. Didn't fix it. I changed the module to get only the one attribute and I know the value is changed just not getting updated unless I manually click publish and subscribe. Could it be possible the number of attributes in the device I am using, Weather Underground, that subscribe is not find the changes?

Have all logging on and not see any errors or issues.

Sorry you are still having issues. One thing to check is to go to the Weather Underground device and look at the bottom under “In use by”, you should see the Tile Builder tile name listed.

If it’s not listed then the problem is with the subscribe process. Either it’s not subscribing, not calling the subscriber (Tile Builder), calling the subscriber and failing to refresh.

I’ll take a look at that code this weekend and see if I can add some error checking.

I've run into something "interesting" that I will admit is probably my misunderstanding.

I'm trying to set up a tile to show AQI and PPM. I want to show both indoor and outdoor values using two different devices. So far so good. But when I set up the tile like this:

What displays is this:

The second two PPM values do not display. But if I change their display names like this:

Then they display just fine:

I had assumed that "Item Name" was simply used as the label, and the attribute name was use in any code for the display, which would make it unique. But I guess that's not the case?

Also, I have "Also Highlight Device Names" on, but that doesn't seem to be happening.

And, for what it's worth, I had a heck of a time setting this tile up. I kept getting errors — mostly having to do with setting the highlights. Every time I got the dreaded "unexpected error" page and had to delete the tile and start over. That also made it impossible to capture what the tile looked like at the time. Here are the errors that were logged.

I am seeing these messages that myVal cannot be converted to integer, but again, if I click the Publish and Subscribe button the dashboard gets updated.

app:17372023-07-21 08:22:51.235 PMdebugrefreshTable: sortedMap is: [Yesterday:1.16, Last 3 Days:1.28, Last 5 Days:2.32, Last 7 Days:2.48]

app:17372023-07-21 08:22:51.234 PMdebugnewMap is: [Yesterday:1.16, Last 3 Days:1.28, Last 5 Days:2.32, Last 7 Days:2.48]

app:17372023-07-21 08:22:51.233 PMinfogetNumberType: myVal: 2.48 cannot be converted to integer

app:17372023-07-21 08:22:51.232 PMdebuggetNumberType: myVal: 2.48 is a float

app:17372023-07-21 08:22:51.231 PMdebuggetDataType: myVal is: 2.48

app:17372023-07-21 08:22:51.229 PMinfogetNumberType: myVal: 2.32 cannot be converted to integer

app:17372023-07-21 08:22:51.227 PMdebuggetNumberType: myVal: 2.32 is a float

app:17372023-07-21 08:22:51.226 PMdebuggetDataType: myVal is: 2.32

app:17372023-07-21 08:22:51.224 PMinfogetNumberType: myVal: 1.28 cannot be converted to integer

app:17372023-07-21 08:22:51.223 PMdebuggetNumberType: myVal: 1.28 is a float

app:17372023-07-21 08:22:51.222 PMdebuggetDataType: myVal is: 1.28

app:17372023-07-21 08:22:51.219 PMinfogetNumberType: myVal: 1.16 cannot be converted to integer

app:17372023-07-21 08:22:51.217 PMdebuggetNumberType: myVal: 1.16 is a float

app:17372023-07-21 08:22:51.217 PMdebuggetDataType: myVal is: 1.16

app:17372023-07-21 08:22:51.215 PMtracerefreshTable: Entering refreshTable

Those messages are OK, its just testing the datatypes. Let me know about the other questions when you have time.

I have found a tile in my collection with the same issue. I’ll be able to use that to figure out why it isn’t working.

I’m pretty sure that most of your issues stem from the use of special characters in the device names or prepend, append or potentially a rules field.

Click on Display Notes and read the last section. Try that out and let me know if that fixed it. I’ll add some logic to log the error and at least stop the app from crashing hopefully,

Also, read the documentation about recovering failed tiles, might save you some time.

I don't think that's the problem with the device names not being highlighted. The AQI lines are the only ones that the highlighting rules apply to, and they have no special characters, prepends, or appends. But, just for grins, I took out the special characters. The device names are still not highlighted.

The errors occurred before I added any special characters in. The special characters were the last thing I did, after everything else worked correctly.

Could you also answer my question about the item names having to be unique? Is that correct? Would you consider allowing them to be the same but unique when combined with the attribute name, or something similar?