You can go to the last page, it has links to all the.What is it?Here is a quote from X10’s:The ActiveHome Pro SoftwareDeveloper's Kit (SDK) is a set of tools and code designed forprogrammers outside of X10 to make use of ActiveHome Pro in their ownapplications.The aim is to let user programs talk to a CM15Ainterface to control home automation devices. And that’sprecisely what will be done: we will write a simple application inDelphi that uses the CM15A to control some X10 modules.A Windows service called x10nets is part of the software installedby ActiveHome Pro (or by the AHSDK). A service is a type of program that isautomatically started when the computer is booted and that runs inthe background. You can verify that a service is running bypressing the Alt-Ctrl-Del chord of keys and selecting the Task Manager. Usually services and processes arelisted alphabetically so look for x10nets to the bottom of the list.This service takes care of all the details of communicating with theCM15A transceiver which is a USB device. Since this is, by no means, asimple task, we can be grateful that it handles the details about which weneed know nothing.
However, the service cannot be directly accessed tosend commands to the CM15A. As the SDK's help puts it 'Communicationwith the ActiveHome Scripting Interface is done through the scriptingobject, an ActiveX object that communicates with the general X10 deviceservice.' Presumably, the 'Scripting Interface' is provided by theservice and the 'scripting object' or 'ActiveX object' is containedin the dynamic-link library (dll for short) called ahscript.dll which isalso part of the AHSDK (or the ActiveHome Pro software).The figure above displays a simplified version of the communication stack which does not show any drivers. But it is obvious that the important interface for our purpose is the one between the application and ahscript.dll.Update 2013-08-09 Two drivers are installed by default:x10ufx2.sys which shows up as X10 USB ActiveHome (ACPI-compliant) in the list of peripherals shown by Device Manager. It is installed in the C:WindowsSystem32Drivers folder on my Windows 7 (64 bit) system. X10hid.sys which shows up as X10 HID Device in the list of peripherals shown by Device Manager.
It is installed in the same folder as the other driver. This driver can be disabled without consequence for the programs shown here. In other words, the x10nets service appears to interact with the CM15A using the USB driver, not the USB-HID driver.If the x10nets service is suspended and then reactivated using Windows's task manager, it will be necessary to restart the sample programs provided later on.Why these pages?The ActiveHome Pro SDK, AHSDK or SDK from now on,contains sample applications written in C, C#, Basic, Perl and soon, but no example in Delphi. There is information for Delphiprogrammers in X10's.I thought it might be useful to bring some of it together.
What will you need?Obviously, you’ll need the hardware: a CM15Ainterface and a couple of modules to test everything.Some software is needed. The X10nets service must be running. It handles communications with theCM15A taking care of all the complicated USB stuff. We actually use arequired dll (ahscript.dll) to talk to the service.I suggest that youinstall the ActiveHome Pro software as it will install these requiredbits and register them so that they are always available. You can getthese components by installing the AHSDK without installingActiveHome Pro.
There is of course a benefit to installing thesoftware, you can test the hardware before trying to control it inyour own applications. That’s a good idea given some of theproblems associated with the hardware. I have a lamp module that willnot respond to commands sent to a CM11A (a serial precursor ofthe CM15A) even when the module was plugged into the CM11A butit will respond when plugged into a wall socket in another room!The version of the dll installed on mysystem is 22.214.171.12413 dated 2011-05-16.
X10 Cm15a Software
It's located in the followingfolder: C:Program Files (x86)CommonFilesX10Commonahscript.dll or, presumably, C:ProgramFilesCommon FilesX10Commonahscript.dll; if youhave a 32 bit version of Windows. You should make sure you have that version or amore recent version.And you need Delphi of course. I will be using Delphi2010 and Delphi7 but I assume that the application will function with other versionsof Delphi.