TileBoard - New dashboard for Homeassistant

I’ll try that, thank you!

Is it possible to write a long text in a tile?
I use dark_sky_hourly_summary which results in a long text. If I use text list and put the sensor in title I get ... and if I put it in value it will be right aligned.

Why not put it into the header? You can make text_list long enough to accommodate for all the text

Good idea, but I would like to know if it is possible to put it in a tile? Tried it in a list, but it gets cut off. Can you make it automatically line break?

Step 1: Create custom.css file in styles directory with the following content:


.-sensor-small-text .item-entity--value {
  font-size: 100%;
  white-space: initial;
  line-height: 100%;
}

.-sensor-small-text .item-entity {
  height: 100%
} 

Step 2: Add following to the tile config:

classes: ['-sensor-small-text'],

You can adjust text size to fit your needs.

1 Like

Is it possible to have a tile that contains an image of e.g. a radio station and to use the media_player.select_source service along with a service_data attribute to set the correct source?

Something like the following:

...
image: "/local/radio/logos/contactfm.png",
request: {
  type: "call_service",
  domain: "media_player",
  service: "select_source",
  source: "Radio Contact FM"
}
...

I did not see any examples of mention of using the media_player.select_source service, so not sure if it is possible.

Media player has source selection built in.

That’s what I saw, but what I want to try to accomplish is to have a group with a tile per radio station and when touching a radio station’s logo, that it start playing.

Do you think this is feasable with TileBoard?

You could do this with custom tile and direct API calls I guess.

Do you have an example of how to invoke the API to get me started?

Create a custom tile with type: TYPES.CUSTOM and use the following action:

action: function(item, entity) {
			Api.send({
				type: 'call_service',
				domain: 'media_player',
				service: 'select_source',
				service_data: {
					entity_id: entity_id, //replace with entity_id of media_player
					source: source //replace with source name
				}
			});
		}
4 Likes

Nice layouts! How did you manage to hide the pagebar in the first screenshot?

I only have one page for that layout. So no bar comes up by default.

That simple… Thanks!

Do you have your config on github? I would love to see how you managed to get this layouts

Thank you Charles. I’ll give it a try! :+1:

I liked the suggestion of putting buttons on the right. I now have them on the same place on each screen.

1 Like

Works like a charm @cgarwood!

{
   position: [0, 2],
   type: TYPES.CUSTOM,
   title: 'Radio Contact FM',
   id: { },
   icon: '',
   bg: 'http://x.x.x.x:8123/local/radio/logos/contactfm.png',
   bgOpacity: 0.9,
   width: 2,
   height: 1,
   action: function(item, entity) {
     Api.send({
          type: 'call_service',
          domain: 'media_player',
          service: 'select_source',
          service_data: {
            entity_id: "media_player.kitchen",
            source: "Radio Contact FM" 
          }
        });
   }
},
1 Like

I’m trying to get the climate and fan tiles to point to groups (of climates and fans) but no luck for climate. Tileboard shows undefined and blank tile for climate but fan works!

HASS UI does support setting temperature, operation and fan mode for group.climate and setting fan speed, turn on/off for group.fan. It may have something to do with how HASS handles group of climates. The state is shown as unknown in states browser but you can still use the set service on it. The logic seems to be in UI layer perhaps because UI shows the state of the first group member.

Any way to use custom tile to achieve this?

This will not work. Climate group does not report same attributes as climate.

I’m using the new header object in my Tileboard as I previously had down the bottom and have added the weather to the right as attached. The issue im having is that the page buttons can not be pressed because they’re in the same plane as the header.

Is there anyway to fix this?