Gecko IoT Client Documentation

Welcome to the Gecko IoT Client documentation! This library provides a Python client for interacting with Gecko IoT devices through AWS IoT integration.

Overview

The Gecko IoT Client is a comprehensive Python library that allows you to:

  • Connect to and control Gecko IoT devices

  • Manage different types of zones (temperature, flow, lighting)

  • Handle real-time state updates via MQTT

  • Integrate with AWS IoT Device Shadow service

Quick Start

from gecko_iot_client import GeckoIotClient
from gecko_iot_client.transporters.mqtt import MqttTransporter

# Create transporter with WebSocket URL (recommended)
broker_url = 'wss://your-endpoint.iot.us-east-1.amazonaws.com/mqtt?x-amz-customauthorizer-name=YourAuthorizer&token=your_token&x-amz-customauthorizer-signature=your_signature'
transporter = MqttTransporter(broker_url)

# Alternative: Certificate-based authentication
# transporter = MqttTransporter()
# transporter.connect(
#     broker_url="your-iot-endpoint.amazonaws.com",
#     cert_filepath="path/to/certificate.pem.crt",
#     pri_key_filepath="path/to/private.pem.key",
#     ca_filepath="path/to/AmazonRootCA1.pem"
# )

# Create and use client
with GeckoIotClient("your-device-id", transporter) as client:
    zones = client.get_zones()
    print(f"Found {len(zones)} zone types")

Installation

pip install gecko-iot-client

# For development with documentation tools
pip install gecko-iot-client[docs,dev]

Contents

Indices and tables