Announcement

Collapse
No announcement yet.

Apex Destiny 6100 script

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Apex Destiny 6100 script

    This was provided by another member. I got the ok to share this so here it is:

    In HomeSeer setup a reoccurring event. Make it recur every 1 minute.

    as part of that even have it run a script. Mine is called serialport.txt.

    This is what's in that file.

    ***************************************************

    sub main()
    dim e
    dim str
    dim Folder
    dim TextStream
    Set Folder = CreateObject("Scripting.FileSystemObject")


    hs.CloseComPort(1)

    e=hs.OpenComPort(1,"1200,n,8,1",1,"callback.txt","")

    exit sub


    Str=hs.GetComPortData(1)

    if str <> "" then

    hs.writelog "logdata", Str
    end if



    hs.writelog "endsub",e
    end sub

    sub callback(str)

    hs.writelog "callback=", mid(str,40,2)
    end sub
    ******************************************************


    This file will reside in your scripts folder in your Homseer directory.

    That bottom few lines refers to another file.

    it's called callback.txt also in the same directory.

    This is where the zones and notification are set up.

    here's the text of that file.it ends up greating sort of loop that acts instantly on any incoming data to the port.
    make sure you're use the right comport mine is 1.



    ************************************************************ **********

    sub main(str)


    dim Folder
    dim TextStream, Strpos

    Set Folder = CreateObject("Scripting.FileSystemObject")

    Set TextStream=Folder.OpenTextFile("c:\program files\homeseer\logs\Alarm_log.txt",8,True)
    TextStream.Writeline(str)
    TextStream.Close

    If (formatdatetime(Now,4) < formatdatetime(DateAdd("n",-15,hs.Sunrise),4) Or formatdatetime(Now,

    4) > formatdatetime(DateAdd("n",15,hs.Sunset),4)) Then
    NightTime=True
    Else
    NightTime = False
    End If


    Select Case mid(str,1,4)
    Case "F Xm"
    hs.SendEmail "your to email address here, from email address here"," Low Battery"," " & str ,""
    Case "Peri"
    hs.SendEmail "your to email address here, from email address here"," House Alarm "," " & str ,""
    Case "Zone"
    if Mid(str,6,4)="OPEN" Then

    'hs.writelog "type", mid(str,6,4)
    if Mid(Str,40,2) = "01" then
    hs.setdeviceString "z01", "Door Open"
    hs.setdevicelastchange "z01", now()

    elseif Mid(Str,40,2) = "02" then
    hs.setdevicestring "z02","Door Open"
    hs.setdevicelastchange "z02", now()

    elseif Mid(Str,40,2) = "03" then
    hs.setdevicestring "z03","Window Open"
    hs.setdevicelastchange "z03", now()

    elseif Mid(Str,40,2) = "04" then
    hs.setdevicestring "z04","Window Open"
    hs.setdevicelastchange "z04", now()

    elseif Mid(Str,40,2) = "05" then
    hs.setdevicestring "z05","Window Open"
    hs.setdevicelastchange "z05", now()

    elseif Mid(Str,40,2) = "06" then
    hs.setdevicestring "z06","Window Open"
    hs.setdevicelastchange "z06", now()

    elseif Mid(Str,40,2) = "07" then
    hs.setdevicestring "z07","Window Open"
    hs.setdevicelastchange "z07", now()

    elseif Mid(Str,40,2) = "08" then
    hs.setdevicestring "z08","Door Open"
    hs.setdevicelastchange "z08", now()

    elseif Mid(Str,40,2) = "09" then
    hs.setdeviceString "z09", "Door Open"
    hs.setdevicelastchange "z09", now()

    if NightTime = true then
    hs.triggerEvent "Light event here"
    end if

    elseif Mid(Str,40,2) = "10" then
    hs.setdevicestring "z10","Window Open"
    hs.setdevicelastchange "z10", now()

    elseif Mid(Str,40,2) = "11" then
    hs.setdevicestring "z11","Window Open"
    hs.setdevicelastchange "z11", now()

    elseif Mid(Str,40,2) = "12" then
    hs.setdevicestring "z12","Window Open"
    hs.setdevicelastchange "z12", now()

    elseif Mid(Str,40,2) = "13" then
    hs.setdevicestring "z13","Button Pushed"
    hs.setdevicelastchange "z13", now()
    hs.TriggerEvent "GuestAtDoor"
    hs.SetVolume 20,20
    hs.speak "Guest at Front Gate"
    hs.speak "Please Check front Gate"
    hs.SetVolume 5,5
    hs.ExecX10 "B1","on"
    hs.ExecX10 "B1","off"

    elseif Mid(Str,40,2) = "14" then
    hs.setdevicestring "z14","Window Open"
    hs.setdevicelastchange "z14", now()

    elseif Mid(Str,40,2) = "15" then
    hs.setdevicestring "z15","Window Open"
    hs.setdevicelastchange "z15", now()

    elseif Mid(Str,40,2) = "16" then
    hs.setdevicestring "z16","Door Open"
    hs.setdevicelastchange "z16", now()

    elseif Mid(Str,40,2) = "17" then
    hs.setdevicestring "z17","Door Open"
    hs.setdevicelastchange "z17", now()

    elseif Mid(Str,40,2) = "33" then
    hs.setdevicestring "z33","ON"
    hs.setdevicelastchange "z33", now()

    elseif Mid(Str,40,2) = "34" then
    hs.setdevicestring "z34","Motion Detected"
    hs.setdevicelastchange "z35", now()

    elseif Mid(Str,40,2) = "35" then
    hs.setdevicestring "z35","Motion Detected"
    hs.setdevicelastchange "z35", now()

    elseif Mid(Str,40,2) = "36" then
    hs.setdeviceString "z36", "Door Open"
    hs.setdevicelastchange "z36", now()

    elseif Mid(Str,40,2) = "38" then
    hs.setdevicestring "z38","Detected"
    hs.setdevicelastchange "z38", now()

    elseif Mid(Str,40,2) = "39" then
    hs.setdevicestring "z39","Detected"
    hs.setdevicelastchange "z39", now()

    elseif Mid(Str,40,2) = "40" then
    hs.setdevicestring "z40","Door Open"
    hs.TriggerEvent "GarageLightOn"
    hs.setdevicestring "A13", "OFF"
    hs.setdevicelastchange "z40", now()

    elseif Mid(Str,40,2) = "41" then
    hs.setdevicestring "z41","Door Open"
    hs.setdevicestring "A7", "OFF"
    hs.speak "Right Garage Door Open"
    hs.setdevicelastchange "z41", now()


    elseif Mid(Str,40,2) = "42" then
    hs.setdevicestring "z42","Motion Open"
    hs.setdevicelastchange "z42", now()


    end if

    Elseif Mid(str,6,4)= "REST" then


    if Mid(Str,40,2) = "01" then

    hs.setdeviceString "z01", "Door Closed"
    hs.setdevicelastchange "z01", now()

    elseif Mid(Str,40,2) = "02" then
    hs.setdevicestring "z02","Door Closed"
    hs.setdevicelastchange "z02", now()

    elseif Mid(Str,40,2) = "03" then
    hs.setdevicestring "z03","Window Closed"
    hs.setdevicelastchange "z03", now()

    elseif Mid(Str,40,2) = "04" then
    hs.setdevicestring "z04","Window Closed"
    hs.setdevicelastchange "z04", now()

    elseif Mid(Str,40,2) = "05" then
    hs.setdevicestring "z05","Window Closed"
    hs.setdevicelastchange "z05", now()

    elseif Mid(Str,40,2) = "06" then
    hs.setdevicestring "z06","Window Closed"
    hs.setdevicelastchange "z06", now()

    elseif Mid(Str,40,2) = "07" then
    hs.setdevicestring "z07","Window Closed"
    hs.setdevicelastchange "z07", now()

    elseif Mid(Str,40,2) = "08" then
    hs.setdevicestring "z08","Door Closed"
    hs.setdevicelastchange "z08", now()

    elseif Mid(Str,40,2) = "09" then
    hs.setdeviceString "z09", "Door Closed"
    hs.setdevicelastchange "z09", now()
    hs.TriggerEvent "BackPorchClosed"

    elseif Mid(Str,40,2) = "10" then
    hs.setdevicestring "z10","Window Closed"
    hs.setdevicelastchange "z10", now()

    elseif Mid(Str,40,2) = "11" then
    hs.setdevicestring "z11","Window Closed"
    hs.setdevicelastchange "z11", now()

    elseif Mid(Str,40,2) = "12" then
    hs.setdevicestring "z12","Window Closed"
    hs.setdevicelastchange "z12", now()

    elseif Mid(Str,40,2) = "13" then
    hs.setdevicestring "z13","Door Closed"
    hs.setdevicelastchange "z13", now()
    hs.setdevicestring "A13", "OFF"
    hs.TriggerEvent "GuestAtDoor"

    elseif Mid(Str,40,2) = "14" then
    hs.setdevicestring "z14","Window Closed"
    hs.setdevicelastchange "z14", now()

    elseif Mid(Str,40,2) = "15" then
    hs.setdevicestring "z15","Window Closed"
    hs.setdevicelastchange "z15", now()

    elseif Mid(Str,40,2) = "16" then
    hs.setdevicestring "z16","Door Closed"
    hs.setdevicelastchange "z16", now()

    elseif Mid(Str,40,2) = "17" then
    hs.setdevicestring "z17","Door Closed"
    hs.setdevicelastchange "z17", now()
    hs.speak "Front Gate Closed"

    elseif Mid(Str,40,2) = "33" then
    hs.setdevicestring "z33","ON"
    hs.setdevicelastchange "z33", now()

    elseif Mid(Str,40,2) = "34" then
    hs.setdevicestring "z34","Motion Detected"
    hs.setdevicelastchange "z34", now()

    elseif Mid(Str,40,2) = "35" then
    hs.setdevicestring "z35","Motion Detected"
    hs.setdevicelastchange "z35", now()

    elseif Mid(Str,40,2) = "36" then
    hs.setdeviceString "z36", "Door Closed"
    hs.setdevicelastchange "z36", now()

    elseif Mid(Str,40,2) = "38" then
    hs.setdevicestring "z38","Detected"
    hs.setdevicelastchange "z38", now()

    elseif Mid(Str,40,2) = "39" then
    hs.setdevicestring "z39","Detected"
    hs.setdevicelastchange "z39", now()

    elseif Mid(Str,40,2) = "40" then
    hs.setdevicestring "z40","Door Closed"
    hs.TriggerEvent "GarageLightOff"
    hs.setdevicelastchange "z40", now()

    elseif Mid(Str,40,2) = "41" then
    hs.setdevicestring "z41","Door Closed"
    hs.setdevicestring "A7", "OFF"
    hs.speak "Right Garage Door Closed"
    hs.setdevicelastchange "z41", now()


    elseif Mid(Str,40,2) = "42" then
    hs.setdevicestring "z42","Motion Detected"
    hs.setdevicelastchange "z42", now()
    hs.TriggerEvent "GarageLightOn"

    end if
    end if
    Case "Syst"

    if mid(str,8,5) = "ARMED" then

    hs.setdevicestring "A50","ARMED"
    hs.setdevicelastchange "A50", now()
    hs.TriggerEvent "ArmedLightsOff"
    elseif Mid(str,8,8) = "DISARMED" then
    hs.setdevicestring "A50","DISARMED"
    hs.setdevicelastchange "A50", now()
    end if

    case "Fire"
    hs.SendEmail "your to email address here, from email address here"," Fire"," " & str ,""

    hs.TriggerEvent "Fire event action here"
    end Select



    end sub

    ************************************************************ *****************
    This is my example:

    You'll need to change yours accordingly.
    You'll also need to create zones in HS. Mine all start with a z as in zone.

    _____________________________________________
    Please post any updates that you develop so the rest of us that have the Apex panel can get the most out of it. Thanks and HAVE FUN
Working...
X