Announcement

Collapse
No announcement yet.

mcsControlSystems

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

    mcsControlSystems

    First installment of mcsControlSytems. Contains sprinkler controller. Requires mcsTemperature Version 4.0. Unzip into homeseer root and maintain directory structure. Read the document. I'll provide more info later.


    <pre class="ip-ubbcode-code-pre">

    PR1 1.0.1 Subscript range error when no zones defined
    PR2 1.1.1 Relay05 not recognized as being part of mcsTemperature
    PR3 Predicted next water time sometimes not correct
    PR4 1.1.0 Add Wind speed as a "Dont" criteria
    PR5 1.1.0 Sprinkler Table not created
    PR6 1.1.0 Menu selection for Sprinkler does not lauch IE
    PR7 1.5.0 Add Plugin house code for status variables
    PR8 1.1.1 Pump turns off too soon
    PR9 1.1.1 Add version number to setup & web page
    PR10 1.2.0 Change "day" to midnight to midnight
    PR11 1.2.0 Add option to complete cycle at sunrise
    PR12 Check for impossible watering requests
    PR13 Measured/Calculated ignore "sunrise" criteria
    PR14 1.2.2 Manual Durations not accepted on web page
    PR15 1.3.0 Enable Forecast "Dont" criteria
    PR16 1.3.0 Provide web control of tomorrow's watering
    PR17 1.3.1 Odd/Even Predicted times always 12:00 on web page
    PR18 1.3.1 Provide Last Watered Date status on Web page
    PR19 1.3.1 Status 24 hr rather than Day for future water icon status on web page
    PR20 1.4.0 Display status of both last and next water times
    PR21 1.4.0 Provide individual zone manual control via X10 codes
    PR22 1.4.3 Display background does not follow mcsTemp settings
    PR23 1.4.1 Queue remote X10 requests for manual sprinkler control
    PR24 1.5.0 Unable to delete sprinkler zone
    PR25 1.5.0 Allow graphs of Control System Status variables
    PR26 1.6.0 Multiple problems with "Calculated" control strategy
    PR27 1.6.0 ET Algorithm update
    PR28 1.6.0 Add ability to reset calcualted moisture level
    PR29 1.6.0 Use 1hr averages rather than point measurements on ET calculations
    PR30 1.6.0 Adjust asp page for touchscreen
    PR31 1.6.0 Eliminate once-per-day restriction on Calculated/Measured control
    PR32 1.6.1 Diagnostics for INITIO error message
    PR33 Auto control duration shows up in Web Display when Manual enabled
    PR34 Status not updating when zone turns off
    PR35 Manual control house code does not function
    PR36 Week accumulation display incorrecton web display
    PR37 1.7.0 Added Sub ForceNewDay() function
    PR38 1.7.0 Added Sub SetManualControl(ZoneDeviceCode, ManualDuration)
    PR39 1.8.0 Add valve protection device that cycles around valve transitions
    PR40 1.9.0 Cleanup of setup indexes for 12 on a page
    PR40 1.9.0 Fix Transient Protection OFF logic
    PR41 1.9.0 Expand to 8 Areas
    PR42 1.10.0 Correct login that included only 3 or 8 zones
    PR43 1.10.0 Add support for zone transition triggering
    PR44 1.10.1 Provide pre first zone notifications
    PR45 1.10.2 Revert back to root for database files
    PR46 1.10.3 Dont water hours dont work when start hour after end hour.
    PR47 1.11.0 Measured control stuck on 1st zone
    PR48 1.11.0 Allow multiple no-watering intervals
    PR49 1.11.0 Provide safety of max cycles per day
    PR50 1.11.0 Stop logging of ExecX10 control actions
    PR51 1.12.0 Allow moisture sensor to be a dryness sensor
    PR52 1.12.2 SQL Tables & Fields not being created
    PR53 1.12.3 Debug to hs log not removed
    PR54 1.14.2 Dont Water time of 0000 yields wrong results
    PR55 1.14.2 Add support for serial Rain8
    PR56 1.14.2 Non-US number (4,589E+08) cause database query problems
    PR57 1.14.2 Table missing when trying to log discrete to database
    PR58 1.14.4 Measured watering times restart on setup page update
    PR59 1.14.2 Add initial xap support
    PR60 1.14.2 Add internal web server
    PR61 1.14.3 Allow measurement device to be either string or value
    PR62 1.14.4 PopulatePriorRain error message
    PR63 1.14.5 Show Homeseer Devices message
    PR64 1.14.5 Continued problem with measurement sensor logic
    PR65 1.15.1 Progress on Rain8RF
    PR66 1.15.1 Various scheduling updates related to multiple start times
    PR67 1.16.0 All zone-by-zone X10 control alias
    PR68 1.16.0 State not correctly saved on hs restart
    PR69 1.16.1 Allow alias to have immediate control of valve
    PR69 1.16.2 Progress on Rain8Net
    PR70 1.16.3 Manual control with multiple start time problems
    PR71 1.16.3 Format HTML for pump device
    PR72 1.16.5 Format Valve/pump devices if controlled from GUI
    PR73 1.16.5 Act on Web Manual request immediately
    PR74 1.16.6 More Sync problems with manual and mid-day restarts
    PR75 1.16.7 Enabled redirection on non-recognized internal requests
    PR76 1.16.7 Removed unconditional debug on restore
    PR77 1.17.0 subscript range errors
    PR78 1.17.0 start time sometimes is 0 rather than specified value
    PR79 1.17.0 weather/sensor data from xap or mcsTemperature option
    PR80 1.18.0 Weekly minutes not updating on web display
    PR81 1.18.0 Add seasonal / emergency control
    PR82 1.18.0 Put debug into separate file in \Data folder
    PR83 1.18.0 Update alias status/strings when valve changes
    PR84 1.18.0 Option to use mcsTemp or not for setup info
    PR84 1.18.0 Internal server not reconginzing web control inputs
    PR85 1.19.1 Multile waterings on same day when not scheduled
    PR86 1.19.1 Valve OFF commands not sent to HS Log
    PR87 1.19.1 Seasonal Control does not work for all combinations
    PR88 1.19.1 Added alternate browser view (?Page=Status or /status)
    PR89 1.19.2 Rain8Net type mismatch error
    PR90 1.19.6 Rain8Net communication sync problems
    PR91 1.19.7 Sensor for mcsTemperature not being used
    PR92 1.20.0 Added Solar Index calc based upon icon
    PR93 1.20.0 Completed Rain8 Wireless Integration
    PR94 1.20.0 Added Solar Index Status device
    PR95 1.20.1 Min/Max temp reference wrong icons
    PR96 1.20.2 Forecast status not updating
    PR97 1.20.2 Provide warning before use of Rain8 net eprom features
    PR98 1.20.3 Use actual rain history rather than previous forecasts
    PR99 1.20.5 EvaluateWaterNow Subscript error when stop at sunrise option used
    </pre>
    Last edited by Michael McSharry; April 14, 2005, 06:16 PM.

    #2
    The sprinkler control model is based upon individual control of three areas with up to twelve sprinkler values or zones in each area. The control can be open loop or closed loop. Open loop options are day of week, odd-even day, or interval. Closed loop options are calculated soil moisture or measured soil moisture.

    In addition of the basic control strategy there are also conditions that prohibit or delay activation of any of the zones. Any or all of the following conditions will superceed the normal zone activation. These are day-of-week, even-odd day, interval, forecasted rain, minimum watering interval, and virtual device off/on.

    Manual control, as well as status of soil moisture, and predicted next watering time are available from the web interface. Manual control supercedes both the automatic control strategy and conditions.
    Attached Files

    Comment


      #3
      Web View for Status and Manual Controls
      Attached Files

      Comment


        #4
        <BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR> 6/6/2003 8:15:56 PM~!~mcsControlSystems~!~EvaluateWaterNow with Progress 0 Subscript out of range
        <HR></BLOCKQUOTE>
        I installed the mcsControlSystems plugin and restarted HS, but no configuration except the default. I've opened and closed the setup GUI a couple of times and it apparently created a table in the database for sprinklers.

        I don't have any sprinklers (or HVAC control devices or hot water recirc) but I plan at some future time to add all of these. For the moment I'm just playing with the plugin, but it may guide what I do later.

        --Bill

        Comment


          #5
          just to see if it would get rid of the previous error. Seems like it did, but now I have a new one:
          <BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR> 6/6/2003 8:52:56 PM~!~Send X10 from ext interface~!~]52 off dim: 0 extra: 0
          6/6/2003 8:52:56 PM~!~Send X10 from ext interface~!~]51 on dim: 0 extra: 0
          6/6/2003 8:52:56 PM~!~mcsControlSystems~!~ Log_Discrete: Could not find output table 'tblmcsTemperatureRelay1'.
          6/6/2003 8:52:56 PM~!~Send X10 from ext interface~!~]51 on dim: 0 extra: 0
          <HR></BLOCKQUOTE>
          I'm using a couple of relays on the Relay05 to sub for sprinklers. They already had discrete tables defined in the Temperature database as shown in the screen shot below. Not sure why mcsControlSystems tries to post to a different table. Also not sure what the "Send X10 from ext interface" is about, since this is a Relay05 device, not X10.

          --Bill
          Attached Files

          Comment


            #6
            Bill,
            I did all my testing with the Rain8 modules which are X10 controlled so I missed the Relay05. I also put a check to make certain a zone has been defined.

            The ExecX10 method is the mechanism by which a plugin or script is able to control another plugin's device on/off. It applies to all devices, not just the X10 ones. I suggest that the logging of the devices be turned off by changing the properties in the HS GUI.

            Nothing works yet for the HVAC or Water Recirc. Most of the HVAC is implemented, but no testing done yet. Nothing done on the other.

            I'm controlling my sprinklers right now with timed control as I collect data to understand what would happen if I turned it loose with closed loop control.

            If you look in the Trend Groups page you should see the sprinkler zone data that is available for charting.

            Comment


              #7
              Michael,
              Just installed, and this certainly looks like it will be good! I have a couple of problems from the get-go:

              (1) I get the following when I hit "update" and periodically after:

              CreateSprinklerTable: Error #-2147467259 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

              (2) If I select "Sprinklers" from the HS menu, it looks as though it is looking for the "ControlSystems.asp" in the root directory of my C: drive.

              Steve

              Comment


                #8
                Also Michael - Have you thought about having wind be one of your environmental factors? I know that in my neighborhood the wind can blow pretty hard. If my sprinklers do run when it is blowing that way, I'm likely to mostly water the street, the weeds, and everything but my own grass. Just a suggestion for future revisions.

                Steve

                Comment


                  #9
                  about turning off logging. This wouldn't affect logging to the database, just the HS log, right? I want mcsTemperature to log the Relay05 relay control actions into the database, at least for the relays that aren't used in mcsControlSystems. It might also be useful for mcsControlSystems to log sprinkler actuations separately. Is that what you're trying to do by using a different table name for the same device in mcsControlSystems?

                  <BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR> 6/7/2003 12:17:13 PM~!~mcsControlSystems~!~ Log_Discrete: Could not find output table 'tblmcsTemperatureRelay1'.
                  <HR></BLOCKQUOTE>
                  I could create this table and stop the error message but I'm trying to understand the intent. If mcsControlSystems wants to log to a table, shouldn't it create the table if it doesn't exist? You don't provide for manually specifying a table name, in either mcsTemperature or mcsControlSystems.

                  Would it be useful to allow mcsControlSystems its own plugin housecode for creating status virtuals?

                  --Bill

                  Comment


                    #10
                    Steve,
                    I'll look into the two items you identified. Some of mcsTemperature database setup parameters are used for the sprinkler table. I assume you had no problems with the mcsTemperature database.

                    On the second item the Menu function will attempt to run IE with the URL to localhost and homeseer's port. Mine pops up an IE window with http://localhost:81/ControlSystems.asp?Page=Sprinklers. What exactly happens at your end.

                    Wind, Humidity, Solar Intensity, and Temperature are used to calculate evaporation. Wind, humidity, and temperature will be used from local sensors if available otherwise the data from the MSNBC site will be used. In all cases it is the average reading from the database over the last hour. You must have a means of sensing solar intensity since this is not available from this web site. In my case it is a small clear jar mounted on top of the wind instrument pole with a temp sensor inside.

                    For forecast calculations I use the max values over the last 30 days for rainfall and solar radiation. These are the two drivers for both increase and decrease in soil moisture. I did not bother to project the other parameters into the future based upon past data.

                    editor's note: Steve I just realized you were not suggesting wind in the moisture calcualation, but as a "Dont Water" criteria. Is is a good suggestion. I suspect some averaging of the wind data will be needed since short-duration measurements would have the sprinklers pulsing on and off with each gust. We gets winter winds, but very calm in the watering season so it never crossed my mind.

                    Bill,'
                    The logging reference is to the homeseer log. I have very few device changes going to the log. The logging to the mcsTemperature database(s) is not affected by this or by mcsControlSystems.

                    My intention is to log all control actions. If it is a device defined in mcsControlSystems then it will be logged without user option. If the device is defined in mcsTemperature then its logging will be dictated by that setup.

                    If a sprinkler valve control is a device that mcsTemperature already knows about then mcsControlSystems will not create a duplicate database table. If it is not a mcsTemperature device then a discrete table will be generated for it. No options are available to change the name of the table. The table name is based on the device location and name.

                    I think I posted an update to mcsControlSystems that addresses your table problem. Do you still get this error message with the update?

                    Plugin house codes are easy to make. What info would you want to be placed in these devices?

                    Comment


                      #11
                      My MCS Temperature Plug-in has been working flawlessly for quite a while, so me thinks the database is working fine. I have Access on the HS machine and can look at the database, if you tell me what to look for. I've noticed that the error only happens when I hit "Update" on the setup, rather than periodically as I stated before.

                      On the "Sprinklers" item on the menu, IE pops up with the error:

                      <pre class="ip-ubbcode-code-pre">
                      Cannot find 'file:///C:/ControlSystems.asp%3FPage=Sprinklers'. Make sure the path or Internet address is correct.
                      </pre>

                      I'm unsure why it would look in the root of my C: drive. MCS Temperature seems to work fine, opening up at URL:

                      http://localhost/Temperature.asp

                      Steve

                      P.S. I just checked my mcsTemperature.mdb database, and there are only the three Temp / Forecast tables (nothing regarding sprinklers). I checked and it has been updating from the TEMP05 readings.

                      Comment


                        #12
                        Is that the version you're referring to?

                        --Bill

                        Comment


                          #13
                          What I was referring to was the Pump device code, which apparently does double duty as a status code if there is no pump. This might be confusing; I was suggesting that if there is a pump the user should select a checkbox that says so, and supply the code for the pump controller, and if there is no pump, mcsControlSystems should instead assign a code for a status device that belongs to it.

                          I'm sure as you develop the code for additional functions, there will be other "status" devices that may not correspond to a physical device.

                          --Bill

                          Comment


                            #14
                            The wind restriction was added and some attempts made to understand current difficulties.

                            The Debug checkout should be used so information will be displayed as the sprinkler table is being searched and created. It will also show the house codes for which discrete logging will be disabled by mcsControlSystems. Either of these house codes and any device in the [Database]section of the mcsTemperature.ini file will not be logged by mcsControlSystems, but will follow the logging rules of mcsTemperature.

                            The menu selection for the Sprinkler web page was changed to exclude the querystring parameter to see if that it what is causing the reference to the C root.

                            Comment


                              #15
                              and some rooms are either completely unheated or heated by individual baseboard or plug-in room heaters controlled by an appliance module. Will there be any provision for such independent zones? It's not entirely clear from the layout on the HVAC and Zone tabs as they now exist but it looks to me like you contemplate everything to be heated/cooled from one central source, with an auxiliary source available but covering the same area and zone control through dampers (as any sane Architect would design it - but my house just grew and may not be all that atypical).

                              What will live behind the Control Criteria button? Is that another setup GUI with tabs, allowing complete day-of-week/time-of-day thermostat programming, with no-occupancy setbacks, etc.? (just asking for information - initially I will have no conrtol over my primary furnace and complete control over the room heaters via X-10)

                              --Bill

                              Comment

                              Working...
                              X