Hey everyone!
I’ve been working on a custom integration for the Shaztech Pill Dispenser and thought I’d share it here in case anyone else has one of these devices.
What it does
The integration connects your Pill Dispenser to Home Assistant via the local API. Nothing fancy, just straightforward control and monitoring.
- All 10 tray sensors (name, color, status, alarm time, etc.)
- Buttons to dispense trays, play alarms, dismiss, etc.
- Switches to enable/disable individual trays
- Automatically polls the device every 30 seconds
So if you want to automate reminders, track when medications were taken, or just see everything in your dashboard - this should work.
Installation
Easiest way is via HACS - click the button below and it should handle everything for you:
After installing, restart HA and add the integration via Settings → Integrations. Just enter your device’s IP address and you’re good to go.
If you prefer manual install, download the files from the GitHub repo and extract to custom_components/pill_dispenser/.
Setup
The integration creates 133 entities (80 sensors, 43 buttons, 10 switches). They’re all named clearly so you should be able to find what you need.
Example Use Cases
I’ve included some examples in the docs for common scenarios:
Medication tracking: Use helpers + automations to track whether you’ve taken your meds each day. Toggles auto-reset at midnight, and a history graph shows you which days you missed.
Custom alarms: Trigger notifications on your phone when the dispenser alarm goes off, or use your smart speaker instead.
Dashboard: Dashboard examples with history graphs so you can see patterns over the week.
Language Support
Currently works in English and German. If you want to add another language, there’s a guide in the repo - just copy the translation file and submit a PR. I’ll add your name to the contributors list.
Known Limitations
- Only works with local API (needs network access to device)
- Polling-based (30 second updates, not instant push)
- No native HACS support yet (custom repository for now)
Feedback Welcome
This is my first proper integration, so if something’s not working right or could be better, let me know. I’m happy to fix bugs or add features if people are actually using this.
Everything else - docs, issues, automation examples - you’ll find on GitHub.
Hope this helps someone! Let me know if you run into any issues.