Hello
Please could you help with my Script
The TVChangeFreeView should be called with the parameter "livingroom" from a HS3 event.
It then gets an Object (I think an Array of 3 Integers) from getFreeViewIR function (not sure if this should be function or sub as sub generates a RETURN value error)
I am having little luck trying to work out the errors.
When a hs.WriteLogEx error occurs, I would like the script to end.
Any help would be greatly appreciated. I am a Novice level-scripter.
SCRIPT:
Please could you help with my Script
The TVChangeFreeView should be called with the parameter "livingroom" from a HS3 event.
It then gets an Object (I think an Array of 3 Integers) from getFreeViewIR function (not sure if this should be function or sub as sub generates a RETURN value error)
I am having little luck trying to work out the errors.
When a hs.WriteLogEx error occurs, I would like the script to end.
Any help would be greatly appreciated. I am a Novice level-scripter.
SCRIPT:
Code:
'---------------------------------- ' Television Script by Chris Coles '---------------------------------- '--------------------------------------------------------------------------- ' Public Variables '--------------------------------------------------------------------------- '--------------------------------------------------------------------------- ' Main Method '--------------------------------------------------------------------------- Sub Main(parm As Object) End Sub '--------------------------------------------------------------------------- ' Script when the Freeview Channel is Changed '--------------------------------------------------------------------------- Sub TVChangeFreeView(TV As String) Dim RefID_TV As Integer Dim IRControl_TV As Integer Dim RefID_TV_Value As Integer Dim IRSet As Object Dim IR1 As Integer Dim IR2 As Integer Dim IR3 As Integer Select Case TV Case "livingroom" RefID_TV = 226 IRControl_TV = 1368 Case "frontroom" RefID_TV = 226 IRControl_TV = 1368 Case "masterbedroom" RefID_TV = 226 IRControl_TV = 1368 Case else hs.WriteLogEx("TV Changer Script", "Incorrect TV Name", "#ff0000") Exit Sub End Select RefID_TV_Value = hs.DeviceValueEx(RefID_TV) hs.WriteLog("TV Changer Script", "TV " & TV & "Ref: " & RefID_TV & " has a value of: " & RefID_TV_Value) IRSet = getFreeViewIR(RefID_TV) 'Display Returned IR Values IR1 = IRSet(1) IR1 = IRSet(2) IR1 = IRSet(3) hs.WriteLog("TV Changer Script", "IR Code to use is: " & IR1 & IR2 & IR3) End Sub '--------------------------------------------------------------------------- ' Gets the Channel IR Number (FreeView) '--------------------------------------------------------------------------- Public Function getFreeViewIR(RefID_TV As Integer) As Object() Dim IR1 As Integer Dim IR2 As Integer Dim IR3 As Integer Dim IR(3) As Object Select Case RefID_TV Case 1 'BBC 1 HD IR1 = 1 : IR2 = 0 : IR3 = 1 Case 2 'BBC 2 IR1 = 1 : IR2 = 0 : IR3 = 2 Case 3 'BBC 4 IR1 = 1 : IR2 = 0 : IR3 = 6 Case 4 'ITV HD IR1 = 1 : IR2 = 0 : IR3 = 3 Case 5 'ITV +1 IR1 = 0 : IR2 = 3 : IR3 = 3 Case 6 'ITV 2 IR1 = 0 : IR2 = 0 : IR3 = 6 Case 7 'ITV 2+1 IR1 = 0 : IR2 = 2 : IR3 = 7 Case 8 'ITV 3 IR1 = 0 : IR2 = 1 : IR3 = 0 Case 9 'ITV 3+1 IR1 = 0 : IR2 = 0 : IR3 = 0 Case 10 'ITV 4 IR1 = 0 : IR2 = 2 : IR3 = 4 Case 11 'ITV Be IR1 = 0 : IR2 = 2 : IR3 = 6 Case 12 '4 HD IR1 = 1 : IR2 = 0 : IR3 = 4 Case 13 '4 HD +1 IR1 = 1 : IR2 = 0 : IR3 = 9 Case 14 '4 Seven HD IR1 = 1 : IR2 = 2 : IR3 = 7 Case 15 'More 4 IR1 = 0 : IR2 = 1 : IR3 = 4 Case 16 'E4 IR1 = 0 : IR2 = 2 : IR3 = 8 Case 17 'E4 +1 IR1 = 0 : IR2 = 2 : IR3 = 9 Case 18 '5 HD IR1 = 1 : IR2 = 0 : IR3 = 5 Case 19 '5 +1 IR1 = 0 : IR2 = 4 : IR3 = 4 Case 20 '5 USA IR1 = 0 : IR2 = 2 : IR3 = 1 Case 21 '5 USA +1 IR1 = 0 : IR2 = 5 : IR3 = 6 Case 22 '5 Star IR1 = 0 : IR2 = 3 : IR3 = 0 Case 23 'My 5 IR1 = 0 : IR2 = 5 : IR3 = 5 Case 24 'Thats Lancs IR1 = 0 : IR2 = 0 : IR3 = 7 Case 25 'Drama IR1 = 0 : IR2 = 2 : IR3 = 0 Case 26 'YourTV IR1 = 0 : IR2 = 7 : IR3 = 2 Case 27 'YourTV +1 IR1 = 0 : IR2 = 7 : IR3 = 3 Case 28 'Quest IR1 = 0 : IR2 = 3 : IR3 = 7 Case 29 'Quest +1 IR1 = 0 : IR2 = 3 : IR3 = 8 Case 30 'CBS Reality IR1 = 0 : IR2 = 6 : IR3 = 6 Case 31 'CBS Reality +1 IR1 = 0 : IR2 = 6 : IR3 = 7 Case 32 'CBS Action IR1 = 0 : IR2 = 6 : IR3 = 4 Case 33 'CBS Drama IR1 = 0 : IR2 = 7 : IR3 = 1 Case 34 'Challenge IR1 = 0 : IR2 = 4 : IR3 = 6 Case 35 'Dave IR1 = 0 : IR2 = 1 : IR3 = 2 Case 36 'Dave ja Vu IR1 = 0 : IR2 = 8 : IR3 = 4 Case 37 'Really IR1 = 0 : IR2 = 1 : IR3 = 7 Case 38 'Pick IR1 = 0 : IR2 = 1 : IR3 = 1 Case 39 'truTV IR1 = 0 : IR2 = 6 : IR3 = 8 Case 40 'truTV +1 IR1 = 0 : IR2 = 6 : IR3 = 9 Case 41 'Travel IR1 = 0 : IR2 = 4 : IR3 = 2 Case 42 '4Music IR1 = 0 : IR2 = 1 : IR3 = 8 Case 43 'Viva IR1 = 0 : IR2 = 5 : IR3 = 7 Case 44 'Spike IR1 = 0 : IR2 = 3 : IR3 = 1 Case 45 'True Crime IR1 = 0 : IR2 = 6 : IR3 = 0 Case 46 'True Enterainment IR1 = 0 : IR2 = 6 : IR3 = 1 Case 47 'Yesterday IR1 = 0 : IR2 = 1 : IR3 = 9 Case 48 'Horror IR1 = 0 : IR2 = 7 : IR3 = 0 Case 49 'Home IR1 = 0 : IR2 = 2 : IR3 = 5 Case 50 'Food IR1 = 0 : IR2 = 4 : IR3 = 1 Case 51 'Film4 IR1 = 0 : IR2 = 1 : IR3 = 5 Case 52 'Film4 +1 IR1 = 0 : IR2 = 4 : IR3 = 3 Case 53 'Movie Mix IR1 = 0 : IR2 = 3 : IR3 = 2 Case 54 'Movies for Men IR1 = 0 : IR2 = 4 : IR3 = 8 Case 55 'True Movies IR1 = 0 : IR2 = 7 : IR3 = 4 Case 56 'Talking Pics IR1 = 0 : IR2 = 8 : IR3 = 1 Case 57 'Chart Show TV IR1 = 0 : IR2 = 7 : IR3 = 5 Case 58 'Sky News IR1 = 1 : IR2 = 3 : IR3 = 2 Case 59 'BBC News IR1 = 1 : IR2 = 3 : IR3 = 0 Case 60 'BBC Parliment IR1 = 1 : IR2 = 3 : IR3 = 1 Case 61 'RT News HD IR1 = 1 : IR2 = 1 : IR3 = 3 Case 62 'Al Jazera HD IR1 = 1 : IR2 = 0 : IR3 = 8 Case 63 'CBeebies IR1 = 1 : IR2 = 2 : IR3 = 4 Case 64 'CBBC IR1 = 1 : IR2 = 2 : IR3 = 3 Case 65 'CITV IR1 = 1 : IR2 = 2 : IR3 = 2 Case 66 'POP IR1 = 1 : IR2 = 2 : IR3 = 5 Case 67 'TinyPOP IR1 = 1 : IR2 = 2 : IR3 = 6 Case 68 'Kix IR1 = 1 : IR2 = 2 : IR3 = 7 Case Else hs.WriteLogEx("TV Changer Script", "Incorrect TV Channel", "#ff0000") Exit Function End Select hs.WriteLog("TV Changer Script", IR1 & ":" & IR2 & ":" & IR3) IR(1) = IR1 : IR(2) = IR2 : IR(3) = IR3 Return IR End Sub '--------------------------------------------------------------------------- ' Changes the Channel '--------------------------------------------------------------------------- Sub Function setChannel(RefID_TV As Integer, RefID_TV_Value As Integer, IRControl As Integer) 'hs.WriteLog("TV Changer Script", RefID_TV & ":" & RefID_TV_Value & ":" & IRControl) 'switch to tv 'hs.SetDeviceValueByRef(IRControl, 162, True) 'switch to 0 'hs.SetDeviceValueByRef(IRControl, 23, True) 'switch to 0 'hs.SetDeviceValueByRef(IRControl, 23, True) 'switch to 6 'hs.SetDeviceValueByRef(IRControl, 30, True) End Sub
Comment