The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.