Steam-card-compact

Hello!

I was looking for a nice lovelace card to show my Steam friends and what they are doing, in Home Assistant. I could really only find one working existing solution (perhaps I’m bad at searching), and that hadn’t been updated in years. I also needed something a lot more compact as I have tens of Steam friends I wanted to show on my HASS dashboard. So, I ended up using this card I found as a base and built on top of that. And here is the end result: https://github.com/jesmak/steam-card-compact. The card I used as a base is Kibibit’s kb-steam-card, so thanks to Kibibit for his/her work.

Here’s a sneak peak of the card in action:

It has two modes (just like Kibibit’s original). Showing a list of Steam accounts in a card or a single Steam account in a card. Both are a lot more compact than in the original. List mode shows accounts in two columns, sorted by first status and then name. Single user cards work nicely either in full width, or when placed in a horizontal-stack.

Also, if you are using Steam integration you might have noticed a problem with entities going unavailable very often. That’s because of Steam restricting the amount of queries executed against its API. There is a fix that works that I can suggest until Steam integration itself gets fixed (if it will). Check out this post here by mkanet.

3 Likes

Love the design,
Thx for sharing!

2 Likes

This is really cool!

A couple of additions would be really neat:

  1. A way to auto-populate the card with the entities created by the Steam integration.

  2. Ability assign nicknames to accounts.

  3. Compact Mode: Option to display ‘Last Online’ status as per the actual Steam friends list.

  4. Compact Mode: Option to section & group/order accounts by status eg. ‘Playing’ at the top, followed by ‘Online’ and then ‘Offline’ friends.

  5. Option to only show ‘Last Online’ attribute when account is actually offline, as per Steam default.

More or less features that just bring it in line with the current Steam friends list behavior.

Getting this on HACS would be amazing too.

Good work so far.

Edit:

So a few of these I have accomplished by using Thomas Loven’s ‘Auto-Entities’ card in combination with this card which renders in Single Card mode, and then splitting it into sections based on state.

Hey. These are all good ideas. I’ll see what I can do.

Can you please show your auto-entities example? It won’t work for me it just shows an error. (Using the other steam card to test cuz it also supports Xbox)

type: custom:auto-entities
filter:
  include:
    - integration: steam_online
  exclude: []
show_empty: true
card_param: entities
card:
  type: custom:kb-steam-card

Seeing that you have so many friends to keep tabs on, it’s excellent that you figured out how to get your Home Assistant dashboard to show the activities of your Steam buddies. When there’s little room, compact solutions are always a benefit, and it’s fascinating to see how you modified an earlier solution to suit your needs. It’s fantastic that you could build on the strong foundation Kibibit’s early efforts laid. I would highly suggest looking into this card for offical sportzfy who wants to include their Steam activities into Home Assistant. It’s a good place to start, and you can adjust it to fit your system exactly with a little work.

Thanks a lot!!

Finally got around to implement these. There is now a new release available here: Release 1.0.2 · jesmak/steam-card-compact · GitHub

Main changes in the new version:

  • Added grouping of users based on status
  • Added possibility to auto-populate the list
  • Added last seen info to offline users in list mode
  • Modified single user card so that online status makes more sense. Previous icon-based implementation was quite confusing.
  • Added possibility to override Steam users’ friendly names with something custom
1 Like

would be awesome to have this in HACS

It is possible to install this through HACS, although it seems I had forgotten to update the readme regarding this. I’ve now added the HACS installation guide there (custom repo needs to be added).