Files
algete_finot_api/finot_reading.py
2024-12-20 12:01:12 +01:00

40 lines
1.1 KiB
Python

import requests
import pandas as pd
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
token: str = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
entity_id: str = "a2538791-5723-42f2-af2a-a134c95ecba1"
attr_name: str = "SolarPanel1"
attr_type: str = "Number"
from_date: str = "2024-12-19T15:44:34Z"
to_date: str = "2024-12-20T15:44:34Z"
limit: int = 100
config = Settings()
url = f'https://api.panoptis.finot.cloud/historical/v1/entities/{config.entity_id}/attrs/{config.attr_name}?fromDate={config.from_date}&toDate={config.to_date}&lastN={config.limit}'
headers = {
'Content-Type': 'application/json',
'User-Agent': 'Apidog/1.0.0 (https://apidog.com)',
'X-Tenant': 'tenant1',
'Authorization': f'Bearer {config.token}'
}
json_response = requests.request("GET", url, headers=headers).json()
if json_response.get("status") != 200:
print(json_response)
else:
try:
data = {'dates': json_response.get("result").get("index"), 'values': json_response.get("result").get("values")}
print(pd.DataFrame(data))
except ValueError:
print(json_response)