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.2.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.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sharp_cocoro-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 bf3f1eda59fc34ecc2f338147378ef9bae0335503aa400cc3004b7eff95176af
MD5 48fb7de4330dc30fcda111aa92b696cf
BLAKE2b-256 4c04d5783246ff8cd4d08eb07651bf8f4d29a6ed0943dbdddb1a5b7e5a30574c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sharp_cocoro-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 483379f0ba19003824f946766b82c063c3f8ff65904bff8b1986b5fd4fa1dae3
MD5 34ffdc9475690dd4bd9a034cd31b1a5a
BLAKE2b-256 91d6ce2c1db09b3c97907c815f6ddf4906540a2c425e338ff6ce0233ee562d89

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