The CBO 3000!!

Cat Bugger Off 3000

A Smart Garden Deterrent for Home Assistant

The Cat Bugger Off 3000 is a fully automated, pet-friendly garden deterrent. Powered by Frigate AI object detection and Home Assistant automation’s.

it activates your garden sprinklers when a cat is detected—gently encouraging feline visitors to bugger off, without harm.

🎯 What You’ll Need

As an Amazon Associate I earn from qualifying purchases

💡 How It Works

  • Frigate detects a cat (target animal) in the camera feed using object recognition.
  • It sends an MQTT message.
  • Home Assistant automation receives the trigger.
  • Home Assistant check’s if it is allowed run the script, this is based on a input_boolean that can be turned on and off from the dashboard, I use this if washing in on the line or if we are in the garden.
  • Sprinklers activate briefly (6 seconds) —making the cat bugger off, this works for cats and any other animals.

✅ Why It’s Pet-Friendly

  • No chemicals, no harm: just a short burst of water
  • AI-targeted: minimizes false triggers and avoids other pets or wildlife
  • Easily controllable: disable it any time via dashboard toggle button

The Automation

alias: Cat Bugger off 3000
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.garden_cat_occupancy
    to: "on"
conditions:
  - condition: state
    entity_id: input_boolean.washing_on_line
    state: "off"
actions:
  - action: script.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: script.sprinkler_run
mode: single

The Script

alias: Sprinkler Run
description: ""
sequence:
  - action: switch.turn_on
    data: {}
    target:
      device_id: #the device ID of your solenoid Plug
  - delay:
      hours: 0
      minutes: 0
      seconds: 6
      milliseconds: 0
  - action: switch.turn_off
    data: {}
    target:
      device_id: #the device ID of your solenoid Plug
mode: single
icon: mdi:sprinkler-variant

The input_boolean

Put this in you configuration.yaml

input_boolean:
  washing_on_line:
    name: Washing On Line
    icon: mdi:tshirt-crew
    initial: off

The Template Sensor

This goes in your configuration.yaml in the template section.

template:
  - sensor:
      - name: "Washing Line Status Message"
        unique_id: washing_line_status_message
        state: >-
          The Cat Bugger Off 3000 has been {{
            'armed' if is_state('input_boolean.washing_on_line', 'on') else 'Disarmed'
          }}.

The dashboard button

Create a conditional button on you dashboard for Armed.

show_name: true
show_icon: true
type: button
entity: input_boolean.washing_on_line
tap_action:
  action: call-service
  service: script.announce_washing_line_status
hold_action:
  action: none
icon: mdi:cat
name: "CBO 3000: ARMED"
visibility:
  - condition: state
    entity: input_boolean.washing_on_line
    state: "off"
grid_options:
  columns: 6
  rows: 2

Create a second conditional button on your dashboard for Disarmed.

show_name: true
show_icon: true
type: button
entity: input_boolean.washing_on_line
tap_action:
  action: call-service
  service: script.announce_washing_line_status
hold_action:
  action: none
icon: mdi:cat
name: "CBO 3000: DISARMED"
visibility:
  - condition: state
    entity: input_boolean.washing_on_line
    state: "on"
grid_options:
  columns: 6
  rows: 2

The announcement automation

This announces via a speaker that the cat bugger off 3000 is armed or disarmed.

alias: Announce and Toggle Washing Line
sequence:
  - target:
      entity_id: input_boolean.washing_on_line
    action: input_boolean.toggle
    data: {}
  - data:
      entity_id: assist_satellite.home_assistant_voice_09722b_assist_satellite # Change this to your preferred media device
      message: |
        {{ states('sensor.washing_line_status_message') }}
    action: assist_satellite.announce
The Cat Bugger Off 3000 in action

if you have any issues setting yours up, feel free to make a comment below, I am happily help.

If you have found this information useful feel free to buy me a coffee to help keep this content free and online.

Leave a comment