#!/usr/bin/perl ########################################### # lamp -- Switch lamp on and off via x10 # Mike Schilli, 2004 (m@perlmeister.com) ########################################### use warnings; use strict; use Device::SerialPort; use ControlX10::CM11; my $UNIT_CODE = "F"; my $HOUSE_CODE = "1"; my %cmds = ( "on" => "J", "off" => "K", ); die "usage: $0 [on|off]" if @ARGV != 1 or $ARGV[0] !~ /^(on|off)$/; my $onoff = $1; die "You must be root" if $> != 0; my $serial = Device::SerialPort->new( '/dev/ttyS0', undef); $serial->baudrate(4800); # Adress unit ControlX10::CM11::send($serial, $UNIT_CODE . $HOUSE_CODE); # Send command ControlX10::CM11::send($serial, $UNIT_CODE . $cmds{$onoff});