Dim con As New OleDb.OleDbConnection("PROVIDER=Microsoft.jet.oledb.4.0;Data Source =\\HomeseerPC\HomeSeer HS3\scripts\sample.mdb") Dim Cmd As OleDb.OleDbCommand Dim Reader As OleDb.OleDbDataReader Const sRefMapFileName = "HS2_2_HS3_ref_map.ini" Public Sub Main(parm As Object) Dim dv As Scheduler.Classes.DeviceClass Dim EN As Scheduler.Classes.clsDeviceEnumeration Try con.Open() EN = hs.GetDeviceEnumerator dv = EN.GetNext Do While Not EN.Finished If UCase(dv.Location2(hs) = "Not Found in HS2") And dv.UserNote(hs).ToString.Trim <> "" Then manual_HC_dc_import(dv) End If dv = EN.GetNext Loop con.Close() Catch ex As Exception hs.WriteLog("HS2->HS3 Error", "Exception in script: " & ex.Message) End Try End Sub Sub manual_HC_dc_import(ByVal DV As Scheduler.Classes.DeviceClass) Dim sql As String Dim hc As String = DV.UserNote(hs).ToString.ToUpper.Substring(0, 1) Dim dC As String = Trim(Val(DV.UserNote(hs).ToString.Substring(1, DV.UserNote(hs).Length - 1))) sql = "Select * from Devices where hc = '" & hc & "' AND dc='" & dC & "'" Cmd = New OleDb.OleDbCommand(sql, con) Reader = Cmd.ExecuteReader() If Reader.Read() Then Update_device_and_map_refs(Reader, DV) DV.UserNote(hs) = "" Else hs.WriteLog("HS2->HS3 Error", "Cant find Device for Manual update with HC='" & hc & "' AND DC='" & dC & "'") End If End Sub Sub Update_device_and_map_refs(ByRef Reader As OleDb.OleDbDataReader, ByRef DV As Scheduler.Classes.DeviceClass) Dim s As String hs.WriteLog("HS2->HS3", "# Updating Device: " & DV.Name(hs)) ' Name s = Reader.Item("Name").ToString.Trim hs.WriteLog("HS2->HS3", "Setting name to:" & s) DV.Name(hs) = s Debug.WriteLine(DV.Name(hs).ToString) ' Location s = Reader.Item("Location").ToString.Trim hs.WriteLog("HS2->HS3", "Setting Location to:" & s) DV.Location(hs) = s ' Location2 s = Reader.Item("Location2").ToString.Trim hs.WriteLog("HS2->HS3", "Setting Location2 to:" & s) DV.Location2(hs) = s ' HC & DC -> Code s = Trim(Reader.Item("hc").ToString) & Right("00" & Trim(Reader.Item("dc").ToString), 2) hs.WriteLog("HS2->HS3", "Setting Code to:" & s) DV.Code(hs) = s ' Ref mapping s = Reader.Item("ref").ToString hs.SaveINISetting("Device Ref HS2 to HS3", s, DV.Ref(hs), sRefMapFileName) hs.SaveINISetting("Device Ref HS3 to HS2", DV.Ref(hs), s, sRefMapFileName) End Sub