Direct Communications with Controller
You can write your own software to communicate directly with the HomeVision controller via the serial interface. The serial communications protocol is described in detail in the HomeVision documentation.
To implement this, your program must control the serial interface to HomeVision. A disadvantage of this approach is that the HomeVision PC software cannot run simultaneously with your program since they both need to access the same serial port. Thus, you would lose some of HomeVision's capabilities like playing WAV files or logging data to the PC. If you need these features, you would have to write the software yourself.
Dynamic Data Exchange using Visual Basic
Dynamic Data Exchange (DDE) is a process by which Windows-based programs can exchange data. HomeVision incorporates a DDE interface that programmers can use in writing software to communicate with the HomeVision PC software.
You can write software without using DDE that communicates directly with the HomeVision controller via the serial interface. However, as noted above, it would not be able to run simultaneously with the HomeVision software since they would both need to access the same serial port. DDE gets around this by having only the HomeVision software access the serial port. Your application sends commands to the HomeVision software, and it forwards them to the controller. Similarly, serial data from the controller passes through the HomeVision software to your application.
We have prepared a DDE development kit to assist you in using the DDE capability. It includes a description of the DDE protocol, sample Visual Basic code, and a sample Visual Basic application. It was updated 30 December 1997 to describe how to use DDE with HomeVision-PC.
Dynamic Data Exchange using C
William Yost, a HomeVision owner, has written a sample Windows 95 WIN32 SDK C language program to talk to HomeVision using DDE. The sample program sends a command to HomeVision to increment variable number 32 every minute. This is used as a watchdog timer to detect when the PC crashes. If HomeVision sees this variable not change for 3 minutes it turns the PC off and back on again. The program also commands Homevision to execute macros under control of the PC. It does this by checking for the existence of files in a designated directory named <anything>.<number>. If it sees a file named doit.5 for example, it executes macro number 5. You can use this as an example of sending commands to HomeVision and getting replies. Click here to download the program and documentation.
HV Desktop (using Windows messages)
This is a small program that is included with HomeVision and installed automatically. It allows desktop icons on your PC to send commands to the controller. It uses Windows messages to communicate with the HomeVision application. If you're interested in seeing how this works, or creating your own program to do something similar, you can download the complete Visual Basic 5.0 code here.