Custom Component request -- PetKit Feeder (available on Homebridge)

Hi all – I bought a really cool smart (wifi) pet feeder Link

It looks as if there is an API and people have been able to integrate it into Homebridge via JSON (npm). Link

Additional information on Reddit Link

I am reasonably savvy with HomeAssistant, but not able to do the levels of programming to create a custom component.

Anyone with one of these care to give it a shot or have any tips on how I could pull information in (like a sensor for if its empty) via a template/sensor?


Looks like you could probably use a rest integration or commandline sensors/commands.

I changed this to a feature request. Share your projects is not the appropriate category as you are not sharing anything you made.

If anyone was able to do this that would be awesome!

Homebridge already haves this component

Anyone can port this to Has??


Tested, works great! For US based people, following config worked for me. Thanks to the developer.

  username: email
  password: password

Please take a look into this topic: DIY PetKit feeder local integration to Home Assistant via ESPHome.
I modified my PetKit feeder to connect to HA locally.

1 Like

tested the same config and it works great for France location too.
Thanks to the developper of this integration!

Works in Russia

1 Like

Also works in denmark with two Petkit Fresh Element Solo feeders in one account.

@alone Thanks for the custom component, great work :+1:


First of all, thanks for the awsome integration. I got it working and see the food state and desiccant state.
What I can’t se though is the feed_amount and feed_time. I also cannot give our cat a snack. I see it in the app, but it does not get dispensed.
any idea what i am doing wrong?

Thanks for building this!

I tried to install the latest version (looks like March 11) and HA wouldn’t load it due to an error with the new button component. I just grabbed an older version of the init file from February since it didn’t look like anything else was changed and it seems to work now.

It looks like my feeders might not report the amount of food they’re holding. Feed amount is just showing 0 on both, and there’s food in them. I checked the service request data and the realAmountTotal attribute isn’t reported. It looks like this model just relies on the Status to tell when it’s low or out of food.

Buongiorno potreste spiegarmi come si configura?Grazie!

Hi guys, I will sound like a complete newby but I need your help :sweat_smile:

So I added and download the custom repo through HACS, then restarted HA. I tried to add the integration on the integration screen, but it tells me it needs to be added on configuration.yaml. No problem, I follow the documentation and add this to my config file (password removed here of course):

# Loads default set of integrations. Do not remove.

# Text to speech
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

  # Single account
  username: 31-minititof # Username of Petkit APP (小佩宠物), important to use country code
  password: xxx # MD5 or Raw password
  api_base:      # Optional, default is China server:
  scan_interval: 00:02:00 # Optional, default is 00:02:00
  feeding_amount: 10 # Optional, default is 10(g), also can be input_number entity id.

My region is the Netherlands so I used 31 as the country code.
But then my question is, now what? I don’t understand what I should do to be able to add a button that would start feeding my cat.

Maybe it has something to do with the Service section at the end of the doc; but I don’t know what to do with that.


If you’ve successfully added the custom integration, you should see new entities in HA.
Then, you should now have a switch entity which can be toggled to start the feeding process.

You can just add a switch card to your dashboard to add a feeder button.

Having the same issue, can’t seem to login successfully.

I found the solution thanks to someone on Reddit. In the Username field, write your email address. No code or anything, just email address.

1 Like

Got it working as well, but I was looking for a device that would have been added, but eventually I found the services.

Anyone have experience in the European region? I have downloaded the integration, set it up in yaml, but so far no entities are showing up for puramax. I enabled sharing in the app, tried switching to Chinese for the US region, but no response.