Activities
Definiton
Activities allows the user to track down operations/processes the asset had gone through. This article showcases how to leverage Ion Software Development Kit(Ion SDK) to perform CRUD operations on Activites
Payload
{
"name": activity.name,// String
"description": activity.description,// String
"location": activity.location,// String
"metadata": metadata,// ActivityMetadata
"tags": tagNames,// Tag
"assets": assetsSns,// EdisonGenericComponent
"startDate": int(activity.startDate) ,// Intiger
"endDate": int(activity.endDate),// Intiger
}
Class
class Activity:
"""
A class to handle ``Activity``.
Args:
id (int, optional): ``Activity`` ID. Defaults to ``None``.
name (str, optional): Name of the ``Activity``. Defaults to ``None``.
description (str, optional): Description of the ``Activity``. Defaults to ``None``.
location (str, optional): Location of the ``Activity``. Defaults to ``None``.
tags (list of ``Tag``, optional): List of ``Tag``s associated with the ``Activity``. Defaults to ``None``.
assets (list of ``Asset``, optional): List of ``Asset``s associated with the ``Activity``. Defaults to ``None``.
startDate (``Datetime``, optional): ``Datetime`` start date for the ``Activity``. Defaults to ``None``.
endDate (``Datetime``, optional): ``Datetime`` end date for the ``Activity``. Defaults to ``None``.
"""
id: Optional[int] = None
name: Optional[str] = None
description: Optional[str] = None
location: Optional[str] = None
metadata: Optional[List[ActivityMetadata]] = None
tags: Optional[List[Tag]] = None
assets: Optional[List[EdisonGenericComponent]] = None
startDate: Optional[float] = None
endDate: Optional[float] = None
- Tutorial 1 : Description
Setup
#Altergo parameters to connect with Client
ALTERGO_FACTORY_API= 'https://altergo.io/' #Default Factory API
ALTERGO_IOT_API= 'https://iot.altergo.io/' #Default IOT API
apiKey = "Your API KEY" #API key of the client
API keys are user bound
from altergo_sdk.models.v2 import Activity
altergoApiKey = apiKey
_client = {
"apiKey": altergoApiKey,
"factory_api": ALTERGO_FACTORY_API,
"iot_api":ALTERGO_IOT_API
}
altergoApi = Client(**_client)
Create
The createActivity method of ION SDK enables the user to create activites from a python environment
This example demonstrates the creation of an activity called KB_Activity
#Create Activity object
activityToCreate = Activity()# create an instance of activity class
activityToCreate.name = 'KB_Activity' # name of the activity
activityToCreate.description = "This is a demo activity for KB" # Discription
activityToCreate.location = "Main office"
activityToCreate.startDate = startDate #activity start date
activityToCreate.endDate = endDate #activity end data
activityToCreate.assets = []#list of asset activity needs to be linked
activityToCreate.metadata=[]#list of meta data
activityToCreate.tags = []
Altergo allows the user to link Assets, Tags and Metadata with an activity.
# create activity
altergoApi.createActivity(activityToCreate)
Get activity
The user can bring an existing activity in the Altergo platform to a python environment. To facilitate this feature, ION SDK provides three different methods - getActivitiesByName, getActivityById and getAllActivities
getActivitiesByName perceive the name of the activity as an argument and returns the list of all activities having that particular name.
altergoApi.getActivitiesByName('KB_Activity')
Since the activity name can be similar for different activities, For the user to target a specific activity, Ion SDK provides the getActivityById method.getActivityById takes in Altergo ID (int) of activity as an argument and returns the corresponding activity.
altergoApi.getActivityById(3)
The user can bring all the activities defined on the Altergo platform to a python environment using the getAllActivities method. getAllActivities takes no arguments and returns a list of all the activities.
altergoApi.getAllActivities()
Edit
The user can leverage of editActivity method in ION SDK to change the parameters of an existing activity. The editActivity requires an activity object as an argument and returns the edited activity.
In this article the KB_Activity (activity) is edited to modify the description of the activity and to link with KB_Demo_1 (asset)
# Get the asset to be edited
asset=altergoApi.getAsset('KB Demo_1')
from datetime import date
startDate = date(2022, 12, 25)
endDate=date(2023, 1, 14)
#Get the activity to be editted
editObj=altergoApi.getActivityById(19)
#Edits
editObj.name = 'KB_Activity' # name of the activity
editObj.description = "This is an editted activity " # Editted discription
editObj.location = "Main office"
editObj.startDate = startDate #activity start date
editObj.endDate = endDate #activity end data
editObj.assets = [asset]# Linking asset
editObj.metadata=[]#list of meta data
editObj.tags = []
# edit activity
altergoApi.editActivity(editObj)
Delete
The user can remove an activity defined on the Altergo platform with the removeActivity method of Ion SDK. removeActivity takes in an Activity object to be removed as the argument.
#Get the activity to be removed
removeObj=altergoApi.getActivityById(19)
#Remove activity
altergoApi.removeActivity(removeObj)
Upload dataset to activity
The user can attach datasets with activities using uploadDatasetToActivity method