I am using a program that uses VB Scripts to run a Home Automation Controller. I am new to VB Scripts but trying real hard and fast to learn. I am getting this error "Object doesn't support this property or method:'Devices'. The Devices are defined in "Sub" blocks and I am trying to use a device that has already been defined in a previous sub block but will not recognize it in another. The first bit of code is where the devices are defined. The second is where I am trying to use it and get the error.
Rem **************************************************************
Rem Devices: Contains all devices within controller
Rem X10, Flags, Variables, Relays, AIs, DIs, etc.
Rem Unique event for each device type for ease of processing
Rem **************************************************************
Rem X10 Device Event
Rem **************************************************************
sub Devices_X10Update(Index) <--line 159
with Devices.X10Devices
Select Case .Item(Index).State
Case dsOff
REM Character.Speak .Item(Index).Name + " is off"
Case dsOn
REM Character.Speak .Item(Index).Name + " is on"
Case dsIdle
REM Character.Speak .Item(Index).Name + " is idle"
Case dsDisabled
REM Character.Speak .Item(Index).Name + " is disabled"
Case dsEnabled
REM Character.Speak .Item(Index).Name + " is enabled"
Case dsUnknown
REM Character.Speak .Item(Index).Name + " is unknown"
end Select
end with
end sub
Rem **************************************************************
Rem Variable Device Event
Rem **************************************************************
sub Devices_VariableUpdate(Index)
with Devices.Variables
REM Character.Speak .Item(Index).Name & " is now " & (.Item(Index).Value) & " degrees"
If .Item("Paul").Value > 69 Then
Devices.X10.Item("Paul heat").Command = dsoff <--- ERROR LINE
So what is it that I am obviously missing here?
Rem **************************************************************
Rem Devices: Contains all devices within controller
Rem X10, Flags, Variables, Relays, AIs, DIs, etc.
Rem Unique event for each device type for ease of processing
Rem **************************************************************
Rem X10 Device Event
Rem **************************************************************
sub Devices_X10Update(Index) <--line 159
with Devices.X10Devices
Select Case .Item(Index).State
Case dsOff
REM Character.Speak .Item(Index).Name + " is off"
Case dsOn
REM Character.Speak .Item(Index).Name + " is on"
Case dsIdle
REM Character.Speak .Item(Index).Name + " is idle"
Case dsDisabled
REM Character.Speak .Item(Index).Name + " is disabled"
Case dsEnabled
REM Character.Speak .Item(Index).Name + " is enabled"
Case dsUnknown
REM Character.Speak .Item(Index).Name + " is unknown"
end Select
end with
end sub
Rem **************************************************************
Rem Variable Device Event
Rem **************************************************************
sub Devices_VariableUpdate(Index)
with Devices.Variables
REM Character.Speak .Item(Index).Name & " is now " & (.Item(Index).Value) & " degrees"
If .Item("Paul").Value > 69 Then
Devices.X10.Item("Paul heat").Command = dsoff <--- ERROR LINE
So what is it that I am obviously missing here?