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.1.tar.gz (4.6 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.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sharp_cocoro-0.2.1.tar.gz
Algorithm Hash digest
SHA256 42c5a571e7ecfed2088c512fd20483a0c0428a34791115fdc4e100c0dcf937e1
MD5 4d86d1a291738e6e500c649ea8e9a39f
BLAKE2b-256 f59135748a1de2016c0ee08092424077d26d526c7c996a5edd7ed2054c47a77a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sharp_cocoro-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b70f049b70c63c6396e4939362627a5d0dc5ea95d55694e23479f449e480cef6
MD5 d30075f8db425541e4f8895163691531
BLAKE2b-256 f84159bae5cb90b407ee4c2d3a331d000f3d7681147a60bb28634cde463c2735

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