CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-arduino-iot-client

Arduino IoT Cloud API Python Client for managing devices, things, properties, and timeseries data

Overview
Eval results
Files

dashboards.mddocs/

Dashboard Operations

Dashboard creation, sharing, widget linking, template management, and access control for visualizing and interacting with IoT data.

Core Imports

from iot_api_client.api import DashboardsV2Api
from iot_api_client.models import (
    Dashboardv2,
    ArduinoDashboardv2,
    ArduinoDashboardv2template,
    Sharerequest,
    Widgetlink,
    Clone
)

Capabilities

Dashboard CRUD Operations

Core dashboard management operations for creating, reading, updating, and deleting dashboards.

class DashboardsV2Api:
    def dashboards_v2_create(self, dashboardv2: Dashboardv2, x_organization: str = None) -> ArduinoDashboardv2:
        """
        Create a new dashboard.

        Args:
            dashboardv2: Dashboard creation payload
            x_organization: Organization ID for organization-level access

        Returns:
            ArduinoDashboardv2: Created dashboard object
        """

    def dashboards_v2_list(self, x_organization: str = None) -> List[ArduinoDashboardv2]:
        """
        Returns the list of dashboards.

        Args:
            x_organization: Organization ID for organization-level access

        Returns:
            List[ArduinoDashboardv2]: List of dashboard objects
        """

    def dashboards_v2_show(self, id: str, x_organization: str = None) -> ArduinoDashboardv2:
        """
        Show dashboard details.

        Args:
            id: Dashboard ID
            x_organization: Organization ID for organization-level access

        Returns:
            ArduinoDashboardv2: Dashboard object
        """

    def dashboards_v2_update(self, id: str, dashboardv2: Dashboardv2, x_organization: str = None) -> ArduinoDashboardv2:
        """
        Updates a dashboard.

        Args:
            id: Dashboard ID
            dashboardv2: Dashboard update payload
            x_organization: Organization ID for organization-level access

        Returns:
            ArduinoDashboardv2: Updated dashboard object
        """

    def dashboards_v2_delete(self, id: str, x_organization: str = None) -> None:
        """
        Delete a dashboard.

        Args:
            id: Dashboard ID
            x_organization: Organization ID for organization-level access
        """

Dashboard Cloning

Clone existing dashboards with their widgets and configurations.

class DashboardsV2Api:
    def dashboards_v2_clone(self, dashboard_id: str, x_organization: str = None) -> ArduinoDashboardv2:
        """
        Clone a dashboard.

        Args:
            dashboard_id: Dashboard ID to clone
            x_organization: Organization ID for organization-level access

        Returns:
            ArduinoDashboardv2: Cloned dashboard object
        """

Dashboard Sharing

Share dashboards with other users and manage access permissions.

class DashboardsV2Api:
    def dashboards_v2_share(self, id: str, sharerequest: Sharerequest, x_organization: str = None) -> None:
        """
        Share a dashboard.

        Args:
            id: Dashboard ID
            sharerequest: Share request payload
            x_organization: Organization ID for organization-level access
        """

    def dashboards_v2_list_shares(self, id: str, x_organization: str = None) -> List[ArduinoDashboardshare]:
        """
        List users that have access to the dashboard.

        Args:
            id: Dashboard ID
            x_organization: Organization ID for organization-level access

        Returns:
            List[ArduinoDashboardshare]: List of users with access
        """

    def dashboards_v2_request_access(self, id: str, sharerequest: Sharerequest, x_organization: str = None) -> None:
        """
        Request access to a dashboard.

        Args:
            id: Dashboard ID
            sharerequest: Access request payload
            x_organization: Organization ID for organization-level access
        """

    def dashboards_v2_delete_share(self, id: str, user_id: str, x_organization: str = None) -> None:
        """
        Delete a dashboard share.

        Args:
            id: Dashboard ID
            user_id: User ID to remove access from
            x_organization: Organization ID for organization-level access
        """

Widget Management

Link widget variables to thing properties for dynamic data visualization.

class DashboardsV2Api:
    def dashboards_v2_link(self, id: str, widget_id: str, widgetlink: Widgetlink, x_organization: str = None) -> None:
        """
        Link widget variables to thing properties.

        Args:
            id: Dashboard ID
            widget_id: Widget ID to link
            widgetlink: Widget link configuration
            x_organization: Organization ID for organization-level access
        """

Dashboard Templates

Generate and manage dashboard templates.

class DashboardsV2Api:
    def dashboards_v2_template(self, id: str, x_organization: str = None) -> ArduinoDashboardv2template:
        """
        Get dashboard template.

        Args:
            id: Dashboard ID
            x_organization: Organization ID for organization-level access

        Returns:
            ArduinoDashboardv2template: Dashboard template
        """

Usage Examples

Creating a Dashboard

from iot_api_client.models import Dashboardv2

dashboard_data = Dashboardv2(
    name="My IoT Dashboard",
    description="Temperature monitoring dashboard",
    widgets=[]
)

dashboard = dashboards_api.dashboards_v2_create(dashboard_data)
print(f"Created dashboard: {dashboard.name} (ID: {dashboard.id})")

Sharing a Dashboard

from iot_api_client.models import Sharerequest

share_request = Sharerequest(
    message="Please access this dashboard",
    user_id="user@example.com"
)

dashboards_api.dashboards_v2_share("dashboard-id", share_request)

Linking Widget to Property

from iot_api_client.models import Widgetlink

widget_link = Widgetlink(
    thing_id="thing-id",
    property_id="property-id",
    variable_name="temperature"
)

dashboards_api.dashboards_v2_link("dashboard-id", "widget-id", widget_link)

Cloning a Dashboard

cloned_dashboard = dashboards_api.dashboards_v2_clone("original-dashboard-id")
print(f"Cloned dashboard: {cloned_dashboard.name}")

Types

class Dashboardv2:
    name: str
    description: str
    widgets: List[ArduinoWidgetv2]

class ArduinoDashboardv2:
    created_at: datetime
    description: str
    href: str
    id: str
    name: str
    organization_id: str
    owner_id: str
    shared_by: List[ArduinoDashboardshare]
    updated_at: datetime
    user_id: str
    widgets: List[ArduinoWidgetv2]

class ArduinoDashboardv2template:
    name: str
    description: str
    widgets: List[ArduinoWidgetv2template]

class Sharerequest:
    message: str
    user_id: str

class Widgetlink:
    thing_id: str
    property_id: str
    variable_name: str

class ArduinoWidgetv2:
    height: int
    id: str
    name: str
    options: Dict[str, Any]
    type: str
    variables: List[ArduinoLinkedvariable]
    width: int
    x: int
    y: int

Install with Tessl CLI

npx tessl i tessl/pypi-arduino-iot-client

docs

dashboards.md

devices.md

index.md

lora.md

properties.md

series.md

things.md

tile.json