diff --git a/example/main.py b/example/main.py index 01f126c..a772531 100644 --- a/example/main.py +++ b/example/main.py @@ -4,21 +4,21 @@ import iot_api_client as iot from iot_api_client.rest import ApiException from iot_api_client.configuration import Configuration -import iot_api_client.apis.tags.things_v2_api as thingApi -import iot_api_client.apis.tags.properties_v2_api as propertiesApi -import iot_api_client.apis.tags.series_v2_api as seriesApi +from iot_api_client.api import ThingsV2Api, PropertiesV2Api, SeriesV2Api +from iot_api_client.models import * import csv from time import sleep -HOST = "https://api2.arduino.cc/iot" +HOST = "https://api2.arduino.cc" TOKEN_URL = "https://api2.arduino.cc/iot/v1/clients/token" client_id="" # get a valid one from your Arduino account client_secret="" # get a valid one from your Arduino account -org_id="" -extract_from="2024-06-03T00:00:00Z" -extract_to="2024-06-06T00:00:00Z" + +org_id="" # (Optional) get a valid one from your Arduino account +extract_from="2024-10-03T00:00:00Z" +extract_to="2024-10-06T00:00:00Z" filename="dump.csv" def get_token(): @@ -29,7 +29,7 @@ def get_token(): client_id=client_id, client_secret=client_secret, include_client_id=True, - audience=HOST, + audience="https://api2.arduino.cc/iot", headers={"X-Organization":org_id} ) return token @@ -45,67 +45,59 @@ def init_client(token): return client - -def dump_property_data(series_api,thing_name,prop_name,thing_id,prop_id): +def dump_property_data(client,thing_name,prop_name,thing_id,prop_id): sleep(1) print(f"Extracting property {thing_name}.{prop_name}") - body={ - 'resp_version':1, - 'requests': [ {'q': "property."+prop_id,'from':extract_from,'to':extract_to} ] - } - timeseries=series_api.series_v2_batch_query_raw(body) + series_api = SeriesV2Api(client) + propertyRequest = BatchQueryRawRequestMediaV1(q="property."+prop_id, var_from=extract_from, to=extract_to) + seriesRequest = BatchQueryRawRequestsMediaV1(resp_version=1, requests=[propertyRequest]) + timeseries=series_api.series_v2_batch_query_raw(seriesRequest) - if timeseries.response.status==200: - data = timeseries.body['responses'] - for s in data: - times = s['times'] - values = s['values'] + try: + for s in timeseries.responses: i=0 - while i= 1.25.3, < 3.0.0 python_dateutil >= 2.8.2 -pydantic >= 2 typing-extensions >= 4.7.1 +pydantic >= 2.9.2 +python-dateutil >= 2.8.2 diff --git a/setup.py b/setup.py index 282912b..3b072d6 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ long_description = f.read() NAME = "arduino-iot-client" -REQUIRES = ["urllib3 >= 1.25", "python_dateutil >= 2.8.2", "pydantic >= 2", "typing-extensions >= 4.7.1"] +REQUIRES = ["urllib3 >= 1.25", "python_dateutil >= 2.8.2", "pydantic >= 2.9.2", "typing-extensions >= 4.7.1"] setup( name=NAME,