HAL Interface

 

horizontal rule

Up Parts List IR Distribution TV Sensor Stereo Sensor Watch Remote HAL Interface Talking Scale Dollar Bill Acceptor Open Air Microphones Smart Car Sensor Ocelot to HAL Random Speak Device Usage Graph your Data Tell Me

 

Does your custom program need a way to trigger events in HAL?

At the time this article was written HAL2000 did not support a method to allow external computer programs to set secondary conditions or trigger events within HAL. 

I have written a tiny application (HAL_Interface.exe) that can set the state of an existing software flag in HAL.  You can create an unlimited number of software flags in HAL2000 to execute any number of actions or macros.  For example, a FLAG can be used in HAL2000 to start the DMC music player, turn on a light, open the garage door, set the thermostat, get you a beer.... (Well almost anything).  You can also set a flag as a secondary condition in a rule.  For example you may need to indicate if someone is present in a room, you would create a flag named "JOHN IN BEDROOM". You could then set it to TRUE or FALSE depending on if John was detected to be in the bedroom.  Then in HAL2000 you could fire a rule if "JOHN IN BEDROOM" was true. 

Best of all this application can be executed automatically by your custom external application.  Your application would specify the flag name and the desired state (True or False) on the program command line.  The HAL_Interface.exe application would then start, carry out the request, then exit in a blink of an eye.  This application does not touch the database therefore there is no risk of database corruption.  In addition, the flag state will be tracked in HAL2000 just as if HAL had changed the flag itself.  You will see the change in HomeNet and the current HAL user interface. 

Installation

Simply download the zipped file and unzip the HAL_Interface.exe to a folder of your choice.  This application must be installed on the HAL2000 computer and may require the most current version of HAL2000 to start.   It can be located in any folder on the machine.  You should be able to double click the icon and start the application manually or you can have your application call it specifying the flag name and desired state on the command line.

How to Use

In the example below I assume the HAL_Interface.exe application is installed on the root of drive C.  Here are several valid calls that would cause the application to change the state of a flag in HAL2000.

C:\HAL_Interface.exe FLAG_NAME,True
C:\HAL_Interface.exe FLAG_NAME,False
C:\HAL_Interface.exe FLAG_NAME,T
C:\HAL_Interface.exe FLAG_NAME,F
 

As I mentioned before when the application is called via the command line it starts, executes the flag change then exits in less than a second.

During testing you can double click the icon and start the application manually.  This will present a very fancy user interface that will allow you to specify the flag name in HAL and select a radio option button to specify either true or false.  You then press the 'Set Flag' button and the flag will be set.  You can open the HAL system Monitor (ALL) and watch the "sensor box" to see the FLAG change states. 

 

 

Important

Please remember that you must FIRST create a HAL software flag under "devices" in the HAL Automation Setup Screen! 

HAL Automation Setup Screen --->
ADD -->
Sensor-->
Name it -->
Select 'Home Automated Living' as manufacturer -->
Select 'HAL Software Flag'

Program Errata

 

Version 1.8 Download Here

bullet
    This may only work with HAL version 3.0.0
bullet
    Do not use this with any other version of HAL
 

Version 1.9 Download Here

bullet
    This may only work with HAL version 3.0.9
bullet
    Do not use this with any other version of HAL
bullet
    It is identical to all other versions above.
 

Version 2.0 Download Here

bullet
    This may only work with HAL version 3.6.14 (Beta)
bullet
    Do not use this with any other version of HAL
bullet
    It is identical to all other versions above.
 

Version 2.1 Download Here

bullet
    This may only work with HAL version 3.6.29 (Beta)
bullet
    Do not use this with any other version of HAL
bullet
    It is identical to all other versions above.
 

Version 2.2 Download Here

bullet
    This may only work with HAL version 4.0.5
bullet
    Do not use this with any other version of HAL
bullet
    It is identical to all other versions above.

 

 

 

 

 

If you find this program useful please donate...