API - accessing inverter data

4 comments started 2026-01-12 last 2026-01-13
APIsHome AutomationGivEnergy Products
P
#1 Pete222

I'm new to GivEnergy and the API. I want to use Node to access inverter data daily. I've created a token with read access to everything (I disabled all the control permissions).

The "account" API call returns sensible data identifying my account.
The "site" API call returns a single site as expected and the response appears correct.
The "communication-device" API returns a response with a single entry in the 'data' array as follows:

{
  data: [
    {
      serial_number: 'XXXXXXXX',
      firmware_version: 206,
      type: 'GPRS',
      commission_date: '2025-12-15T00:00:00Z',
      inverter: [Object],
      site_id: 123456
    }
  ]
...
}

Where XXXXXXXX is the serial number of some device. I have no idea what this device is but the inverter property is empty so I don't think it's an inverter. 'GPRS' doesn't appear in the list of 'Public Hardware' listed in the API documentation (whatever that is).

If I use XXXXXXXX in an API call to get inverter data I get a { message: 'Not Found' } response, which I expect given the data.

So - how to I get to information about my devices? Particularly the inverter so I can poll my energy usage periodically?

D
#2 DD

Pete222 Not sure what "Node" is - Node.js ?

You might need to use a token with control access ? The interesting api calls seem to require that. eg
https://givenergy.cloud/docs/api/v1#inverter-control-POSTinverter--inverter_serial_number--settings--setting_id--read

If it's of any use, I have some python scripts published at
https://github.com/divenal/givenergy-scripts

givenergy.py is the main module, providing get() and post() methods, and then eg pvoutput.py fetches the day's data to upload solar generation to pvoutput.org

P
#3 Pete222

DD Thank you, I'll check out your repo and hopefully make some more progress. It would be odd to need control access simply to access data. I was trying to avoid needing control access until I'm familiar with the API so I don't beak anything.

Pete