Gaming Status Integration

Just installed it, will let you know how it turns out

1 Like

@sehnugr,

What language are you using in your Home Assistant install? I am finding out that the PlayStation integration seems to localize the sensor names, which is causing issues with anything other than English language installs. I am assuming that's NOT your issue since you have some that are working and others that are not, but I thought I'd check.

v3.4.0

I have just released v3.4.0, which includes translations for the sensor names. Now, it should work for users with ANY language setting.

If you have installed this integration and have had trouble getting it to work properly (especially PlayStation and/or Xbox detection), please let me know if this version works!

And now we're up to v3.4.1 because I forgot to add sensor migration to the last version, resulting in some mis-named and/or duplicate platform sensors for some users.

I'm using it in dutch. Will try 3.4.1 now

Edit: While using the integration a few feature requests came to mind. You're grabbing the images from SteamGridDB (right now the spiderman issue i had is back although i don't know why because the hero i mentioned is not in the top 5) through the API. You already have a manual override by setting the url for specific games to specific url's which is sufficient offcourse, but i thought it might be nice to have an other kind of control over the images (but i don't know how feasible it is)

The first idea i had was to select an image from the integration (where the integration would present a list of images pulled from SteamGridDB), i can imagine this would be a lot of work but would be a nice feature. But when i thought a little longer, i thought it would be nice to have the control on the SteamGridDB side. Because you can mark favorites on the SteamGridDB site and you have an API key linked to your account, it might be possible to use that property to select a favorite from SteamGridDB? (don't know if this information is available through the API).

Another feature that came to mind would be the ability to randomize the image used from SteamGridDB from for example day to day? Don't know if this is something i would like or not, in combination with the ability to mark favorites on the SteamGridDB site it could be i guess.

Have been looking through the API, apparently it doesn't have the favorite info as far as i can see. That's a shame really

Is this your only remaining issue? Have you defined an override for that game? That is basically the equivalent of adding a "favorite", as you mentioned. It just takes an extra couple of clicks to get the URL and then paste it in with the game title.

I also looked again at the API documentation just now, and while it doesn't have a way to pull a favorite from a standard search, I wonder if the "Likes" page can be queried since all of your favorited artwork shows up at https://www.steamgriddb.com/profile/00000000000000000/likes/heroes. I will investigate that as an option. I would still leave the overrides in place as a feature though since that also allows for users to add locally-hosted images, if desired.

I set it up the way I did with a single image so that it could be cached, saving on API calls, increasing speed, and allowing for color extraction, which only works for a local image. Having an array of images that the integration cycles through might be possible, would it would greatly complicate the color extraction or necessitate that it be disabled.

I don't know if it's an issue at all, i did not remove the cached file yet and the player did not play the game for while. So i removed the cached file now and will see if that changes anything. (does the integration refresh the cache itself at some point?)

Can't respond to my other issue just yet, Players have to come online and play a game i think before i can rule out it not working. But will let you know when i do.

I understand you want to keep the local overrides method. I always love to make my software as flexible as possible. I also understand what you say about the cache, but in my opinion a cache should be refreshed once in a while because the data could change, that moment you could use to change it into a different image. Its not a must have feature and to be honest i can't really imagine the way i would feel if the images would change, have to experience it first. But i thought it was an interesting idea. Grabbing a liked image from SteamGridDB (if even possible) would make the override procedure more intuitive in my opinion and should not change much of your current processes.

The cache actually SHOULD refresh if the artwork changes or if you define a custom override. I haven’t thoroughly tested that yet though. I know it at least works with an override.

The API call is set up to grab the official artwork in PNG format, if possible, and then works down to the most popular after that. I’m not sure what happened with Spider-Man 2 though.

It looks like I’ll have to do a web scrape to grab the favorited images since the API only interfaces with the search. It might still be possible though. I’m exploring the possibility.

Yeah, looking at the API i was afraid of that. Web Scrape is not a very optimal method. So dont break your head over it. If it's not worth it, exploring other features may be better.

It looks like a browser session would be required to make this happen, so it's not going to be possible with an integration. I will try to put in a request that the feature be added to the API though. Then it would be pretty easy to implement.

One of the players that didn't work was online and it updated correctly. Seems fine now! :folded_hands:

Thanks for reporting back. That's great news!

I just need to hear from someone with a Raspberry Pi now to make sure that it's working properly on that hardware now too. I am uncertain if the hardware was ever an issue or if it was just the localization fixes that were all that were needed.

v3.5.0 is out now!

New Features

  • Added ESRB game ratings to tracked profiles for use in Parental Controls. Notifications can be sent when a game that exceeds the rating limit is started.
  • Added setting to Advanced Settings for overriding ratings for games that show as "Unrated".
  • Added recent game session tracking to sensors. Be sure to update Gaming Status Cards to use the new data!

Improvements

  • Added exclamation (:red_exclamation_mark:) prefix to Parental Control notifications so they stand out a bit more.
  • Updated documentation to reflect new features.
  • Added safeguards to prevent lower-priority platforms from tracking a game already being tracked by a higher-priority one.

v3.5.5 has been released!

New Features

  • Added new name filtering method (enabled by default in Advanced Settings) that uses the first two words of a game title to determine if it's the same game or a new one. Before, "Call of Duty Black Ops 7" and "Call of Duty Waiting in Lobby" would be treated as different "games" by the integration, messing up the stats and triggering notifications. This change should fix that. If a game title is ultimately incorrectly reported, it can be overridden in Advanced Settings, but it shouldn't keep changing continuously now.
  • Added support for game artwork colors to the Recent Sessions card. Requires Gaming Status Cards v3.5.5+
  • Added services for merging incorrect game titles (such as "Elite Dangerous" and "Elite: Dangerous") and deleting tracked games completely. This works manually or with the new Game Management card. Requires Gaming Status Cards v3.5.5+

Bug Fixes

  • Fixed a glitch that could cause Discord to track time for a session at the same time as Xbox.
  • Added additional measures to help prevent a handoff from one sensor to a higher priority one from triggering additional notifications.

v3.5.7 is live!

The main new feature is to handle end-cases where a tracked player is in two games on two different platforms at the same time. It’s likely a very rare occurrence, but I’ve seen it happen, so I strengthened the handling to avoid repeated notifications during the overlap.

The bug fixes primarily deal with game title naming, ensuring they are handled more consistently across all places in the integration. This should help the Game Management card function more predictably also.

New Features

  • Added a Master Handoff Grace Period: If a player is genuinely, continuously active on two platforms at once (e.g. playing a Steam game while also idling into a console game), whichever platform is currently shown on the Master sensor keeps that spot indefinitely as long as it stays healthy. This setting only comes into play once that platform’s own connection drops into its own offline-grace or ghosted state and stays stuck there continuously; only after it’s been stuck for this long does a more-recently-started game on another platform get to take over the display. This should prevent notification spam from a platform’s brief connectivity blips repeatedly flipping which one is shown. Default: 300 seconds (5 min). Set to 0 to restore instant hand-off.
  • Added Master Handoff Grace Period field in Global Settings.

Bug Fixes

  • Changed configuration text fields to multiline fields with one entry on each line instead of using a comma for a separator. This allows for game titles with commas, such as Warhammer 40,000: Space Marine II, to be properly parsed. Current lists will be migrated to the new format automatically.
  • Removed code that was stripping colons and dashes from display names; Now only trademark symbols (™®©) are stripped from names. Note: This may result in some of your displayed names to change and some inconsistencies may exist for the first week after the update.
  • Adjusted title sanitation so that it is applied consistently across all overrides, file naming, and title matches.
  • Fixed a bug where text fields could not be permanently cleared in the configuration menus.

v3.6.0 is now available!

Some long-term stats are now available for total hours, sessions count, and hours per game. Update to the latest Gaming Status Cards to take advantage of this new data on your dashboard!

Breaking Change

  • Changed “Ghosted By” setting to “Suppress Xbox Sensors”. To use it, select Xbox sensors to ignore for an affected player directly on their respective profiles screens. If you were using this feature, you will need to set it up again for the affected profile(s).

New Features

  • Added all-time stats for total hours, sessions count, and hours per game. Update to Gaming Status Cards v3.6.0+ to take advantage of the new data.
  • Added service for deleting individual sessions.

Bug Fixes

  • Fix for recent sessions failing to be stored from a game transition that happens during a restart. Play time was persisting across a mid-restart game transition, but recent sessions were not. Now the same logic should be applied to both, resulting in more accurate dashboard displays.
  • Changed Xbox “now playing” sibling lookup to use device registry instead of string substitution, which should further help with non-English installations.
  • Fixed a bug where deleting a session may not completely remove all of the accrued time.
  • Fixed an issue with time being counted by two sensors simultaneously and then added to the total. Now the “losing” sensor should properly discard its time.

v3.6.3 is ready to squash some bugs!

This version includes only bug fixes (no new features) :pensive_face:, but if you have ideas for anything should be added or fixed, please let me know!

Bug Fixes

  • Fixed a bug in Discord notifications that was preventing extracted game colors from displaying during game switches.
  • Sometimes a session’s live minute-by-minute tracking counter can lag behind the actual clock time (brief connectivity hiccups, timing delays, etc.), and the game correctly gets credited for the full time played. A leftover check meant to avoid double-logging fully blocked sessions was also skipping the individual session record for these partially mismatched ones, even though the total time was already correctly added to the stats. That check has been removed, so any real session that shows up in the totals will now also show up as a session that can be deleted individually.
  • Excluded games now end immediately. Previously, adding a game to global or per-player exclusions only stopped future detections. If someone was actively playing a game when and exclusion was added for it, that session just kept quietly running until the game was switched games or the player went offline. Now, saving an exclusion immediately ends any currently-active session for that title (crediting whatever time had genuinely already been played) instead of waiting.
  • For diagnostic purposes, a log line now records the exact numbers whenever a session’s tracked time doesn’t perfectly match its wall-clock time.