Skip to content

HomeAssistant integration for Petkit devices (Feeder, Litter, Water fountain) with camera features.

License

Notifications You must be signed in to change notification settings

Jezza34000/homeassistant_petkit

Repository files navigation

Petkit integration for Home Assistant


GitHub Release HACS Custom

Need help ? Join us :

Discord Community Forum

Enjoying this integration?

Sponsor Jezza34000 Static Badge


πŸ“£ Video & Image support is Here!

Access all your media from Petkit devices directly in Home Assistant!

Easily view and manage all your videos and images of your beloved pets right from the Media tab in Home Assistant.

🎞️ Video clips :

πŸ–ΌοΈ Picture gallery :

Note

The media accessible on Home Assistant are ONLY those of the current day. It is not possible to download previous days.

  • πŸ–ΌοΈ Picture feature is supported for all devices with camera, does not require an active subscription to Care+
  • 🎞️ Video feature is supported for all devices with camera, REQUIRE an active subscription to Care+
  • πŸ“Ή Real-time video stream is not supported yet.

Supported Devices

Category Name Device
πŸ— Feeders βœ… Fresh Element
βœ… Fresh Element Mini Pro
βœ… Fresh Element Infinity
βœ… Fresh Element Solo
βœ… Fresh Element Gemini
βœ… YumShare Solo
βœ… YumShare Dual-hopper
🚽 Litters βœ… PuraX
βœ… PuraMax
βœ… PuraMax 2
βœ… Purobot Max Pro
βœ… Purobot Ultra
β›² Fountains βœ… Eversweet Solo 2
βœ… Eversweet 3 Pro
βœ… Eversweet 3 Pro UVC
βœ… Eversweet 5 Mini
βœ… Eversweet Max
🧴 Purifiers βœ… Air Magicube
βœ… Air Smart Spray

Feeders special features

Add feeding Schedule card for feeders :

Add this card to your HA with HACS : https://github.com/cristianchelu/dispenser-schedule-card (thanks to @cristianchelu)

On config card paste this :

type: custom:dispenser-schedule-card
entity: sensor.MY_FEEDER_NAME_raw_distribution_data
editable: never
alternate_unit:
  unit_of_measurement: g
  conversion_factor: 10
  approximate: true

Note

Not all feeders support this feature, if you don't have the sensor raw_distribution_data, your feeder is not supported.

Installation

Via HACS (recommended), click here :

Open your Home Assistant instance and open the repository inside the Home Assistant Community Store.

Or follow these steps:

  1. Open HACS (Home Assistant Community Store)
  2. Click on the three dots in the top right corner
  3. Click on Custom repositories
  4. In the Repository field, enter https://github.com/Jezza34000/homeassistant_petkit/
  5. In the Category field, select Integration
  6. Click on Add
  7. Search for Petkit Smart Devices in the list of integrations
  8. Install the integration
  9. Restart Home Assistant
  10. Go to settings -> integrations -> add integration -> search for Petkit Smart Devices
  11. Follow the instructions to configure the integration

Configuration is done in the UI

Important

To use both the official Petkit app AND Home Assistant simultaneously, you need two accounts:

  • Use your PRIMARY account with the official Petkit app to retain full control over device management.
  • Use your SECONDARY account for Home Assistant integration.

Add the secondary account to your primary account's family in the Petkit app.

How to create a family and add a member:

  1. Open the Petkit app and log in with your primary account.
  2. At the top of the screen, click on Family Management, then select Create a Family and follow the prompts.
  3. Once the family is created, click on the Add Family Member button.
  4. Add your secondary Petkit account.
  5. Finally, log into the Home Assistant integration using your secondary account.

Configuration options

Basic configuration :

  • Polling interval : The interval in seconds to poll the Petkit API. (default: 60)
  • Smart poll : Enable adaptative scan to reduce polling interval when device is active or an event is detected. (default: true)

Advanced configuration (media options) :

  • Media path : The path to store media files. (default: /media)

Important

It's recommended to use an external storage to store media files. As the device can generate a lot of media files, it can fill up your Home Assistant storage quickly. Specially if you have "Fetch video" option enabled.

  • Media refresh interval : The interval in minutes to refresh media list. (default: 5)
  • Fetch image : Enable image fetching for feeders/litter with camera. (default: true)
  • Fetch video : Enable video fetching for feeders/litter with camera. (default: false)
  • Event type for download : The type of event to download media. (default: Eat, Feed, Toileting)
  • Delete media after (days) : The number of days to keep media files. (default: 3) Set to 0 to keep all files.

Advanced configuration (bluetooth relay options) :

  • Enable bluetooth relay : Enable bluetooth relay for fountain with bluetooth, you need a relay device. (default: true)
  • Bluetooth refresh interval : The interval in minutes to scan bluetooth devices. (default: 30)

Available languages

This integration is available in the following languages:

  • English
  • Polish (thanks to @Chriserus)
  • Spanish (thanks to @joasara)
  • French
  • German
  • Italian
  • Chinese (thanks to @pujiaxun)

Some translations was generated by IA and may not be accurate, if you see any mistake, open a pull request with the correction.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Code quality

GitHub Activity Project Maintenance License

Quality Gate Status Bugs Code Smells Coverage Duplicated Lines (%) Reliability Rating Security Rating Maintainability Rating Vulnerabilities

Lines of Code KISS : Keep It Simple, Stupid. Less is More

Petkit API client

This repository is based on the client library for the Petkit API, which can be found here : Jezza34000/py-petkit-api

Credits

Thanks to :