| ECS Home Automation and Security Archives |
| Subject: From: Date: | main.cfg Mark Gilmore Mon, 05 May 2003 15:30:15 -0700 |
Attached main.cfg has updated TVL-related Objects. These will need to be copied into your cfg if you are using TVL. Mark Gilmore http://OmnipotenceSoftware.com
;REV=2.2.41
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: Messages
Class: Messages
Name: Messages-Notify-Timer
Class: Minute-Timer
Maximum: 10
Name: New_Messages_Txt
Class: File
Description: Text file to hold reminders
File: New_Messages.txt
Format: Text
Maximum-Count: None
Name: Log New Message
Class: Script
Description: Speak message (Text-A) and append message to messages.log and New_Messages.txt
(to be spoken later)
Control: Enabled
Called: Yes
Begin:
If Awake Is True ; awake ?
Then Sound-Card.Speak Set Text-A ; speak it
Else Message Set Text-A ; just display it
Do New_Messages_Txt.Write Set Text-A ; append to reminders file
Do Messages Set Text-A ; append to messages.log
Do Messages-Notify-Timer Set Messages-Notify-Timer.Maximum ; set notify-timer
Name: Messages-Notify
Class: Script
Description:
Control: Enabled
Called: No
Begin:
If Messages-Notify-Timer Is 0 ; no new/unacknowledged messages ?
Then Return
If Sign-Of-Life Is Now True ; home now ?
{
Do Sound-Card.Speak Set "Messages" ; speak "Messages"
Do Sound-Card.Speak Set "O K" ; speak "OK" (done with notification)
Do Messages-Notify-Timer Set 0 ; don't notify anymore
Do New_Messages_Txt.Read Set Next
If New_Messages_Txt.Read Is Not None ; any reminders ?
{
Do New_Messages_Txt.Control Set Rewind
Do Text-A Set "@" ; preface file name with "@" (to speak/display file)
Do Text-A Add New_Messages_Txt.File
If Awake Is True
Or Sign-Of-Life Is Now True ; home now ?
Then Sound-Card.Speak Set Text-A ; speak each
Else Message Set Text-A ; display each
Do New_Messages_Txt.Control Set Delete
}
}
Else If Messages-Notify-Timer Is 1 ; time to notify ?
{
If Awake Is True
Then Sound-Card.Speak Set "Messages" ; speak "Messages" (notify)
Else Message Set "Messages" ; display "Messages"
Do Messages-Notify-Timer Set Messages-Notify-Timer.Maximum ; reset for next notify
}
Name: Errors
Class: Errors
Name: ISP
Class: ISP
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: Property-Name-Click
Class: Property-Name-Click
Name: Property-Value-Click
Class: Property-Value-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: 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
Read-Acc: None
Name: Index-2
Class: Integer
Base: Decimal
Minimum: -10000
Maximum: 10000
Persistent: No
: 1
Read-Acc: None
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.Status
Height: 110
Property: Scripps Pier, CA.Status
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: ISP
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.Status
Width: 300
Property: Times Square.Status
Width: 300
Property: Del Mar Beach, CA.Status
Width: 300
Property: Scripps Pier, CA.Status
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"
Do New_Messages_Txt.Control Set Delete
}
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 Property-Name-Click
Or Update Is Property-Value-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: NOAAC
Class: NOAA-Current
Town: Nashville
URL: http://iwin.nws.noaa.gov/iwin/tn/hourly.html
Download-Frequency: 1
Name: NOAAF
Class: NOAA-Forecast
Town: Nashville
URL: http://iwin.nws.noaa.gov/iwin/tn/state.html
Download-Frequency: 24
Name: Weather Announce
Class: Script
Description: Announce weather info when downloaded
Control: Enabled
Called: No
Begin:
If Program-Status Is Starting
Or Clock.Time Is Now 12:00 PM
{
If NOAAC.Status Is Not None
And NOAAC.Status Is Not Error
Then Sound-Card.Speak Set NOAAC.Town
Then Sound-Card.Speak Set "Temperature "
Then Sound-Card.Speak Set NOAAC.Temp
Then Sound-Card.Speak Set "Humidity "
Then Sound-Card.Speak Set NOAAC.Humidity
Then Sound-Card.Speak Set "Wind "
Then Sound-Card.Speak Set NOAAC.Wind
Then Sound-Card.Speak Set NOAAC.Pressure
Then Sound-Card.Speak Set NOAAC.Remarks
If NOAAF.Status Is Not None
And NOAAF.Status Is Not Error
Then Sound-Card.Speak Set NOAAF.1
Then Sound-Card.Speak Set NOAAF.2
Then Sound-Card.Speak Set NOAAF.3
;Then Sound-Card.Speak Set NOAAF.4
;Then Sound-Card.Speak Set NOAAF.5
;Then Sound-Card.Speak Set NOAAF.6
;Then Sound-Card.Speak Set NOAAF.7
;Then Sound-Card.Speak Set NOAAF.8
;Then Sound-Card.Speak Set NOAAF.9
}
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 uername] [your password]
Name: TVL-Command
Description: Used by TVL.HTM to add shows to favorites and delete unwanteds
Class: Command
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-Description
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 TVL.HTM (arguments vary per
start time)
Name: TVL
Class: Script
Control: Enabled
Called: No
Begin:
;************************************************
; Download listings Sunday at 2AM if enabled
;------------------------------------------------
If 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 TVL.HTM when requested
;------------------------------------------------
If Update Is URL
{
If URL Is "TVL.HTM" ; default start time (now) ?
Then TVL4 Set "START /MIN /w TVL4 now 720 TVL.HTM"
Then TVL4.Control Set Execute
Else
{
Do Text-A Set URL
Do Text-A.Substring Set "TVL.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 TVL.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 ""
Do TVL-Description 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-2 Set 45
Do Index Set 29
While Index <= 45 ; Find last non-space index
{
Do Text-A.Index Set Index
If Text-A.Index Is Not <Space>
Then Index-2 Set Index
Do Index Add 1
}
Do Index-2 Add 1
Do Text-B Set "29:"
Do Text-B Add Index-2
Do Text-A.Substring Set Text-B
Do TVL-Chan Set Text-A.Substring
; Show name:
Do Index-2 Set 126
Do Index Set 47
While Index <= 126 ; Find last non-space index
{
Do Text-A.Index Set Index
If Text-A.Index Is Not <Space>
Then Index-2 Set Index
Do Index Add 1
}
Do Index-2 Add 1
Do Text-B Set "47:"
Do Text-B Add Index-2
Do Text-A.Substring Set Text-B
Do TVL-Show Set Text-A.Substring
; Show description:
Do Text-A.Substring Set 128:
Do TVL-Description 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
If Ocelot.Status Is Not Operational
Then Message Set "Ocelot is not operational"
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
Name: Weather
Class: Page
Access: User
Default: Yes
Property: NOAAC.Town
Width: 120
Property: NOAAC.URL
Width: 220
Property: NOAAC.Status
Width: 120
Property: NOAAC.Time
Property: None
Applet: line_break.app
Property: NOAAC.Temp-Low
Width: 100
Property: NOAAC.Temp-High
Width: 100
Property: NOAAC.Temp
Width: 100
Property: NOAAC.Humidity-Low
Width: 100
Property: NOAAC.Humidity-High
Width: 100
Property: NOAAC.Humidity
Width: 100
Property: None
Applet: line_break.app
Property: NOAAC.Sky
Width: 100
Property: NOAAC.Dew-Point
Width: 100
Property: NOAAC.Wind
Width: 100
Property: NOAAC.Pressure-Low
Width: 100
Property: NOAAC.Pressure-High
Width: 100
Property: NOAAC.Pressure
Width: 100
Property: NOAAC.Remarks
Property: None
Applet: line.app
Property: NOAAF.Town
Width: 120
Property: NOAAF.URL
Width: 220
Property: NOAAF.Status
Width: 120
Property: NOAAF.Time
Property: None
Applet: line_break.app
Property: NOAAF.URL
Width: 220
Property: NOAAF.1
Property: NOAAF.2
Property: NOAAF.3
Property: NOAAF.4
Property: NOAAF.5
Property: NOAAF.6
Property: NOAAF.7
Property: NOAAF.8
Property: NOAAF.9
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:CID Name
Class: Text
Persistent: No
:
Name: VM:CID Number
Class: Text
Persistent: No
:
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
Description: Service VM.EXE (VoiceMail) program
Control: Disabled
Called: No
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 "Bye"
Then VM:Socket.Status Set Disconnect
Then Return
If VM:Socket.RX Is "Ring"
{
If VM:CID Name Is Not Unknown
Then Sound-Card.Speak Set VM:CID Name
Else If VM:CID Number Is Not Unknown
Then Sound-Card.Speak Set VM:CID Number
Do Return
}
Do Text-A Set VM:Socket.RX ; Get data header (before ":")
Do Text-A.Substring Set "~{:" ; "
Do Text-A Set Text-A.Substring ; "
Do Text-B Set VM:Socket.RX ; Get data (following ": ")
Do Text-B.Substring Set ": }~" ; "
Do Text-B Set Text-B.Substring ; "
If Text-A Is "VM:CID Name" ; "CID Name: {name}" ?
{
Do VM:CID Name Set Text-B
}
Else If Text-A Is "VM:CID Number" ; "CID Number: {number}" ?
{ ; Always follows "VM:CID Name:"
Do VM:CID Number Set Text-B
If VM:CID Name Is Not Unknown
Or VM:CID Number Is Not Unknown
Then Text-A Set "Call from "
Then Text-A Add VM:CID Name
Then Text-A Add " / "
Then Text-A Add VM:CID Number
Then Messages Set Text-A ; log "Call from {name} / {number}"
}
Else If Text-A Is "Message" ; "Message: {html link to wav file}" ?
{
Do Messages Set Text-B ; log it
Do Text-A Set "Message from "
If VM:CID Name Is Not Unknown
Then Text-A Add VM:CID Name
Else Text-A Add VM:CID Number
Do Log New Message.Control Set Run
}
}
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.476 / Virus Database: 273 - Release Date: 4/24/2003