Skip to main content

A async client for interacting with the MELCloud API

Project description

Project Name: asyncio-melcloud-lib

Description:

This project is a Python library that provides an asynchronous interface for interacting with the MelCloud API. It allows users to control and monitor Mitsubishi Electric air conditioning units remotely using asyncio.

Features:

  • Asynchronous API calls for improved performance and responsiveness.
  • Support for authentication and authorization with the MelCloud API.
  • Ability to control and monitor multiple air conditioning units.
  • Comprehensive documentation and examples for easy integration.

Installation:

To install the asyncio-melcloud-lib library, simply run the following command:

pip install melcloudlibasyncio

Usage:

To get started with the asyncio-melcloud-lib library, import it into your Python project:

import melcloudlibasyncio

Then, create an instance of the MelCloudClient class and authenticate with your MelCloud credentials:

client = melcloudlibasyncio.MelCloudClient(username='your_username', password='your_password')
await client.login()

Once authenticated, you can use the various methods provided by the library to control and monitor your air conditioning units.

Examples:

Here are a few examples to help you get started:

  • Get a list of all available devices:
devices = await client.get_devices()
  • Set the temperature of a specific device:
await client.set_temp(device_id='device_id', temperature=22)
  • Example of complete code (Login and turns off the device):
import asyncio
from lib.melcloud.devices import Device
from lib.melcloud.melcloudclient import MelcloudClient
from lib.melcloud.jsongenerator import OperationMode
import logging

basicConfig = logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')


client = MelcloudClient("your_undername", "your_password")

async def main():
    logging.debug(await client.login())
    await client.get_devices()
    await client.set_device_settings()
    for device in client.devices:
       await client.change_power_state(device.device_id, "true") # <---- set this to false to turn off the device
    await client.close()

if __name__ == "__main__":
    asyncio.run(main())

For more examples and detailed documentation, please refer to the official documentation.

Contributing:

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request on the GitHub repository.

License:

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

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

melcloudlibasyncio-1.1.1.dev0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

melcloudlibasyncio-1.1.1.dev0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file melcloudlibasyncio-1.1.1.dev0.tar.gz.

File metadata

File hashes

Hashes for melcloudlibasyncio-1.1.1.dev0.tar.gz
Algorithm Hash digest
SHA256 ec693ccbce7db8451f399979bed2436209c4d1d500787a9ca8bea8060ebe009d
MD5 e66083dfa9bffae8e3448187b14bd13c
BLAKE2b-256 324c6feaeb13f915e96a73a35379488ea884abdb24f2cc2de94b4d3f4f65f6de

See more details on using hashes here.

File details

Details for the file melcloudlibasyncio-1.1.1.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for melcloudlibasyncio-1.1.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 a593db69603a8647d5e0eae5937c537b6aba63b35f125e527bcda09c74f04bb6
MD5 1f3d4c5155505021f8d2435b8e84e007
BLAKE2b-256 20bb7036631066725917ddb15a2d03f887ad6890bcef151f59218a72102cde2b

See more details on using hashes here.

Supported by

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