Skip to main content

A package to control Midea CCM15 data converter modules

Project description

py-ccm15

Python Library to access a Midea CCM15 data converter

This package provides an asynchronous interface to communicate with Midea CCM15 data converter modules. It allows you to control and monitor air conditioning units via the CCM15 gateway using Python.

Features

  • Read and set temperature
  • Control fan mode and AC mode
  • Async support for non-blocking operations
  • Communicate with CCM15 over HTTP

Installation

pip install py-ccm15

Usage

import asyncio
from py_ccm15 import CCM15Client

async def main():
    client = CCM15Client(host="192.168.1.100", token="your_token_here")
    status = await client.get_status()
    print(status)

    await client.set_state(ac_mode="cool", fan_mode="auto", temperature=24)

asyncio.run(main())

Requirements

  • Python 3.7+
  • httpx>=0.24.1
  • xmltodict>=0.13.0

Documentation

For full API reference and advanced usage, visit the GitHub repository.

Contributing

Pull requests are welcome. If you find a bug or have a feature request, feel free to open an issue.

Acknowledgements

The CCM15 wire protocol implemented here — the status.xml byte decoding and the HVAC/fan mode command mappings — was originally derived from the houselabs/home-assistant-mideaccm Home Assistant custom component (originally authored by Chao Shen). This library re-implements that protocol as a standalone, async package. Thanks to the original authors for reverse-engineering the controller protocol.

Thanks also to daxingplay/home-assistant-midea-ccm15, an independent CCM15 Home Assistant component whose status.xml decoding and ctrl.xml command handling were a valuable second reference for validating this library's wire protocol.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Made by Oscar Calvo

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

py_ccm15-0.6.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

py_ccm15-0.6.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file py_ccm15-0.6.0.tar.gz.

File metadata

  • Download URL: py_ccm15-0.6.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for py_ccm15-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5897e14264fb4120afcd0f7db105ed5fbc4942370016139fe9a7347f6fa41240
MD5 426e1795317f5145b05a7a29a6543e1c
BLAKE2b-256 925fe72fbaaeb640e30edf28dd98e54e373dc1a968c00d106c4b4215cdd0e836

See more details on using hashes here.

File details

Details for the file py_ccm15-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: py_ccm15-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for py_ccm15-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1be275a6a4dfc0e0c15632b8b336db99e737ab8c3079c7bafafa79b8f5dc8e1a
MD5 973f4afe67b2e75d74b4a13fc8a2a32d
BLAKE2b-256 0fdc62915406c0ac9834263a4ae20bf53a90d51cae0e6659e187429d8e59ff70

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