Git Product home page Git Product logo

Comments (4)

petergridge avatar petergridge commented on September 23, 2024

You can create a template sensor here is an example (untested) check out this https://www.home-assistant.io/integrations/template/ for more detail.

template:
  - sensor:
      - name: "Soil Humidity Adjuster"
        state: >
          {% set moisture = states('sensor.soil_humidty') | float %}
          {{ ((100 - moisture) / 100) | round(1, default=0) }}

This assumes:

  • that your sensor provides a value 0-100
  • sensor.soil_humidty is your sensor name
  • the new sensor will simply create an inverse value the closer to 100% the lower adjustment value.

Once you have a value that is sensible, assign it to the zone adjustment option and the irrigation watering time/volume will be modified by the ratio applied.

I would be interested in seeing where you end up with this, I could add your solution into my documentation once you have it working.

from irrigation-v5.

jfeeser avatar jfeeser commented on September 23, 2024

Thanks for the reply! Dumb question but what metric should i use to determine how long i should be setting the runtime for in the first place? I've got it at 10 mins right now just for a round number but i have no idea what it should actually be. As for the adjuster(s), here's what i've got so far (apologies for my overly-descriptive entity names - that's me coding around my ADHD-brain):

Soil humidity adjuster:


    - name: "irrigation_zone1_soil_humidity_adjuster"
      state: >
        {% set moisture = states('sensor.front_porch_climate_flower_bed_soil_sensor_left_humidity') | float %}
        {{ ((100 - moisture) / 100) | round(1, default=0) }}

OWMHistory rain adjuster (sensor.openweathermap_climate_wateringfactor):

{{

  [(10 
  - day0rain 
  - day1rain*0.5
  - day2rain*0.25
  - forecast1rain*forecast1pop*0.5
  - forecast2rain*forecast2pop*0.25)/10
  ,0]|max
}}

Then i have a helper set up to average the values of "sensor.irrigation_zone1_soil_humidity_adjuster" and "sensor.openweathermap_climate_wateringfactor", which gives me a new sensor called "sensor.helper_irrigation_zone1_overall_adjustment_factor". That last one is the one i apply to the "zone adjustment" option.

The schedule is set to fire at 10AM, so i'll let you know how it goes! One thing that may be useful to end-users is to also have the integration surface a "program adjusted runtime", just so as part of the card you can see both the set time for the program and the adjusted time for the program at a glance.

Thanks again for all your help!

from irrigation-v5.

jfeeser avatar jfeeser commented on September 23, 2024

Update: this worked well this morning! I had it set for 10 mins, it fired off at the scheduled time and ran about 8.5 mins. Now i just have to figure out if something's up with my soil that it's not absorbing moisture, or if the sensor's reporting wrong, or if it's really just that dry that 8 mins of constant watering only raised the soil humidity like 1.5% :)

from irrigation-v5.

petergridge avatar petergridge commented on September 23, 2024

I'm glad to help, maybe you just need to calibrate the sensor, some sensors have a potentiometer that can adjust the sensitivity , can't beat the does it feel wet test 😉 or you can adjust the range e.g. (??- moisture)/??? to affect a more rapid change

from irrigation-v5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.