I’ve built a custom integration for the Purina Petivity Smart Litter Box Monitor:
Install through HACS as a custom repository (category: Integration).
What you get
- Per monitor: last upload, visits / urinations / defecations today, last visit, battery and upload warnings, firmware-update flag, Wi-Fi signal
- Per cat: weight, last visit time, type (urination / defecation / both) and duration, daily counts
- A Visit event entity per monitor that fires once per new visit (cat, type, weight, duration), handy for automations
Signing in
Petivity’s web app now signs in through a confidential Cognito client, so the direct Cognito refresh in the earlier curl snippets is refused. The integration instead uses the id_token and refresh_token cookies from https://api.petivity.com/ after you sign in there in a browser. Petivity’s server renews the session by itself, and Home Assistant asks for new cookies if it ever ends. The README walks through copying them.
Good to know
- The monitor is cloud-only: it wakes after a visit, uploads, and goes back to sleep, so visits appear a few minutes after the cat leaves.
- A visit is only credited to a cat once Petivity has identified it (or you’ve labeled it in the app).
- The API’s firewall rejects default Python / curl user agents; the integration sends its own.
- Diagnostics downloads are anonymized, so they’re safe to attach to issues.
Unofficial, not affiliated with Purina. Bug reports and feedback welcome on GitHub.
