Skip to main content

ConnectLife Cloud API client library for Home Assistant integrations

Project description

ConnectLife Cloud API Client

A Python client library for the ConnectLife Cloud API, designed for Home Assistant integrations.

Features

  • Async/await support
  • Full type hints
  • Comprehensive error handling
  • Device management
  • Real-time status updates
  • Power consumption tracking
  • Self-check diagnostics

Installation

pip install connectlife-cloud

Usage

import asyncio
from connectlife_cloud import ConnectLifeCloudClient

async def main():
    client = ConnectLifeCloudClient(
        client_id="your_client_id",
        client_secret="your_client_secret"
    )
    
    try:
        # Get devices
        devices = await client.get_devices(access_token="your_token")
        print(f"Found {len(devices)} devices")
        
        # Control a device
        result = await client.control_device(
            puid="device_puid",
            properties={"power": True, "mode": "cool"},
            access_token="your_token"
        )
        print(f"Control result: {result}")
        
    finally:
        await client.close()

asyncio.run(main())

API Reference

ConnectLifeCloudClient

The main client class for interacting with the ConnectLife Cloud API.

Methods

  • get_devices(access_token): Get list of devices
  • control_device(puid, properties, access_token): Control a device
  • get_property_list(device_type_code, device_feature_code, access_token): Get device properties
  • query_static_data(puid, access_token): Query static device data
  • get_hour_power(date, puid, access_token): Get hourly power consumption
  • get_self_check(no_record, puid, access_token): Get device self-check info
  • get_devices_with_parsers(access_token): Get devices with their parsers
  • parse_device_status(device_id, status): Parse device status using appropriate parser

Mode Converter

Utilities for converting device mode descriptions (Chinese or English) to standard Home Assistant strings.

HVAC Mode Functions:

  • convert_mode_to_ha_string(mode_description): Convert HVAC mode description to HA standard string
  • get_ha_mode_string(value_map, device_value): Get HA HVAC mode string from device value map
  • find_device_value_for_ha_mode(value_map, ha_mode_string): Find device value for given HA mode (reverse lookup)

Fan Mode Functions:

  • convert_fan_mode_to_ha_string(fan_description): Convert fan mode description to HA standard string
  • get_ha_fan_mode_string(value_map, device_value): Get HA fan mode string from device value map
  • find_device_value_for_ha_fan_mode(value_map, ha_fan_mode_string): Find device value for given HA fan mode (reverse lookup)

The library handles bilingual support internally, converting Chinese descriptions (自动, 制冷, 制热, etc.) to standard English strings that can be directly used with Home Assistant enums like HVACMode("auto").

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

connectlife_cloud-0.3.9.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

connectlife_cloud-0.3.9-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file connectlife_cloud-0.3.9.tar.gz.

File metadata

  • Download URL: connectlife_cloud-0.3.9.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for connectlife_cloud-0.3.9.tar.gz
Algorithm Hash digest
SHA256 4a33a1afaecb87f6995770a6cc0709fa79e57337f8ba0c958f2ad31d1161a0d2
MD5 e9238cfae9ea1da23cda85517fce25f9
BLAKE2b-256 53fcc4854d54b674327277ab5acdc7a1fd293221dd79e2b9857771a163b356a6

See more details on using hashes here.

File details

Details for the file connectlife_cloud-0.3.9-py3-none-any.whl.

File metadata

File hashes

Hashes for connectlife_cloud-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 124f263993de64a73d6ff0a40d8626c20a0ee4e30466bfaf3fd0d525aee6d6e6
MD5 33e835fac04b639f5f0224923414da0c
BLAKE2b-256 8853c4d6fe8baeacfc946b4c21a7702d71eae802e6e7f82322b326f4f0e3b9f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page