PHP code example of rogerthomas84 / php-octopus-mini-api
1. Go to this page and download the library: Download rogerthomas84/php-octopus-mini-api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
rogerthomas84 / php-octopus-mini-api example snippets
$api = \Rt\OctopusAPI\OctopusApiSingleton::getInstance();
$apiInstance = $api->setEmail(
getenv('OCTOPUS_EMAIL')
)->setPassword(
getenv('OCTOPUS_PASSWORD')
)->setAccountNumber(
getenv('OCTOPUS_ACCOUNT_NUMBER')
)->setApiKey(
getenv('OCTOPUS_API_KEY')
)->setMpan(
getenv('OCTOPUS_MPAN')
)->setSerialNumber(
getenv('OCTOPUS_SERIAL_NUMBER')
);
$graphQl = $apiInstance->getOctopusGraphQL();
// $myToken = $graphQl->getToken();
// $meterDeviceId = $graphQl->getMeterDeviceId();
$consumption = $graphQl->getLiveConsumption();
// or you can pass the meterDeviceId directly:
// $consumption = $graphQl->getLiveConsumption($meterDeviceId);
echo 'Current consumption is ' . $consumption . 'W\n';
$myAccount = $apiInstance->getAccount();
echo 'You have ' . count($myAccount->getProperties()) . ' properties on your account\n';
$myProperty = $myAccount->getProperties()[0];
echo 'The first property on your account is ' . $myProperty->getAddressLine1() . "\n";
$myMeter = $myProperty->getElectricityMeterPoints()[0];
echo 'The first electricity meter point on your property is ' . $myMeter->getMpan() . "\n";
$myAgreement = $myMeter->getAgreements()[0];
$myTariffCode = $myAgreement->getTariffCode();
echo 'My tariff code is ' . $myAgreement->getTariffCode() . "\n";
$dateFrom = DateTime::createFromFormat('Y-m-d', '2021-01-01');
$dateTo = DateTime::createFromFormat('Y-m-d', '2021-01-02');
$consumptionData = $apiInstance->getElectricityService()->getHalfHourReadings(
$dateFrom,
$dateTo,
25000, // limit per page
'-period' // or 'period', used for sorting
);
$standingCharges = $apiInstance->getElectricityService()->getStandingCharges(
$myTariffCode,
$dateFrom,
$dateTo,
25000, // limit per page
);
$unitRates = $apiInstance->getElectricityService()->getStandardUnitRates(
$myTariffCode,
$dateFrom,
$dateTo,
25000, // limit per page
);
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.