{"id":3211,"date":"2010-08-18T08:09:33","date_gmt":"2010-08-18T07:09:33","guid":{"rendered":""},"modified":"2012-12-30T00:11:06","modified_gmt":"2012-12-30T00:11:06","slug":"my-automated-home-delmar-faddens-event-control-system-ecs","status":"publish","type":"post","link":"https:\/\/automatedhome.com\/reviews\/my-automated-home-delmar-faddens-event-control-system-ecs.html","title":{"rendered":"My Automated Home: Delmar Faddens Event Control System (ECS)"},"content":{"rendered":"<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3016.jpg\" width=\"500\" height=\"460\" \/><\/p>\n<p>This months &#8216;My Automated Home&#8217; comes from Delmar Fadden, a man that&#8217;s no stranger to electronics.\u00a0 As a retired avionics and flight deck engineer he&#8217;s spent a lifetime at the sharp end of control systems.\u00a0 Now with a passion for home automation, he takes us on a tour of his Seattle smart home system which runs on ECS.<\/p>\n<p><div class=\"sj-gblock\">\n<script language=\"javascript\">\n<!--\ngoogle_ad_client = \"ca-pub-5598479065369258\";\ngoogle_ad_width = 300; \ngoogle_ad_height = 250; \ngoogle_ad_format = \"300x250_as\"; \ngoogle_ad_channel = \"7058025304\"; \ngoogle_ad_type = \"text_image\"; \ngoogle_color_border = \"FFFFFF\"; \ngoogle_color_bg = \"FFFFFF\"; \ngoogle_color_link = \"52a79f\"; \ngoogle_color_url = \"CFFFDF\"; \ngoogle_color_text = \"000000\"; \n\/\/--> \n<\/script>\n<script language=\"javascript\"  src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\"><\/script>\n<\/div>Submission by: Delmar M. Fadden &#8211; That\u2019s it!\u00a0 I\u2019ve tried every trick there is to improve X-10 communications, but this time the functional reliability of my system has dropped below the level that even I can tolerate.\u00a0 And that is well below the level that my wife sees as barely functioning!\u00a0 The final straw was not being able to turn off our wake up lights.<\/p>\n<p>I\u2019ve used X-10 since the 1980s, first to control lighting and then some HVAC and finally part of our AV system.\u00a0 When we moved to our present home in 1992, I had a chance to start from scratch with an overall plan for inside and outside lighting, coordinated control of three and later four HVAC units, two heat recovery ventilators, a heat circulation system, and some hot water controls.\u00a0 The home was equipped with a simple audio distribution system but the controls were inflexible and didn\u2019t extend to video at all.\u00a0 So AV additions were needed.<\/p>\n<p>At that time the <strong>JDS \u2018Stargate\u2019 controller<\/strong> offered integrated control of all the equipment types I had in mind.\u00a0 It has proven to be an excellent choice; extremely reliable and readily expandable.<\/p>\n<p>Our home is in a rural area and while the power service to the house is under ground, the main distribution line serving our community runs for several miles through forest.\u00a0 This makes on-site emergency power a must.\u00a0 Unfortunately the house was not wired with that in mind.\u00a0 A careful assessment of the existing circuits showed that with limited changes we could have reasonable heating and lighting with enough extra power for necessities like computers, cooking, and entertainment.\u00a0 An 8kVA propane generator now provides power through two new standby circuit breaker panels.\u00a0 By putting the main air handler on standby power along with the boiler controls, we have good heating without the need to cope with the heavy startup load of a heat pump compressor.<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3005.jpg\" width=\"500\" height=\"335\" \/><br \/>\n4 FMR1-20 devices used to control exterior lighting circuits attached to an 8 X 8 junction box.<br \/>\nThe blue light on outside surface of each device is a programmable LED indicator of status.<br \/>\nThe red program button is used to enter the programming mode or the test mode.<\/p>\n<p>The added complication of the standby power distribution system was too much for the original passive X-10 couplers forcing me to add amplified couplers to the 3 main distribution panels.\u00a0 When the PCS line of X-10 compatible products came out in the early 90s, they offered 200 step dimming and brightening from off.\u00a0 That made it possible to do long fade ups.\u00a0 I thought this would be much more pleasant for morning wake-up.\u00a0 And indeed it was a great improvement over the big brightness steps that most X-10 products supported.<\/p>\n<p>My wife liked the smooth transition of light levels and wanted it used in more places and for more reasons.\u00a0 Within a year nearly a third of our lighting had been switched to that style of control.\u00a0 For several of the applications the built-in fade rates weren\u2019t adequate.\u00a0 Stargate supports sending the small increment steps and thus allows one to customize any style of fade in or out while retaining the fine control that makes each step nearly imperceptible.<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3016.jpg\" width=\"500\" height=\"460\" \/><br \/>\nJDS StarGate controller with two I\/O expander units in the middle of the picture<br \/>\nand the IR expander unit below. The units on the right are the network<br \/>\npatch panel and two of the network switches.<\/p>\n<p>The only downside is that the level of X-10 traffic on the power line became an issue.\u00a0 Basically I had to build in pauses in any communication intense tasks that would allow other X-10 traffic to get through.\u00a0 At first this was just a minor inconvenience but after adding a number of indicator switches, this problem became much more serious.\u00a0 Many of the Leviton DHC devices did monitor the power line and would retransmit if a data collision occurred.\u00a0 Better, yes but not a real solution if the person hitting the switch was in a hurry or didn\u2019t understand that a delay was \u201cnormal.\u201d<\/p>\n<p>&nbsp;<\/p>\n<p align=\"center\"><img decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3018.jpg\" \/><br \/>\nFMR1-20 devices used to control exterior lighting circuits are installed in two 8 X 8 junction<br \/>\nboxes mounted between studs in the equipment center in the crawl space.\u00a0 The blue light on<br \/>\noutside surface of each device is a programmable LED indicator of status.<br \/>\nThe red program button is used to enter the programming mode or the test mode.<\/p>\n<p>As more devices were added to our system, it was inevitable that certain circuits attracted more X-10 use than others.\u00a0 These circuits become more noise sensitive as the available signal level decreased.\u00a0 Judicious use of filters and devices with adjustable sensitivity circumvented the consequences of this problem for a long time.<\/p>\n<p>But now intermittent operation has become the norm and, short of re-wiring the house, there is nothing I can do to make the system healthy again.\u00a0 It is time to reassess the system.\u00a0 Fortunately there are many more options available now.<\/p>\n<p>A few years ago I helped a friend spec his new home with <a href=\"http:\/\/www.vantagecontrols.com\/\" target=\"_blank\">Vantage controls<\/a>.\u00a0 Together we took the factory course to make sure we understood what was possible and how to apply it.\u00a0 We learned that a hard wired system is still best for a new home and that a new RF-based system could provide close to hard-wired performance for retrofit situations.\u00a0 The programmability of the Vantage system makes it very flexible but clearly targeted for a professional installer.\u00a0 Since my friend was building a new home and had an electrical contractor who was familiar with Vantage, it was a good fit for him.\u00a0 I did a design for part of my home using the RF-based version.\u00a0 It would have handled our needs very well but the projected cost was very much high end.<\/p>\n<p align=\"center\"><img decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3020.jpg\" \/><br \/>\nKPCW6 6-button wall mounted controller.\u00a0 The label sheet below the switch plate<br \/>\nallow us to try out the lighting controls before we commit to engraved<br \/>\nlabels that mount directly over the buttons.<\/p>\n<p>&nbsp;<\/p>\n<p>Sorting through other retrofit capable systems, lead me to the <a href=\"http:\/\/pulseworx.com\/\" target=\"_blank\">PCS PulseWorx<\/a> line.\u00a0 These devices do use the power line for communication but the protocol is <strong>Universal Powerline Bus (UPB)<\/strong> instead of X-10.\u00a0 This protocol is much faster than X-10 with a wider signal range, better noise immunity, and a design that supports true two-way communication.<\/p>\n<p>Each UPB device can be controlled directly using its native address or by using a \u201clink.\u201d\u00a0 Links allow multiple devices to be controlled using a single command.\u00a0 Each UPB device can have as many as 16 links.\u00a0 The link concept is similar to X-10 scenes\u2014a capability that several X-10 device manufacturers support.\u00a0 My experience with scenes suggested that links would be highly useful, particularly given the higher speed of UPB.<\/p>\n<p>As useful as links are there are times when a more flexible controller is necessary.\u00a0 I could add UPB capability to Stargate but did not want to give up the audio and telephone interface.\u00a0 Furthermore my Stargate program was running right at its memory limit.\u00a0 If I moved the lighting control out of Stargate to another controller there would be more space for the HVAC and sensor I\/O that Stargate handles very well.<\/p>\n<p>An Internet search led me to a program called <a href=\"http:\/\/omnipotencesoftware.com\" target=\"_blank\">Event Control System (ECS)<\/a> \u00a0 This program was developed by Mark Gilmore, the principal of Omnipotence Software.\u00a0 Mark has been involved in home automation for a long time and has an amazing grasp of what home automation should be able to do.\u00a0 He developed and sold an early version of ECS that supported an X-10 controller called System 1400e.\u00a0 That box and the early version of ECS had been my first step into serious home automation.\u00a0 I downloaded the trial version of the current ECS and took a careful look at its capability.\u00a0 In addition to UPB it included an interface for Stargate that would facilitate tight integration of the two systems.\u00a0 The only drawback was the lack of built-in support for links.<\/p>\n<p>An exchange of e-mails with Mark and a few phone conversations led to a new version of ECS that provided link support!\u00a0 That sold me and I went to work on a new design built around PCS PulseWorx devices and ECS control.\u00a0 My local PulseWorx distributor, Devine Systems, recommended that I buy a couple of plug-in light controllers and a plug-in switch along with a powerline interface module (PIM) to verify that communication was good enough everywhere in the house.\u00a0 It was a great recommendation.<\/p>\n<p>PCS and other UPB manufacturers provide a free utility program called UPStart.\u00a0 In addition to handling the programming of UPB devices, UPStart provides a well thought out series of test functions that monitor noise and signal level at every device and check communication between any pairs of devices; it also reports the phase of the power at each local device.\u00a0 <strong>I found that signal levels were excellent for all of the devices so long as they were on the same phase of the powerline<\/strong>.\u00a0 The signal on the opposite phase was present but the level was marginal.\u00a0 By moving the PIM to a circuit on the opposite phase, I confirmed that the results were symmetrical.<\/p>\n<p>PCS offers three styles of passive phase couplers and a split phase repeater that provides amplification as well as phase coupling.\u00a0 I elected to add a split phase repeater to give us the best possible signal margin.\u00a0 With that unit installed the test results were excellent, no matter what circuits were involved.<\/p>\n<p>The design for the new installation evolved from the original X-10 setup with a number of simplifications made possible using links and the flexibility of the UPB addressing system.\u00a0 Planning the sequence of installation was complicated by two factors.\u00a0 My day job allowed little time during the week but I could count on generally free weekends.\u00a0 The devices that would be controlled directly at the device could be installed first.\u00a0 Next came devices controlled by links but that did not require ECS inputs.<\/p>\n<p>Together installation of these devices gave me a good opportunity to become well acquainted with UPStart.\u00a0 PCS offers factory and on-line training for the use of UPStart in addition to a thorough manual.\u00a0 For most function I found the software easy to use and understand without any extra help.\u00a0 When I did have a question, the manual had clear, easy to find answers.\u00a0 In a couple of weekends I had a number of devices installed and a first cut at programming for the various links.<\/p>\n<p>ECS offers two basic programming alternatives.\u00a0 For controls that are based only on time of day, <strong>ECS Schedules<\/strong> are very easy to set up.\u00a0 Controls that need to respond to events or manual inputs are implemented using Scripts.\u00a0 <strong>The power and versatility of Scripts<\/strong> means that some study and experimentation will be necessary to use them to their best effect.\u00a0 Rest assured that the leaning time is well worth it.\u00a0 Originally I thought that I would have a few devices that were Schedule controlled.\u00a0 But I found Scripts to be so much more useful that all of my Schedules have been replaced.<\/p>\n<p>The sheer number of functions (ECS calls them Classes) supported by ECS appears daunting.\u00a0 The online help manual covers every Class with the fundamentals needed to use the Class.\u00a0 ECS also provides some sample Scripts to demonstrate how the Classes can be used to accomplish a function.\u00a0 For my first foray into ECS Script programming I selected a reasonably simple function that uses a single output device and three types of inputs.\u00a0 This function controls the hot water recirculation system for the master bath.\u00a0 The system responds to a manual or an event input and runs until the return line water temperature exceeds a specific temperature or undergoes a defined temperature increase.\u00a0 To avoid continuous operation, the run time for the pump is limited and a manual shutoff is provided.<\/p>\n<p align=\"center\"><img decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3021.jpg\" \/><br \/>\nA WS-1D-6 wall switch dimmer and a KPLD dimmer \u2013 controller replace two single<br \/>\nswitches in an existing wall box. The KPLD provides additional flexibility for retrofit<br \/>\nsituations by combining both dimmer and controller functions in a single unit.<br \/>\nAs with the stand alone controllers all of the switch buttons are programmable using UPStart.<\/p>\n<p>The <strong>temperature sensing<\/strong> is provided by an existing TS-111 temperature sensor interfaced through a StarGate analog input.\u00a0 A PulseWorx AM1 appliance module controls AC power to the pump.\u00a0 This module incorporates a settable timeout feature that shuts off the output and issues a link command when time out occurs.\u00a0 Manual inputs come from either of two KPCD-6 desktop controllers in the master suite or a KPCW-6 wall controller in the master bath.<\/p>\n<p>All of the controllers are illuminated and I wanted to ensure that the lights indicate the status of the system at all three locations.\u00a0 UPB makes that very easy.\u00a0 The UPStart \u201cReceive Components\u201d screen for the controllers allows each indicator light to be associated with any of 16 links.\u00a0 The links do not have to be the ones associated with the switch function, though that is often most convenient.<\/p>\n<p>Programming the recirculation system took two tries before in functioned correctly and the program has had several refinements since.\u00a0 At first the temperature sensing did not work and appeared to cause the Script to timeout.\u00a0 A comment in the help manual indicated that ECS updates StarGate analog data once a minute.\u00a0 A quick experiment showed that adding a one minute delay between temperature checks eliminated the script timeout problem.\u00a0 With this correction to the recirculation system Script I had my first operating function.<\/p>\n<p>Section-by-section details of this Script are described in some detail in the paragraphs that follow since they provide a useful insight into the operations of ECS and UPB.\u00a0 The actual Script is presented below.\u00a0 Section titles have been added to facilitate the description which follows.<\/p>\n<p><strong>Section 1 &#8211; Initialization<\/strong><br \/>\nIf\u00a0 Recirc Pump\u00a0 Becomes\u00a0 On\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Cycle initialization<br \/>\nOr\u00a0 Link Hot Water.Link\u00a0 Becomes\u00a0 Activate<br \/>\n{<br \/>\nDo\u00a0 Link Hot Water.Link\u00a0 Set\u00a0 Activate\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Activate link in case activation was direct<br \/>\nDo\u00a0 Link RPump Auto Off.Link\u00a0 Set\u00a0 Deactivate\u00a0\u00a0\u00a0 ; Reset auto timeout link<br \/>\nDo\u00a0 PumpMinCount\u00a0 Set\u00a0 Reset<br \/>\nDo\u00a0 PumpMinCount\u00a0 Set\u00a0 Start\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Counter checks temp every minute<br \/>\nDo\u00a0 NextPumpMin\u00a0 Set\u00a0 1\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Set for first check<br \/>\nDo\u00a0 Temp limit value\u00a0 Set\u00a0\u00a0 Recirc Temp\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Temp check is current temperature<br \/>\nDo\u00a0 Temp limit value\u00a0 Add\u00a0 10\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ;\u00a0\u00a0 plus 10 degrees<br \/>\nIf\u00a0 Temp limit value\u00a0 &gt;\u00a0 100\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Temp check is limited to 100 degrees<br \/>\nThen\u00a0 Temp limit value\u00a0 Set\u00a0 100<br \/>\n}<br \/>\n<strong><br \/>\nSection 2 \u2013 Manual Deactivation<\/strong><br \/>\nIf\u00a0 Link Hot Water.Link\u00a0\u00a0 Becomes\u00a0 Deactivate\u00a0\u00a0\u00a0 ; Manual pump turnoff<br \/>\nThen\u00a0 PumpMinCount\u00a0 Set\u00a0 Stop<br \/>\nThen\u00a0 PumpMinCount\u00a0 Set\u00a0 Reset\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Prepare counter for next cycle<\/p>\n<p><strong>Section 3 \u2013 Module Auto Off Deactivation<\/strong><br \/>\n; The next 5 steps must precede the temp check since the deactivate in that procedure will<br \/>\n;\u00a0\u00a0 not be effective until the next cycle through this code.<\/p>\n<p>If\u00a0 Link RPump Auto Off.Link\u00a0 Becomes\u00a0 Activate \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Non normal but OK pump<br \/>\n;\u00a0\u00a0 turnoff by UPB module<br \/>\n;\u00a0\u00a0 timeout<br \/>\nThen\u00a0 PumpMinCount\u00a0 Set\u00a0 Stop<br \/>\nThen\u00a0 PumpMinCount\u00a0 Set\u00a0 Reset\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Prepare counter for next cycle<br \/>\nThen\u00a0 Messages\u00a0 Set\u00a0 Recirc pump timeout\u00a0\u00a0\u00a0 ; Means to detect abnormal turnoff<br \/>\nThen\u00a0 Link Hot Water.Link\u00a0 Set\u00a0 Deactivate\u00a0\u00a0\u00a0 ; Turn off link<\/p>\n<p><strong>Section 4 \u2013 Temperature Check &amp; Normal Deactivation<\/strong><br \/>\nIf\u00a0 PumpMinCount\u00a0 Becomes\u00a0 NextPumpMin\u00a0\u00a0\u00a0 ; True then temp check interval<br \/>\n{<br \/>\nDo\u00a0 NextPumpMin\u00a0 Add\u00a0 1\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; Set for next temp check interval<br \/>\nIf\u00a0 Recirc Pump\u00a0 Is\u00a0 On\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; If pump is on and<br \/>\nAnd\u00a0 Recirc Temp\u00a0 &gt;\u00a0 Temp limit value\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; If water temp exceeds limit value<br \/>\n{<br \/>\nThen\u00a0 Recirc Pump\u00a0 Set\u00a0 Off\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; turn off pump<br \/>\nThen\u00a0 PumpMinCount\u00a0 Set\u00a0 Stop\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ; stop counter<br \/>\nIf\u00a0 Link Hot Water.Link\u00a0 Is Not\u00a0 Deactivate\u00a0\u00a0\u00a0 ; if link is not known to be off<br \/>\nThen\u00a0 Link Hot Water.Link\u00a0 Set\u00a0 Deactivate\u00a0\u00a0\u00a0 ; Turn off link<br \/>\n}<br \/>\n}<\/p>\n<p>Names\u00a0\u00a0\u00a0 ECS Class\u00a0\u00a0\u00a0 Description<br \/>\nRecirc-Pump\u00a0\u00a0\u00a0 UPB Appliance Module\u00a0\u00a0\u00a0 Device that directly controls the recirculation pump.<br \/>\nLink Hot Water\u00a0\u00a0\u00a0 UPB Link\u00a0\u00a0\u00a0 Link used to turn the function on or off.<br \/>\nThis link is assigned to one wall and two desktop controllers.<br \/>\nLink RPump Auto Off\u00a0\u00a0\u00a0 UP Link\u00a0\u00a0\u00a0 Link transmitted by the UPB pump module if the module\u2019s auto-off timer has activated.<br \/>\nPumpMin-Count\u00a0\u00a0\u00a0 Minute Counter\u00a0\u00a0\u00a0 Counts in 1 minute intervals since the function was turned on<br \/>\nNextPump-Min\u00a0\u00a0\u00a0 Integer Variable\u00a0\u00a0\u00a0 Used as a reference for the PumpMinCounter<br \/>\nRecirc Temp\u00a0\u00a0\u00a0 SarGate Analog Input\u00a0\u00a0\u00a0 Temperature sensed at the end of the return line.\u00a0 This value is digitized by StarGate and transmitted to ECS.<br \/>\nTemp limit value\u00a0\u00a0\u00a0 Integer Variable\u00a0\u00a0\u00a0 Used to create and store the value that determines an appropriate temperature rise has occurred.<br \/>\nMessages\u00a0\u00a0\u00a0 ECS text variable providing access to the system message log.<br \/>\nUPB appliance or lamp modules entered into ECS can be designated as modules or links at the time they are defined.\u00a0 In Scripts a link name is designated by appending \u201c.Link\u201d to the device name.\u00a0 This works fine for ECS but I need a way to know that a device name applies to a link rather than a module, so I have adopted the convention of prefixing all link device names with the term Link.\u00a0 Within Scripts this double marking appears unnecessary but it makes finding the proper name in the Class lists much easier.<\/p>\n<p><strong>Section 1<\/strong> begins the recirculation cycle in response to either direct RecircPump control or a manual input that activates Link Hot Water.\u00a0 Since these two states are tested using the \u201cBecomes\u201d conditional, this section of the Script will be processed only once for each recirculation cycle.\u00a0 The curly brackets enclose all of the steps that are to be processed if either of the two preceding conditionals is true.\u00a0 The UPB \u201cLink Hot Water\u201d actually turns on the UPB Appliance that controls the pump without any action by ECS.\u00a0 It also turns on the indictor lights in all three Hot Water switches.\u00a0 If the pump is activated directly at the module, the link is activated to ensure the indicators will be turned on and ECS will properly recognize the link status.\u00a0 If the function was started by a link message from one of the keypad controllers, this step is redundant but has no effect.<\/p>\n<p>The PumpMinCounter is started and NextPumpMin value is set to 1 so that the first check will occur 1 minute after the cycle is started.\u00a0 The final steps in this section establish the reference temperature that will be used to determine that the heating cycle is complete.\u00a0 The temperature in the return water line can vary from quite cool to very hot depending on the time since the cycle was last run and the season of the year.\u00a0 By experiment I found that if the measured temperature is over 100 degrees F, the water temperature in the master bath will be fine.\u00a0 On extremely cold winter days it is possible that the return line temperature may not make it to 100 degrees.\u00a0 To cover that possibility and to minimize unnecessary pump run time, I have the system check for a short term temperature rise of 10 degrees.\u00a0 To calculate this value the system checks the current temperature and stores it in the integer variable named \u201cTemp limit value.\u201d\u00a0 The system then adds 10 degrees to that value and checks to see that the result is not over 100 degrees.\u00a0 If the value is over 100 degrees, the variable is reset to 100.<\/p>\n<p><strong>Section 2<\/strong> does the necessary clean up if the recirculation cycle is stopped manually.\u00a0 The only action required is to stop and reset the PumpMinCount counter.\u00a0 The Link Hot Water deactivate command turns off the UPB Appliance directly.<\/p>\n<p align=\"center\"><img decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3024.jpg\" \/><br \/>\nThe Sure Action drive in-out sensor is interfaced to the UPB system and StarGate<br \/>\nusing an input control module and an output control module. The input control module<br \/>\nconverts the drive in and drive out relay outputs into UPB link commands for use by ECS.<br \/>\nThe output control module converts the related ECS-generated link<br \/>\ncommands into low voltage inputs to Stargate.<\/p>\n<p><strong>Section 3<\/strong> handles the clean up actions if the UPB Appliance device times out and shuts off the pump.\u00a0 If the timeout feature is enabled for a UPB device and a timeout link has been defined the device will transmit that link when timeout occurs.\u00a0 For this application I named the timeout link \u201cLink RPump Auto Off.\u201d\u00a0 When ECS recognizes that link, it stops and resets the PumpMinCount counter, records a message indicating that the pump was stopped by timeout, and sends the Link Hot Water deactivate command so that the indicator lights in the switches will be turned off.<\/p>\n<p>Finally in <strong>Section 4<\/strong> we get to the primary reason for having ECS involved with this function.\u00a0 This section checks the water temperature once each minute and if heating is satisfactory, the pump is shut off.\u00a0 The first step in this section ensures that the check only occurs once in any one minute period.\u00a0 As soon as the PumpMinCount becomes equal to the NextPumpMin value, the next pump value is increased by one setting it up for the next check.\u00a0 Then if the recirculation pump is still on, the current return line water temperature is checked against the limit.\u00a0 If it is higher, the pump is turned off, the PumpMinCount is stopped, and if \u201cLink Hot Water\u201d remains in the activate state, it is set to deactivate.\u00a0 This final step turns off the indicator lights as discussed in section 3.<\/p>\n<p>There are some interesting aspects to this Script.\u00a0 First the recirculation function will work even if ECS is offline at the time.\u00a0 The cycle will be somewhat longer since the temperature check will not occur and the auto timeout feature of the UPB device will ensure that the pump is shut off even if manual shut off does not occur.\u00a0 The indicator lights will not be shut off, so I have to handle that in the ECS startup script.\u00a0 I try to use links in this manner as often as possible to make sure that lighting and equipment control is not lost if the ECS computer has a failure or I have taken ECS is offline for updating or other maintenance action.<\/p>\n<p>ECS monitors all devices and confirms the actual state of the device when needed in a Script.\u00a0 This is a big improvement over X-10.\u00a0 ECS also builds a table of all links and keeps track of the links that have been activated or deactivated.\u00a0 If a link has not been used, then its status is \u201cunknown.\u201d\u00a0 Once it has been used ECS tracks the link state.\u00a0 When using the ECS tracked link state in a Script it is important to consider what will happen if the state is \u201cunknown.\u201d\u00a0 In the last two lines of the Recirculation Pump Script we do want the Link Hot Water deactivate command to be transmitted if the link state is either activate or unknown.\u00a0 That is why the \u201cIs Not\u201d form of the conditional if statement is used.<\/p>\n<p>Once I felt comfortable writing Scripts, I completed the rest of the device installation work, dividing it into groups that would have a common Script.\u00a0 This one-step-at-a-time approach took more time but made troubleshooting easy.\u00a0 It also satisfied my wife\u2019s desire to minimize the time when significant light groups or functions would be unavailable.\u00a0 Interestingly the only problems that occurred during installation were associated with external lighting circuits.\u00a0 In both cases the signal level was significantly lower than anywhere else and the noise level was measurable.\u00a0 The devices worked properly but I suspected that as other devices were installed, these controls might not be reliable.<\/p>\n<p>After swapping devices to confirm device functionality, I took a look at the circuits involved.\u00a0 Both involved significant lengths of buried 110 volt UF wire.\u00a0 One circuit powers florescent bulbs and the other a series of halogen spots.\u00a0 Both circuits are powered through a common circuit breaker; but that breaker powers other external lighting circuits that showed entirely normal indications.\u00a0 That meant the problem was likely downstream of the controllers.\u00a0 Adding a PCS In-Line Choke Filter (ILC) at the output of two controllers cured the problem.<\/p>\n<p align=\"center\"><img decoding=\"async\" title=\"ECS\" alt=\"ECS\" src=\"\/images\/news\/ecs_3009.jpg\" \/><br \/>\n3 input control modules interface discrete digital signals from the security system<br \/>\nand other sensors into UPB link commands for use by ECS.\u00a0 Each ICM has 2 independent channels.<br \/>\nIt is necessary to find an AC power strip with wider than normal spacing between<br \/>\nthe sockets, if ICM devices are to be mounted next to each other<\/p>\n<p>When I got to the master suite lights, implementing the slow fade wake up function was remarkably easy.\u00a0 I created a series of UPB links targeting different lights and with different fade rates.\u00a0 (UPB supports fade rates from less than one second to a full hour and different rates can be set for each link.)<\/p>\n<p>ECS determines when wake up should start based on a daily schedule coded into the Script or a day-at-a-time manual override we can set from any computer, using the ECS Main menu.\u00a0 ECS selects the proper set of UPB links based on how dark it is outside and the proximity to the calculated time for dawn or daylight.\u00a0 This same Script trigger a Stargate input that fades up morning music on our favorite satellite radio channel.\u00a0 The Script also turns on selected main floor and exterior lights after a suitable delay if it is not yet daylight.<\/p>\n<p><strong>Probably the most successful Script is the one that handles the lighting when we return to the house at night<\/strong>.\u00a0 It is a two stage Script that works for whether we are arriving or a guest.\u00a0 The first stage detects directional vehicle motion in the driveway using a Sure Action P8000C magnetic sensor system.\u00a0 An arriving vehicle triggers an interior chime and at night, driveway and parking area lights.\u00a0 A subsequent opening of the front door or the door from the garage to the house turns on more lighting in the respective entry areas.\u00a0 If it is dark, additional interior lighting provides a pathway to the main common area; very nice on a rainy night with an arm load of groceries.<\/p>\n<p>So far my ECS wok has focused on Scripts, but ECS also supports creation of very flexible browser pages that can support a wide variety of graphic input and output functions.\u00a0 These pages have the potential to make system control highly visual.\u00a0 This is an exciting capability AI plan to explore.<br \/>\nCurrently ECS supports a long list of AV and I\/O equipment.\u00a0 <strong>The Omnipotence Software website<\/strong>, <a href=\"http:\/\/omnipotencesoftware.com\/\" target=\"_blank\">www.omnipotencesoftware.com<\/a>, says that they will consider adding support for other new equipment when it is reasonable to do so.\u00a0 This is consistent with my experience and is a strong indication that ECS will be kept up to date as new automation opportunities arise.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Want More?<\/strong>\u00a0&#8211;\u00a0<a href=\"http:\/\/twitter.com\/ottomate\">Follow us<\/a>\u00a0on Twitter,\u00a0<a href=\"http:\/\/www.facebook.com\/AutomatedHomeUK\" target=\"_blank\">Like us<\/a>\u00a0on Facebook, or subscribe to our\u00a0<a href=\"http:\/\/feeds2.feedburner.com\/automatedhome\">RSS feed<\/a>. You can even get these news stories\u00a0<a href=\"http:\/\/feedburner.google.com\/fb\/a\/mailverify?uri=AutomatedHome&amp;loc=en_US\">delivered via email<\/a>, straight to your inbox every day<\/p>\n<p>&nbsp;<\/p>\n<p align=\"center\">Related Articles &#8211; <a href=\"Security\/My-Automated-Home-Soitjes-Soit-s-Digital-Home-Server.html\">My Automated Home : Soitjes Soit&#8217;s Digital Home Server<\/a><\/p>\n<p align=\"center\"><a href=\"Reviews\/My-Automated-Home-Richard-Farthing-s-Green-Open-Source-House.html\">My Automated Home : Richard Farthing&#8217;s Green Open Source House<\/a><\/p>\n<p align=\"center\"><a href=\"Announcements\/My-Automated-Home-Martyn-Wendon-s-Four-Nodes.html\">My Automated Home : Martyn Wendon&#8217;s Four Nodes <\/a><\/p>\n<p align=\"center\"><!--  var prefix = '&#109;a' + 'i&#108;' + '&#116;o';  var path = 'hr' + 'ef' + '=';  var addy96543 = 't&#105;ps' + '&#64;';  addy96543 = addy96543 + '&#97;&#117;t&#111;m&#97;t&#101;dh&#111;m&#101;' + '&#46;' + 'c&#111;' + '&#46;' + '&#117;k';  var addy_text96543 = 'Send us Your &#39;My Automated  Home&#39; Story&nbsp; ';  document.write( '<a ' + path + '\\'' + prefix + ':' + addy96543 + '\\'>' );  document.write( addy_text96543 );  document.write( '<\\\/a>' );  \/\/--><a href=\"Content\/NodeZero-Gallery.html\">More Node Zero Photos<\/a> : <a href=\"mailto:tips@automatedhome.co.uk\">Send us YOUR &#8216;My Automated Home&#8217; Story<\/a> <!--  document.write( '<span style=\\'display: none;\\'>' );  \/\/--> This e-mail address is being protected from spam bots, you need JavaScript enabled to view it<\/p>\n<p align=\"center\">_____________________________________<\/p>\n<p>Delmar Fadden is an avionics and flight deck engineer.\u00a0 He worked on most Boeing commercial airplanes between 1969 and 2000.\u00a0 Since retiring he has been a technical consultant for a number of avionics and airplane companies.\u00a0 His interest in home automation began with design and installation of a low voltage controlled exterior lighting system using diode logic in 1980.\u00a0 He went through basic X-10 and three generations of X-10 controllers until making the switch to UPB and ECS in 2009.\u00a0 His automated home is in the hills east of Seattle, WA.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This months &#8216;My Automated Home&#8217; comes from Delmar Fadden, a man that&#8217;s no stranger to electronics.\u00a0 As a retired avionics and flight deck engineer he&#8217;s&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":"","apple_news_is_paid":"","apple_news_is_preview":"","apple_news_is_sponsored":"","apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":[],"apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-3211","post","type-post","status-publish","format-standard","hentry","category-reviews"],"apple_news_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/posts\/3211"}],"collection":[{"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/comments?post=3211"}],"version-history":[{"count":5,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/posts\/3211\/revisions"}],"predecessor-version":[{"id":12115,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/posts\/3211\/revisions\/12115"}],"wp:attachment":[{"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/media?parent=3211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/categories?post=3211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/automatedhome.com\/wp-json\/wp\/v2\/tags?post=3211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}