Skip to main content

A Python SDK for the Cocoro API

Project description

Sharp Cocoro Air SDK in python

Basically a quick and dirty conversion of https://github.com/dvcrn/cocoro-sdk/ into python. Probably some bugs along the way.

Installation

uv add sharp-cocoro

Or install from source:

git clone https://github.com/dvcrn/sharp-cocoro
cd sharp-cocoro
uv sync

Usage:

For auth, read: https://github.com/dvcrn/cocoro-sdk/tree/master?tab=readme-ov-file#authentication

async def main():
    app_secret = ''
    app_key = ''
    # iClub is the default service name, you can also leave it out
    async with Cocoro(app_secret=app_secret, app_key=app_key) as cocoro:
        await cocoro.login()
        devices = await cocoro.query_devices()
        device = devices[0]


        all_props = device.get_all_properties()
        for prop in all_props:
            print(prop)

        if isinstance(device, Aircon):
            aircon = device

            print("power state")
            print(device.get_power_status())

            device.queue_temperature_update(23.5)
            aircon.queue_power_on()
            device.queue_property_status_update(aircon.get_property_status(StatusCode.OPERATION_MODE))

            print(await cocoro.execute_queued_updates(aircon))
        else:
            print("The first device is not an Aircon")

# Run the async function
asyncio.run(main())

To get a property:

# example: get the operation mode
status = device.get_property_status(StatusCode.OPERATION_MODE.value)
assert isinstance(status, SinglePropertyStatus)
print(ValueSingle(status.valueSingle['code'])) # returns the operation mode

To set it:

device.queue_property_status_update(ValueSingle.OPERATION_COOL)
await cocoro.execute_queued_updates(device)

To get an overview of all properties available

device.dump_all_properties()

# 動作状態 (80): ON (30), set=True get=True options=['ON', 'OFF']
# 冷房モード時温度設定値 (B5): None, set=True get=True
# ...

Each property also includes information on

  • It's type (binary, single, range)
  • Whether it is settable or gettable
  • And options that are allowed. In the example above, we can set the power mode only to ON or OFF

License

MIT

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

sharp_cocoro-0.2.3.tar.gz (4.7 MB view details)

Uploaded Source

Built Distribution

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

sharp_cocoro-0.2.3-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file sharp_cocoro-0.2.3.tar.gz.

File metadata

  • Download URL: sharp_cocoro-0.2.3.tar.gz
  • Upload date:
  • Size: 4.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for sharp_cocoro-0.2.3.tar.gz
Algorithm Hash digest
SHA256 adcc5503c9631b1f6c4f215a5cd1126182ffb5bfb3f4e0aebc77c90c4e871757
MD5 648fb86c7ecbe3c707fa4ea20233ebb3
BLAKE2b-256 4d9b499080be27e60e1f9e4597f5ab5dfd48a4b86c7648e482df8aac111001db

See more details on using hashes here.

File details

Details for the file sharp_cocoro-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sharp_cocoro-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 24b3574b264e89119d1ffa1145125b279968018138eb06aeecbd3f8bfd71ca38
MD5 056877daadc8ea808516d04235dcccbb
BLAKE2b-256 1f33665d3d7764e9e085bd6503bdeedf93b207632f36607e661c879cdc77442b

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