NAME

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

VERSION

Version 0.04

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

use Device::Neurio;
use Device::NeurioTools;

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

$my_Neurio->connect();

my $my_NeurioTools = Device::NeurioTools->new($my_Neurio);

$my_NeurioTools->set_timezone();
$my_NeurioTools->set_rate(0.08);
my $kwh = $my_NeurioTools->get_kwh("2014-06-24T00:00:00".$my_NeurioTools->get_timezone(),
                                   "minutes",
                                   "2014-06-24T23:59:59".$my_NeurioTools->get_timezone(),
                                   "5");

EXPORT

All by default.

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

new - the constructor for a NeurioTools object

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

my $Neurio = Device::NeurioTools->new($neurio);

  This method accepts the following parameters:
    - $neurio    : a valid CONNECTED Neurio object

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.