Steam Wishlist Integration

The Steam Wishlist integration allows you to create automations or display steam games from your wishlist when they go on sale.

It can be installed easily via HACS as a custom repository (for now) and can be setup through the Integrations page in the home assistant UI.

Some ideas for usage:

  • Send push notification when game goes on sale.
  • Send push notification when game goes on sale, but only if you have money allocated for a games category in your YNAB budget.
  • Display the games on sale in your lovelace dashboard.
  • ???
3 Likes

Hi,

thank you for developing this integration. Would love to use this to be able to get my Steam Wishlist on my HA dashbaord. However, it seems the integration does not work with steam account names with an underscore in it. Could you valide that?

Thanks for trying out the component! There was an odd issue with the account name, so I added an option to specify your profile ID when setting up the component in the latest release: https://github.com/boralyl/steam-wishlist/releases/tag/v1.2.0

nice idea.
I see you did a nintendo switch integration too.

Do you know about PSprices.com ? not sure if you can get something working with them too.

They do more than just playstation too. make sure to check the ā€œplatformā€ button on the top left

There seems to be a max of 72 items/entities, my Steam wishlist is longer but there are only 72 entities.

Thanks for posting, Iā€™ve created an issue to track it: https://github.com/boralyl/steam-wishlist/issues/7

Thx for the work, upgraded and see 263 now :grinning:.

Been trying to get this integration to work. It defaults to giving me cyberpunk and Sleeping Dogs. Neither are on my wishlist. I have provided my account name and profile id multiple times.

If you want to private message me your profile id and/or steam username I can see if I can figure out whatā€™s going on.

Sorry I didnā€™t see your reply until today.

I donā€™t see an option to pm (my account may be too new).

My account is: XXXXXXX ID: XXXXXXXX

I donā€™t have a good answer as to why it doesnā€™t work with your account name, but if you only enter your profile id when setting up the integration (and not enter your account name) it works as expected with 28 games showing up.

Give that a try and let me know if that works for you.

Thanks! That worked.

Hi, Iā€™ve started working with Home Assistant fairly recently and installed the Steam Wishlist integration as part of an end of term assignement for one of my class. But I donā€™t know how to make the automation to send notification when one of the game in my wishlist is on sale.

Well actually, I do know one way I could do it, but it would be a redundant method and be unoptimal on both the short term and the long run. Simply put, I currently lack the know how to do it in a way that might be more efficient.

I could simply make one automation for each sensor, or one that regroup all sensor and use TriggerIDs, and have it send a specific notification whenever a specific game goes on sale. However, if any of the game is removed from my list, either because I bought it, lost interest in it or is no longer available on Steam, I would need to go back in HA and update my automation manually. Which sounds like an inconvenience if I have multiple products that are removed from the list at once.

There might be a way to do this with Home Assistant automations, but Iā€™m not 100% sure.

I use Node-Red for my automations and the trigger: state node supports specifying an entity_id that matches either a substring or a regular expression. So I can basically say match any entity id that starts with binary_sensor.steam_wishlist_ and if itā€™s state changed to on then I trigger a push notification to my device with details about the game on sale.

It ends up looking something like:

image

The exported nodes for reference:

[{"id":"baf41efa.b6ff38","type":"function","z":"2e948d2d.6eacca","name":"Generate Message","func":"const attrs = msg.data.event.new_state.attributes;\nmsg.payload = {message: `${attrs.title} is now ${attrs.percent_off}% off.  Pick it up now for ${attrs.sale_price}.`}\n\nconst date = new Date().toLocaleDateString('en-US', {\n            month: 'short',\n            day: 'numeric',\n            hour12: false,\n            hour: 'numeric',\n            minute: 'numeric'\n        })\nconst statusText = `${attrs.title} at: ${date}`\nnode.status({fill:\"green\",shape:\"dot\",text: statusText});\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":480,"wires":[["3b9186b8.643032"]]},{"id":"487eefea.babf7","type":"trigger-state","z":"2e948d2d.6eacca","name":"Steam Wishlist State Change","server":"","version":2,"entityid":"binary_sensor.steam_wishlist_","entityidfiltertype":"substring","debugenabled":false,"constraints":[{"id":"0gexxpkk9pni","targetType":"this_entity","targetValue":"","propertyType":"current_state","propertyValue":"new_state.state","comparatorType":"is","comparatorValueDatatype":"bool","comparatorValue":"true"},{"id":"29jhmsz4jmv","targetType":"this_entity","targetValue":"","propertyType":"previous_state","propertyValue":"old_state.state","comparatorType":"is","comparatorValueDatatype":"bool","comparatorValue":"false"}],"inputs":1,"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"habool","enableInput":true,"x":140,"y":480,"wires":[["baf41efa.b6ff38"],[]]}]
1 Like

Thanks, I didnā€™t know about Node-Red, Iā€™ll look into that and learn more about it.
Speaking of learning, is there any tools you would recommend beginners to learn for making advance stuff with Home Assistant?

I wrote up a post about Node-Red if you wanted an overview on why it may be useful for automations: Node-RED for Automations in Home Assistant - Automate The Things

The forums here provide a wealth of information. Iā€™d recommend just browsing them for inspiration to figure out cool things that you can do. It all really depends on what devices you have in terms of what advanced automations you can do.

Hi, so Iā€™ve finally managed to make the notifications work, thank you for your assistance on that part. However, Iā€™m curious: Whatā€™s the frequency of the sensors update? I went through the Github page, but couldnā€™t find that info. Is it once a day or something?

Good question, it updates the sensors once an hour.

Hi - thanks for a potentially great product, alas I canā€™t get it working.

I have installed via HACS. The custom-components shows the ā€˜steam wishlistā€™ folder and contents. I have restarted (fully restart, not just yaml) HA more than once in an effort to get this working.

When I attempt to add a custom card, I keep getting error message.

The above, aside from the SteamID, an exact copy & paste of the instructions. I have tried numerous cards but no matter what I do, it will not work.

To clarify, I am not questioning your programming skills (I can see from others here that there is no problem with them getting the install working) so I assume the problem is my side but any guidance would be appreciated.

TIA

Looks like you are not specifying the correct custom card. If you look closely at the instructions the custom card is custom:nintendo-wishlist-card. Iā€™m just reusing a card I created for another custom component for nintendo switch wishlists. There is no custom:steam-wishlist-card.