How can I delete a wait timer or if-then command?Deleting these type of commands works a little different in HomeVisionXL than it does in the CSI software because of the mulit-line delete functionality. To be able to delete a wait timer command you have to include both the Wait line and its matching End Wait line in the selection. To delete an if-then command you have to include both the If line and the matching End If line in the selection. If there is code in between you want to keep, you have to move that outside of the danger zone first using the multi-line copy/paste capability.
Can HomeVisionXL work together with ACE?ACE expects to communicate with the software for the HomeVision controller using DDE. DDE is very much a Windows only communication method which HomeVisionXL currently doesn't support.
You can still do the programming and download of the schedule using HomeVisionXL, and then start the original software to take care of the communication between ACE and the HomeVision controller once the schedule is running.
You can even setup HomeVisionXL and the CSI software to both
talk to the HomeVision controller by making one a "remote
internet server" and the other a "remote internet client".
How do I make sure only the server application responds to a "run program" serial command in a client/server setup?You can achieve this result by creating a plug-in that redefines the trigger string that's used internally by HomeVisionXL. You then load this plug-in in the application that you want to ignore the serial command. Such a plug-in would just be a one-liner. Or with some comments, two lines:
# This plug-in prevents the "run program" serial command from doing anything hvTrigger "run program " ""Put these two lines in a file called noexec.hap or something in your plugin subdirectory. (Create a plugin directory if you don't have one yet.) If necessary do a rescan with the plug-in manager and then enable the plug-in.
Note: Make sure you specify the trigger exactly as shown here, inlcuding the space behind program. If the string doesn't match the predefined trigger exactly, it will not be disabled.
The memory status screen reports there is more space available than with the CSI software. Is that correct?By default HomeVisionXL does some memory optimization to be able to fit more into the available memory. If you switch the optimization off (change OptimizeMemoryUse to 0 in homevision.ini or $HOME/.homevisionrc) you will get similar numbers to the ones the CSI software reports. If you've reached the memory limits with the CSI software, then with HomeVisionXL and optimization switched on you may have some more breathing room.
I'm running out of space for actions, but still have plenty of space left for IR signals. Can't I use that for actions?Unfortunately that is not possible. Action code and infrared signal data are stored in different memory banks of the Homevision controller. The Optimizing memory use page has some suggestions on what can be done to make more space available for actions.
Is there a function in HomeVisionXL similar to the IR test window in the standard homevision software?The status line of the IR toolbox will report on the received infrared signals. For a standard signal it will display something like Received IR signal: Device code = 118, Key code = 64. For a non-standard signal it shows Received unknown IR signal. Also the remote control configuration screen will show the device and key code when a standard signal is received.
Why don't the "report status of all variables" commands in my schedule have any effect?For these commands to work properly you need to configure to which serial port the reports have to be sent. So normally you should make sure that port 1 in the "Select serial ports to send reports to" section on the "Comm" tab of the "Controller Settings" is switched on.
I want to write my own plug-in but don't know Tcl. Where can I learn more about it?To quickly learn the basics of Tcl, TclTutor is very nice. It's an application containing several lessons teaching you about the different Tcl commands. You can indicate your general knowledge level to control how much is explained. For an experienced programmer it will only tell you how to do something in Tcl. But for someone who barely knows what a keyboard is it explains what variables are and how to run some code multiple times.
TclTutor includes examples you can run within the application itself. You can even modify the example code to immediately experiment with the command you have just learned.
How can I contribute to HomeVisionXL?There are several ways you can help improve HomeVisionXL. See this page for more information.