Aqara C1 Pet Feeder Onboard Scheduling Config

I just recently installed an Aqara C1 Pet Feeder, which I purchased based on the HA release notes listing support for it.

I’m running HA 2022.12.0 with a GoControl HUSBZB-1 combo stick and ZHA. I’ve successfully added the feeder to HA, and controlling it with the button entity works great, as well as setting portrions, etc. I see there’s a select entity for the mode, with the two choices being “Manual” and “Schedule”. I’d like to have the device handle its own schedule if possible, but I can’t seem to figure out how to actually program the schedule from HA.

Thanks in advance for any assistance.

2 Likes

Zigbee2MQTT has a UI in the Addon UI for setting schedules, but the feed button doesn’t behave as expected unfortunately.

Hi,

So does it mean that we can’t both set internal scheduling (render the pet feeder totally autonomous) and also use home assistant to monitor it / trigger manual feed ?

I just did the same, buy an aqara C1 to replace my old Petwant PF-103 and expected to be able to monitor it with home assistant but also let it work autonomously (meaning even if home assistant was off).

You can do exactly that with ZigBee2MQTT. I ended up creating a button in Lovelace that directly publishes the Start Feed message and that works flawlessly. You can see how much food has been dispensed for a day (resetting at midnight UTC, setting time hasn’t been implemented yet).

that would just been my question does anyone know how it looks like with the time implemention? i didn’t find a github issue or anything like that, is it in planning?

clearly the shedueles can be “converted” but the total, its a pity that this is not correct…

@BlinkyBulbs Regarding ZigBee2MQTT, I’m not using it and was hoping to not need it to configure the scheduling to be honest :’(

@D0doooh And I found most of the information on the progress of the work done in this merge request:

I also noticed a problem with the “Feed” button in HA, where it starts delivering food…but never stop!
And I think the Feeder has a default scheduling, as for now, it delivers food thrice per day (without anything change by myself from first plugging it to power) .
HA shows that as “Last feeding source” = “undefined_0x00” (Feeder button is “feeder” and using the Feed button from HA is “homeassistant”)

2 Likes

Has anyone else had issues with their feeder almost immediately disconnecting once paired? I get a successful pairing, and I’ll get confirmation everything has successfully interviewed, but then it won’t respond to any of the commands. After a few minutes, it’ll say its disconnected entirely. I’m close to other zigbee devices, but its almost like it’s not staying connected. It’s on mains power, so its not like the batteries are there causing an issue.

No disconnection problem so far for me.
Neither on the firmware I got the Feeder on when received (3333), nor on the last one I updated to (with the aqara hub: 3733).

And with the last firmware, I don’t have the bug with the Feeder delivering ALL the food it contains when I use the feed button from HomeAssistant.

Just reporting in - started using this device this week with zigbee2mqtt and for now:

  1. Created a manual button and script within home assistant to manually trigger the feed button, as the integration itself provides only a Select option that will only work once. Feed trigger works fine via mqtt
  2. The builtin schedule editor in the zigbee2mqtt GUI doesn’t seem to work for me - the options disappear as soon as I try to enter them. I’m less inclined to try using the built-in scheduler for now until the timezone issues have been resolved. Instead, I’ve thrown together a simple scheduler in home assistant and this is working fine. Later it would be better to have the schedule come from the device in case of power outage.
  3. LED on / off toggle is not working
  4. There doesn’t seem to be an option in zigbee2mqtt to enable / disable the feed speaker alert on the device but this may not be an option in the official Aqara app either, I haven’t tried it.

Otherwise this is a well-made and useful device. I see there is an OTA update available in zigbee2mqtt which I will install later this week. Looking forward to seeing refinements to the device in zigbee2mqtt and home assistant later.

1 Like

Hi,

Stupid question - but what’s the message you send to trigger feeding? I thought it would be

{"feed":"START"}

On the same channel everything else seems to go on for that device, which for me is

zigbee2mqtt/CatFeeder

However it doesn’t work…

This is my script:

  cat_feed_manual:
    alias: "Cat Feeder Start"
    sequence:
      - service: mqtt.publish
        data:
          topic: zigbee2mqtt/Kitchen Cat Feeder/set    # note case sensitive
          payload: '{"feed": "START"}'
1 Like

Does anyone know if progress is being made on adding scheduling support via ZHA? I’ve got my C1 scheduled via a Home Assistant automation, but it’d be great to program the schedule onto the machine so that it’s more protected against HA restarts, Zigbee issues, etc.

1 Like

Well, doesn’t seem so…

I would also really like to know that.
So far, I do the same (automation through Homeassistant) but I’d like to be able to use the internal schedule of thee device to be safe when I’m away from home for a few days

Hi,

Sorry to be cheeky, but wondered if it’s possible to grab a copy of your schedule automation please? I think I have the capability to add a button simply enough, but the schedule would be a godsend!

Hoping we can use it to drop a little amount early morning to stop our wonderful cat wake us up at 5am with a paw to the face!

Thank you so much.

James and Libby. :slight_smile:

The internal schedule started working for me when I deleted it and added the required times.
After that, do not tough it any more.

Hey there, no problem.

This is by no means a “best practice” example, or a particularly efficient way of doing things, but it has worked reliably for us the last several months. You don’t need the trigger as a separate script, but it’s handy if you’re planning to trigger the feed from elsewhere like Google Assistant.

Add the following elements to your YAML:

Your input_boolean, which can be used to quickly turn on / off your cat feeder scheduler automations (if you have a few for week days, weekends, evenings etc):

input_boolean:
  cat_feed_schedule:
    name: Cat Feed Schedule
    icon: mdi:fish

Your input_datetime, to configure the start time easily from the Home Assistant UI:

input_datetime:
  cat_feed_schedule_weekday_morning:
    name: Weekday Morning
    has_date: false
    has_time: true

Your script, to trigger the feed when called (there’s probably a dedicated button for this in more recent zigbee2mqtt updates but this works ok for me so I haven’t changed it):

script:
  cat_feed_manual:
    alias: "Cat Feeder Start"
    sequence:
      - service: mqtt.publish
        data:
          topic: zigbee2mqtt/Kitchen Cat Feeder/set    # note case sensitive
          payload: '{"feed": "START"}'

Your automation (remove the weekday conditions, or create additional automations for different days, weekends etc):

automation:
- alias: Cat Feed Schedule Weekday Morning
  id: cat_feed_schedule_weekday_morning
  initial_state: on
  trigger:      
    - platform: template
      value_template: '{{ states.sensor.time.state == states.input_datetime.cat_feed_schedule_weekday_morning.state[0:5] }}'          
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.cat_feed_schedule
        state: 'on'
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
  action:
  - service: script.turn_on           # START FEEDER MANUALLY
    data:
      entity_id: script.cat_feed_manual

You may also want to add some of the feeder sensors to your Home Assistant UI so that you can tell if the feeder has triggered successfully or not - our cat clears the bowl within a minute of the feed, so sometimes you think it hasn’t triggered correctly. Until you check sensor.kitchen_cat_feeder_portions_per_day

Thank you so much! Will have a play now. You’re an absolute star and our disgrace of a cat thanks you greatly :smiley:

I also got the C1 pet feeder connected to my HA in ZHA. Connection was flawless so far and I got all the entitites in HA. Some of them don’t work like the LED indicator switch. It does nothing.

For safety reasons I would also like to set up a schedule directly on the machine, so that it would function even when:

  • Home Assistant wasn’t connected or ZigBee connection would be lost
  • power in my house would be off (for a couple of hours)

Is that only possible with the Aqara app and hub? What about voice? I didn’t see an option to trigger the audio that you can record with the device.

After an update to Home Assistant 2023.9.3 some of the entitites of my Pet Feeder in ZHA are not available anymore including

number.aqara_aqara_feeder_acn001_serving_to_dispense
select.aqara_aqara_feeder_acn001_mode
switch.aqara_aqara_feeder_acn001_led_indicator
switch.aqara_aqara_feeder_acn001_child_lock

I have an automation that normally sets “number.aqara_aqara_feeder_acn001_serving_to_dispense” to a predefined number e.g. 3 and then dispenses the food. What happened now is that the device started to feed and never stopped! It disposed all the food until the exit got jammed and it stopped with an error. I don’t know if this is related to the entity becoming unavailable but it is of course an alarming behaviour. My cat had so much dry food to eat, that when I arrived back home she was incredibly thirsty.

The automation was working fine before. I cut power to the machine, pressed the reset key once (not holding it) and it seems that it returned to the initial values which could also be related to hitting that Reconfigure device button in ZHA device information . Unfortunately now I cannot change anything anymore and it follows the initial schedule (with schedule mode turned on). I restarted HA and re-initialized ZHA. No success. Is anyone else experiencing this?

I have local schedules working but I have to use the MQTT publish service in order to get the config properly saved in zigbee2mqtt.
For example my schedule:

{
   "schedule":[
      {
         "days":"everyday",
         "hour":6,
         "minute":30,
         "size":3
      },
      {
         "days":"everyday",
         "hour":7,
         "minute":0,
         "size":1
      },
      {
         "days":"everyday",
         "hour":10,
         "minute":0,
         "size":1
      },
      {
         "days":"everyday",
         "hour":13,
         "minute":0,
         "size":2
      },
      {
         "days":"everyday",
         "hour":15,
         "minute":0,
         "size":1
      },
      {
         "days":"everyday",
         "hour":17,
         "minute":0,
         "size":3
      },
      {
         "days":"everyday",
         "hour":18,
         "minute":0,
         "size":1
      },
      {
         "days":"everyday",
         "hour":20,
         "minute":0,
         "size":1
      }
   ]
}

I simply call set using dev tools:

It then saves correctly and works perfectly. :slight_smile:

2 Likes