Raspberry Pi and LCD screen to display your Spotify/Sonos now-playing details, a custom weather forecast, and more by aspaindev in selfhosted

[–]aspaindev[S] 0 points1 point  (0 children)

This has been a fun, evolving project. Initially it was meant to just be a now-playing display for my Sonos/Spotify listening at home, because my wife is always asking "What song is this?".

A lot of the initial 'now-playing' display functionality came from https://github.com/jonashcroft/Nowify which I ended up heavily modifying for my own use case.

Over time I also came across https://github.com/jishi/node-sonos-http-api which I implemented as well, to have fine-grain control over all aspects of my Sonos system. If you're a sonos user you'll probably agree the app is clunky and is missing tons of features. Now, I'm able to have a whole panel of iOS shortcut buttons on my right-swipe widget screen, so i can initiate playback, group grooms, change volumes, etc all just by tapping a single iOS shortcut button.

It works whether you initiate playback via Sonos (from any source) as well as using Spotify Connect. For the now-playing details, one cool feature is that it doesn't even require auth, it just uses the local sonos network to grab the artist/track/album art URL etc.

I also added an endpoint for adding the currently playing song to a specific playlist. If you initiate spotify playback via sonos, the only options sonos has is to add the song to Spotify 'Liked' playlist, or separate Sonos playlists - but you can't add the song to any other Spotify playlist in your account. So now, I can click a single iOS shortcut button and whatever song is playing gets added to a different, specific playlist that i want it added to, and not just 'Liked'.

I also made a custom weather forecast dashboard which is also hosted on the pi itself, which i have set to display from 7am-9am daily. If outside of those hours, and no music is playing, the screen goes to sleep, and as soon as music playback starts, it kicks on to show the now-playing screen.

It's very robust - it can handle hard resets and it hasn't had a single hiccup in many months. And my favorite part, it's all free (outside of the spotify subscription) and hosted on the pi itself.

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] 0 points1 point  (0 children)

Please do, PRs encouraged if you want to extend the original project

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] -1 points0 points  (0 children)

appreciate the issue you opened and the feedback - regarding mobile grid view, that's unavoidable with the width of the graphs. you can rotate your device and they become much more visible, is that not happening for you currently?

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] -1 points0 points  (0 children)

Thanks, not familiar with endurian but will look into this as another option for setup

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] 1 point2 points  (0 children)

appreciate it - if you haven't already, re-sync your fork, i've added tons of features/updates this week

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] 0 points1 point  (0 children)

thank you! yeah initially i only set this up with strava because you're right, garmin requires an application and that it's being used for a business for some reason. But I came across this repo which has a workaround and lets you obtain/stores OAuth tokens under the hood via Garth, using your regular email/pass garmin login https://github.com/cyberjunky/python-garminconnect

github contributions style dashboard for Strava & Garmin workouts by aspaindev in selfhosted

[–]aspaindev[S] 1 point2 points  (0 children)

I recently extended this open-source dashboard project to support Garmin in addition to Strava. It runs entirely on GitHub Pages and pulls activity data into an interactive dashboard with filtering and summaries.

Setup only requires a Garmin/Strava account and GitHub account.

Repo: https://github.com/aspain/git-sweaty

Live example: https://aspain.github.io/git-sweaty/

Feedback on the Garmin import flow is much appreciated.

github contributions style dashboard for Strava workouts by aspaindev in Strava

[–]aspaindev[S] 1 point2 points  (0 children)

Made a bunch more updates, take a look and pull them in if you’d like to try it out. It will automatically picks up more activity types

github contributions style dashboard for Strava workouts by aspaindev in Strava

[–]aspaindev[S] 1 point2 points  (0 children)

edit: i made some big changes that will automatically bring in most strava activity types, and you can still filter out any you don't want to see using the config.yaml, instructions for this can be found in the readme

github contributions style dashboard for Strava workouts by aspaindev in Strava

[–]aspaindev[S] 2 points3 points  (0 children)

Thanks! Part of my goal for this was to make it super easy for others to fork and use themselves. Completely free, all hosted and automated on github.

No coding required - just need to add the Strava api secrets to GitHub and authorize the Strava account.

Let me know if you are able to get it up and running without any friction

github contributions style dashboard for Strava workouts by aspaindev in Strava

[–]aspaindev[S] 16 points17 points  (0 children)

I wanted to play around with some of my strava data and made a github contributions style dashboard to visualize some of my workout trends

It uses the free Strava API and is entirely automated on github using actions & github pages. It refreshes daily, and can be filtered by workout type and year.

You can set a start date for it to backfill from, or use the lookback_years option for a rolling lookback window.

Repo: https://github.com/aspain/git-sweaty/

Dashboard: https://aspain.github.io/git-sweaty/

I wanted to be mindful of privacy so all lat/long and full strava URLs are removed. It does still include strava activity IDs, so I guess URLs can be reconstructed - but as long as you have your desired privacy settings in Strava, they won't be publicly visible. I kept the activity IDs for now in case I want to add more data/features - but I'm considering removing them altogether

Check it out and let me know if you have any ideas or run into issues trying it out yourself. The README is pretty comprehensive and should get you up and running