Dec-16-2022, 07:34 PM
Hello
I want to extract the temperature from my solar panels but the format of the API response is giving me headaches !!
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import http.client, urllib, requests
>>> response=requests.get("https://monitoringapi.solaredge.com/equipment/XXX/YYY/data?startTime=2022-12-16%2012:00:00&endTime=2022-12-16%2012:05:00&api_key=ZZZ")
>>> response_data= response.json()
>>> response_data
{'data': {'count': 1, 'telemetries': [{'date': '2022-12-16 12:03:50', 'totalActivePower': 4118.73, 'dcVoltage': 386.966, 'groundFaultResistance': 11000.0, 'powerLimit': 100.0, 'totalEnergy': 973109.0, 'temperature': 46.1466, 'inverterMode': 'MPPT', 'operationMode': 0, 'vL1ToN': 121.436, 'vL2ToN': 121.364, 'L1Data': {'acCurrent': 16.9855, 'acVoltage': 242.799, 'acFrequency': 59.9962, 'apparentPower': 4125.01, 'activePower': 4118.73, 'reactivePower': 227.599, 'cosPhi': 1.0}}]}}
>>> response_data['data']['count']
1
So far all is good, I am able to store the API response and get the first value.
But retrieving the temperature is the problem
>>> response_data['data']['count']['telemetries']['date']['temperature']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
Any ideas on how to get the Temperature??
Thanks !
I want to extract the temperature from my solar panels but the format of the API response is giving me headaches !!
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import http.client, urllib, requests
>>> response=requests.get("https://monitoringapi.solaredge.com/equipment/XXX/YYY/data?startTime=2022-12-16%2012:00:00&endTime=2022-12-16%2012:05:00&api_key=ZZZ")
>>> response_data= response.json()
>>> response_data
{'data': {'count': 1, 'telemetries': [{'date': '2022-12-16 12:03:50', 'totalActivePower': 4118.73, 'dcVoltage': 386.966, 'groundFaultResistance': 11000.0, 'powerLimit': 100.0, 'totalEnergy': 973109.0, 'temperature': 46.1466, 'inverterMode': 'MPPT', 'operationMode': 0, 'vL1ToN': 121.436, 'vL2ToN': 121.364, 'L1Data': {'acCurrent': 16.9855, 'acVoltage': 242.799, 'acFrequency': 59.9962, 'apparentPower': 4125.01, 'activePower': 4118.73, 'reactivePower': 227.599, 'cosPhi': 1.0}}]}}
>>> response_data['data']['count']
1
So far all is good, I am able to store the API response and get the first value.
But retrieving the temperature is the problem
>>> response_data['data']['count']['telemetries']['date']['temperature']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
Any ideas on how to get the Temperature??
Thanks !