Read, Write and Manage Growatt Device Data Spreadsheets
The package provides several classes to extract Electric Bills. The project is separated in several classes. Each class extract an specific type of bill.
Each extractor class have two main methods: fromFile
and fromContent
, and both returns an associative-array with all the bill data.
Here, we will use the Extractor RGE, but it apply to any other extractor
<?php
use NystronSolar\ElectricBillExtractor\BR\RS\ExtractorRGE;
$extractor = new ExtractorRGE(/* You can put an custom PDF Parser (from smalot/pdfparser Package) */);
$output = $extractor->fromFile('my_bill.pdf'); // You can also use the fromContent() method, that does the same, but accepting an PDF Content String.
echo json_encode($output);
This should return something like that:
{
"Client": {
"Name": "Client Name",
"Address": "Client Address",
"District": "Client District",
"City": "Client City",
"Building": {
"Classification": "Classification",
"SupplyType": "Supply Type",
"Voltage": {
"Available": 220,
"MinimumLimit": 202,
"MaximumLimit": 231
}
}
},
"Batch": 1,
"ReadingGuide": "Reading Guide",
"PowerMeterId": 10000000,
"Pages": {
"Actual": 1,
"Total": 1
},
"DeliveryDate": { /* PHP \DateTime Object */ },
"NextReadingDate": { /* PHP \DateTime Object */ },
"DueDate": { /* PHP \DateTime Object */ },
"ActualReadingDate": { /* PHP \DateTime Object */ },
"PreviousReadingDate": { /* PHP \DateTime Object */ },
"TotalDays": 31,
"InstallationCode": "Installation Code",
"Date": { /* PHP \DateTime Object */ },
"Cost": { /* Money from moneyphp/money Package */ },
"Notices": {
"Text": "Notices Text"
},
"SolarGeneration": {
"ParticipationGeneration": 100,
"Balance": 0,
"NextMonthExpiringBalance": 0
},
"EnergyData": {
"EnergyConsumed": {
"Timetables": "Timetables",
"PreviousReading": 1000,
"ActualReading": 2000,
"MeterConstant": 1,
"Consumed": 250
},
"EnergyExcess": {
"Timetables": "Timetables",
"PreviousReading": 1000,
"ActualReading": 2000,
"MeterConstant": 1,
"Consumed": 250
}
}
}
Title | Namespace | Region |
---|---|---|
RGE | NystronSolar\ElectricBillExtractor\BR\RS\ExtractorRGE |
🇧🇷 Brazil / RS |
This extractor uses the New Bill from RGE. Note that just the New Bill (RGE starts sending the new bills approximately in 2022 May) is Implemented for extraction. The extractor for older version is still being developed.
Image from RGE Website - Nova Conta | RGE - Access in 03/24/2023 (May, 24th, 2023)