NAME

Device::NeurioTools - More complex methods for accessing data collected by a Neurio sensor module.

VERSION

Version 0.03

SYNOPSIS

This module allows access to more complex and detailed data derived from data 
collected by a Neurio sensor.  This is done via an extended set of methods: 
  - new
  - connect
  - set_rate
  - get_cost
  - get_kwh
 
Please note that in order to use this module you will require three parameters
(key, secret, sensor_id) as well as an Energy Aware Neurio sensor installed in
your house.

The module is written entirely in Perl and has been tested on Raspbian Linux.

SAMPLE CODE

EXPORT

All by default.

#*****************************************************************

new - the constructor for a NeurioTools object

Creates a new instance which will be able to fetch data from a unique Neurio 
sensor.

my $Neurio = Device::NeurioTools->new($key,$secret,$sensor_id);

  This method accepts the following parameters:
    - $key       : unique key for the account - Required parameter
    - $secret    : secret key for the account - Required parameter
    - $sensor_id : sensor ID connected to the account - Required parameter

Returns a NeurioTools object if successful.
Returns 0 on failure

connect - open a secure connection to the Neurio server

Opens a secure connection via HTTPS to the Neurio server which provides
access to a set of API commands to access the sensor data.

  $NeurioTools->connect();

This method accepts no parameters

Returns 1 on success 
Returns 0 on failure

set_rate - set the rate charged by your electicity provider

Defines the rate charged by your electricity provider.

  $NeurioTools->set_rate($rate);

  This method accepts the following parameters:
    - $rate      : amount charged per kwh - Required

Returns 1 on success 
Returns 0 on failure

get_rate - return the rate charged by your electicity provider

Returns the value for rate set using 'set_rate()'

  $NeurioTools->get_rate();

  This method accepts no parameters

Returns rate 

set_timezone - set the timezone offset

Sets the timezone offset.  If no parameter is specified it uses the system
defined timezone offset.

  $NeurioTools->set_timezone($offset);

  This method accepts the following parameters:
    - $offset      : specified timezone offset in minutes - Optional

Returns 1 on success 
Returns 0 on failure

get_timezone - return the timezone offset

Returns the value for the timezone offset in minutes

  $NeurioTools->get_timezone();

  This method accepts no parameters

Returns timezone offset 

get_cost - calculate the cost of consumption for the specified period

Calculates the cost of consumption over the period specified.

  $NeurioTools->get_cost($start,$granularity,$end,$frequency);

  This method accepts the following parameters:
    - start       : yyyy-mm-ddThh:mm:ssZ - Required
    - granularity : seconds|minutes|hours|days - Required
    - end         : yyyy-mm-ddThh:mm:ssZ - Optional
    - frequency   : an integer - Optional

Returns the cost on success 
Returns 0 on failure

get_kwh - calculate the kwh of consumption for the specified period

Calculates the kwh of consumption over the period specified.

  $NeurioTools->get_kwh($start,$granularity,$end,$frequency);

  This method accepts the following parameters:
    - start       : yyyy-mm-ddThh:mm:ssZ - Required
                    specified using ISO8601 format
    - granularity : seconds|minutes|hours|days - Required
    - end         : yyyy-mm-ddThh:mm:ssZ - Optional
                    specified using ISO8601 format
    - frequency   : an integer - Optional

Returns the kwh on success 
Returns 0 on failure

AUTHOR

Kedar Warriner, kedar at cpan.org

BUGS

Please report any bugs or feature requests to C<bug-device-NeurioTools at rt.cpan.org>
or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Device-NeurioTools
I will be notified, and then you'll automatically be notified of progress on 
your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

 perldoc Device::NeurioTools


You can also look for information at:

ACKNOWLEDGEMENTS

Many thanks to:
 The guys at Energy Aware Technologies for creating the Neurio sensor and 
     developping the API.
 Everyone involved with CPAN.

LICENSE AND COPYRIGHT

Copyright 2014 Kedar Warriner <kedar at cpan.org>.

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.