X10 Community Forum

🖥️ActiveHome Pro => SDK => Topic started by: simone on October 08, 2008, 02:51:07 PM

Title: queryplc not working CM15
Post by: simone on October 08, 2008, 02:51:07 PM
Hi all!

controller = CM15

I'm write the code on perl:

#!/usr/bin/perl
use constant AHCMD => "ahcmd";
my ($housecode, $command, $tmp);

$Status = system (AHCMD. " queryplc ". " A1 on");

### Turn on I1 only if it is off ###
if ($Status eq 0) {   
   print "Lamp is off...\n";
    system(AHCMD." sendplc "."A1"." "."on");
}

if lamp is ON, if lamp is OFF the controller return me 0... i.e. $Status == 0
Why? ???
Thank You.
Title: Re: queryplc not working CM15
Post by: EL34 on October 19, 2008, 07:20:32 AM
If I remember correctly, been a while since I used perl, $Status variable = 256 for on and 0 for off
ahcmd.exe has to be located in the same folder as you are running the perl command box from

Quote
system(AHCMD." sendplc "."A1"." "."on");

change your line of code above to this and try it again
there is a space character before and after A1
system(AHCMD. " sendyplc ". " A1 on");
Title: Re: queryplc not working CM15
Post by: -Bill- (of wgjohns.com) on October 22, 2008, 01:37:11 AM
I have emailed X10 about this problem.  There has been no response so far, but this might explain your problem:

The issue with the SDK is that the ahscript.dll file supplied in the SDK is version 3.0.0.183 while the version supplied with AHP is 3.0.0.200.  The most obvious problem with this is that software that uses the SDK version of the file gets erroneous results when attempting to use the “queryplc” command.  Many that have tried to develop software using the SDK have complained that the “queryplc” command always returns a result of 0.  Granted this is only an issue if the developer or end user doesn’t have AHP installed, or the developed software accesses a local copy of ahscript.dll instead of the one installed by AHP, but it does lead to a lot of frustration when trying to develop software and the “queryplc” command doesn’t appear to work.