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

NAME

Device::Neurio - Methods for accessing data collected by a Neurio sensor module.

VERSION

Version 0.04

SYNOPSIS

 This module provides a Perl interface to a Neurio sensor via the following 
 methods:
   - new
   - connect
   - fetch_Last_Live
   - fetch_Recent_Live
   - fetch_Samples
   - fetch_Full_samples
   - fetch_Energy_Stats

 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.

 Here is some sample code:

    use Device::Neurio;

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

    $Neurio->connect();
  
    $data = $my_Neurio->fetch_Last_Live();
    $data = $my_Neurio->fetch_Recent_Live();
    $data = $my_Neurio->fetch_Recent_Live("2014-06-18T19:20:21Z");

    print Dumper($data);

    undef $Neurio;

SUBROUTINES/METHODS

new - the constructor for a Neurio object.

 Creates a new instance to fetch data for a unique Neurio sensor.

 my $Neurio = Device::Neurio->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

 The Object is returned if successful.
 If one or more parameters is omitted, 0 is returned to indicate 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.

   $Neurio->connect();
 
 This method accepts no parameters
 
 Returns 1 on success and 0 on failure.

fetch_Recent_Live - Fetch recent sensor samples

 Retrieves recent sensor readings from the Neurio server.

   $Neurio->fetch_Recent_Live($last);
 
   This method accepts the following parameters:
      $last - yyyy-mm-ddThh:mm:ssZ - Optional parameter
 
 Return value is a Perl data structure containing all the raw data

fetch_Last_Live - Fetch the last live sensor sample

 Retrieves the last live sensor reading from the Neurio server.  

   $Neurio->fetch_Last_Live();

   This method accepts no parameters
 
 Return value is a Perl data structure containing all the raw data

fetch_Samples - Fetch sensor samples from the Neurio server.

 Retrieves sensor readings within the parameters specified.

 $Neurio->fetch_Samples($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
     - freqnecy    : an integer - Optional
 
 Return value is a Perl data structure containing all the raw data
 On failure, 0 is returned

fetch_Full_Samples - Fetches full samples for all phases.

 Retrieves full sensor readings including all phases within the parameters 
 specified.

 $Neurio->fetch_Full_Samples($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
     - freqnecy    : an integer - Optional
 
 Return value is a Perl data structure containing all the raw data
 On failure, 0 is returned

fetch_Energy_Stats - Fetches energy statistics.

 Retrieves energy statistics within the parameters specified.

   $Neurio->fetch_Energy_Stats($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
     - freqnecy    : an integer - Optional
 
 Return value is a Perl data structure containing all the raw data
 On failure, 0 is returned

AUTHOR

Kedar Warriner, kedarwarriner at gmail.com

BUGS

 Please report any bugs or feature requests to C<bug-device-Neurio at rt.cpan.org>
 or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Device-Neurio>
 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::Neurio


 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.

 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.