249 lines
44 KiB
JSON
249 lines
44 KiB
JSON
[
|
|
{
|
|
"id": "dryback_completed",
|
|
"result": {
|
|
"structured": "TRIGGER: When dryback last valley time sensor [sensor.dryback_last_valley_time] changes state. CONDITIONS: (dryback last valley time sensor [sensor.dryback_last_valley_time] new state is not 'unknown' AND new state differs from previous state) AND (dryback last percentage sensor [sensor.dryback_last_percentage] value is greater than or equal to dryback min percentage input [input_number.cs_dryback_min_percentage] value) AND (dryback last duration sensor [sensor.dryback_last_duration] value is greater than or equal to dryback min duration input [input_number.cs_dryback_min_duration] value). ACTIONS: Set variables for timestamp, peak_time, valley_time, peak_vwc, valley_vwc, percentage, duration, phase, and current_history. Update dryback history json input [input_text.dryback_history_json] by prepending a new entry with these variables, limiting history to 100 entries. Create a persistent notification titled 'Dryback Cycle Completed' with details of the cycle.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the dryback last valley time sensor [sensor.dryback_last_valley_time] reports a new state.",
|
|
"conditions": "The new state reported by the dryback last valley time sensor must not be 'unknown' and must be different from its previous state. Additionally, the dryback percentage from the dryback last percentage sensor must meet or exceed the minimum threshold set by the dryback min percentage input. Finally, the dryback duration from the dryback last duration sensor must meet or exceed the minimum duration set by the dryback min duration input.",
|
|
"action": "The automation first captures various data points like the current timestamp, the peak and valley times, the peak and valley volumetric water content (VWC) values, the dryback percentage and duration, and the current crop steering phase. It then updates the dryback history stored in the dryback history json input by adding a new entry at the beginning of the list, ensuring the history does not exceed 100 entries. Finally, it creates a persistent notification to alert the user that a dryback cycle has been completed, displaying all the relevant details."
|
|
},
|
|
"human_like": "Logs a completed dryback cycle to a history list and sends a notification when a new valley time is detected and the dryback meets minimum percentage and duration thresholds.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dryback_reset_potential_peak",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured pump switch [switch.cs_configured_pump_switch] changes from on to off. CONDITIONS: None. ACTIONS: First, update the dryback potential peak sensor [sensor.dryback_potential_peak]. Then, wait for 300 seconds (5 minutes). Finally, update the dryback potential peak sensor [sensor.dryback_potential_peak] again.",
|
|
"natural_language": {
|
|
"trigger": "When the configured pump switch [switch.cs_configured_pump_switch] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation first refreshes the data for the dryback potential peak sensor [sensor.dryback_potential_peak]. It then waits for five minutes before refreshing the same sensor's data a second time."
|
|
},
|
|
"human_like": "Resets the potential peak detection after an irrigation cycle by updating the sensor data when the pump turns off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_change_to_p0",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches the value set in lights on time input [input_datetime.cs_lights_on_time]. CONDITIONS: None. ACTIONS: Set crop steering phase select 2 [input_select.cs_crop_steering_phase] to option 'P0', set p1 shot count input [input_number.cs_p1_shot_count] to 0, set p2 shot count input [input_number.cs_p2_shot_count] to 0, and set p3 shot count input [input_number.cs_p3_shot_count] to 0.",
|
|
"natural_language": {
|
|
"trigger": "At the specific time configured in the lights on time input [input_datetime.cs_lights_on_time].",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Changes the crop steering phase to P0 by selecting that option on the crop steering phase select 2 [input_select.cs_crop_steering_phase], and resets the shot counters for phases P1, P2, and P3 to zero by setting p1 shot count input [input_number.cs_p1_shot_count], p2 shot count input [input_number.cs_p2_shot_count], and p3 shot count input [input_number.cs_p3_shot_count] to 0."
|
|
},
|
|
"human_like": "Resets the crop steering system to its initial phase and clears all shot counters at the scheduled lights-on time.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p0_to_p1",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured avg vwc sensor [sensor.cs_configured_avg_vwc] changes state OR When the template condition is true (minutes since lights on sensor [sensor.cs_minutes_since_lights_on] value modulo 5 equals 0). CONDITIONS: crop steering phase select 2 [input_select.cs_crop_steering_phase] is in state P0 AND minutes since lights on sensor [sensor.cs_minutes_since_lights_on] value is greater than or equal to p0 min wait time input [input_number.cs_p0_min_wait_time] value. ACTIONS: Choose between two sequences: 1. IF configured avg vwc sensor [sensor.cs_configured_avg_vwc] value is less than or equal to dynamic p0 dryback sensor [sensor.cs_dynamic_p0_dryback] value THEN set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P1 AND send a notification via mobile app notify [notify.mobile_app_notify] about reaching the dryback target. 2. ELSE IF minutes since lights on sensor [sensor.cs_minutes_since_lights_on] value is greater than or equal to p0 max wait time input [input_number.cs_p0_max_wait_time] value THEN set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P1 AND send a notification via mobile app notify [notify.mobile_app_notify] about reaching the maximum wait time.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the configured average volumetric water content sensor [sensor.cs_configured_avg_vwc] reports a new value, or every time the number of minutes since the lights came on [sensor.cs_minutes_since_lights_on] is a multiple of 5.",
|
|
"conditions": "For the automation to proceed, the crop steering phase must currently be set to P0 [input_select.cs_crop_steering_phase]. Additionally, the number of minutes since the lights came on [sensor.cs_minutes_since_lights_on] must be at least equal to the configured minimum wait time [input_number.cs_p0_min_wait_time].",
|
|
"action": "The automation will then check two possible conditions in order. First, if the current average water content [sensor.cs_configured_avg_vwc] has dropped to or below the calculated dryback target [sensor.cs_dynamic_p0_dryback], it will switch the crop steering phase to P1 and send a mobile notification about reaching the dryback target. If that first condition is not met, it will check if the maximum allowed wait time [input_number.cs_p0_max_wait_time] has been reached. If so, it will also switch the phase to P1 and send a notification about reaching the maximum wait time."
|
|
},
|
|
"human_like": "This automation advances the crop growth phase from P0 to P1 either when the plants have dried to a target level or after a maximum waiting period, sending a notification each time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p1_to_p2",
|
|
"result": {
|
|
"structured": "TRIGGER: When p1 shot count input [input_number.cs_p1_shot_count] changes state OR When configured avg vwc sensor [sensor.cs_configured_avg_vwc] is above substrate field capacity input [input_number.cs_substrate_field_capacity] OR When configured avg ec sensor [sensor.cs_configured_avg_ec] is below ec target flush input [input_number.cs_ec_target_flush]. CONDITIONS: crop steering phase select 2 [input_select.cs_crop_steering_phase] is P1. ACTIONS: Choose one of three sequences based on conditions: 1. IF p1 shot count input [input_number.cs_p1_shot_count] is greater than or equal to p1 max shots input [input_number.cs_p1_max_shots] THEN set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P2 AND send a notification via mobile app notify [notify.mobile_app_notify] about the transition due to maximum shot count. 2. ELSE IF configured avg vwc sensor [sensor.cs_configured_avg_vwc] is above p1 target vwc input [input_number.cs_p1_target_vwc] THEN set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P2 AND send a notification via mobile app notify [notify.mobile_app_notify] about the transition due to reaching target VWC. 3. ELSE IF configured avg ec sensor [sensor.cs_configured_avg_ec] is below ec target flush input [input_number.cs_ec_target_flush] AND configured avg vwc sensor [sensor.cs_configured_avg_vwc] is above p1 target vwc input [input_number.cs_p1_target_vwc] AND p1 shot count input [input_number.cs_p1_shot_count] is above (p1 min shots input [input_number.cs_p1_min_shots] minus 1) THEN set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P2 AND send a notification via mobile app notify [notify.mobile_app_notify] about the transition due to reaching EC target.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the p1 shot count input [input_number.cs_p1_shot_count] changes, or when the configured avg vwc sensor [sensor.cs_configured_avg_vwc] rises above the substrate field capacity input [input_number.cs_substrate_field_capacity], or when the configured avg ec sensor [sensor.cs_configured_avg_ec] falls below the ec target flush input [input_number.cs_ec_target_flush].",
|
|
"conditions": "The automation only runs if the crop steering phase select 2 [input_select.cs_crop_steering_phase] is currently set to P1.",
|
|
"action": "The automation performs one of three possible actions based on specific conditions. First, if the shot count has reached or exceeded the maximum allowed shots, it transitions to phase P2 and sends a notification. Second, if the average VWC (Volumetric Water Content) has risen above the target level, it transitions to P2 and sends a notification. Third, if the average EC (Electrical Conductivity) is below the flush target, the VWC is above the target, and the shot count is above a minimum threshold, it transitions to P2 and sends a notification. Each notification includes relevant current sensor values."
|
|
},
|
|
"human_like": "Automatically advances the crop steering phase from P1 to P2 when irrigation shot count, water content, or nutrient levels meet specific targets, and sends a notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_to_p3",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current time is within 60 seconds after the start time defined by p3 start time calculated sensor [sensor.cs_p3_start_time_calculated]. CONDITIONS: crop steering phase select 2 [input_select.cs_crop_steering_phase] is currently set to P2. ACTIONS: Set crop steering phase select 2 [input_select.cs_crop_steering_phase] to P3 AND send a notification to mobile app notify [notify.mobile_app_notify] with title 'Crop Steering Phase Change' and a message indicating transition to P3 (Overnight Dry Back Phase), specifying the dry back strategy based on steering mode select [input_select.cs_steering_mode] (vegetative or generative) and the corresponding last irrigation time from p3 veg last irrigation input [input_number.cs_p3_veg_last_irrigation] or p3 gen last irrigation input [input_number.cs_p3_gen_last_irrigation].",
|
|
"natural_language": {
|
|
"trigger": "When the current time is within one minute after the calculated P3 start time, as provided by the p3 start time calculated sensor [sensor.cs_p3_start_time_calculated].",
|
|
"conditions": "The crop steering phase select 2 [input_select.cs_crop_steering_phase] must currently be set to P2.",
|
|
"action": "Change the crop steering phase select 2 [input_select.cs_crop_steering_phase] to P3 and send a notification to the mobile app notify [notify.mobile_app_notify]. The notification message announces the transition to the P3 (Overnight Dry Back Phase) and includes details about the dry back strategy (vegetative or generative) based on the steering mode select [input_select.cs_steering_mode], referencing the appropriate last irrigation time from either p3 veg last irrigation input [input_number.cs_p3_veg_last_irrigation] or p3 gen last irrigation input [input_number.cs_p3_gen_last_irrigation]."
|
|
},
|
|
"human_like": "Automatically switches the crop steering phase from P2 to P3 at the calculated start time and sends a notification with strategy details.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p1_irrigation",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern with minutes: /1). CONDITIONS: (crop steering phase select 2 [input_select.cs_crop_steering_phase] is P1) AND (the current minute is divisible by the value of p1 time between shots input [input_number.cs_p1_time_between_shots]) AND (p1 shot count input [input_number.cs_p1_shot_count] is less than p1 max shots input [input_number.cs_p1_max_shots]) AND (configured pump switch [switch.cs_configured_pump_switch] is off). ACTIONS: Turn on configured pump switch [switch.cs_configured_pump_switch], delay for the duration specified by p1 shot duration seconds sensor [sensor.cs_p1_shot_duration_seconds], turn off configured pump switch [switch.cs_configured_pump_switch], increment p1 shot count input [input_number.cs_p1_shot_count] by 1, and log an entry with details including the shot number, duration, shot size percentage, and current VWC and EC sensor readings.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute.",
|
|
"conditions": "The crop steering phase must be set to P1. The current minute must be a multiple of the configured time interval between shots. The current shot count must be less than the maximum allowed shots. The irrigation pump must currently be off.",
|
|
"action": "It turns on the irrigation pump for a specific duration, then turns it off, increments the shot counter, and logs the irrigation event with details like shot number, duration, size percentage, and current substrate moisture and nutrient levels."
|
|
},
|
|
"human_like": "This automation manages the gradual increase of irrigation during the P1 crop steering phase by running timed watering shots at regular intervals, logging each event for tracking.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p2_irrigation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured avg vwc sensor [sensor.cs_configured_avg_vwc] changes state OR when p2 vwc threshold ec adjusted sensor [sensor.cs_p2_vwc_threshold_ec_adjusted] changes state. CONDITIONS: (configured avg vwc sensor [sensor.cs_configured_avg_vwc] is below the numeric value of p2 vwc threshold ec adjusted sensor [sensor.cs_p2_vwc_threshold_ec_adjusted]) AND (crop steering phase select 2 [input_select.cs_crop_steering_phase] is P2) AND (configured pump switch [switch.cs_configured_pump_switch] is off). ACTIONS: Set variables: threshold to the state of p2 vwc threshold ec adjusted sensor [sensor.cs_p2_vwc_threshold_ec_adjusted], current_vwc to the state of configured avg vwc sensor [sensor.cs_configured_avg_vwc], ec_ratio to the state of ec ratio sensor [sensor.cs_ec_ratio], shot_duration to the state of p2 shot duration seconds sensor [sensor.cs_p2_shot_duration_seconds]. Then turn on configured pump switch [switch.cs_configured_pump_switch]. Then log an event to the logbook with name 'P2 Irrigation Started' and a message containing the shot duration, current VWC, EC ratio, and adjusted threshold.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the configured average volumetric water content sensor [sensor.cs_configured_avg_vwc] changes its reading, or when the P2 EC-adjusted threshold sensor [sensor.cs_p2_vwc_threshold_ec_adjusted] changes its value.",
|
|
"conditions": "For the automation to run, the current average VWC reading must be below the dynamically calculated EC-adjusted threshold. The crop steering system must be in the P2 phase, and the irrigation pump must currently be off.",
|
|
"action": "The automation first captures several key values: the current threshold, VWC, EC ratio, and the calculated shot duration. It then turns on the irrigation pump and creates a detailed log entry recording the start of the irrigation event with all the relevant data."
|
|
},
|
|
"human_like": "Starts irrigation during the P2 crop steering phase when the soil moisture drops below a calculated threshold, ensuring plants receive water based on both moisture levels and nutrient concentration.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p2_irrigation_off_timed",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured pump switch [switch.cs_configured_pump_switch] turns on. CONDITIONS: crop steering phase select 2 [input_select.cs_crop_steering_phase] is P2. ACTIONS: Set variable 'shot_duration' to the numeric value from p2 shot duration seconds sensor [sensor.cs_p2_shot_duration_seconds]. Delay for a duration equal to 'shot_duration' seconds (or 1 second if 'shot_duration' is 0 or less). Turn off configured pump switch [switch.cs_configured_pump_switch]. Increment p2 shot count input [input_number.cs_p2_shot_count] by 1. Log an event 'P2 Irrigation Completed' with a message containing the shot duration, the current configured avg vwc sensor [sensor.cs_configured_avg_vwc] value, and the current configured avg ec sensor [sensor.cs_configured_avg_ec] value.",
|
|
"natural_language": {
|
|
"trigger": "When the configured pump switch [switch.cs_configured_pump_switch] is turned on.",
|
|
"conditions": "The crop steering phase select 2 [input_select.cs_crop_steering_phase] must be set to 'P2'.",
|
|
"action": "The automation first reads the required irrigation duration from the p2 shot duration seconds sensor [sensor.cs_p2_shot_duration_seconds]. It then waits for that exact number of seconds (or for 1 second if the sensor reports a value of zero or less). After the delay, it turns the configured pump switch [switch.cs_configured_pump_switch] off, increments the p2 shot count input [input_number.cs_p2_shot_count] by one, and creates a logbook entry named 'P2 Irrigation Completed' that records the duration of the irrigation and the current soil moisture and electrical conductivity readings from the configured avg vwc sensor [sensor.cs_configured_avg_vwc] and configured avg ec sensor [sensor.cs_configured_avg_ec]."
|
|
},
|
|
"human_like": "Automatically turns off the irrigation pump after a calculated duration during the P2 crop steering phase, logs the event, and keeps a count of completed irrigation cycles.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p2_irrigation_off_capacity",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured avg vwc sensor [sensor.cs_configured_avg_vwc] rises above substrate field capacity input [input_number.cs_substrate_field_capacity]. CONDITIONS: crop steering phase select 2 [input_select.cs_crop_steering_phase] is P2 AND configured pump switch [switch.cs_configured_pump_switch] is on. ACTIONS: Turn off configured pump switch [switch.cs_configured_pump_switch] AND log an event to the logbook with the name 'P2 Irrigation Stopped' and a message containing the current VWC and field capacity values.",
|
|
"natural_language": {
|
|
"trigger": "When the configured average volumetric water content sensor [sensor.cs_configured_avg_vwc] reports a value higher than the set field capacity threshold [input_number.cs_substrate_field_capacity].",
|
|
"conditions": "The crop steering system must be in the 'P2' phase [input_select.cs_crop_steering_phase], and the irrigation pump [switch.cs_configured_pump_switch] must currently be on.",
|
|
"action": "Turns off the irrigation pump [switch.cs_configured_pump_switch] and creates a logbook entry titled 'P2 Irrigation Stopped' that records the current VWC percentage and the configured field capacity percentage."
|
|
},
|
|
"human_like": "Stops the irrigation pump when the soil moisture reaches field capacity during the P2 crop steering phase.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_crop_steering_p3_emergency_irrigation",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured min vwc sensor [sensor.cs_configured_min_vwc] falls below dynamic p3 dryback sensor [sensor.cs_dynamic_p3_dryback]. CONDITIONS: (crop steering phase select 2 [input_select.cs_crop_steering_phase] is P3) AND (configured pump switch [switch.cs_configured_pump_switch] is off). ACTIONS: Set variables: shot_duration from p3 emergency shot duration seconds sensor [sensor.cs_p3_emergency_shot_duration_seconds], current_vwc from configured min vwc sensor [sensor.cs_configured_min_vwc], threshold from dynamic p3 dryback sensor [sensor.cs_dynamic_p3_dryback]. Turn on configured pump switch [switch.cs_configured_pump_switch]. Wait for the duration specified by shot_duration. Turn off configured pump switch [switch.cs_configured_pump_switch]. Increment p3 shot count input [input_number.cs_p3_shot_count] by 1. Log an event to the logbook with details. Send a notification to mobile app notify [notify.mobile_app_notify].",
|
|
"natural_language": {
|
|
"trigger": "When the configured minimum soil moisture sensor [sensor.cs_configured_min_vwc] reports a value that drops below the dynamic dryback threshold sensor [sensor.cs_dynamic_p3_dryback].",
|
|
"conditions": "The crop steering system must be in the P3 phase, as indicated by the crop steering phase select 2 [input_select.cs_crop_steering_phase], and the configured pump switch [switch.cs_configured_pump_switch] must be off.",
|
|
"action": "The automation first captures the current shot duration, soil moisture level, and threshold. It then turns on the irrigation pump, waits for the specified duration, and turns the pump off. Afterwards, it increments a counter tracking the number of emergency irrigation shots, logs the event details to the system logbook, and sends a notification to a mobile device."
|
|
},
|
|
"human_like": "Triggers an emergency irrigation cycle during the P3 crop steering phase if the soil moisture drops below a safe threshold, ensuring plants receive water to prevent stress.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "improved_steering_mode_changed",
|
|
"result": {
|
|
"structured": "TRIGGER: When steering mode select [input_select.cs_steering_mode] changes state. CONDITIONS: None. ACTIONS: Update the entities dynamic p0 dryback sensor [sensor.cs_dynamic_p0_dryback], p3 start time calculated sensor [sensor.cs_p3_start_time_calculated], and current ec target sensor [sensor.cs_current_ec_target]. Then, send a notification via mobile app notify [notify.mobile_app_notify] with a title 'Growth Steering Mode Changed' and a message that includes the current steering mode and associated parameters: if the mode is 'Vegetative', the message states the P0 Dryback target from p0 veg dryback target input [input_number.cs_p0_veg_dryback_target] and the P3 Start time from p3 veg last irrigation input [input_number.cs_p3_veg_last_irrigation]; otherwise, for the 'Generative' mode, it uses the values from p0 gen dryback target input [input_number.cs_p0_gen_dryback_target] and p3 gen last irrigation input [input_number.cs_p3_gen_last_irrigation].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the steering mode select [input_select.cs_steering_mode] is changed to a new value.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "First, the automation refreshes the data for three sensors: dynamic p0 dryback sensor [sensor.cs_dynamic_p0_dryback], p3 start time calculated sensor [sensor.cs_p3_start_time_calculated], and current ec target sensor [sensor.cs_current_ec_target]. Then, it sends a notification to a mobile device via mobile app notify [notify.mobile_app_notify]. The notification's title is 'Growth Steering Mode Changed'. The message content depends on the new steering mode: if set to 'Vegetative', it displays the vegetative dryback target and last irrigation timing; if set to 'Generative', it shows the generative dryback target and last irrigation timing."
|
|
},
|
|
"human_like": "Updates sensor data and sends a notification with relevant parameters whenever the growth steering mode is changed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_zone_status_from_selector",
|
|
"result": {
|
|
"structured": "TRIGGER: When active irrigation zones select [input_select.active_irrigation_zones] changes state. CONDITIONS: None. ACTIONS: Choose based on the state of active irrigation zones select [input_select.active_irrigation_zones]: IF state is 'All Zones' THEN turn on zone 1 enabled input [input_boolean.zone_1_enabled], zone 2 enabled input [input_boolean.zone_2_enabled], and zone 3 enabled input [input_boolean.zone_3_enabled]. IF state is 'Zone 1 Only' THEN turn on zone 1 enabled input [input_boolean.zone_1_enabled] AND turn off zone 2 enabled input [input_boolean.zone_2_enabled] and zone 3 enabled input [input_boolean.zone_3_enabled]. IF state is 'Zone 2 Only' THEN turn on zone 2 enabled input [input_boolean.zone_2_enabled] AND turn off zone 1 enabled input [input_boolean.zone_1_enabled] and zone 3 enabled input [input_boolean.zone_3_enabled]. IF state is 'Zone 3 Only' THEN turn on zone 3 enabled input [input_boolean.zone_3_enabled] AND turn off zone 1 enabled input [input_boolean.zone_1_enabled] and zone 2 enabled input [input_boolean.zone_2_enabled]. IF state is 'Zones 1 & 2' THEN turn on zone 1 enabled input [input_boolean.zone_1_enabled] and zone 2 enabled input [input_boolean.zone_2_enabled] AND turn off zone 3 enabled input [input_boolean.zone_3_enabled]. IF state is 'Zones 1 & 3' THEN turn on zone 1 enabled input [input_boolean.zone_1_enabled] and zone 3 enabled input [input_boolean.zone_3_enabled] AND turn off zone 2 enabled input [input_boolean.zone_2_enabled]. IF state is 'Zones 2 & 3' THEN turn on zone 2 enabled input [input_boolean.zone_2_enabled] and zone 3 enabled input [input_boolean.zone_3_enabled] AND turn off zone 1 enabled input [input_boolean.zone_1_enabled]. IF state is 'No Zones (Disabled)' THEN turn off zone 1 enabled input [input_boolean.zone_1_enabled], zone 2 enabled input [input_boolean.zone_2_enabled], and zone 3 enabled input [input_boolean.zone_3_enabled].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the active irrigation zones select [input_select.active_irrigation_zones] changes its value.",
|
|
"conditions": "There are no additional conditions; the automation runs immediately upon the trigger.",
|
|
"action": "The automation updates the enabled status of three irrigation zones based on the selected mode. If 'All Zones' is selected, it enables all three zones. If a single zone is selected (e.g., 'Zone 1 Only'), it enables only that specific zone and disables the other two. If a combination of two zones is selected (e.g., 'Zones 1 & 2'), it enables those two zones and disables the third. If 'No Zones (Disabled)' is selected, it disables all three zones."
|
|
},
|
|
"human_like": "This automation synchronizes the enabled status of three irrigation zones based on a central selector, ensuring only the zones matching the selected mode are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_irrigation_pump_zones",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured pump switch [switch.cs_configured_pump_switch] turns on. CONDITIONS: None. ACTIONS: Set variables: pump_entity from config pump switch entity input [input_text.cs_config_pump_switch_entity], zone_switches from config zone switch entities input [input_text.cs_config_zone_switch_entities] (split, trimmed, filtered), waste_switch from config waste switch entity input [input_text.cs_config_waste_switch_entity], zone1_switch as first element of zone_switches, zone2_switch as second, zone3_switch as third. If waste_switch is not empty, turn off the switch at that entity_id. Turn on the pump at pump_entity. If zone1_switch exists AND zone 1 enabled input [input_boolean.zone_1_enabled] is on, turn on the switch at zone1_switch. If zone2_switch exists AND zone 2 enabled input [input_boolean.zone_2_enabled] is on, turn on the switch at zone2_switch. If zone3_switch exists AND zone 3 enabled input [input_boolean.zone_3_enabled] is on, turn on the switch at zone3_switch.",
|
|
"natural_language": {
|
|
"trigger": "When the configured pump switch [switch.cs_configured_pump_switch] is turned on.",
|
|
"conditions": "There are no conditions; the automation runs immediately upon the trigger.",
|
|
"action": "First, it reads configuration from several text inputs to determine which actual switches to control. It reads the main pump switch entity, a list of zone switch entities, and a waste switch entity. If a waste switch is configured, it is turned off. Then, the main irrigation pump is turned on. For up to three zones, if a zone switch is configured in the list and its corresponding zone enabled input (e.g., zone 1 enabled input [input_boolean.zone_1_enabled]) is on, that zone's switch is also turned on."
|
|
},
|
|
"human_like": "Starts the irrigation system by turning on the main pump and any enabled zone valves when the master pump switch is activated.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_irrigation_pump_zones",
|
|
"result": {
|
|
"structured": "TRIGGER: When configured pump switch [switch.cs_configured_pump_switch] turns off. CONDITIONS: None. ACTIONS: Turn off the zone switches defined in config zone switch entities input [input_text.cs_config_zone_switch_entities] (up to three zones: zone1_switch, zone2_switch, zone3_switch) and turn off the pump switch defined in config pump switch entity input [input_text.cs_config_pump_switch_entity].",
|
|
"natural_language": {
|
|
"trigger": "When the configured pump switch [switch.cs_configured_pump_switch] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation first reads the entity ID of the pump switch from the config pump switch entity input [input_text.cs_config_pump_switch_entity] and a comma-separated list of zone switch entity IDs from the config zone switch entities input [input_text.cs_config_zone_switch_entities]. It then turns off the first three zone switches from that list (if they exist) and finally turns off the pump switch entity that was read."
|
|
},
|
|
"human_like": "Turns off all irrigation zone valves and the main pump when the master pump switch is turned off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "zone_specific_p2_irrigation_trigger",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template evaluates to true, which occurs when crop steering phase select 2 [input_select.cs_crop_steering_phase] is P2 AND ( (zone 1 enabled input [input_boolean.zone_1_enabled] is on AND zone 1 vwc sensor [sensor.zone_1_vwc] value is less than or equal to the dynamic p2 dryback sensor [sensor.cs_dynamic_p2_dryback] value) OR (zone 2 enabled input [input_boolean.zone_2_enabled] is on AND zone 2 vwc sensor [sensor.zone_2_vwc] value is less than or equal to the dynamic p2 dryback sensor [sensor.cs_dynamic_p2_dryback] value) OR (zone 3 enabled input [input_boolean.zone_3_enabled] is on AND zone 3 vwc sensor [sensor.zone_3_vwc] value is less than or equal to the dynamic p2 dryback sensor [sensor.cs_dynamic_p2_dryback] value) ). CONDITIONS: configured pump switch [switch.cs_configured_pump_switch] is off AND crop steering phase select 2 [input_select.cs_crop_steering_phase] is P2. ACTIONS: Set variables for the dryback target and which zones need irrigation. Then, based on which zones need irrigation, select the corresponding option in active irrigation zones select [input_select.active_irrigation_zones] (e.g., 'All Zones', 'Zones 1 & 2', 'Zone 1 Only', etc.). Finally, turn on configured pump switch [switch.cs_configured_pump_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the system is in the P2 crop steering phase and at least one of the enabled irrigation zones has a soil moisture level (VWC) that has dropped to or below the current dynamic dryback target.",
|
|
"conditions": "The configured pump switch must be off, and the crop steering phase must be set to P2.",
|
|
"action": "First, the automation calculates which specific zones require irrigation based on their enabled status and soil moisture. It then updates a selector to indicate which zones are active for irrigation (e.g., 'Zone 1 Only' or 'All Zones'). Finally, it turns on the main irrigation pump."
|
|
},
|
|
"human_like": "Automatically starts the irrigation pump for specific zones when they become too dry during the P2 crop growth phase.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "zone_specific_p3_irrigation_trigger",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template evaluates to true, which occurs when the crop steering phase select 2 [input_select.cs_crop_steering_phase] is P3 AND ( (zone 1 enabled input [input_boolean.zone_1_enabled] is on AND zone 1 vwc sensor [sensor.zone_1_vwc] is less than or equal to the dynamic p3 dryback sensor [sensor.cs_dynamic_p3_dryback]) OR (zone 2 enabled input [input_boolean.zone_2_enabled] is on AND zone 2 vwc sensor [sensor.zone_2_vwc] is less than or equal to the dynamic p3 dryback sensor [sensor.cs_dynamic_p3_dryback]) OR (zone 3 enabled input [input_boolean.zone_3_enabled] is on AND zone 3 vwc sensor [sensor.zone_3_vwc] is less than or equal to the dynamic p3 dryback sensor [sensor.cs_dynamic_p3_dryback]) ). CONDITIONS: configured pump switch [switch.cs_configured_pump_switch] is off AND crop steering phase select 2 [input_select.cs_crop_steering_phase] is P3. ACTIONS: Set variables for the dryback target and which zones need irrigation. Then, based on which zones need irrigation, select the corresponding option in the active irrigation zones select [input_select.active_irrigation_zones] (e.g., 'All Zones', 'Zones 1 & 2', etc.). Finally, turn on the configured pump switch [switch.cs_configured_pump_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the system is in the P3 crop steering phase and at least one of the enabled irrigation zones has a soil moisture level (VWC) that is at or below the current P3 dryback target.",
|
|
"conditions": "The pump must currently be off, and the system must be in the P3 crop steering phase.",
|
|
"action": "First, the automation calculates which specific zones need irrigation based on their enabled status and soil moisture. It then updates a selector to indicate which zones are active for this irrigation cycle. Finally, it turns on the main irrigation pump."
|
|
},
|
|
"human_like": "Starts emergency irrigation during the P3 growth phase for any enabled zones that have become too dry, selecting the appropriate zones and turning on the pump.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "F1 Light Acclimation",
|
|
"result": {
|
|
"structured": "TRIGGER: When the scheduled time matches f1 lights on time input [input_datetime.f1_lights_on_time]. CONDITIONS: None. ACTIONS: Turn on f1 light group [light.f1_light_group] with brightness set to the current value of f1 target brightness input [input_number.f1_target_brightness] (rounded). Set the value of f1 target brightness input [input_number.f1_target_brightness] to the minimum of (its current value plus 5.1) and 229.5. If the value of f1 target brightness input [input_number.f1_target_brightness] is above 229.4, then send a notification to mobile app s23ultra notify [notify.mobile_app_s23ultra] with the message '✅ F1 Light Acclimation complete: reached 90% brightness.' and turn off f1 light acclimation automation [automation.f1_light_acclimation].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs daily at the specific time set in the f1 lights on time input [input_datetime.f1_lights_on_time].",
|
|
"conditions": "There are no conditions that must be checked before performing the actions.",
|
|
"action": "First, it turns on the f1 light group [light.f1_light_group] and sets its brightness to the current value stored in the f1 target brightness input [input_number.f1_target_brightness], rounding the number. Then, it increases the stored brightness value by 5.1, but ensures it never exceeds 229.5. Finally, it checks if the new brightness value has surpassed 229.4. If it has, it sends a success notification to the mobile app s23ultra notify [notify.mobile_app_s23ultra] and then disables itself by turning off the f1 light acclimation automation [automation.f1_light_acclimation]."
|
|
},
|
|
"human_like": "Gradually increases the brightness of the F1 lights each day until they reach 90%, then sends a notification and stops.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Tank Low Level Refill and Dose",
|
|
"result": {
|
|
"structured": "TRIGGER: When aqua pro water level sensor [sensor.aqua_pro_water_level] is below 5 for 1 minute (disabled) OR manual tank fill input [input_button.manual_tank_fill] changes state (enabled) OR tank sensor tank level binary sensor [binary_sensor.tank_sensor_tank_level] changes from on to off OR aqua pro water level sensor [sensor.aqua_pro_water_level] is below 0.06. CONDITIONS: tank fill safety switch input [input_boolean.tank_fill_safety_switch] is on AND aqua pro water level sensor [sensor.aqua_pro_water_level] is below 0.06. ACTIONS: Send notification 'Starting tank fill sequence - Turning off irrigation' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Turn on nutrient dosing active input [input_boolean.nutrient_dosing_active]. Turn off f1 irrigation relays relay 1 switch [switch.f1_irrigation_relays_relay_1], f1 irrigation relays relay 2 switch [switch.f1_irrigation_relays_relay_2], f1 irrigation relays relay 3 switch [switch.f1_irrigation_relays_relay_3], f1 irrigation relays relay 4 switch [switch.f1_irrigation_relays_relay_4], and waste valve switch [switch.waste_valve]. Wait 5 seconds. Turn off espoe irrigation relay 1 2 switch [switch.espoe_irrigation_relay_1_2] and espoe irrigation relay 2 4 switch [switch.espoe_irrigation_relay_2_4]. Wait 5 seconds. Send notification 'Turning on tank fill valve' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Turn on espoe irrigation relay 1 4 switch [switch.espoe_irrigation_relay_1_4]. Send notification 'Starting tank fill - Running for 10 minutes' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Wait 10 minutes. Send notification 'Tank fill complete - Starting circulation' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Turn off pump power switch [switch.pump_power_switch] and f1 irrigation pump master switch [switch.f1_irrigation_pump_master_switch]. Turn on espoe irrigation relay 2 4 switch [switch.espoe_irrigation_relay_2_4] and espoe irrigation relay 1 1 switch [switch.espoe_irrigation_relay_1_1]. Wait 3 seconds. Turn on pump power switch [switch.pump_power_switch]. Wait 2 seconds. Turn on f1 irrigation pump master switch [switch.f1_irrigation_pump_master_switch]. Wait 15 seconds. Check condition: pump power switch power sensor [sensor.pump_power_switch_power] is above 100. Send notification 'Starting nutrient dosing' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Conditional check: IF pump power switch power sensor [sensor.pump_power_switch_power] is below 100 THEN turn off f1 irrigation pump master switch [switch.f1_irrigation_pump_master_switch], wait 5 seconds, turn on f1 irrigation pump master switch [switch.f1_irrigation_pump_master_switch], wait 10 seconds, send urgent notification 'URGENT: Pump power below 100W after reset. Stopping automation.' to mobile app s23ultra notify [notify.mobile_app_s23ultra], and stop automation. Wait 30 seconds. Publish MQTT command 'start_dose' to topic AQU1AD04A42/ctr. Wait 3 minutes. Send notification 'Dosing complete - Starting mixing period' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Publish MQTT command 'force_stop' to topic AQU1AD04A42/ctr. Send notification 'Mixing complete - Shutting down pumps' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Turn off espoe irrigation relay 1 4 switch [switch.espoe_irrigation_relay_1_4]. Wait 1 minute. Turn off espoe irrigation relay 1 1 switch [switch.espoe_irrigation_relay_1_1]. Wait 1 second. Turn off espoe irrigation relay 2 4 switch [switch.espoe_irrigation_relay_2_4]. Wait 5 minutes. Send notification 'Checking pH and EC levels...' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Conditional check: IF atlas legacy 1 ph res1 sensor [sensor.atlas_legacy_1_ph_res1] is below 5.8 OR above 6.2 THEN send critical alert 'pH Value Out of Range' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Conditional check: IF atlas legacy 1 ec res1 sensor [sensor.atlas_legacy_1_ec_res1] is below 2.8 OR above 3.2 THEN send critical alert 'EC Value Out of Range' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Send notification with final pH and EC values to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Conditional check: IF current time is between 06:00:00 and 02:00:00 THEN turn on f1 irrigation irrigate 5 minutes every 45 minutes automation [automation.f1_irrigation_irrigate_5_minutes_every_45_minutes] and send notification 'Irrigation schedule resumed after tank fill (daytime)' to mobile app s23ultra notify [notify.mobile_app_s23ultra]; OTHERWISE send notification 'Tank fill complete, but irrigation remains disabled (nighttime)' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Send notification 'Tank fill and dose sequence complete - Starting cooldown period' to mobile app s23ultra notify [notify.mobile_app_s23ultra]. Turn off nutrient dosing active input [input_boolean.nutrient_dosing_active]. Wait 1 hour and 30 minutes. Turn on nutrient dosing active input [input_boolean.nutrient_dosing_active].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the aqua pro water level sensor [sensor.aqua_pro_water_level] drops below 5 for one minute (though this trigger is currently disabled), if the manual tank fill input [input_button.manual_tank_fill] is pressed, if the tank sensor tank level binary sensor [binary_sensor.tank_sensor_tank_level] changes from indicating a level to indicating no level, or if the aqua pro water level sensor [sensor.aqua_pro_water_level] falls below 0.06.",
|
|
"conditions": "For the automation to run, the tank fill safety switch input [input_boolean.tank_fill_safety_switch] must be turned on, and the aqua pro water level sensor [sensor.aqua_pro_water_level] must be reading below 0.06.",
|
|
"action": "The automation performs a complex, multi-step sequence to refill the water tank and dose nutrients. It starts by sending a notification, marking nutrient dosing as active, and turning off all irrigation and waste valves. After a series of timed delays, it activates the tank fill valve for 10 minutes. Once filling is complete, it starts a circulation pump, verifies the pump is drawing sufficient power, and if not, it attempts a reset and sends an urgent alert before stopping. If power is sufficient, it sends an MQTT command to start nutrient dosing, waits for it to complete, and then stops dosing via another MQTT command. It then shuts down the fill and circulation pumps in a specific sequence. After a waiting period, it checks the pH and EC levels of the water. If the pH is outside the range of 5.8 to 6.2, or if the EC is outside the range of 2.8 to 3.2, it sends a critical alert. Finally, it sends a summary notification, conditionally re-enables a regular irrigation schedule if it's daytime, sends a completion notification, toggles the nutrient dosing active flag, waits for a long cooldown, and then turns the flag back on."
|
|
},
|
|
"human_like": "Automatically refills the water tank, adds nutrients, and checks water quality when the tank level is very low or a manual button is pressed, ensuring the irrigation system is properly managed.",
|
|
"complexity": "high"
|
|
}
|
|
}
|
|
] |