Welcome to the Agile Octopus API Wrapper.
This may be included in any PHP project and will soon be adapted for Laravel
You may access all of the information you require for this package at Octopus Energy
installing Agile Octopus API is as simple as requiring it through composer
$ composer require kayrah87/agile-octopus-api
Once it is included in your project you can instantiate the API in your project thusly:
$api = new kayrah87\AgileOctopusAPI\API($account, $api_key, $tz);
$account
is your Octopus account number.
$api_key
is your Octopus API key.
$tz
is your Timezone, most usually 'Europe/London' but Octopus is available in other countries now, so might be worth checking.
$api->getElectricityPrice($region)
$region
is the DNO code from the region you wish to get the price for. For more information or if you are not sure, see energy-stats.uk
The half hourly electricity prices can be called using
$api->getHalfHourlyRates($region)
where $region
is the DNO for the desired region.
The meter point details (for electric only) can be called using
$api->getMeterPointDetails($electricity_mpan)
where $electricity_mpan
is the mpan from your electricity meter found under your developer dashboard.
This will return an object with the following properties:
GSP
MPAN
Profile Class
The electricity meter point half-hourly consumption can be called using
$api->getMeterPointConsumption($electricity_mpan, $electricity_serial, $date)
$electricity_mpan
is the mpan from your electricity meter found under your developer dashboard.
$electricity_serial
is the serial number from your electricity meter found under your developer dashboard.
$date
is the date you want to get the consumption for.
The gas meter point half-hourly consumption can be called using
$api->getMeterPointConsumption($gas_mprn, $gas_serial, $date)
$gas_mprn
is the MPRN from your gas meter found under your developer dashboard.
$electricity_serial
is the serial number from your gas meter found under your developer dashboard.
$date
is the date you want to get the consumption for.
If you have any queries please raise a github issue. If you like this API then consider telling your friends about it and earn both them and me £50 in the process: Here