A couple of weeks ago I ran into an article and survey on the Homeseer message board. It was about the programming language support for Homeseer 3.
August 2012: The survey is now closed

Major changes

  1. Linux is supported using MONO to allow .NET code to run. It should also run OSX.
  2. VBScript is not supported, scripts need to be converted to VB.Net.
  3. ASP is not supported for web pages but ASP.NET is supported.
  4. Device status is gone, only device value is available. Value pairs are used to represent device status such as ON=1, Off=0, etc.
  5. Device control done using CAPI API. This API was introduced in HS2, but has been expanded. Old functions like ExecX10 have been removed.
  6. Plugins are now EXE’s, rather than DLL’s. This will help increase reliability and also make it easier to debug. Also, plugins can run on other PC’s on the network or over the Internet.
    DJ: Plugins are EXE’s? No clue what that means. An EXE for me is a Windows executable ;-)

 

Which commands will most likely change?
Do read the survey and the Homeseer 3 development FAQ for all known details. Another recap can be found on the iHomeAutomate.eu website.

API Function Status
AddAction will be missing
AddCondtion will be missing
CAPIHandleStatus will be missing
ClearConditions will be missing
ClearLastX10 will be missing
ControlThermostat will be missing
DeviceStatus will be missing
DeviceString Exists, but parameter changed to REF
DeviceTime Exists, but parameter changed to REF
DeviceValue Exists, but parameter changed to REF
DeviceValuesAdd Exists, but parameters changed
DeviceValuesGraphicsAdd Exists, but parameter changed
DeviceLastChange Needs to change to use REF
DeviceExists Needs to change to use REF
DialInternetConnection will be missing
DisconnectInternetConnection will be missing
ExecX10 will be missing (use CAPI interface instead)
ExecX10ByName will be missing
ExecX10NoLog will be missing
GetDeviceEnumerator Limited support (many device properties changed)
GetDeviceEx Limited support (many device properties changed)
GetDeviceCode Returns technology dependent code
GetEventByRef Issues with accessing events directly.
GetEventEnumerator will be missing
GetEvent will be missing, replaced with GetEventEx
(issues with accessing events directly)
GetEventEx Issues with accessing events directly.
GetTVGTData will be missing
GetURLIE only works on Windows, not Linux
InstallScript will be missing
InterfaceVersion changes from 3 to 4
IsDialUpConnected will be missing
IsOff will be missing
IsOn will be missing
keys Windows Only, not Linux
lastx10 will be missing
NewCondition will be missing
NewEventAction will be missing
NewEventEx will be missing
NewEventGetRef will be missing
NewRecurringEvent will change
NewTimeEvent will change
PrintOut will be missing
PrintOutRaw will be missing
RunningAsService will be missing
SetDeviceLastChange will be missing
SetDeviceStatus will be missing
SetDeviceStatusByName will be missing
SetDeviceString parameter changed to REF
SetDeviceTime parameter changed to REF
SetDeviceValue parameter changed to REF
SetDeviceValueEx parameter changed to REF
SetSecurityMode parameter changed to Boolean
Transmit parameters will change
X10InterfaceStatus will be missing

 

How will I be able to test and re-write code/scripts?

Q: I want my plugin and scripts to run under Linux, but I know nothing about Linux and I don’t know how to install it. How can I test my code?
A: We will provide a virtual machine file that you can simply download and run. This will provide a complete test environment for you.

 

ALL of my scripts and Web pages are written in VBScript and classic ASP, so I’m pretty much screwed!
I’ve been waiting for years to see the next gen Homeseer but it will probably take me a year to get them converted. I’ll have to learn ASP.NET and VB.NET which I’m completely unfamiliar with.

Grmbl..

Do you have good info on VB.NET or ASP.NET?
Do you know a (relatively) easy way to convert VBScript to VB.NET?

DJ

Update: Some interesting links
ASP2ASPX
ASP.NET turorials

Comments are closed.

%d bloggers like this: