Skip to main content

A Python library for communicating with the ConnectLife API

Project description

Python library for ConnectLife API

Used by devices from Hisense, Gorenje, ASKO & ATAG and ETNA Connect.

The goal of this library is to support a native Home Assistant integration for devices that uses the ConnectLife API.

The code is based on Connectlife API proxy / MQTT Home Assistant integration (MIT license).

Software is provided as is - use at your own risk. There is probably no way to harm your physical devices, but there is no guarantee that you don't experience other problems, for instance locking your ConnectLife account.

Licensed under GPLv3.

To test out the library (users in Russia/CIS may need to pass the --trir option):

pip install connectlife
python -m connectlife.dump --username <username> --password <password> [--trir]

This will log in to the ConnectLife API using the provided username and password, and write a JSON file with all returned fields for each appliance that is registered with the account. Pass --format dd to instead write a mapping file YAML skeleton to be used with connectlife-ha.

Note: the property set a device reports is not authoritative. A device may report properties it does not actually support (and may omit ones its feature code defines), so two units with the same device type/feature code can report different properties. Treat dumps as a starting point for a mapping, not ground truth — cross-check controls against the device or the ConnectLife app.

To instead dump each appliance's energy statistics (both the air_duct_energy and energyConsumptionCurve endpoints), use --query energy:

python -m connectlife.dump --username <username> --password <password> --query energy

To dump each appliance's per-device static data (the query_static_data endpoint, keyed by puid), use --query static:

python -m connectlife.dump --username <username> --password <password> --query static

Because it's keyed by the device's puid, the response can differ between two physical models that report the same device type/feature code. The response echoes the puid, so the dump redacts the puid, wifi_id and device_id — but the schema is gateway-defined and may contain other identifiers, so review each file before sharing. (For the per-feature-code property list, use --query property-list below.)

To fetch the property list for a specific device type and feature code (any code, not just ones on your account), use --query property-list:

python -m connectlife.dump --username <username> --password <password> \
    --query property-list --device-type-code <type-code> --device-feature-code <feature-code>

The Home Assistant integration is currently in discovery phase. Please contribute your device dumps to help the development.

Test server

To use the test server to support developing the Home Assistant integration, clone this repo and see DEVELOPMENT.md:

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-0.10.0.tar.gz (159.4 kB view details)

Uploaded Source

Built Distribution

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

connectlife-0.10.0-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file connectlife-0.10.0.tar.gz.

File metadata

  • Download URL: connectlife-0.10.0.tar.gz
  • Upload date:
  • Size: 159.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.23

File hashes

Hashes for connectlife-0.10.0.tar.gz
Algorithm Hash digest
SHA256 e728f50a02ef59128c7fd99f05fd68523b7604f97c134b23b806ac58949d999e
MD5 3a412e2b97403f951701dbcfdcbc40a5
BLAKE2b-256 1a116a1b12a905dae2c67eab74936c78c51f05a1bc5cef3b5f94dc9ff25de24d

See more details on using hashes here.

File details

Details for the file connectlife-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for connectlife-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1475d87e5c1c6bcb3f4a76799ebf675a7a547dfd699141ae459641c2f31438a9
MD5 84498365fb384109d7174e8e8a7fbc30
BLAKE2b-256 e67ff96bb6c25042338d35222c0e0b5d3098e8ffe3ab9546ce75fe2eccbd77d9

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