Developer problem for future Homeseer 3?
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
- Linux is supported using MONO to allow .NET code to run. It should also run OSX.
- VBScript is not supported, scripts need to be converted to VB.Net.
- ASP is not supported for web pages but ASP.NET is supported.
- Device status is gone, only device value is available. Value pairs are used to represent device status such as ON=1, Off=0, etc.
- Device control done using CAPI API. This API was introduced in HS2, but has been expanded. Old functions like ExecX10 have been removed.
- 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