28 lines
6.1 KiB
JSON
28 lines
6.1 KiB
JSON
[
|
|
{
|
|
"id": "Tägliche Et0-Bilanz & Laufzeit",
|
|
"result": {
|
|
"structured": "TRIGGER: Daily at 23:55:00. CONDITIONS: None. ACTIONS: For each of two lawn zones (back and front), perform the following sequence: 1. Calculate a new bucket value based on the current open meteo et0 mm sensor [sensor.open_meteo_et0_mm], lawn et0 factor input number [input_number.lawn_et0_factor], rain today mm sensor [sensor.rain_today_mm], and lawn bucket max input number [input_number.lawn_bucket_max]. The new value is clamped between 0 and the maximum. 2. Set the zone's bucket input number (e.g., lawn back bucket input number [input_number.lawn_back_bucket]) to the new value. 3. If the new bucket value is below the lawn bucket preemtive threshold input number [input_number.lawn_bucket_preemtive_threshold], then: a. Calculate a runtime in minutes based on the deficit, lawn throughput input number [input_number.lawn_throughput], and the zone's size input number (e.g., lawn back size input number [input_number.lawn_back_size]). b. Set the zone's runtime input number (e.g., lawn back runtime input number [input_number.lawn_back_runtime]) to the calculated minutes. c. Send a notification via admin notification group [notify.admin_notification_group] with the bucket value, change, and calculated runtime. 4. Otherwise, send a notification via admin notification group [notify.admin_notification_group] with the bucket value and change only.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every day at 23:55.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "For both the back and front lawn zones, it updates a 'bucket' value that represents soil moisture. It calculates the new value by taking the current bucket amount, subtracting the daily evaporation (ET0) adjusted by a factor, and adding any rainfall. This new value is capped at zero and a maximum limit. The new bucket value is saved. If the new bucket value falls below a pre-set threshold, it calculates how many minutes of watering are needed to refill the bucket to its maximum, based on the watering system's flow rate and the lawn's area. This runtime is saved, and a notification is sent with the bucket details and the calculated runtime. If the bucket value is above the threshold, a simpler notification with just the bucket details is sent."
|
|
},
|
|
"human_like": "Updates daily soil moisture levels for the lawn and calculates watering times if needed, sending a summary notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Rasen bewässern (PV & Regen)",
|
|
"result": {
|
|
"structured": "TRIGGER: When evcc energy available for climate sensor [sensor.evcc_energy_available_for_climate] is above lawn pump power input number [input_number.lawn_pump_power] OR When solis battery soc sensor [sensor.solis_battery_soc] is above lawn watering min soc input number [input_number.lawn_watering_min_soc] OR When the time reaches lawn watering late input datetime [input_datetime.lawn_watering_late]. CONDITIONS: (lawn front runtime input number [input_number.lawn_front_runtime] is above 0 OR lawn back runtime input number [input_number.lawn_back_runtime] is above 0) AND ((lawn preemtive watering binary sensor [binary_sensor.lawn_preemtive_watering] is on AND current time is after lawn watering early input datetime [input_datetime.lawn_watering_early] AND before lawn watering late input datetime [input_datetime.lawn_watering_late] AND rain expected binary sensor [binary_sensor.rain_expected] is off AND solis battery soc sensor [sensor.solis_battery_soc] is above lawn watering min soc input number [input_number.lawn_watering_min_soc] AND evcc energy available for climate sensor [sensor.evcc_energy_available_for_climate] is above lawn pump power input number [input_number.lawn_pump_power]) OR lawn too long dry binary sensor [binary_sensor.lawn_too_long_dry] is on OR lawn preemtive watering binary sensor [binary_sensor.lawn_preemtive_watering] is off). ACTIONS: For each zone (front and back) defined in a list, if the zone's runtime is greater than 0 OR lawn too long dry binary sensor [binary_sensor.lawn_too_long_dry] is on, then: 1. Send a start notification via admin notification group [notify.admin_notification_group]. 2. Open the zone's valve (vorne valve [valve.vorne] or hinten valve [valve.hinten]). 3. Wait for the specified runtime minutes. 4. Close the valve. 5. Send a completion notification. 6. Set the zone's bucket (lawn front bucket input number [input_number.lawn_front_bucket] or lawn back bucket input number [input_number.lawn_back_bucket]) to the value of lawn bucket max input number [input_number.lawn_bucket_max]. 7. Reset the zone's runtime input number to 0. Finally, update lawn last irrigation input datetime [input_datetime.lawn_last_irrigation] to the current time.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the available solar energy for climate systems exceeds the pump's power requirement, when the battery state of charge is above a minimum threshold, or when a specific late watering time is reached.",
|
|
"conditions": "For the automation to run, at least one of the lawn zones must have a runtime greater than zero. Additionally, a more complex condition must be met: either the system is in 'preemptive watering' mode during a specific time window with no rain expected and sufficient energy/battery, or the lawn is flagged as being too dry, or the preemptive watering mode is simply turned off.",
|
|
"action": "For each watering zone (front and back), if the zone has a scheduled runtime or the lawn is too dry, the automation sends a start notification, opens the corresponding valve for the specified duration, closes the valve, sends a completion notification, resets a 'bucket' counter to a maximum value, and resets the runtime to zero. After processing both zones, it updates the timestamp of the last irrigation."
|
|
},
|
|
"human_like": "This automation waters the lawn using solar power and battery reserves when conditions are optimal, or at a scheduled time, ensuring the lawn is watered efficiently and only when needed.",
|
|
"complexity": "high"
|
|
}
|
|
}
|
|
] |