PetLibro cat feeder

Has anyone tried integrating a Pet Libro cat feeder to HA? My partner just bought one. It has a 1080p camera, motion sensor, 2-way audio conversation, and motor to dispense portions on a schedule. It talks to their iPhone app using Wifi. As soon as it arrives I’ll be investigating the network protocol to see if it can be intercepted.

3 Likes

Did you investigate the network protocol yet? Anything to work with?

I’d like to make the petlibro stuff work with HA, can anyone get me started like I’m 5? Considering I understand network protocols and have a computer science degree, what would the steps be to write my own integration here?

You could start here for a guide or here for the developer documentation, not sure which would be more useful.

Thank you!

Hey there! I’m looking to buy a Petlibro feeder and fountain - I’m wondering if you have tried integrating it with Homeassistant?

So I have the pet feeder and I was able to get it into home assistant but the support is pretty bare bones. To do it, you can’t use the pet libro app. I can’t say about the fountain, although it’s on my list, but the feeder is a Tuya device and I was able to pair the feeder with tuya and use the tuya integration. I’m hoping the food level sensor gets added at one point the app would send you an alerte when the food got low but now it doesn’t.

Screenshot 2023-06-05 001452

This device communicates with the cloud server using MQTT encrypted with TLS 1.2.

It has a telnet interface, password protected. I haven’t yet had time to try hacking that.

Hi. This Petlibro feeder has been added to Tuya Local (GitHub - make-all/tuya-local: Local support for Tuya devices in Home Assistant) by the developer. It will let you use the manual feed, set the different controls available in the app, and has the sensors setup. You can do pretty much everything except view the camera and manage the scheduled feedings.

To use it you will want to:

  • Remove the feeder from the Petlibro app (this will remove it from Petlibro and reset the device)
  • Download the Tuya app to your phone. Setup an account within the phone app and add the device (the same way you did with the Petlibro app)
  • Recreate the scheduled feedings in the phone app
  • Create a free Tuya developer account so you can get the device id and local key (there are many tutorials/guides showing how to get a local Tuya key to use with Home Assistant)
  • Install Tuya Local (I recommend using HACS, you can see the instructions on the link I provided above)
  • When adding the feeder to Tuya Local, selecting protocol 3.4 works

Hope this helps!

5 Likes

These instructions worked for me for the Petlibro feeder with no camera. The only thing I had to do extra, when I added the feeder I needed to add all the dp_id manually.

After the device was added I added the manual_feed which was dp_id: 3 for me, as a number with the following values.

{
  "unit": "",
  "min": 1,
  "max": 50,
  "scale": 0,
  "step": 1
}

Finally, I added it to my dashboard by creating a button that set the value to the manual feed.
Feeder

{
  "result": {
    "properties": [
      {
        "code": "meal_plan",
        "custom_name": "",
        "dp_id": 1,
        "time": 1687821310000,
        "value": "AA=="
      },
      {
        "code": "manual_feed",
        "custom_name": "",
        "dp_id": 3,
        "time": 1687821301547,
        "value": 1
      },
      {
        "code": "feed_state",
        "custom_name": "",
        "dp_id": 4,
        "time": 1687821311254,
        "value": "feed_end"
      },
      {
        "code": "factory_reset",
        "custom_name": "",
        "dp_id": 9,
        "time": 1687759914807,
        "value": false
      },
      {
        "code": "battery_percentage",
        "custom_name": "",
        "dp_id": 11,
        "time": 1687818512362,
        "value": 0
      },
      {
        "code": "fault",
        "custom_name": "",
        "dp_id": 14,
        "time": 1687821311234,
        "value": 0
      },
      {
        "code": "feed_report",
        "custom_name": "",
        "dp_id": 15,
        "time": 1687759914807,
        "value": 0
      },
      {
        "code": "voice_times",
        "custom_name": "",
        "dp_id": 18,
        "time": 1687815036849,
        "value": 3
      },
      {
        "code": "record_set",
        "custom_name": "",
        "dp_id": 102,
        "time": 1687759914807,
        "value": "player"
      },
      {
        "code": "recording_exists",
        "custom_name": "",
        "dp_id": 103,
        "time": 1687759919013,
        "value": "no_voice"
      },
      {
        "code": "surplus_state",
        "custom_name": "",
        "dp_id": 108,
        "time": 1687759919013,
        "value": "full"
      },
      {
        "code": "record_state",
        "custom_name": "",
        "dp_id": 109,
        "time": 1687812186730,
        "value": "record_end"
      },
      {
        "code": "record",
        "custom_name": "",
        "dp_id": 110,
        "time": 1687759914807,
        "value": 0
      },
      {
        "code": "log",
        "custom_name": "",
        "dp_id": 112,
        "time": 1687759916442,
        "value": true
      },
      {
        "code": "indicator",
        "custom_name": "",
        "dp_id": 113,
        "time": 1687759916461,
        "value": true
      },
      {
        "code": "wifi_signal",
        "custom_name": "",
        "dp_id": 114,
        "time": 1687759914807,
        "value": -255
      },
      {
        "code": "plan_feed_report",
        "custom_name": "",
        "dp_id": 115,
        "time": 1687759914807,
        "value": 0
      },
      {
        "code": "voice_name",
        "custom_name": "",
        "dp_id": 116,
        "time": 1687759919013,
        "value": "record.MP3"
      },
      {
        "code": "offline_feed_record",
        "custom_name": "",
        "dp_id": 118,
        "time": 1687821310000,
        "value": "B+cGGhAPCgECAA=="
      },
      {
        "code": "feed_record_status",
        "custom_name": "",
        "dp_id": 119,
        "time": 1687759914807,
        "value": "mcu_r"
      }
    ]
  },
  "success": true
}

Older Petlibro (V1) work with Tuya.
Newer Petlibro (V2) us a different communication via MQTT.

So what does this mean? I’m very familiar with Tuya but I can’t get mine to add. But I’m not familiar with Mqqt.

I’m also super interested in the newer petlibro! I bought 2 of them hoping to integrate. I actually reached out to them and offered to do the work if they introduced me to an engineer. They turned me down :frowning:

FYI, seems like they are still a very small chinese company even though they advertise as being from california.

1 Like

@framerate This is very unfortunate! Me and my partner were planning on buying the water fountain and the feeder but now I’m doubting. The whole selling point was that they were an American company…

Also, the fact that their devices don’t integrate at all with HA (at least not to an usable extent) is also very unfortunate…

I hope this thread gets an update on this, smart pet things are such an underrated feature for a smart home!

Opened an issue for integrating PLAF103 V1 in tuya-local project:

Hi, is it possible to hack the telnet password?

I believe I have the same feeder. I’ve added via Tuya Local, but not quite sure I follow on were you added all the extras? All I have available right now are Quick Feed, Factory Reset, Voice Configuration, Battery and Feed Report. Where do I add all the others? TIA

Mine just gives me all the controls for the camera but doesn’t actually show the image. I created a fast action in Tuya and it showed up and a scene in HA. Although activating it through HA does seem to work. I think I need to add something to the Tuya IoT Developers site but I’m not sure what

Hi all,

I got the Dockstream (plwf105) water bowl working with esphome. It looks to me like newer devices are MQTT based with their cloud as the broker. Where as older devices are tuya. The water bowl I ordered a few days ago is NOT tuya and is indeed MQTT using an ESP32-C3 chip. I was able to determine this by monitoring the serial console on the stock firmware.

The repo above contains an esphome firmware for the bowl which has (mostly) the same features as the stock firmware. I think it’s just missing a calibration feature, which can be added. The repo might also prove useful for the newer feeders as well. I hope to add the feeder soon if I am able to understand how it works

8 Likes

Checking in to see if it’s possible to integrate a new PLAF103 in home assistant somehow. Anyone have detailed steps or just a way to confirm whether or not I have a Tuya capable feeder?