Controlling HomeSeer using ASP pages

The web server includes limited support for ASP (active server pages) and ASPX (ASP.NET pages). Note that this is an advanced feature primarily targeted for users who are already familiar with ASP/ASPX programming. All pages need to reside in the HomeSeer HTML directory or subdirectories under HTML. Using ASP/ASPX pages, HTML and script can be mixed on the same page.

Active Server Pages may be encrypted using HomeSeer's Encryption Utility, and in this situation the file extension must be .ASH or HomeSeer will be unaware that it is an encrypted file.

Note that you cannot use HTML between the script tags "<% %>" as you can with real ASP. For example, the following ASP code will not work:

<%
response.write "hello"
<p>html here</p>
%>

You can create web pages that contain VBScript that will dynamically create the page. The web server supports the following ASP objects:

        Response
        Request
        Server

The Server object supports:

          MapPath                                                            Returns the full path to the HomeSeer HTML folder

 

The Response object supports:

Response.write string                                        Send content back to the web browser

Response.ContentType string                             Set the content type like text/html

Response.BinaryWrite data                                Sends binary data for use in sending graphics data for example

Response.Redirect URL                                    Causes the server to display the given page

Response.End                                                    Terminates execution of the ASP page and closes the connection

The Request object supports:

Request.Form (.count) or (“item”)                        Access a form object (foreach not supported)

Request.QueryString                                         (foreach not supported)

Request.Cookies                                               (foreach not supported)

Request.ServerVariables

The Request.ServerVariables object supports the following variables:

A simple ASP page that displays some text would look like:

<p>Displaying standard HTML</p>

<%
response.write "hello world"
%>

Using response.write, a web page could dynamically create a status list of HomeSeer devices. Here is a sample ASP page that gets the status of a device and displays your PC’s IP address:

<%
dim stat
dim ip
response.write "<b>The link is: </b>"+lnk
response.write "<p><i>this is some more stuff</i></p>"
stat=hs.devicestatus("A1")
response.write "Device A1 has a status of: "+cstr(stat)
ip=hs.Getipaddress
response.send "<p>Ip address is: "+ip+"</p>"

%>

Using response.form, you can retrieve information entered into a form. Here is sample ASP page that contains two buttons:

<%
response.write "<form action=""2_Submit_Buttons.asp"" method=""POST"">"
response.write "<input type=""Submit"" name=""action"" value=""Button One"">"
response.write "<input type=""Submit"" name=""action"" value=""Button Two"">"
response.write "</form>"
%>

When you click a button, HomeSeer runs the ASP page 2_Submit_Buttons.asp. This page contains VBScript that will call response.form to get the submitted information. Here is the 2_Submit_Buttons.asp page:

sub main(lnk)

       response.ContentType = "text/html"
       response.send "Number of pairs is: "+cstr(request.form.count)+"<br>"
       if request.form("action")="Button One" then
              response.send "Button One was clicked"
       ElseIf request.form("action")="Button Two" then
              response.send "Button Two was clicked"
       End If
end sub

The proceeding scripts and pages are available in the HomeSeer HTML directory. To test them, enter the following in your web browser:

http://localhost/but_test.asp
http://localhost/calendar.asp