| ECS Home Automation and Security Archives |
| Subject: From: Date: | ECS 2.2.39 release notice Mark Gilmore Mon, 21 Apr 2003 10:48:05 -0700 |
Hi everyone, ECS 2.2.39 has been uploaded to http://OmnipotenceSoftware.com/ECS_SETUP.EXE. Update history and install instructions are attached (please read/follow ALL steps). Also attached is main.cfg (if you want to add TV-Listing support, you will need the TVL-related Objects from the released copy). Regards, Mark Gilmore http://OmnipotenceSoftware.com
ECS Update History (in REVERSE chronological order)
***************************************************
2.2.39:********************************************
3/30/03:
1) Killed auto-download of HTTP Objects at startup.
2) Created UPD.BTX (for auto-update procedure on ECS exit) and
added to distribution.
4/4/03:
3) Renamed HTTP.Time/HTTP-IMAGE.Time to HTTP.Time-Stamp/HTTP-IMAGE.Time-Stamp
and added HTTP.Time/HTTP-IMAGE.Time Properties (which reflect local PC time).
This update is NOT handled by REV.EXE.
4/14/03:
4) Renamed all IBRIDGE-related Classes to "StarGate".
5) Added support for various Omni-related Classes:
Omni
Omni-X10-Appliance
Omni-X10-Lamp
Omni-ALC-Dimmer
Omni-Alc-Relay
Omni-Compose-PLC
Omni-Flag
Omni-Counter
Omni-Voltage
Omni-Macro
Omni-Message
Omni-Thermostat
Omni-Zone
Omni-Expansion
4/21/03:
6) Corrected NOAA-Weather bug (introduced in 2.2.38).
7) Added support for TV-Listings (as supported in ECS-Legacy).
All required Objects are in main.cfg.
2.2.38:********************************************
3/15/03:
1) Added support for ALL time-zones.
2) ECS now sets the CLOCK.TIME-ZONE default if it can be determined
from the OS (generally defined by the "TZ" environment variable).
3/17/03:
3) Enhanced login/logout logic, such that if a user logs in with the
same name/password as was used for another current session, then this
older session is logged out (all secondary windows are closed and
home.htm is displayed in the primary window).
3/18/03:
4) Added "PERSISTENT" Property to HTTP/HTTP-IMAGE Classes.
3/19/03:
5) Enhanced NOAA-WEATHER/POINT-SERVER/HTTP/HTTP-IMAGE Classes to download
web-pages via WPDL.EXE (so as to avoid halting ECS while establishing
connections).
In all cases, WPDL.EXE writes to files/logs specifically dedicated to
the calling Object (to avoid file conflicts during concurrent downloads).
HTTP/HTTP-IMAGE Classes use WPDL.EXE only for non-persistent connections.
6) WPDL.EXE arguments have been redefined/enhanced (per #65).
If you are using this pgm, please refer to WPDL manual section.
3/20/03:
7) Enhanced JAVA image-display logic (for speed and greater robustness).
8) Renamed "IMAGE" Property to "IMAGE.File" (so as to be consistent with
other similar Classes).
9) Added RECORD capability to IMAGE/HTTP-IMAGE Classes.
This feature is still in the developmental stages (need feedback).
2.2.37:********************************************
2/27/03:
1) Enhanced JAVA applets to account for slow-load times
(as occurs with SUNs JRE) and avoid false timeouts.
2) Added support for LISTS of IP-masks to PASSWORD.CLIENT-IP Property.
NOTE: Wild-cards are now only for "entire" digits (not for characters).
3) Renamed POINT-SERVER.SERVER-IP to "URL" and eliminated POINT-SERVER.FILE Property.
3/4/03:
4) Enhanced IMAGE Class auto-update procedure.
5) Added new HTTP Class.
6) Added new HTTP-Image Class.
3/8/03:
7) Enhanced INTEGER/FLOAT/TEXT/CHOICE Classes, such that
"Init" Property was made obsolete (now deleted).
8) Deleted "Init" property for COMMAND Class, as I determined that
it wasn't realy needed.
3/9/03:
9) Removed support for "ICON_IMG" Applet Property, as an IMAGE Object
better serves this purpose.
3/12/03:
10) If you click a name field that has an associated icon, the resulting
dropdown will now list only those Objects that may be displayed with
that icon.
11) Restored the hiding of the console/log at startup (as it was a while back).
To view, click the ECS tray icon.
12) Added support for "direct URL login"
(i.e. "http://127.0.0.1:89/home.htm?[name]?[password]" will login).
2.2.36:********************************************
10/05/02:
1) Enhanced the "CHOICE" Class, such that the choices may be defined
in the cfg itself (rather than in a separate file).
The file capability is still supported (for large choice-lists).
2) I added a "SLEEP" Script capability, such that a Script can exit
and resume where it left off on the next execution.
This will come in handy with WHILE loops that take a long time.
02/09/03:
3) Added support for FLUSH Property to SOUND-CARD.CONTROL Property.
2.2.35:********************************************
6/28/02:
1) Corrected a bug related to CALLED Scripts, whereby Property values
were not properly copied to the called Script's context.
This bug was introduced in 2.2.34.
7/3/02:
2) Added support for start_stop.log (logs date/time when ECS starts/stops).
7/8/02:
3) Added CLOCK.UP-HOURS and CLOCK.UP-DAYS Properties.
7/25/02:
4) Added following Properties the the GNUPlot Class:
Background-Color
Border-Color
Axis-Color
Data-1-Color
. . .
Data-10-Color
2.2.34:********************************************
8/22/02:
1) Added "Y" & "X" coordinate Properties to PAGE Class
(so as to support absolute positioning of Applets)
2.2.33:********************************************
4/22/02:
1) Added new Classes HA10-WOW & HA10-WOWTHL
(temp and temp/humidity sensors for use with HA10).
4/23/02:
2) Corrected problem whereby applet dropdowns appear "truncated" under XP.
3) Corrected a bug related to the software authorization procedure,
and updated REV.EXE so to modify PCID.TXT accordingly.
4/25/02:
4) Added DISK Class.
5) Added MOTHERBOARD-MONITOR Class.
NOTE that this Class may be used to estimate room temperature via
the temp sensor on your PC's motherboard (by adding a few degrees).
4/26/02:
6) Added DS18B20 Class.
4/27/02:
7) Added UPDATE.VALUE Property.
8) Changed all "new" link targets to "_blank" (so as to FORCE the
browser to open a new window every time, regardless of cached pages).
4/30/02:
9) Enhanced HA10/WOW/WOWTHL Classes such that all web page values are
retrieved during initial Object construction.
5/5/02:
10) Added NOAA-WEATHER Class.
5/7/02:
11) Corrected bug: If a PASSWORD.PAGE/NEW or PASSWORD.URL/NEW was set
to a Page/URL, it would be opened multiple times if multiple ECS
web-pages were active (each page was receiving and acting upon the
command). The command is now sent only to the 1st web-page.
12) Corrected bug (similar to above): If a PASSWORD.PAGE or PASSWORD.URL
was set to a Page/URL, it would be opened in every ECS web-page
(each page was receiving and acting upon the command).
The command is now sent only to the 1st web-page.
13) Added LOGIN-TIME/LOGOUT-TIME Properties to PASSWORD Class.
14) Enhanced SESSIONS Page to display login/logout times.
15) Resolved issue whereby USER-logins were not able to access custom
web pages (i.e. *.htm/*.html):
USERs may now access all such files, while GUESTs may only access
the standard ECS Pages.
Note that ECS will trigger an error if a web-page references
a Property whose Read-Access is higher than the users
(so we have no security issue here).
5/8/02:
16) Added the following Properties:
TR15.Temp-Low
TR15.Temp-High
TR36.Temp-Low
TR36.Temp-High
DS18B20.Low
DS18B20.High
DS2438.Temp-Low
DS2438.Temp-High
BAR2001S.Temp-Low
BAR2001S.Temp-High
BAR2001S.Low
BAR2001S.High
HMP-2001.Temp-Low
HMP-2001.Temp-High
HMP-2001.Low
HMP-2001.High
WOW.Low
WOW.High
WOWTHL.Humidity-Low
WOWTHL.Humidity-High
WOWTHL.Low
WOWTHL.High
NOAA-Weather.Temp-Low
NOAA-Weather.Temp-High
NOAA-Weather.Humidity-Low
NOAA-Weather.Humidity-High
NOAA-Weather.Pressure-Low
NOAA-Weather.Pressure-High
5/9/02:
17) Renamed UPDATE.UPDATOR to UPDATE.UPDATER (spelling correction).
5/17/02:
18) Added TR36 Schedule-related properties.
19) Began work on TEST.CFG, a cfg intended to test as many Classes/features
as possible (an ongoing effort).
Unlike other cfgs, TEST.CFG is overwritten during an update.
20) Added CLOCK.BEHIND Property.
5/19/02:
21) Modified the SCRIPT Class such that disabled scripts may be executed
by setting SCRIPT.CONTROL to EXECUTE
(convenient for testing Scripts without the need of a separate
"run" Object that would trigger the Script's execution).
5/20/02:
22) Error messages in MAIN.LOG are now prefaced with "ERROR:".
23) Added TR15.READ-FREQUENCY and TR36-READ-FREQUENCY Properties.
24) Restored default display of ECS console window and removed
troublesome Win tray icon.
No more Win-specific GatesWare. GOOD RIDDANCE !.
5/22/02:
25) Enhanced Script parsing logic such that it detects/reports
operators which are invalid for the referenced Property.
For example, this line:
Do Text Multiply 10
Would trigger this error:
{script}: "Multiply" is invalid for Text (script line {n})
26) Corrected bug whereby Object name changes (via editor) were not
properly updated in Script lines where the modified Object was
the SECOND one referenced.
For example: If you renamed Object "X" to "Z", then a line like this:
Do X Add X
would be changed to this (2nd "X" not changed):
Do Z Add X
5/22/02:
27) Added FILE.NEW Property (used to determine if file has been modified).
5/25/02:
28) Fixed SCHEDULE bug whereby "Weekday" conditions could be true on
the weekend.
29) Added logic whereby a session is logged out if 30 elapses without
a connection (such as would occur if the user exited I.E. or
closed all ECS pages).
5/30/02:
30) Enhanced ALIAS Class such that it's PROPERTY Property is modifiable
Thus, Scripts can use an ALIAS Object as an "Object variable" of sorts.
For example:
Do Alias.Property Set Integer-1
Do Script.Control Set Run ; Operate on Integer-1
Do Alias.Property Set Integer-2
Do Script.Control Set Run ; Operate on Integer-2
. . .
6/3/02:
31) Added COUNT/MSECONDS/AVERAGE-MSECONDS Properties to SCRIPT Class.
6/6/02:
32) Removed .CONTROL Property from the following Classes:
CLIENT-SOCKET
SERVER-SOCKET
SERIAL-PORT
HA5.CONTROL
Former .CONTROL functions are now done via writes to .STATUS.
REV.EXE will change all applicable ".CONTROL" refs to ".STATUS".
6/19/02:
33) Fixed a significant BUG:
If an Object was edited/modified,
and a Script referenced different Properties of that Object,
then only the FIRST referenced Property would be re-subscribed to.
Hence, updates to the other Properties would not be detected by
that Script.
2.2.32:********************************************
4/18/01:
1) Added support for 10 data points to GNUPLOT Class (up from previous max of 4).
4/19/02:
2) Added "Minimum-Open-Time" and "Minimum-Close-Time" Properties to
IBRIDGE-RELAY and 8CRXR Classes.
3) Added "NAME:" prompt to login page.
2.2.31:********************************************
4/16/02:
1) Added support for HA10 wireless 1Wire adapter (still under testing/eval).
2.2.30:********************************************
3/01/02
1) INTEGER values may now be set to "Random" to generate a random number.
3/19/02
2) The values for OCELOT.DIGITAL-OUTPUT have been changed from
OPEN/CLOSED to OFF/ON. This change is beyond the ability of REV.EXE,
so editing will be required on any referencing Scripts.
4/3/02
3) Fixed bug related to IMAGE Class.
;REV=2.2.38
Name: StarGate
Class: StarGate
Port: Disconnected
Name: Ocelot
Class: Ocelot
Port: Disconnected
Name: HomeVision
Class: HomeVision
Port: Disconnected
Name: CM11A
Class: CM11A
Port: Disconnected
Name: Guest-Password
Class: Password
Password: Encrypted:020b91d1b75193
Access: Guest
Knowledge-Level: Novice
Client-IP: 127.0.0.1
Name: User-Password
Class: Password
Password: Encrypted:02a2a723eb23
Access: User
Knowledge-Level: Novice
Client-IP: 127.0.0.1
Name: Owner-Password
Class: Password
Password: Encrypted:028ecaaacef2be
Access: Owner
Knowledge-Level: Novice
Client-IP: 127.0.0.1
Default: Yes
Name: Maint-Password
Class: Password
Password: Encrypted:02fc098938db4a
Access: Maint
Client-IP: 127.0.0.1
Name: Message
Class: Message
Name: Errors
Class: Errors
Name: URL
Class: URL
Name: Update
Class: Update
Name: Diag-Level
Class: Diag-Level
Name: Program-Status
Class: Program-Status
Name: Sign-Of-Life
Class: Choice
Description: Becomes TRUE when a "sign of life" is detected
Choices: False,True
: True
Name: Clock
Class: Clock
Time-Zone: Eastern
Latitude: 35
Longitude: 85
Name: 1st Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: 2nd Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: 3rd Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: 4th Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: 5th Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: Last Sunday
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 31
Persistent: No
: 0
Name: X:Weekday
Class: Choice
Choices: Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
Check: Yes
Dynamic: No
Persistent: No
: Sunday
Name: X:Day
Class: Integer
Base: Decimal
Minimum: 1
Maximum: 32
Persistent: No
: 1
Name: Awake
Class: Choice
Choices: False,True
: True
Name: Awake-Time
Class: Choice
Choices: FILE:time_5.chc
: 8:00 AM
Persistent: Yes
Name: Bedtime
Class: Choice
Choices: FILE:time_5.chc
: 11:00 PM
Persistent: Yes
Name: Minute-Timer
Class: Minute-Timer
Name: Second-Timer
Class: Second-Timer
Name: Icon-Click
Class: Icon-Click
Name: Sound-Card
Class: Sound-Card
TTS-Engine: Microsoft Speech Synthesis Engine:Mary
Name: Living Room Light
Class: X10-Lamp
House-Code: L
Unit-Code: 1
Name: Bedroom Light
Class: X10-Lamp
House-Code: L
Unit-Code: 2
Name: Porch Light
Class: X10-Lamp
House-Code: L
Unit-Code: 3
Name: Lamp:L/4
Class: X10-Lamp
House-Code: L
Unit-Code: 4
Name: Lamp:L/5
Class: X10-Lamp
House-Code: L
Unit-Code: 5
Name: Lamp:L/6
Class: X10-Lamp
House-Code: L
Unit-Code: 6
Name: Lamp:L/7
Class: X10-Lamp
House-Code: L
Unit-Code: 7
Name: Lamp:L/8
Class: X10-Lamp
House-Code: L
Unit-Code: 8
Name: Lamp:L/9
Class: X10-Lamp
House-Code: L
Unit-Code: 9
Name: Lamp:L/10
Class: X10-Lamp
House-Code: L
Unit-Code: 10
Name: Lamp:L/11
Class: X10-Lamp
House-Code: L
Unit-Code: 11
Name: Lamp:L/12
Class: X10-Lamp
House-Code: L
Unit-Code: 12
Name: Lamp:L/13
Class: X10-Lamp
House-Code: L
Unit-Code: 13
Name: Lamp:L/14
Class: X10-Lamp
House-Code: L
Unit-Code: 14
Name: Lamp:L/15
Class: X10-Lamp
House-Code: L
Unit-Code: 15
Name: Lamp:L/16
Class: X10-Lamp
House-Code: L
Unit-Code: 16
Name: Coffee Maker
Class: X10-Appliance
House-Code: A
Unit-Code: 1
Name: Fan
Class: X10-Appliance
House-Code: A
Unit-Code: 2
Name: Appliance:A/3
Class: X10-Appliance
House-Code: A
Unit-Code: 3
Name: Appliance:A/4
Class: X10-Appliance
House-Code: A
Unit-Code: 4
Name: Appliance:A/5
Class: X10-Appliance
House-Code: A
Unit-Code: 5
Name: Appliance:A/6
Class: X10-Appliance
House-Code: A
Unit-Code: 6
Name: Appliance:A/7
Class: X10-Appliance
House-Code: A
Unit-Code: 7
Name: Appliance:A/8
Class: X10-Appliance
House-Code: A
Unit-Code: 8
Name: Appliance:A/9
Class: X10-Appliance
House-Code: A
Unit-Code: 9
Name: Appliance:A/10
Class: X10-Appliance
House-Code: A
Unit-Code: 10
Name: Appliance:A/11
Class: X10-Appliance
House-Code: A
Unit-Code: 11
Name: Appliance:A/12
Class: X10-Appliance
House-Code: A
Unit-Code: 12
Name: Appliance:A/13
Class: X10-Appliance
House-Code: A
Unit-Code: 13
Name: Appliance:A/14
Class: X10-Appliance
House-Code: A
Unit-Code: 14
Name: Appliance:A/15
Class: X10-Appliance
House-Code: A
Unit-Code: 15
Name: Appliance:A/16
Class: X10-Appliance
House-Code: A
Unit-Code: 16
Name: TV-Chan
Class: Choice
Description: Note: MUST be named "TV-CHAN" to work with TV-GUIDE.HTM chan-set support
Choices: FILE:tvc.chc
Check: No
Name: CNN
Class: Image
File: .\images\tvc_cnn.jpg
Name: CNBC
Class: Image
File: .\images\tvc_cnbc.jpg
Name: Fox News
Class: Image
File: .\images\tvc_fnc.jpg
Name: MSNBC
Class: Image
File: .\images\tvc_msnbc.jpg
Name: TechTv
Class: Image
File: .\images\tvc_techtv.jpg
Name: A&E
Class: Image
File: .\images\tvc_a&e.jpg
Name: Comedy Central
Class: Image
File: .\images\tvc_comedy.jpg
Name: RCV:Muting
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 243
Frequency: 38
Name: RCV:Vol+
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 157
Frequency: 38
Name: RCV:Vol-
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 158
Frequency: 38
Name: VM:Command
Class: Command
Description: Run's VM.EXE Voice-Mail program (see manual for details)
: START /MIN VM.EXE COM2 5
Name: VM:Socket
Class: Server-Socket
Description: Socket used to communicate with VM.EXE (see manual for details)
Server-IP: 127.0.0.1
Client-IP: 127.0.0.1
Server-Port: 5020
Name: VM:Messages-Timer
Class: Minute-Timer
Maximum: 10
Description: Used in reporting that a phone message(s) has been recorded
Name: VM:Service
Class: Script
Called: No
Control: Disabled
Description: Service VM.EXE program
Begin:
If Program-Status Is Starting
{
Do VM:Command.Control Set Execute
}
Else If Program-Status Is Now Stopping
{
If VM:Socket.Status Is Connected
Then VM:Socket.TX Set "Bye"
Then VM:Socket.Status Set Disconnect
}
Else If Update Is VM:Socket.RX
{
If VM:Socket.RX Is Now "Bye"
Then VM:Socket.Status Set Disconnect
Else If VM:Socket.RX Is Now "Message"
Then VM:Messages-Timer Set VM:Messages-Timer.Maximum
Else
{
Do Text-A Set VM:Socket.RX ; Get data "title" (before ":")
Do Text-A.Substring Set "~{:" ; "
Do Text-B Set VM:Socket.RX ; Get data (following ":")
Do Text-B.Substring Set ":}~" ; "
If Text-A.Substring Is "CID" ; CID ? -> Speak it
Then Sound-Card.Speak Set Text-B.Substring
}
}
; NOTE: This command would tell VM to dial a # and hangup:
; Do VM:Socket.TX Set "ATD123-4567;H"
If VM:Messages-Timer > 0
{
If Sign-Of-Life Is True
Then VM:Messages-Timer Set 0
Then Sound-Card.Speak Set "Messages"
Then Sound-Card.Speak Set "O K"
Else If VM:Messages-Timer Is 1
{
Do VM:Messages-Timer Set VM:Messages-Timer.Maximum
If Awake Is True
Then Sound-Card.Speak Set "Messages"
}
}
Name: Brooklyn Bridge, NY
Class: HTTP-Image
URL: http://newyork.metrocommute.com/cgi-bin/metro/video/MANHATTAN/video1994.jpg
Download-Frequency: 30
Name: Times Square
Class: HTTP-Image
URL: http://images.earthcam.com/licensee/discovery/lindys.jpg
Download-Frequency: 30
Name: Del Mar Beach, CA
Class: HTTP-Image
URL: http://outstream.camzone.com/camzone-ie?delmar
File: delmar.jpg
Download-Frequency: 30
Name: Scripps Pier, CA
Class: HTTP-Image
URL: http://os1.prod.camzone.com/camzone-ie?scripps
File: scripps_pier.jpg
Download-Frequency: 30
Name: Text-A
Class: Text
Description: "Scratch" text
:
Read-Acc: None
Name: Text-B
Class: Text
Description: "Scratch" text
:
Read-Acc: None
Name: Index
Class: Integer
Base: Decimal
Minimum: -10000
Maximum: 10000
Persistent: No
: 1
Name: Main
Class: Page
Default: Yes
Property: TV-Chan
Applet: tvc.app
Property: CNN.File
Applet: icon.app
Height: 35
Property: CNBC.File
Applet: icon.app
Height: 35
Property: Fox News.File
Applet: icon.app
Height: 35
Property: MSNBC.File
Applet: icon.app
Height: 35
Property: TechTv.File
Applet: icon.app
Height: 35
Property: Comedy Central.File
Applet: icon.app
Height: 35
Property: A&E.File
Applet: icon.app
Height: 35
Property: None
Applet: line_break.app
Property: RCV:Muting
Property: RCV:Vol-
Property: RCV:Vol+
Property: None
Applet: line_break.app
Property: Living Room Light
Width: 144
Property: Bedroom Light
Width: 130
Property: Porch Light
Width: 110
Property: Coffee Maker
Width: 124
Property: Fan
Width: 80
Property: None
Applet: line_break.app
Property: Clock.Weekday/Time
Width: 150
Property: Minute-Timer
Width: 120
Property: Awake-Time
Width: 110
Applet: clock.app
Property: Bedtime
Width: 110
Applet: clock.app
Property: None
Applet: line_break.app
Property: Times Square.Time-Stamp
Height: 110
Property: Scripps Pier, CA.Time
Height: 110
Name: System
Class: Page
Property: Sound-Card.Status
Property: Sound-Card.Play
Property: Sound-Card.Speak
Property: Sound-Card.Record
Property: Sound-Card.Volume
Property: Sound-Card.Control
Property: None
Applet: line_break.app
Property: StarGate.Status
Property: Ocelot.Status
Property: HomeVision.Status
Property: CM11A.Status
Property: None
Applet: line_break.app
Property: Sign-Of-Life
Property: VM:Socket.Status
Property: Diag-Level
Name: Time
Class: Page
Property: Clock.Year
Width: 100
Property: Clock.Month
Width: 100
Property: Clock.Date
Width: 100
Property: Clock.Day
Width: 100
Property: Clock.Weekday
Property: Clock.Weekday/Time
Property: Clock.Weekday/MTime
Property: Clock.Time
Property: Clock.Hour
Property: Clock.Minute
Property: Clock.Second
Property: Clock.MTime
Property: Clock.Sunrise
Property: Clock.Sunset
Property: Clock.Daylight-Savings
Property: Clock.Behind
Property: 1st Sunday
Property: 2nd Sunday
Property: 3rd Sunday
Property: 4th Sunday
Property: 5th Sunday
Property: Last Sunday
Property: Minute-Timer
Width: 140
Property: Second-Timer
Width: 140
Property: Awake-Time
Property: Bedtime
Name: Lamps
Class: Page
Property: Living Room Light
Property: Bedroom Light
Property: Porch Light
Property: Lamp:L/4
Property: Lamp:L/5
Property: Lamp:L/6
Property: Lamp:L/7
Property: Lamp:L/8
Property: Lamp:L/9
Property: Lamp:L/10
Property: Lamp:L/11
Property: Lamp:L/12
Property: Lamp:L/13
Property: Lamp:L/14
Property: Lamp:L/15
Property: Lamp:L/16
Name: Appliances
Class: Page
Property: Coffee Maker
Property: Fan
Property: Appliance:A/3
Property: Appliance:A/4
Property: Appliance:A/5
Property: Appliance:A/6
Property: Appliance:A/7
Property: Appliance:A/8
Property: Appliance:A/9
Property: Appliance:A/10
Property: Appliance:A/11
Property: Appliance:A/12
Property: Appliance:A/13
Property: Appliance:A/14
Property: Appliance:A/15
Property: Appliance:A/16
Name: NetCams
Class: Page
Property: Brooklyn Bridge, NY.Time
Width: 300
Property: Times Square.Time
Width: 300
Property: Del Mar Beach, CA.Time
Width: 300
Property: Scripps Pier, CA.Time
Width: 300
Name: Lamp Schedule
Class: Schedule
Control: Disabled
Property: Porch Light
Time: 8:00 PM
Val: On
Property: Porch Light
Time: 11:00 PM
Val: Off
Name: Appliance Schedule
Class: Schedule
Control: Disabled
Property: Coffee Maker
Time: 7:00 AM
Val: On
Property: Coffee Maker
Time: 7:30 AM
Val: Off
Name: Startup
Class: Script
Description: Startup
Control: Enabled
Called: No
Begin:
If Program-Status Is Starting
{
If Sound-Card.TTS-Engine Is Not None
Then Sound-Card.Speak Set "Hello. Welcome to E C S"
}
If Program-Status Is Stopping
{
If Sound-Card.TTS-Engine Is Not None
Then Sound-Card.Speak Set "Goodbye"
Then Sound-Card.Control Set Flush
}
Name: Sundays
Class: Script
Description: Calc 1st/2nd/3rd/4th/5th Sundays of this month
Control: Enabled
Called: No
Begin:
;************************************************
; Determine the dates for this month's Sundays
;------------------------------------------------
Do X:Weekday Set Clock.Weekday
Do X:Day Set Clock.Day
While X:Day > 1 ; Find weekday of the 1st
{
If X:Weekday Is Sunday
Then X:Weekday Set Saturday
Else X:Weekday Subtract 1
Do X:Day Subtract 1
}
Do 1st Sunday Set 0
Do 2nd Sunday Set 0
Do 3rd Sunday Set 0
Do 4th Sunday Set 0
Do 5th Sunday Set 0
While X:Day <= 31 ; walk thru each day, assigning Sunday dates
{
If X:Weekday Is Sunday
{
If 1st Sunday Is 0
Then 1st Sunday Set X:Day
Else If 2nd Sunday Is 0
Then 2nd Sunday Set X:Day
Else If 3rd Sunday Is 0
Then 3rd Sunday Set X:Day
Else If 4th Sunday Is 0
Then 4th Sunday Set X:Day
Else If 5th Sunday Is 0
Then 5th Sunday Set X:Day
}
If X:Weekday Is Saturday
Then X:Weekday Set Sunday
Else X:Weekday Add 1
Do X:Day Add 1
}
If 5th Sunday > 0
Then Last Sunday Set 5th Sunday
Else Last Sunday Set 4th Sunday
Name: Sign-Of-Life:Monitor
Class: Script
Description: Set Sign-Of-Life when any user activity is detected
Called: No
Description:
Begin:
If Update Is Icon-Click
Or Update Is StarGate.X10-Rx
Or Update Is Ocelot.X10-Rx
Or Update Is HomeVision.X10-Rx
Or Update Is CM11A.X10-Rx
Then Sign-Of-Life Set True
Else If Update Is Clock.Second
Then Sign-Of-Life Set False
Name: Timers/etc
Class: Script
Description: Time-related stuff
Control: Enabled
Called: No
Begin:
If Bedtime >= Awake-Time
{
If Clock.Time >= Awake-Time
And Clock.Time < Bedtime
Then Awake Set True
Else Awake Set False
}
Else If Bedtime < Awake-Time
{
If Clock.Time >= Bedtime
And Clock.Time < Awake-Time
Then Awake Set False
Else Awake Set True
}
If Minute-Timer Is Now 0
Then Sound-Card.Speak Set "Timer expired"
If Second-Timer Is Now 0
Then Sound-Card.Speak Set "Timer expired"
Name: Inside Lights
Class: Script
Description: Lamps script
Control: Disabled
Called: No
Begin:
If Clock.Time Is Now Awake-Time
Then Bedroom Light Set On
If Clock.Time Is Now Bedtime
Then Bedroom Light Set Off
Name: Outside Lights
Class: Script
Description: Lamps script
Control: Disabled
Called: No
Begin:
If Clock.Time Is Now Clock.Sunset
Then Porch Light Set On
If Clock.Time Is Now Clock.Sunrise
Then Porch Light Set Off
Name: TV-Chans
Class: Script
Begin:
If Icon-Click Is Now CNN.File
Then TV-Chan Set 202 CNN
If Icon-Click Is Now CNBC.File
Then TV-Chan Set 355 CNBC
If Icon-Click Is Now MSNBC.File
Then TV-Chan Set 356 MSNBC
If Icon-Click Is Now Fox News.File
Then TV-Chan Set 360 FNC
If Icon-Click Is Now TechTv.File
Then TV-Chan Set 354 TechTv
If Icon-Click Is Now A&E.File
Then TV-Chan Set 265 A&E
If Icon-Click Is Now Comedy Central.File
Then TV-Chan Set 249 COMEDY
Name: TVL_BAT-Enabled
Class: Choice
Choices: False,True
Check: Yes
Dynamic: No
Persistent: Yes
: False
Name: TVL_BAT
Class: Command
Description: Runs TVL.BAT to download listings
: START tvl.bat [your gist account email] [your gist password]
Name: TVL-Code
Class: Character
Persistent: No
: <NUL>
Name: TVL-Minutes
Class: Integer
Base: Decimal
Minimum: 0
Maximum: 500
Persistent: No
: 0
Name: TVL-Chan
Class: Text
Persistent: No
: Unknown
Name: TVL-Show
Class: Text
Persistent: No
: Unknown
Name: TVL-Record-Timer
Class: Second-Timer
Maximum: 65535
Name: TVL3
Class: Command
Description: Runs TVL3 (extract current favorites from TV-Listings)
: tvl3 tvlfav.txt 0 +1 tvl.txt tvl3.tmp
Name: TVL3_TMP
Class: File
Description: Holds favorites generated by TVL3
File: TVL3.TMP
Format: Text
Maximum-Count: None
Name: TVL4
Class: Command
Description: Will hold command to run TVL4 to generate TV-Listings.HTM (arguments vary
per start time)
Name: TVL
Class: Script
Control: Enabled
Called: No
Begin:
;************************************************
; Download listings when set enabled and Sunday at 2AM (if enabled)
;------------------------------------------------
If TVL_BAT-Enabled Is Now True
Or TVL_BAT-Enabled Is True
And Clock.Weekday Is Sunday
And Clock.Time Is 2:00 AM
Then TVL_BAT.Control Set Execute
;************************************************
; Stop recording when applicable
;------------------------------------------------
If TVL-Record-Timer Is Now 0
Then VCR:Stop Set Send
;************************************************
; Generate TV-Listings.HTM when requested
;------------------------------------------------
If Update Is URL
{
If URL Is "TV-Listings.HTM" ; default start time (now) ?
Then TVL4 Set "START /MIN /w TVL4 now 720 TV-Listings.HTM"
Then TVL4.Control Set Execute
Else
{
Do Text-A Set URL
Do Text-A.Substring Set "TV-Listings.HTM?}~"
If Text-A.Substring Is Not "" ; specific start-time ?
Then TVL4 Set "START /MIN /w tvl4 ""
Then TVL4 Add Text-A.Substring
Then TVL4 Add "" 720 TV-Listings.HTM"
Then TVL4.Control Set Execute
}
}
;************************************************
; Gen fav list every 5 mins:
;------------------------------------------------
If Clock.Minute Is Now 4
Or Clock.Minute Is Now 9
Or Clock.Minute Is Now 14
Or Clock.Minute Is Now 19
Or Clock.Minute Is Now 24
Or Clock.Minute Is Now 29
Or Clock.Minute Is Now 34
Or Clock.Minute Is Now 39
Or Clock.Minute Is Now 44
Or Clock.Minute Is Now 49
Or Clock.Minute Is Now 54
Or Clock.Minute Is Now 59
{
Do TVL3_TMP.Control Set Delete
Do TVL3.Control Set Execute
;************************************************
; Process favs
;------------------------------------------------
Do TVL3_TMP.Read Set Next
While TVL3_TMP.Read Is Not None
And TVL3_TMP.Read Is Not EOF
And TVL3_TMP.Read Is Not ERROR
{
Do Text-A Set TVL3_TMP.Read
;************************************************
; Parse code/show/chan/etc
;------------------------------------------------
; Clear all
;-------------------------------------------------
Do TVL-Code Set <NUL>
Do TVL-Minutes Set 0
Do TVL-Chan Set ""
Do TVL-Show Set ""
;------------------------------------------------
; Parse TVL record
;------------------------------------------------
Do Text-A.Index Set 0
If Text-A.Index Is None
Then Return
Do TVL-Code Set Text-A.Index
; Show length (in minutes):
Do Text-A.Substring Set 25:28
Do TVL-Minutes Set Text-A.Substring
; Chan#:
Do Index Set 29
While Index < 35
{
Do Text-A.Index Set Index
If Text-A.Index Is <Space>
Then Break
Do TVL-Chan Add Text-A.Index
Do Index Add 1
}
; Show name:
Do Text-A.Substring Set 47
Do TVL-Show Set Text-A.Substring
;------------------------------------------------
If TVL-Code Is a
Or TVL-Code Is A
Or TVL-Code Is v
Or TVL-Code Is V
Or TVL-Code Is r
Or TVL-Code Is R
{
If Awake Is True
Then Sound-Card.Speak Set TVL-Show
Then Sound-Card.Speak Set TVL-Show
If TVL-Code Is v
Or TVL-Code Is V
{
Do Sound-Card.Speak Set "Viewing"
Do TV-Chan Set TVL-Chan
}
Else If TVL-Code Is r
Or TVL-Code Is R
{
Do Sound-Card.Speak Set "Recording"
Do TV-Chan Set TVL-Chan
If TVL-Code Is r
Or TVL-Code Is R
{
Do VCR:Stop Set Send
Do VCR:Rec Set Send
Do TVL-Record-Timer Set TVL-Minutes
}
}
}
Do TVL3_TMP.Read Set Next
}
}
Name: DTV:Select
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 223
Frequency: 38
Name: DTV:0
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 230
Frequency: 38
Name: DTV:1
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 231
Frequency: 38
Name: DTV:2
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 232
Frequency: 38
Name: DTV:3
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 233
Frequency: 38
Name: DTV:4
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 234
Frequency: 38
Name: DTV:5
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 235
Frequency: 38
Name: DTV:6
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 236
Frequency: 38
Name: DTV:7
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 237
Frequency: 38
Name: DTV:8
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 238
Frequency: 38
Name: DTV:9
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 239
Frequency: 38
Name: VCR:Stop
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 10
Frequency: 38
Name: VCR:Rec
Class: Ocelot-IR-Signal
Unit: Main
Zone: Broadcast
Signal: 190
Frequency: 38
Name: TV-Chan:Set
Class: Script
Control: Enabled
Called: No
Begin:
If Update Is Not TV-Chan
Then Return
If TV-Chan Is Unknown
Then Return
Do Text-A Set TV-Chan
Do Index Set 0
Do Text-A.Index Set Index
While Text-A.Index >= 0
And Text-A.Index <= 9
{
If Text-A.Index Is 0
Then DTV:0 Set Send
Else If Text-A.Index Is 1
Then DTV:1 Set Send
Else If Text-A.Index Is 2
Then DTV:2 Set Send
Else If Text-A.Index Is 3
Then DTV:3 Set Send
Else If Text-A.Index Is 4
Then DTV:4 Set Send
Else If Text-A.Index Is 5
Then DTV:5 Set Send
Else If Text-A.Index Is 6
Then DTV:6 Set Send
Else If Text-A.Index Is 7
Then DTV:7 Set Send
Else If Text-A.Index Is 8
Then DTV:8 Set Send
Else If Text-A.Index Is 9
Then DTV:9 Set Send
Do Index Add 1
Do Text-A.Index Set Index
}
Do DTV:Select Set Send
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.474 / Virus Database: 272 - Release Date: 4/18/2003 subject (prev) or (next) | time (prev) or (next) | author (prev) or (next) | view more subjects Services provided by [NetBloc]®! NetBloc Solutions Inc. Terms of use. Indexing software (c) 1999 Lin-De, Inc . |