---
title: "Types of Irrigation Program"
canonical: "https://farmconnect.docs.rubiconwater.com/space/FCD/2015625957/Types%20of%20Irrigation%20Program"
format: markdown
---
> Macro (toc)

# Time-Based and Event-Based Programs

You can create both time-based and event-based programs in FarmConnect.

> ℹ️ **Note**
> ℹ️ 
> ℹ️ Event-based programming is not enabled by default. Contact Rubicon Support if you would like to use event-based programming.

- Time-based programs consist of actions that happen at a specified time.

> ℹ️ **Example**
> ℹ️ 
> ℹ️ A program can be configured to open and close a gate at specified times.

- Event-based (or “sensor-driven”) programs include actions that are triggered by events.

> ℹ️ **Example**
> ℹ️ 
> ℹ️ A program can be configured to open or close a gate when the water level measured by a water level sensor in the supplying channel exceeds a certain value.

## Why do we need different program types?

We divide programs into two types because they are controlled differently.

- When you synchronise a time-based program, the fixed program is loaded as presets into the individual gates and runs at the scheduled times.
- When you synchronise an event-based program, the program is loaded into the FarmConnect gateway which manages all the event processing and sends commands to the relevant devices in response to those events.

# Program Names, Templates and Copies

When you create a new program, it will automatically be given a default name such as *Control Program 32*.

> ℹ️ **Note**
> ℹ️ 
> ℹ️ We recommend that you change the name to something meaningful by editing the program name field and saving your changes.

- When you save a program for the first time it will be saved using the name <Program Name> (Template)
- When you copy a program it will be saved using the name <Program Name> (Copy)(Template)
- When you synchronize a program a copy is created using the Program Name and appending the start date and eventually the finish date.

These naming conventions are simply intended to help you keep track of your programs, you can change the names if you prefer.

> ℹ️ **Example**
> ℹ️ 
> ℹ️ - If I create a new program and edit the name to be *Irrigate Two Bays*, it will be saved as *Irrigate Two Bays (Template)*
> ℹ️ - If I synchronize and run the program I will be able to see it in my Program Executions list as *Irrigate Two Bays (start) (finish)*
> ℹ️ - If I then copy that template my new program will be saved as *Irrigate Two Bays (Copy) (Template)*

---