After spending countless hours trying to find a seamless way to integrate my Synology Download Station into Home Assistant, I finally took the plunge and created my own solution!
I wanted to share my journey in case anyone else is struggling with the same issue.
The challenge was that there wasn’t an official integration available, and I’m not a Python expert, so building one from scratch wasn’t feasible. Instead, I utilized the tools already available within HA to create a YAML package that links everything together. It’s not perfect, but it gets the job done!
Here’s a quick rundown of what I did:
-
Setup and Configuration: I created a new folder in my config directory called
/sdsand whitelisted it. This was crucial for the shell commands to work properly. I also set up a series of sensors that communicate with my Synology NAS via REST API and shell commands. -
Shell Commands and Sensors: I replaced the REST sensors with shell commands that run every 10 seconds. This made the integration much more responsive. The commands pull data from the NAS and store it temporarily in files, which are then processed by file sensors.
-
Security Considerations: I had to hardcode my NAS credentials into the sensors, which isn’t ideal. I’m still looking for a way to template secrets without exposing sensitive information. If anyone has a solution for this, please share!

-
Dynamic Sensors: Since I can’t create dynamic sensors, I set up 10 reusable slots. Each slot represents a download task, and if one task completes, the slot can be reused for the next one. It’s a bit clunky, but it works for my needs.
-
Visualization: I created a custom Lovelace view that displays all download slots in a grid layout. Each slot shows the download speed, status, and progress. I used a combination of
button-card,mini-graph-card, andconfig-template-cardto make it user-friendly.
The whole process was a bit of a hack, but it’s been running smoothly for months now. I can monitor my downloads directly from HA, which is a huge convenience. ![]()
If you’re interested in trying this out, I’ve made the YAML file and Lovelace card templates available. Just remember to replace the placeholder values with your own NAS details and create the necessary files in the /sds directory before running the commands for the first time.
Happy downloading! ![]()