| ECS-L Home Automation and Security Archives |
| Subject: From: Date: | RE: [ECS] ECS 4.2 release & upgrade instructions Rob Hicks Sun, 7 Nov 1999 09:02:41 -0700 |
Hi Mark. I hope you won't mind me writing to you directly. If you would rather I didn 't please let me know. I'd be happy to post this to list server. I bought ECS about two weeks ago. Since then, I've installed it with a JDS Time Commander Plus (TC). My TC configuration includes the base I/O unit and two additional I/O units. I have extensive zoning in my house (every room). I bought three microprocessor controlled furnaces and the TC to control the zones (as well as other things, lighting, security, etc.). Each room has a motion detector (to determine of someone is there) and a temperature sensor (analog 0-5v). I 've hooked the motion detectors into the digital ports of the TC. The temperature sensors are attached to the analog ports. Because motion detectors by themselves are not very useful to determine if someone is in a room, I use the motion detectors to set flags when someone's in the room. During the day, a motion detector has to be tripped every 10 minutes in order to keep the flag true. At night, in bedrooms, it is set at 1 ? hours. I originally programmed the TC with various temperature control scenarios. I 've tried to do the same with ECS. Anyway, I've had fits with the TC. It keeps freezing. When it's running, I can save about 50% on the heating and air conditioning bills, not an insignificant amount given the size of my house. Sometimes, the TC will run for weeks without problems and them it hangs. I've looked at everything from power spikes (on the high and low power sides) to repeatable patterns. As you might imagine, I have been talking to JDS Technologies until I'm blue in the face. They say that the unit freezes because my program is too elaborate. They say their device was never designed to support as many devices as I have hooked to it and that no one has ever tried to do what I' ve tried to do. Admittedly, my original programs used nested if, then, else statements that were fairly compact but chewed up a lot of processing time. Now, however, it consists of a lot of very small if, then, else statements, and chews up about 50% of the memory of the TC. Anyway, I bought ECS with the hope that it would interface with the TC and provide me with the control I was looking for. I have noted that the TC will run forever without freezing with very simple programs. When I wrote the ECS events/items, I tried to keep things simple, but wasn't completely satisfied with the result. I had hoped that ECS would offer me the ability to write one control routine for HVAC and then supply it with the variables for each of the rooms. Maybe it does, but I couldn't understand how to do it. I ended up writing two events for every room, which depend on a couple of other events. Note that the furnace (heat), air conditioning and dampers are controlled through relays: ;---------------------------------------------------------------- ; Sets a high level flag to True or False based upon Wake up ; Time and Sleep Time. Used in regulation of HVAC and lights ;---------------------------------------------------------------- If Time Is GE Wake Up Time And Time Is LE Sleep Time Then Awake Time Set True Else Awake Time Set False ;---------------------------------------------------------------- ; Turns on the basement furnace if heat is required, and ; the AC if AC is required ; Used in regulation of HVAC. ;---------------------------------------------------------------- If Guest HVAC Is Closed Or Candace HVAC Is Closed Or Brandon HVAC Is Closed Or Exercise HVAC Is Closed Or Basement HVAC Is Closed And Heating Season Is True Then Furnace #1 Set Closed Else Furnace #1 Set Open If Guest HVAC Is Closed Or Candace HVAC Is Closed Or Brandon HVAC Is Closed Or Exercise HVAC Is Closed Or Basement HVAC Is Closed And AC Season Is True Then AC #1 Set Closed Else AC #1 Set Open ;---------------------------------------------------------------- ; Uses motion detector to determine if someone is in the room ; based upon whether it is daytime or nightime. ; Used in regulation of HVAC and room lights ;---------------------------------------------------------------- If Awake Time Is True And Guest MD Is High Then Guest There Flag Set True Then Guest There Timer Set 10 Else If Awake Time Is False And Guest MD Is High Then Guest There Flag Set True Then Guest There Timer Set 90 If Guest There Timer Is 0 Then Guest There Flag Set False ;---------------------------------------------------------------- ; Uses various flags and temps to set Heating or AC ; Used in regulation of HVAC. ;---------------------------------------------------------------- ; Daytime, Present, Heating Season ; So set at the Global Desired Temp If Awake Time Is True And Guest There Flag Is True And Heating Season Is True Then Guest Desired Temp Set Global Desired Temp ; Nightime, present, heating season ; So decrease Global Desired Temp by Global Night Offset If Awake Time Is False And Guest There Flag Is True And Heating Season Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Subtract Global Night Offset ; Daytime, Absent, heating season ; So decrease Global Desired Temp by Global Absnc Offset If Awake Time Is True And Heating Season Is True And Guest There Flag Is False Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Subtract Global Absnc Offset ; Nightime, absent, heating season ; So decrease Global Desired Temp by Global Night Offset and ; Global Absnc Offset If Awake Time Is False And Guest There Flag Is False And Heating Season Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Subtract Global Night Offset Then Guest Desired Temp Subtract Global Absnc Offset ; Daytime, Present, AC Season ; So set Guest Desired Temp at Global Desired Temp If Awake Time Is True And AC Season Is True And Guest There Flag Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Add AC Temp Upshift ; Daytime, Absent, AC Season If Awake Time Is True If Guest There Flag Is False If AC Season Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Add AC Temp Upshift Then Guest Desired Temp Add Global Absnc Offset ; Nightime, Present, AC Season If Awake Time Is False And Guest There Flag Is True And AC Season Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Add Global Night Offset ; Nightime, Absent, AC Season If Awake Time Is False And Guest There Flag Is False And AC Season Is True Then Guest Desired Temp Set Global Desired Temp Then Guest Desired Temp Add AC Temp Upshift Then Guest Desired Temp Add Global Night Offset Then Guest Desired Temp Add Global Absnc Offset ; Open HVAC Damper if desired temp different than actual temp If Heating Season Is True And Guest TS Is LT Guest Desired Temp Then Guest HVAC Set Closed ; Open HVAC Damper if desired temp different than actual temp If AC Season Is True And Guest TS Is GT Guest Desired Temp Then Guest HVAC Set Closed ; Close HVAC Damper if desired temp comes back up If Heating Season Is True And Guest TS Is GT Guest Desired Temp Then Guest HVAC Set Open ; Close HVAC Damper if desired temp comes back up If AC Season Is True And Guest TS Is LT Guest Desired Temp Then Guest HVAC Set Open When I finished writing routines for all the rooms, I ended up with an ECS configuration that is big. I ran it and it ran fine, although ECS quickly got behind by about 1400 seconds. And, the TC would only run it for about 30 minutes before freezing. Do you have any suggestions? I've been considering throwing the TC away and starting over but can't really afford to do that right now. Regards, Rob Hicks
Hi Mark.
I hope you
won’t mind me writing to you directly. If you would rather I didn’t please let
me know. I’d be happy to post this to list server.
I bought
ECS about two weeks ago. Since then, I’ve installed it with a JDS Time
Commander Plus (TC). My TC configuration includes the base I/O unit and two additional
I/O units.
I have
extensive zoning in my house (every room). I bought three microprocessor
controlled furnaces and the TC to control the zones (as well as other things,
lighting, security, etc.). Each room has a motion detector (to determine of
someone is there) and a temperature sensor (analog 0-5v). I’ve hooked the
motion detectors into the digital ports of the TC. The temperature sensors are
attached to the analog ports.
Because
motion detectors by themselves are not very useful to determine if someone is
in a room, I use the motion detectors to set flags when someone’s in the room.
During the day, a motion detector has to be tripped every 10 minutes in order
to keep the flag true. At night, in bedrooms, it is set at 1 ½ hours.
I
originally programmed the TC with various temperature control scenarios. I’ve
tried to do the same with ECS. Anyway, I’ve had fits with the TC. It keeps
freezing. When it’s running, I can save about 50% on the heating and air
conditioning bills, not an insignificant amount given the size of my house. Sometimes,
the TC will run for weeks without problems and them it hangs. I’ve looked at
everything from power spikes (on the high and low power sides) to repeatable
patterns.
As you
might imagine, I have been talking to JDS Technologies until I’m blue in the
face. They say that the unit freezes because my program is too elaborate. They
say their device was never designed to support as many devices as I have hooked
to it and that no one has ever tried to do what I’ve tried to do. Admittedly, my
original programs used nested if, then, else statements that were fairly
compact but chewed up a lot of processing time. Now, however, it consists of a
lot of very small if, then, else statements, and chews up about 50% of the
memory of the TC.
Anyway, I
bought ECS with the hope that it would interface with the TC and provide me
with the control I was looking for. I have noted that the TC will run forever
without freezing with very simple programs. When I wrote the ECS events/items,
I tried to keep things simple, but wasn’t completely satisfied with the result.
I had hoped that ECS would offer me the ability to write one control routine
for HVAC and then supply it with the variables for each of the rooms. Maybe it
does, but I couldn’t understand how to do it. I ended up writing two events for
every room, which depend on a couple of other events. Note that the furnace (heat),
air conditioning and dampers are controlled through relays:
;----------------------------------------------------------------
; Sets a high level flag to True or False based upon
Wake up
; Time and Sleep Time. Used in regulation of HVAC
and lights
;----------------------------------------------------------------
If Time
Is GE
Wake Up Time
And Time
Is LE
Sleep Time
Then Awake Time
Set
True
Else Awake Time
Set False
;----------------------------------------------------------------
; Turns on the basement furnace if heat is required,
and
; the AC if AC is required
; Used in regulation of HVAC.
;----------------------------------------------------------------
If
Guest HVAC
Is
Closed
Or Candace HVAC
Is
Closed
Or Brandon HVAC
Is
Closed
Or Exercise HVAC
Is
Closed
Or Basement HVAC
Is
Closed
And Heating Season Is
True
Then Furnace #1
Set Closed
Else Furnace #1
Set Open
If Guest HVAC
Is
Closed
Or Candace HVAC
Is
Closed
Or Brandon HVAC
Is Closed
Or Exercise HVAC
Is
Closed
Or Basement HVAC
Is
Closed
And AC Season
Is
True
Then AC #1 Set
Closed
Else AC #1
Set Open
;----------------------------------------------------------------
; Uses motion detector to determine if someone is in
the room
; based upon whether it is daytime or nightime.
; Used in regulation of HVAC and room lights
;----------------------------------------------------------------
If Awake Time
Is True
And Guest MD
Is
High
Then Guest There Flag Set
True
Then Guest There Timer Set 10
Else If Awake Time
Is False
And Guest MD
Is
High
Then Guest There Flag Set
True
Then Guest There Timer Set 90
If Guest There
Timer Is
0
Then Guest There Flag Set
False
;----------------------------------------------------------------
; Uses various flags and temps to set Heating or AC
; Used in regulation of HVAC.
;----------------------------------------------------------------
; Daytime, Present, Heating Season
; So set at the Global Desired Temp
If Awake Time
Is
True
And Guest There Flag Is
True
And Heating Season Is
True
Then Guest Desired Temp Set Global Desired Temp
; Nightime, present, heating season
; So decrease Global Desired Temp by Global Night
Offset
If Awake Time
Is
False
And Guest There Flag Is
True
And Heating Season Is
True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Subtract Global Night Offset
; Daytime, Absent, heating season
; So decrease Global Desired Temp by Global Absnc
Offset
If Awake Time
Is
True
And Heating Season Is True
And Guest There Flag Is
False
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Subtract Global Absnc Offset
; Nightime, absent, heating season
; So decrease Global Desired Temp by Global Night
Offset and
; Global Absnc Offset
If Awake Time
Is
False
And Guest There Flag Is
False
And Heating Season Is
True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Subtract Global Night Offset
Then Guest Desired Temp Subtract Global Absnc Offset
; Daytime, Present, AC Season
; So set Guest Desired Temp at Global Desired Temp
If Awake Time
Is
True
And AC Season
Is
True
And Guest There Flag Is
True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Add AC Temp Upshift
; Daytime, Absent, AC Season
If Awake Time
Is
True
If Guest There
Flag Is
False
If AC Season
Is
True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Add AC Temp Upshift
Then Guest Desired Temp Add Global Absnc Offset
; Nightime, Present, AC Season
If Awake Time
Is
False
And Guest There Flag Is
True
And AC Season
Is True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Add Global Night Offset
; Nightime, Absent, AC Season
If Awake Time
Is
False
And Guest There Flag Is
False
And AC Season
Is
True
Then Guest Desired Temp Set Global Desired Temp
Then Guest Desired Temp Add AC Temp Upshift
Then Guest Desired Temp Add Global Night Offset
Then Guest Desired Temp Add Global Absnc Offset
; Open HVAC Damper if desired temp different than
actual temp
If Heating
Season
Is
True
And Guest TS
Is LT
Guest Desired Temp
Then Guest HVAC
Set
Closed
; Open HVAC Damper if desired temp different than
actual temp
If AC Season
Is
True
And Guest TS
Is GT
Guest Desired Temp
Then Guest HVAC Set
Closed
; Close HVAC Damper if desired temp comes back up
If Heating
Season
Is
True
And Guest TS
Is GT
Guest Desired Temp
Then Guest HVAC
Set
Open
; Close HVAC Damper if desired temp comes back up
If AC Season
Is
True
And Guest TS
Is LT
Guest Desired Temp
Then Guest HVAC
Set
Open
When I
finished writing routines for all the rooms, I ended up with an ECS configuration
that is big. I ran it and it ran fine, although ECS quickly got behind by about
1400 seconds. And, the TC would only run it for about 30 minutes before
freezing. Do you have any suggestions? I’ve been considering throwing the TC
away and starting over but can’t really afford to do that right now.
Regards,
Rob Hicks