- id: IU1653340123453 alias: Irrigation Unlimited Adjustment triggers: - trigger: time at: 02:00 - trigger: homeassistant event: start - trigger: state entity_id: - sensor.irrigation_unlimited_rain_weighted_total - sensor.irrigation_unlimited_temperature_5_day_moving_average - sensor.wupws_preciprate condition: condition: and conditions: - '{{ states(''sensor.irrigation_unlimited_rain_weighted_total'') | float(-1) != -1 }}' - '{{ states(''sensor.wupws_preciprate'') | float(-1) != -1 }}' - '{{ states(''sensor.irrigation_unlimited_temperature_5_day_moving_average'') | float(-273) != -273 }}' actions: - action: irrigation_unlimited.adjust_time data: percentage: "{# Threshold variables #} {% set rain_total_threshold = 3.5 %}\ \ {% set rain_rate_threshold = 1.0 %} {% set temperature_threshold = 20.0\ \ %}\n{# Sensor data #} {% set rain_total = states('sensor.irrigation_unlimited_rain_weighted_total')\ \ | float(-1) %} {% set rain_rate = states('sensor.wupws_preciprate') | float(-1)\ \ %} {% set temperature_average = states('sensor.irrigation_unlimited_temperature_5_day_moving_average')\ \ | float(-273) %}\n{# Threshold variables #} {% set rain_multiplier = (1\ \ - (rain_total / rain_total_threshold)) %} {% set temperature_multiplier\ \ = temperature_average / temperature_threshold %}\n{% set multiplier = 1.0\ \ %} {% if rain_rate < rain_rate_threshold and rain_multiplier > 0 and rain_total\ \ < rain_total_threshold %}\n {% set multiplier = multiplier * temperature_multiplier\ \ %}\n {% set multiplier = multiplier * rain_multiplier %}\n{% else %}\n\ \ {% set multiplier = 0.0 %} {# It's raining or enough already #}\n{% endif\ \ %}\n{# Return multiplier as a percentage #} {{ (multiplier * 100) | round(0)\ \ }}\n" - alias: Irrigation Unlimited Load UI Controls triggers: - trigger: homeassistant event: start actions: - action: irrigation_unlimited.list_config data: entity_id: input_select.irrigation_unlimited_entities section: entities first: - action: irrigation_unlimited.list_config data: entity_id: input_select.irrigation_unlimited_sequences section: sequences first: - alias: Irrigation Unlimited Entities Change triggers: - trigger: state entity_id: - input_select.irrigation_unlimited_entities from: actions: - action: input_select.select_option target: entity_id: - input_select.irrigation_unlimited_sequences data: option: - action: input_select.set_options target: entity_id: - input_select.irrigation_unlimited_sequence_zones data: options: - - alias: Irrigation Unlimited Sequences Change triggers: - trigger: state entity_id: - input_select.irrigation_unlimited_sequences from: actions: - action: input_select.select_option target: entity_id: - input_select.irrigation_unlimited_entities data: option: - alias: Irrigation Unlimited Sequences Select triggers: - trigger: template value_template: '{{ is_state("input_select.irrigation_unlimited_sequences", "") == False }}' actions: - action: irrigation_unlimited.list_config data: entity_id: input_select.irrigation_unlimited_sequence_zones section: sequence_zones first: controller_sequence_entity: input_select.irrigation_unlimited_sequences - alias: Smart Irrigation adjustment id: IU1653097957047 description: Adjust watering times based on smart irrigation calculations mode: single triggers: - trigger: state entity_id: sensor.smart_irrigation_[zone_name] to: null actions: - action: irrigation_unlimited.adjust_time data: actual: '{{ timedelta(seconds=trigger.to_state.state | int(0)) }}' entity_id: binary_sensor.irrigation_unlimited_c1_s1 - alias: Smart Irrigation reset bucket id: IU1653098247170 description: Resets the Smart Irrigation bucket after watering mode: single triggers: - trigger: event event_type: irrigation_unlimited_finish condition: - '{{ trigger.event.data.schedule.index is not none }}' - '{{ trigger.event.data.entity_id == ''binary_sensor.irrigation_unlimited_c1_s1'' }}' actions: - action: smart_irrigation.reset_bucket entity_id: sensor.smart_irrigation_[zone_name] data: {} - id: IU1653340127290 alias: Irrigation Unlimited Soil Moisture Adjustment triggers: - trigger: time at: 02:00 - trigger: homeassistant event: start condition: condition: and conditions: - '{{ states(''sensor.plaid_systems_ps_sprzms_slp3_humidity'') | float(-1) != -1 }}' actions: - action: irrigation_unlimited.adjust_time data: entity_id: binary_sensor.irrigation_unlimited_c1_m sequence_id: 0 percentage: "{# Threshold variable 0-100 percent #} {% set threshold = 80 %}\n\ {# Sensor data #} {% set humidity = states('sensor.plaid_systems_ps_sprzms_slp3_humidity')\ \ | float %}\n{% if humidity < threshold %}\n {% set multiplier = 1 - (humidity\ \ / threshold) %}\n{% else %}\n {% set multiplier = 0.0 %} {# It's too wet,\ \ turn off #}\n{% endif %}\n{# Return multiplier as a percentage #} {{ (multiplier\ \ * 100) | round(0) }}\n" - id: IU1653849227290 alias: Irrigation Unlimited Soil Temperature Adjustment trigger: - platform: time at: 02:00 - platform: homeassistant event: start condition: condition: and conditions: - '{{ states(''sensor.irrigation_unlimited_average_soil_temperature'') | float(-273) != -273 }}' action: service: irrigation_unlimited.adjust_time data: entity_id: binary_sensor.irrigation_unlimited_c1_m sequence_id: 0 percentage: '{# Threshold variables #} {% set temperature_threshold = 20.0 %} {# Sensor data #} {% set temperature_average = states(''sensor.irrigation_unlimited_average_soil_temperature'') | float(-273) %} {# Threshold variables #} {% set temperature_multiplier = temperature_average / temperature_threshold %} {# Return multiplier as a percentage #} {{ (temperature_multiplier * 100) | round(0) }} '