NAME
Device::RFXCOM::TX - Module to support an RFXCOM RF transmitter
VERSION
version 1.110800
SYNOPSIS
# for a USB-based device, transmitting X10 RF messages
my $tx = Device::RFXCOM::TX->new(device => '/dev/ttyUSB0', x10 => 1);
$tx->transmit(type => 'homeeasy', command => 'on', ...);
$tx->wait_for_ack() while ($tx->queue);
DESCRIPTION
Module to encode messages for an RFXCOM RF receiver. Module for sending RF messages with an RFXCOM transmitter.
IMPORTANT: This API is still subject to change.
METHODS
new(%parameters)
This constructor returns a new RFXCOM RF transmitter object. The supported parameters are:
- device
-
The name of the device to connect to. The value can be a tty device name or
hostname:port
for a TCP-based RFXCOM transmitter.The default is
/dev/rfxcom-tx
in anticipation of a scenario where a udev rule has been used to identify the USB tty device for the device. For example, a file might be created in/etc/udev/rules.d/91-rfxcom
with a line like:SUBSYSTEM=="tty", SYSFS{idProduct}=="6001", SYSFS{idVendor}=="0403", SYSFS{serial}=="AnnnnABC", NAME="rfxcom-tx"
where the
serial
number attribute is obtained from the output from:udevinfo -a -p `udevinfo -q path -n /dev/ttyUSB0` | \ sed -e'/ATTRS{serial}/!d;q'
- init_callback
-
This parameter can be set to a callback to be called when the device initialization has been completed.
- receiver_connected
-
This parameter should be set to a true value if a receiver is connected to the transmitter.
- flamingo
-
This parameter should be set to a true value to enable the transmission for "flamingo" RF messages.
- harrison
-
This parameter should be set to a true value to enable the transmission for "harrison" RF messages.
- koko
-
This parameter should be set to a true value to enable the transmission for "klik-on klik-off" RF messages.
- x10
-
This parameter should be set to a false value to disable the transmission for "x10" RF messages. This protocol is enable by default in keeping with the hardware default.
There is no option to enable homeeasy messages because they use either the klik-on klik-off protocol or homeeasy specific commands in order to trigger them.
receiver_connected()
Returns true if the transmitter is operating with a receiver connected.
flamingo()
Returns true if the transmitter is configured to transmit "flamingo" RF messages.
harrison()
Returns true if the transmitter is configured to transmit "harrison" RF messages.
koko()
Returns true if the transmitter is configured to transmit "klik-on klik-off" RF messages.
x10()
Returns true if the transmitter is configured to transmit "x10" RF messages. This attribute defaults to true.
transmit(%params)
This method sends an RF message to the device for transmission.
wait_for_ack($timeout)
This method blocks until a new message has been received by the device. When a message is received a data structure is returned that represents the data received.
IMPORTANT: This API is still subject to change.
THANKS
Special thanks to RFXCOM, http://www.rfxcom.com/, for their excellent documentation and for giving me permission to use it to help me write this code. I own a number of their products and highly recommend them.
SEE ALSO
RFXCOM website: http://www.rfxcom.com/
AUTHOR
Mark Hindess <soft-rfxcom@temporalanomaly.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Mark Hindess.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.