Announcement

Collapse
No announcement yet.

Unexpected zone operation during inhibited time

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Unexpected zone operation during inhibited time

    Michael,

    I have two areas (A3, A6) configured for Measured operation, with Ecowitt soil moisture sensors as the input via mcsMQTT. Both these areas are configured for inhibit between sunset and 1 hour after sunrise. Over the past few nights I've seen zones in these areas run during the inhibited time. The last two nights A3:R10 ran at exactly 12:04:06 AM for it's configured 15 minute cycle. A few nights prior, A6:R13 ran at 1:00:00 AM.

    I believe I only made one change to Area 3 so it's likely the culprit, but I don't understand why. I changed from "Start when time reached after threshold reached" to "Start immediately":

    Click image for larger version

Name:	Capture.JPG
Views:	161
Size:	88.9 KB
ID:	1533213
    While configuring and testing A6, I was having problems getting A6:R13 to run repeatedly to bring the sensed moisture up to setpoint. I had initially set it up with "Start when time reached after threshold reached" with Program Time 08:00, as this is how I previously had A3 configured. Changing it to "Start immediately when threshold reached" seemed to fix the problem for A6. Since this setting seemed to eliminate a problem, I also changed A3 to match. I *think* this is when I started getting the midnight watering cycles.

    Here's the most odd thing of all: I'm fairly certain A3's sensor level was above the when it ran at 12:04AM today. As noted in my post this morning in the mcsMQTT forum, my Ecowitt devices weren't updating between 7:22pm yesterday and when I restarted the PI this morning. That sensor was stuck at ~57% and the setpoint is 50%.

    I suspect I just misunderstand how this setting works. Can you enlighten me? Does it intentionally override the Inhibit Times? Why would be sensor threshold setting be ignored if that in fact happened?

    Is there any reason it could it be related to this setting?
    Click image for larger version

Name:	Capture1.JPG
Views:	88
Size:	55.2 KB
ID:	1533214

    Here's how I would like it to work: each sensor-controlled zone runs anytime during non-inhibited times, as often as required, to maintain at least the threshold moisture content (50%)--with the caveat that I set a 60 minute soak period set between cycles.

    I've emailed my config and log files for your inspection. Thank you.
    -Wade

    #2
    The reason a cycle started at 12:03 AM is due to the setting for maximum time since last irrigation

    Click image for larger version

Name:	1.png
Views:	129
Size:	10.4 KB
ID:	1533244

    mcsSprinklers saw the last time the zone ran as 3/20/2022 10:05:00 AM so on 3/22/2022 at first opportunity after midnight it ran the zone. This setting is considered a plant safety provision and will override any other inhibits. That is why it did not wait until an unrestricted time.

    The intent of the carryover is for timed scheduling of sites that may have had an inhibit (e.g. wind) that is not based upon time and this resulted in the schedule not completing. I would need to run an experiment to see if the carryover would also work with the state machine logic used for Measured strategy. I suspect my thinking is that it would not be necessary because it would catch up normally as the moisture level decreases.

    The desire to run Calculated or Measured strategy multiple times within a day is not something that I had considered. My thinking was that the zone run time was being set to the duration that would bring the soil moisture from the trigger level to 100%. I can see where your desire removes the need to know how long a zone should run. It also opens up failure mode that needs protection where the moisture sensor never reaches the 100% level to know to stop. Let me investigate this option. My thought is that I may be able to use Round Robin logic so the soak time can be specified and the zone duration acts as a safety max while stopping the irrigation before this if the measured value is at 100% (or perhaps 90% to prevent over saturation)

    At this instant I suggest removing the Minimum Days setting, or making it longer so it acts as a protection rather than something that becomes active during normal irrigation periods. The carryover logic adds complexity so suggesting simpler is better without it.

    Comment


      #3
      Originally posted by Michael McSharry View Post
      The reason a cycle started at 12:03 AM is due to the setting for maximum time since last irrigation

      Click image for larger version

Name:	1.png
Views:	129
Size:	10.4 KB
ID:	1533244

      mcsSprinklers saw the last time the zone ran as 3/20/2022 10:05:00 AM so on 3/22/2022 at first opportunity after midnight it ran the zone. This setting is considered a plant safety provision and will override any other inhibits. That is why it did not wait until an unrestricted time.

      The intent of the carryover is for timed scheduling of sites that may have had an inhibit (e.g. wind) that is not based upon time and this resulted in the schedule not completing. I would need to run an experiment to see if the carryover would also work with the state machine logic used for Measured strategy. I suspect my thinking is that it would not be necessary because it would catch up normally as the moisture level decreases.

      The desire to run Calculated or Measured strategy multiple times within a day is not something that I had considered. My thinking was that the zone run time was being set to the duration that would bring the soil moisture from the trigger level to 100%. I can see where your desire removes the need to know how long a zone should run. It also opens up failure mode that needs protection where the moisture sensor never reaches the 100% level to know to stop. Let me investigate this option. My thought is that I may be able to use Round Robin logic so the soak time can be specified and the zone duration acts as a safety max while stopping the irrigation before this if the measured value is at 100% (or perhaps 90% to prevent over saturation)

      At this instant I suggest removing the Minimum Days setting, or making it longer so it acts as a protection rather than something that becomes active during normal irrigation periods. The carryover logic adds complexity so suggesting simpler is better without it.
      Thanks Michael. I'll increase or remove the max days between watering and now will understand why a midnight watering might occur. I'll disable the carryover.

      On watering using the sensors...the 3 zones are two areas of a vegetable garden and one shrub/herb bed. Perhaps it's due to somewhat sandy soil, but from my experience thus far, I don't think the Ecowitt sensors would ever reach 95-100%. Certainly not until the long after the amount of water supplied caused other issues. For example, water begins to seep out below a small retaining wall near the vegetable garden if I run more than about 20 minutes straight. At this point the sensor shows perhaps 75-80% moisture. Sensor is located between two rows of surface drip tubing so it never becomes as near to full saturation as it would directly beneath the tubing. I set the water cycle duration to stop short of this issue, but allow it to re-run after an hour of absorption if still <50% threshold. In practice, it never re-runs immediately since the moisture climbs around 8-10% with each watering cycle. So to summarize, the moisture content cycles between ~50% and 60%. So far in the relatively cooler months it's only needed to run 1-2 times per day in the vegetable gardens.
      -Wade

      Comment


        #4
        If forget I had the soak time parameter already present so I should not need to make any plugin update for what you want to do.

        When you setup your sensor trigger characterization you should be using operational levels and not absolute levels. If desired measured moisture after an irrigation period is 80, then 80 should be used for the %100 calibration on the Area page. If a dry condition is 30 then this should be the 0%. You can still use 50 as the trigger, but the general strategy is to be near the 0% calibration value for the trigger. It could be that your 0% calibration should be 40 if you want to trigger a cycle when the sensor reads 50.

        If you want to add a safety provision on the number of cycles that can be run on a given day then on the Site page change the default 24 to whatever max you want to be enforced. This applies to the site so if you have other Areas that are normally run on timed programs then you should not change this value to a number lower than the number of programs you have scheduled.

        Comment


          #5
          Thanks for the additional explanation. I was completely missing the boat on sensor scale/calibration.
          -Wade

          Comment


            #6
            Originally posted by Michael McSharry View Post
            When you setup your sensor trigger characterization you should be using operational levels and not absolute levels. If desired measured moisture after an irrigation period is 80, then 80 should be used for the %100 calibration on the Area page. If a dry condition is 30 then this should be the 0%. You can still use 50 as the trigger, but the general strategy is to be near the 0% calibration value for the trigger. It could be that your 0% calibration should be 40 if you want to trigger a cycle when the sensor reads 50.
            Michael,

            Watering has been working as expected since following your prior suggestions. A new but related question: In Soil Sensor Scale, I set "100% (wet)" to 60 and "0% (dry)" to 40. Trigger remains at 50%. I expected this to cause the calculated moisture levels to provide a useful value/chart, but this isn't the case. Are they disabled when using measured watering strategy? This makes sense on one hand, since the sensor indicates an actual moisture content. But if so, it's not clear to me the purpose of the Soil Sensor Scale calibration. Can you help me understand this?

            Click image for larger version

Name:	Capture.JPG
Views:	150
Size:	177.6 KB
ID:	1534642

            Click image for larger version

Name:	Capture1.JPG
Views:	137
Size:	53.5 KB
ID:	1534643

            Thank you.
            -Wade

            Comment


              #7
              Michael McSharry Is it expected that the calculated moisture levels are disabled when using measured water strategy? See above. Thanks.
              -Wade

              Comment


                #8
                The intended operation is that when an area uses Measured strategy then the moisture percentage is from the sensor with the 0% and 100% ranges defined on Area Setup for that area.

                The graphic for the past week is obtained from the database and the dynamic range of the graphic is based upon the data from the database. Initially the graphic may flatline because of insufficient historical data.

                Let us say your moisture sensor has been setup for 40 and 80 for 0% and 100% respectively. If the reading at the start of the hour is 60 then I expect the database to record 50 for soil moisture percentage for the current hour. The reading of -200 likely means the database contains 0 rather than 50. I would need to run a little test to trace through how the sensor value is being stored when using Measured. It should be the same no matter what Strategy is used.

                The data is in \data\mcsSprinklers\mcsSprinklers.db (assuming SQLite database) at table tblSprinklers such as below. If you want to look at the data to assess if the data is being recorded correctly or not, vs. not being displayed correctly. You can also look graphically at something like the annual chart for soil moisture.

                Click image for larger version

Name:	Capture.JPG
Views:	84
Size:	93.2 KB
ID:	1535618

                Comment


                  #9
                  Looking at mcsSprinkler.db, the aRxxMoisture_____I column is being populated with -200 for each of the 3 zones I have set for measured control. There are two weeks of readings, current as of this afternoon. Actual sensor readings have ranged from mid-40s to mid-50s during that time. Here are the Area configuration range definitions:

                  Click image for larger version

Name:	Capture.JPG
Views:	66
Size:	112.8 KB
ID:	1535623

                  Click image for larger version

Name:	Capture1.JPG
Views:	68
Size:	111.9 KB
ID:	1535622
                  -Wade

                  Comment


                    #10
                    I found the issue with the incorrect soil moisture which is read from status device S37 .. S44. This device has an embedded javascript function and this caused the extraction of the value to be incorrect (i.e. 0). I let it run for awhile to confirm it gets to the database properly after fixing it. Update is at http://mcsSprinklers.com/MCSSPRINKLERS_22204.zip

                    Comment


                      #11
                      Thank you for the quick response in this issue.

                      Installed and watching. A6R13 immediately went to 45%--about the expected value with sensor reading 49% and calibrated range being 40-50%. A3R10 and A3R14, on the other hand, went to 100% and are staying there. Sensor readings are 51% and 52%, so I would expect calculated values in the 55-60% range.

                      I'll keep an eye on it to see if the values settle over time.

                      -Wade

                      Comment


                        #12
                        Calculated moisture values for all 3 measured zones are now reporting as expected. Thank you!
                        -Wade

                        Comment


                          #13
                          Michael,

                          I'm seeing a minor oddity related to the history charts for measured strategy zones. Or likely I'm misunderstanding what's being presented. In the Zones Status, the graphical moisture content history for the measured zones is confusing. For example, R10 below is reading 60% which is the "calibrated" value (actual sensor reading is 52%, and range is calibrated from 40% (zero) to 60% (100). The odd thing is the graphic looks to indicate ~10%-20%. Similarly R14 and R13 graphics don't seem to correspond to the numeric value.

                          Am I misunderstanding what's being shown by the graphic, or is there possibly a miscalculation behind the charted columns?

                          Thanks.

                          Click image for larger version  Name:	Capture.jpg Views:	0 Size:	194.8 KB ID:	1536777

                          Click image for larger version  Name:	Capture1.jpg Views:	0 Size:	109.8 KB ID:	1536778
                          -Wade

                          Comment


                            #14
                            It is showing the dynamic range for each zone. If one zone is setup to keep moisture between 90% and 100% and another between 0% and 100% they will both have the same pattern where the top is 100%, but the bottom absolute value is different. It attempts to maximize the resolution with the number of pixels allocated for the graph.

                            Comment


                              #15
                              Pardon my thickness, but still not following. It seems like you're saying for the measured area where the calibrated range is 40%-60%, then when actual sensor value is 55% then the graphic should be 3/4 full height (75%). But that's not what I'm observing.
                              -Wade

                              Comment

                              Working...
                              X