Home Assistant Automatic Cat Feeder Guide 2026: Complete Smart Home Integration
Home Assistant Automatic Cat Feeder Guide 2026: Complete Smart Home Integration
Introduction
If you run Home Assistant, you already know that the platform’s real power comes from connecting devices that weren’t designed to talk to each other. Automatic cat feeders are a perfect example: most feeders come with their own app, their own cloud, and no API for local control. With Home Assistant, you can unify your cat’s feeding schedule with your broader smart home ecosystem — creating automations that respond to sensor data, time of day, and even weather conditions.
This guide covers everything from MQTT-based WiFi feeders to ESPHome custom firmware for simple timer feeders, Tuya Local API integration, and real-world automation examples. Whether you have a PETLIBRO, PetSafe, SwitchBot, or a basic timer feeder, there’s a Home Assistant path for you.
Why Integrate Your Cat Feeder with Home Assistant?
| Capability | Without HA (App Only) | With Home Assistant |
|---|---|---|
| Cross-device automations | Limited to vendor ecosystem | Any HA-connected sensor/device |
| Local control | Usually cloud-dependent | Fully local (no internet required) |
| Custom scheduling | Fixed meal times only | Conditional: weather, sensor, presence-based |
| Feeding logging | Limited to 30 days | Unlimited in HA history |
| Multi-feeder coordination | Separate apps per brand | Single dashboard for all feeders |
| Voice assistant choice | Alexa/Google only | Any HA-compatible voice assistant |
Method 1: MQTT Integration (Best for WiFi-Connected Feeders)
WiFi feeders that support MQTT — or can be flashed with MQTT-capable firmware — offer the deepest Home Assistant integration. MQTT is a lightweight messaging protocol that lets your feeder and HA communicate over your local network without cloud dependency.
Feeder Compatibility
| Feeder Model | MQTT Support | Notes |
|---|---|---|
| PETLIBRO DockStream/Granary/Polar | Via Tuya Local (see Method 2) | Encrypted Tuya protocol, needs local API |
| PetSafe Smart Feed | No native MQTT | Use RF bridge (Method 3) |
| SwitchBot Feeder | Via SwitchBot Hub + Matter | Matter bridge is the easiest path |
| ESPHome Custom Feeder | Full MQTT (DIY) | Build your own (Method 4) |
| WOPET WiFi Feeder | Via Tuya Local | Same approach as PETLIBRO |
| Casa de las Micas Feeder | Partial MQTT | Community drivers available |
Setting Up MQTT in Home Assistant
- Install the Mosquitto MQTT broker via the HA add-on store
- Configure the broker with anonymous access or username/password
- Add MQTT integration in Home Assistant — Settings → Devices & Services → Add Integration → MQTT
- Connect your feeder to the same MQTT broker
Example: MQTT Automation for Dispensing
alias: "Dispense Breakfast when Sun Rises"
trigger:
- platform: sun
event: sunrise
offset: "00:15:00"
action:
- service: mqtt.publish
data:
topic: "cat/feeder/mainfloor/command"
payload: '{"command": "dispense", "portions": 2}'
- service: notify.mobile_app
data:
title: "Breaktime 😺"
message: "Breakfast dispensed at {{ now().strftime('%H:%M') }}"
Method 2: Tuya Local API Integration (PETLIBRO, WOPET, Smart Life)
Many popular smart feeders (PETLIBRO, WOPET, and any feeder using the Smart Life/Tuya app) use Tuya’s cloud platform. The Tuya Local custom integration for Home Assistant bypasses the cloud entirely, communicating directly with the device on your local network.
Setup Steps
- Install HACS (Home Assistant Community Store) if not already installed
- Install the “Tuya Local” integration via HACS
- Find your feeder’s local key:
- Install the “Tuya IoT Platform” app and create a project
- Link your Tuya/Smart Life account
- Find the device ID and local key for your feeder
- Add the device in Home Assistant via Tuya Local integration
- Entities appear automatically — switch (dispense), sensor (last meal), number (portions)
Example: Weather-Aware Feeding
alias: "Reduce Portions on Hot Days"
trigger:
- platform: time
at: "08:00:00"
condition:
- condition: numeric_state
entity_id: weather.outdoor_temperature
above: 35
action:
- service: number.set_value
target:
entity_id: number.feeder_portion_size
data:
value: 1
- service: notify.mobile_app
data:
title: "Hot Day Adjustment 🌡️"
message: "Portions reduced due to {{ states('weather.outdoor_temperature') }}°C heat"
Method 3: RF Bridge Integration (PetSafe, Non-WiFi Feeders)
For feeders without WiFi (like the PetSafe Smart Feed’s non-WiFi variant, or the Cat Mate C5000), an RF bridge can capture and replay the feeder’s remote control signals.
What You Need
- BroadLink RM4 Pro or Bond Bridge ($30–$50)
- Feeder’s original RF remote control
- Home Assistant BroadLink or Bond integration
Setup
- Learn the RF signal: Use the BroadLink app to “learn” the remote button for dispensing
- Create a script in HA that sends the learned RF command
- Add to automations — same as any other HA entity
Example: Motion-Triggered Dispensing (RF Feeder)
alias: "Dispense Snack When Cat Enters Kitchen"
trigger:
- platform: state
entity_id: binary_sensor.kitchen_motion_sensor
to: "on"
condition:
- condition: time
after: "06:00:00"
before: "22:00:00"
- condition: numeric_state
entity_id: sensor.last_feeding_time
above: 120 # at least 2 hours since last feeding
action:
- service: script.dispense_feeder
Method 4: ESPHome Custom Feeder (Full DIY Control)
For the ultimate in Home Assistant integration, build your own smart feeder controller with an ESP32 or ESP8266 running ESPHome. This approach gives you complete control over every aspect of the feeder.
Hardware Needed
- ESP32 or ESP8266 development board ($5–$10)
- Servo motor (SG90 or MG995) for dispensing mechanism
- 5V power supply
- 3D-printed or modified feeder hopper
- Optional: weight sensor (HX711 + load cell) for food level monitoring
Basic ESPHome Configuration
esphome:
name: cat-feeder
platform: ESP32
board: nodemcu-32s
wifi:
ssid: "YourSSID"
password: "YourPassword"
mqtt:
broker: 192.168.1.100 # Your HA MQTT broker
cover:
- platform: servo
id: feeder_servo
servo: feeder_servo_control
name: "Cat Feeder Dispenser"
open_duration: 0.5s # 0.5 seconds of rotation
close_duration: 0.5s
servo:
- id: feeder_servo_control
output: pwm_output
min_level: 3%
max_level: 12%
output:
- platform: ledc
id: pwm_output
pin: GPIO13
frequency: 50Hz
sensor:
- platform: hx711
name: "Food Level Sensor"
dout_pin: GPIO19
clk_pin: GPIO23
gain: 128
unit_of_measurement: "g"
update_interval: 60s
button:
- platform: mqtt
name: "Dispense Portion"
command_topic: "cat/feeder/dispense"
on_press:
then:
- cover.open: feeder_servo
- delay: 500ms
- cover.close: feeder_servo
Automation Recipes for Home Assistant
Recipe 1: Vacation Mode
When you leave for more than 6 hours, switch to an “away” feeding profile with backup checks.
alias: "Activate Vacation Feeding Mode"
trigger:
- platform: state
entity_id: device_tracker.phone
to: "not_home"
for:
hours: 6
action:
- service: switch.turn_on
target:
entity_id: switch.vacation_feeding_mode
- service: notify.mobile_app
data:
message: "Vacation feeding mode activated. Feeder running on backup schedule."
Recipe 2: Food Level Alert
Monitor food weight and alert before the hopper runs empty.
alias: "Low Food Alert"
trigger:
- platform: numeric_state
entity_id: sensor.cat_feeder_food_level
below: 200 # grams remaining
for:
minutes: 10
action:
- service: notify.mobile_app
data:
title: "⚠️ Feeder Running Low"
message: "Only {{ states('sensor.cat_feeder_food_level') }}g of kibble remaining. Time to refill!"
Recipe 3: Multi-Cat Feeding Tracker
Log which cat ate what by combining feeder dispensing data with a Bluetooth presence sensor (like an ESP32 BLE presence detector).
alias: "Log Feeding Event by Cat"
trigger:
- platform: state
entity_id: binary_sensor.whiskers_ble_presence
to: "on"
condition:
- condition: state
entity_id: switch.feeder_dispensing
state: "on"
action:
- service: logbook.log
data:
name: "Whiskers 🐱"
message: "Ate from feeder (portions dispensed: {{ states('sensor.last_portions') }})"
entity_id: sensor.feeder_log
Troubleshooting Common Integration Issues
| Problem | Likely Cause | Solution |
|---|---|---|
| Feeder not appearing in Tuya Local | Local key not found or expired | Re-fetch local key from Tuya IoT Platform |
| MQTT messages not reaching HA | Wrong broker address or port | Check HA MQTT configuration, test with mosquitto_sub |
| RF bridge not triggering feeder | Signal not learned correctly | Re-learn RF signal, check distance between bridge and feeder |
| ESPHome servo not responding | Power insufficient | Use external 5V power supply for servo |
| Feeder dispensing twice | MQTT command sent twice | Add idempotent: true to MQTT button configuration |
Feeder Recommendations for Home Assistant Users
| Feeder | Integration Method | Difficulty | Reliability |
|---|---|---|---|
| PETLIBRO Granary | Tuya Local | Medium | Very good |
| SwitchBot Feeder + Hub 2 | Matter Bridge | Easy | Excellent |
| ESPHome Custom Feeder | Native MQTT | Hard | Excellent (DIY) |
| PetSafe Smart Feed | RF Bridge (BroadLink) | Medium | Good |
| WOPET WiFi Feeder | Tuya Local | Medium | Good |
| Cat Mate C5000 | RF Bridge or Timer | Low | Excellent |
Verdict: Which Integration Path Should You Choose?
| Your Skill Level | Best Approach |
|---|---|
| Beginner (installed HA, comfortable with YAML) | SwitchBot Feeder + Matter Bridge — plug and play |
| Intermediate (familiar with integrations) | PETLIBRO + Tuya Local — good balance of features and control |
| Advanced (comfortable with soldering and ESP32) | ESPHome custom feeder — maximum control and reliability |
Bottom line: Home Assistant integration elevates your cat feeder from a simple appliance to a responsive part of your smart home ecosystem. Start with the approach that matches your skill level — even the SwitchBot Matter bridge unlocks automations you can’t get from any standalone feeder app.