Skip to content

eliona-smart-building-assistant/python-eliona-api-client

Repository files navigation

Python Eliona API client

The Eliona REST API enables unified access to the resources and data of an Eliona environment.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 2.6.12
  • Package version: 2.6.11
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://eliona.io

Requirements.

Python >=3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/eliona-smart-building-assistant/python-eliona-api-client.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/eliona-smart-building-assistant/python-eliona-api-client.git)

Then import the package:

import eliona.api_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import eliona.api_client

Getting Started

Please follow the installation procedure and then run the following:

import time
import eliona.api_client
from pprint import pprint
from eliona.api_client.api import agents_api
from eliona.api_client.model.agent import Agent
from eliona.api_client.model.agent_device import AgentDevice
from eliona.api_client.model.agent_device_mapping import AgentDeviceMapping
# Defining the host is optional and defaults to https://name.eliona.io/v2
# See configuration.py for a list of all supported configuration parameters.
configuration = eliona.api_client.Configuration(
    host = "https://name.eliona.io/v2"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer'

# Configure Bearer authorization (JWT): BearerAuth
configuration = eliona.api_client.Configuration(
    access_token = 'YOUR_BEARER_TOKEN'
)


# Enter a context with an instance of the API client
with eliona.api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = agents_api.AgentsApi(api_client)
    agent_id = 4711 # int | The id of the agent
    agent_class = "iosys" # str | The class of an agent

    try:
        # Information about an agent
        api_response = api_instance.get_agent_by_class_and_id(agent_id, agent_class)
        pprint(api_response)
    except eliona.api_client.ApiException as e:
        print("Exception when calling AgentsApi->get_agent_by_class_and_id: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://name.eliona.io/v2

Class Method HTTP request Description
AgentsApi get_agent_by_class_and_id GET /agents/{agent-class}/{agent-id} Information about an agent
AgentsApi get_agent_device_by_id GET /agent-devices/{agent-class}/{agent-device-id} Information about agent device
AgentsApi get_agent_device_mapping_by_id GET /agent-device-mappings/{agent-class}/{agent-device-mapping-id} Information about agent device mapping
AgentsApi get_agent_device_mappings_by_device_id GET /agent-devices/{agent-class}/{agent-device-id}/mappings Information about agent device mappings
AgentsApi get_agent_devices_by_agent_id GET /agents/{agent-class}/{agent-id}/devices Information about agent devices
AgentsApi get_agents GET /agents Information about agents
AgentsApi get_agents_by_class GET /agents/{agent-class} Information about agents for a specific class
AgentsApi post_agent_by_class POST /agents/{agent-class} Create an agent
AgentsApi post_agent_device_by_agent_id POST /agents/{agent-class}/{agent-id}/devices Create an agent device
AgentsApi post_agent_device_mapping_by_device_id POST /agent-devices/{agent-class}/{agent-device-id}/mappings Create an agent device mapping
AgentsApi put_agent_by_class PUT /agents/{agent-class} Create or update an agent
AgentsApi put_agent_by_class_and_id PUT /agents/{agent-class}/{agent-id} Update an agent
AgentsApi put_agent_device_by_agent_id PUT /agents/{agent-class}/{agent-id}/devices Create or update an agent device
AgentsApi put_agent_device_by_id PUT /agent-devices/{agent-class}/{agent-device-id} Update an agent device
AgentsApi put_agent_device_mapping_by_device_id PUT /agent-devices/{agent-class}/{agent-device-id}/mappings Create or update an agent device mapping
AgentsApi put_agent_device_mapping_by_id PUT /agent-device-mappings/{agent-class}/{agent-device-mapping-id} Update an agent device mapping
AggregationsApi delete_aggregation_by_id DELETE /aggregations/{aggregation-id} Delete an aggregation
AggregationsApi get_aggregation_by_id GET /aggregations/{aggregation-id} Information about an aggregation
AggregationsApi get_aggregations GET /aggregations Information about aggregations
AggregationsApi post_aggregation POST /aggregations Creates an aggregation
AggregationsApi put_aggregation PUT /aggregations Creates or updates an aggregation
AggregationsApi put_aggregation_by_id PUT /aggregations/{aggregation-id} Updates an aggregation
AlarmRulesApi delete_alarm_rule_by_id DELETE /alarm-rules/{alarm-rule-id} Delete an alarm rule
AlarmRulesApi get_alarm_rule_by_id GET /alarm-rules/{alarm-rule-id} Information about an alarm rule
AlarmRulesApi get_alarm_rules GET /alarm-rules Information about alarm rules
AlarmRulesApi post_alarm_rule POST /alarm-rules Create an alarm rule
AlarmRulesApi put_alarm_rule PUT /alarm-rules Create or update an alarm rule
AlarmRulesApi put_alarm_rule_by_id PUT /alarm-rules/{alarm-rule-id} Update an alarm rule
AlarmsApi get_alarm_by_id GET /alarms/{alarm-rule-id} Information about alarm
AlarmsApi get_alarm_history_by_id GET /alarms-history/{alarm-rule-id} Information about alarm history
AlarmsApi get_alarms GET /alarms Information about alarms
AlarmsApi get_alarms_history GET /alarms-history Information about alarms history
AlarmsApi get_highest_alarms GET /alarms-highest Information about most prioritized alarms
AlarmsApi listen_alarm GET /alarm-listener WebSocket connection for alarm changes
AlarmsApi patch_alarm_by_id PATCH /alarms/{alarm-rule-id} Update alarm
AppsApi get_app_by_name GET /apps/{app-name} Information about an app
AppsApi get_patch_by_name GET /apps/{app-name}/patches/{patch-name} Information about a patch for an app
AppsApi patch_app_by_name PATCH /apps/{app-name} Update an app
AppsApi patch_patch_by_name PATCH /apps/{app-name}/patches/{patch-name} Updates a patch
AssetTypesApi delete_asset_type_by_name DELETE /asset-types/{asset-type-name} Delete an asset type
AssetTypesApi get_asset_type_by_name GET /asset-types/{asset-type-name} Information about an asset type
AssetTypesApi get_asset_types GET /asset-types List of asset types
AssetTypesApi post_asset_type POST /asset-types Create an asset type
AssetTypesApi post_asset_type_attribute POST /asset-types/{asset-type-name}/attributes Create asset type attribute
AssetTypesApi put_asset_type PUT /asset-types Create or update an asset type
AssetTypesApi put_asset_type_attribute PUT /asset-types/{asset-type-name}/attributes Create or update an asset type attribute
AssetTypesApi put_asset_type_by_name PUT /asset-types/{asset-type-name} Update an asset type
AssetsApi delete_asset_by_id DELETE /assets/{asset-id} Delete an asset
AssetsApi delete_bulk_assets DELETE /assets-bulk Delete a list of assets
AssetsApi dry_run_delete_bulk_assets DELETE /assets-bulk/dry-run Dry-run for deleting a list of assets
AssetsApi dry_run_post_bulk_assets POST /assets-bulk/dry-run Dry-run for creating a list of assets
AssetsApi dry_run_put_bulk_assets PUT /assets-bulk/dry-run Dry-run for creating or updating a list of assets
AssetsApi get_asset_by_id GET /assets/{asset-id} Information about an asset
AssetsApi get_assets GET /assets Information about assets
AssetsApi get_attribute_display GET /attribute-display How attributes are displayed
AssetsApi listen_asset GET /asset-listener WebSocket connection for asset changes
AssetsApi post_asset POST /assets Create an asset
AssetsApi post_bulk_assets POST /assets-bulk Create a list of assets
AssetsApi put_asset PUT /assets Create or update an asset
AssetsApi put_asset_by_id PUT /assets/{asset-id} Update an asset
AssetsApi put_attribute_display PUT /attribute-display Create or update how attributes are displayed
AssetsApi put_bulk_assets PUT /assets-bulk Create or update a list of assets
CalculationRulesApi delete_calculation_rule_by_id DELETE /calculation-rules/{calculation-rule-id} Delete a calculation rule
CalculationRulesApi get_calculation_rule_by_id GET /calculation-rules/{calculation-rule-id} Information about a calculation rules rule
CalculationRulesApi get_calculation_rules GET /calculation-rules Information about calculation rules
CalculationRulesApi put_calculation_rule PUT /calculation-rules Creates or updates a calculation rule
CalculationRulesApi put_calculation_rule_by_id PUT /calculation-rules/{calculation-rule-id} Update a calculation rule
CommunicationApi get_message_receipt_by_id GET /message-receipts/{message-id} Information about a message
CommunicationApi post_mail POST /send-mail Send e-mail
CommunicationApi post_notification POST /send-notification Send notification
DashboardsApi get_dashboard_by_id GET /dashboards/{dashboard-id} Information about a dashboard
DashboardsApi get_dashboards GET /dashboards Information about dashboards
DashboardsApi post_dashboard POST /dashboards Creates a new dashboard
DataApi get_data GET /data Gets all data
DataApi get_data_aggregated GET /data-aggregated Get aggregated data
DataApi get_data_trends GET /data-trends Get trend of historical data
DataApi listen_data GET /data-listener WebSocket connection for asset data changes
DataApi put_bulk_data PUT /data-bulk Create or update multiple asset data
DataApi put_data PUT /data Create or update asset data
NodesApi get_node_by_ident GET /nodes/{node-ident} Information about a node
NodesApi get_nodes GET /nodes Information about nodes
NodesApi post_node POST /nodes Create a node
NodesApi put_node PUT /nodes Create or update a node
NodesApi put_node_by_ident PUT /nodes/{node-ident} Update a node
ProjectsApi get_project_by_id GET /projects/{project-id} Information about a project
ProjectsApi get_projects GET /projects Information about projects
ProjectsApi put_project PUT /projects Create or update a project
QRCodesApi get_qr_code_by_asset_id GET /qr-codes/assets/{asset-id} QR code for assets
TagsApi get_tag_by_name GET /tags/{tag-name} Information about a tag
TagsApi get_tags GET /tags Information about tags
TagsApi put_tag PUT /tags Create or update a tag
UsersApi get_user_by_id GET /users/{user-id} Information about an user
UsersApi get_users GET /users Information about users
UsersApi put_user PUT /users Create or update an user
VersionApi get_open_api GET /version/openapi.json OpenAPI specification for this API version
VersionApi get_version GET /version Version of the API
WidgetsApi get_dashboard_widgets GET /dashboards/{dashboard-id}/widgets Information about widgets on dashboard
WidgetsApi post_dashboard_widget POST /dashboards/{dashboard-id}/widgets Adds widget to dashboard
WidgetsTypesApi delete_widget_type_by_name DELETE /widget-types/{widget-type-name} Delete a widget type
WidgetsTypesApi get_widget_type_by_name GET /widget-types/{widget-type-name} Information about a widget type
WidgetsTypesApi get_widget_types GET /widget-types List of widget types
WidgetsTypesApi post_widget_type POST /widget-types Create a widget type
WidgetsTypesApi put_widget_type PUT /widget-types Create or update a widget type
WidgetsTypesApi put_widget_type_by_name PUT /widget-types/{widget-type-name} Update a widget type

Documentation For Models

Documentation For Authorization

ApiKeyAuth

  • Type: API key
  • API key parameter name: X-API-Key
  • Location: HTTP header

BearerAuth

  • Type: Bearer authentication (JWT)

Author

hello@eliona.io

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in eliona.api_client.apis and eliona.api_client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from eliona.api_client.api.default_api import DefaultApi
  • from eliona.api_client.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import eliona.api_client
from eliona.api_client.apis import *
from eliona.api_client.models import *