Device::RFXCOM::Decoder::Oregon - Device::RFXCOM::Decoder::Oregon decode Oregon RF messages
version 1.163170
# see Device::RFXCOM::RX
Module to recognize Oregon RF messages from an RFXCOM RF receiver.
decode( $parent, $message, $bytes, $bits, \%result )
This method attempts to recognize and decode RF messages from Oregon Scientific sensors. If messages are identified, a reference to a list of message data is returned. If the message is not recognized, undef is returned.
uv138( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a message from a UV138 sensor.
uvn800( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a message from a UVN800 sensor.
wgr918_anemometer( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a wind speed/direction message from a WGR918 sensor.
wtgr800_anemometer( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a wind speed/direction message from a WTGR800 sensor.
alt_temphydro( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a temperature/humidity message from a WTGR800 sensor.
alt_temphydrobaro( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a temperature/humidity/baro message from a BTHR918N sensor.
rtgr328n_datetime( $device, $bytes, $nibbles, \%result )
This method is called if the device type bytes indicate that the bytes might contain a date/time message from a RTGR328n sensor.
common_temp( $device, $bytes, $nibbles, \%result )
This method is a generic device method for devices that report temperature in a particular manner.
common_temphydro( $device, $bytes, $nibbles, \%result )
This method is a generic device method for devices that report temperature and humidity in a particular manner.
common_temphydrobaro( $device, $bytes, $nibbles, \%result )
This method is a generic device method for devices that report temperature, humidity and barometric pressure in a particular manner.
common_rain( $device, $bytes, $nibbles, \%result )
This method handles the rain measurements from an RGR918 rain gauge.
pcr800_rain( $device, $bytes, $nibbles, \%result )
This method handles the rain measurements from a PCR800 rain gauge.
checksum1( $bytes, $nibbles )
This method is a byte checksum of all nibbles of the first 6 bytes, the low nibble of the 7th byte, minus 10 which should equal the byte consisting of a high nibble taken from the low nibble of the 8th byte plus the high nibble from the 7th byte.
checksum2( $bytes )
This method is a byte checksum of all nibbles of the first 8 bytes minus 10, which should equal the 9th byte.
checksum3( $bytes )
This method is a byte checksum of all nibbles of the first 11 bytes minus 10, which should equal the 12th byte.
checksum4( $bytes )
This method is a byte checksum of all nibbles of the first 9 bytes minus 10, which should equal the 10th byte.
checksum5( $bytes )
This method is a byte checksum of all nibbles of the first 10 bytes minus 10, which should equal the 11th byte.
checksum6( $bytes )
checksum7( $bytes )
This method is a byte checksum of all nibbles of the first 7 bytes, minus 10 which should equal the byte consisting of the 8th byte
checksum8( $bytes )
checksum_tester( $bytes, $nibbles )
This method is a dummy checksum method that tries to guess the checksum that is required.
uv_string( $uv_index )
This method takes the UV Index and returns a suitable string.
uv( $device, $bytes, $nibbles, \%result)
This method processes a UV Index reading. It appends an xPL message to the result array.
uv2( $device, $bytes, $nibbles, \%result)
This method processes a UV Index reading for UVN800 sensor type. It appends an xPL message to the result array.
temperature( $device, $bytes, $nibbles, \%result)
This method processes a temperature reading. It appends an xPL message to the result array.
humidity( $device, $bytes, $nibbles, \%result)
This method processes a humidity reading. It appends an xPL message to the result array.
pressure( $device, $bytes, $nibbles, \%result, $forecast_index, $offset )
This method processes a pressure reading. It appends an xPL message to the result array.
simple_battery( $device, $bytes, $nibbles, \%result)
This method processes a simple low battery reading. It appends an xPL message to the result array if the battery is low.
percentage_battery( $device, $bytes, $nibbles, \%result)
This method processes a battery percentage charge reading. It appends an xPL message to the result array if the battery is low.
type_length_key( $type, $length )
This function creates a simple key from a device type and message length (in bits). It is used to as the index for the parts table.
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.
RFXCOM website: http://www.rfxcom.com/
Mark Hindess <soft-cpan@temporalanomaly.com>
This software is copyright (c) 2014 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.
To install Device::W800, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Device::W800
CPAN shell
perl -MCPAN -e shell install Device::W800
For more information on module installation, please visit the detailed CPAN module installation guide.