Skip to main content

Python3 library for Daikin (DKN) Airzone Cloud API

Project description

Airzone Cloud Daikin

Presentation

Abstract

Allow to communicate easily with Daikin Airzone Cloud to retrieve information or to send commands (on/off, temperature, HVAC mode, ...)

This API is specific to Daikin implementation (try to connect to dkn.airzonecloud.com to be sure).

If you are looking for the main Airzone Cloud API (try to connect to www.airzonecloud.com), you should use this package : AirzoneCloud

Module classes

  • AirzoneCloudDaikin : represent your Daikin AirzoneCloud account. Contains a list of your installations :
    • Installation: represent one of your installation (like your home, an office, ...). Contains a list of its devices :
      • Device : represent your climate equipement to control

Usage

Install

pip3 install AirzoneCloudDaikin

Start API

from AirzoneCloudDaikin import AirzoneCloudDaikin
api = AirzoneCloudDaikin("email@domain.com", "password")

Get installations

for installation in api.installations:
    print(
        "Installation(name={}, type={}, scenary={}, id={})".format(
            installation.name, installation.type, installation.scenary, installation.id
        )
    )

Output :

Installation(name=My home, type=home, scenary=occupied, id=5d592c14646b6d798ccc2aaa)

Get devices from installations

for installation in api.installations:
    for device in installation.devices:
        print(
            "Device(name={}, is_on={}, mode={}, current_temp={}, target_temp={}, id={}, mac={})".format(
                device.name,
                device.is_on,
                device.mode,
                device.current_temperature,
                device.target_temperature,
                device.id,
                device.mac,
            )
        )

Output :

Device(name=Dknwserver, is_on=False, mode=cool, current_temp=25.0, target_temp=26.0, id=5ab1875a651241708814575681, mac=AA:BB:CC:DD:EE:FF)

Get all devices shortcut

for device in api.all_devices:
    print(
        "Device(name={}, is_on={}, mode={}, current_temp={}, target_temp={}, id={}, mac={})".format(
            device.name,
            device.is_on,
            device.mode,
            device.current_temperature,
            device.target_temperature,
            device.id,
            device.mac,
        )
    )

Output :

Device(name=Dknwserver, is_on=False, mode=cool, current_temp=25.0, target_temp=26.0, id=5ab1875a651241708814575681, mac=AA:BB:CC:DD:EE:FF)

Control a device

device = api.all_devices[0]
print(device)

# start device
device.turn_on()

# set temperature
device.set_temperature(26)

print(device)

# stopping device
device.turn_off()

print(device)

Output :

Device(name=Dknwserver, is_on=False, mode=cool, current_temp=25.0, target_temp=30.0)
Device(name=Dknwserver, is_on=True, mode=cool, current_temp=25.0, target_temp=26.0)
Device(name=Dknwserver, is_on=False, mode=cool, current_temp=25.0, target_temp=26.0)

HVAC mode

Available modes

  • cool : Cooling mode
  • heat : Heating mode
  • ventilate : Ventilation
  • dehumidify : Dry
  • heat-cold-auto : Auto heat/cold mode

Set HVAC mode on a system (and its sub-zones)

device = api.all_devices[0]
print(device)

# set mode to heat
device.set_mode("heat")

print(device)

Output :

Device(name=Dknwserver, is_on=False, mode=cool, current_temp=25.0, target_temp=26.0)
Device(name=Dknwserver, is_on=False, mode=heat, current_temp=25.0, target_temp=23.0)

:warning: Daikin climate equipment has 2 consigns : one for heat & one of cold. Its visible in the previous example, the target temperature has change from 26 to 23 just by changing the mode from cool to heat. So don't forget to do your set_temperature() AFTER the set_mode() and not before

API doc

API full doc

Constructor

AirzoneCloudDaikin(username, password, user_agent=None, base_url=None)
  • username : you're username used to connect on Daikin Airzone Cloud website or app
  • password : you're password used to connect on Daikin Airzone Cloud website or app
  • user_agent : allow to change default user agent if set
  • base_url : allow to change base url of the Daikin Airzone Cloud API if set

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

AirzoneCloudDaikin-0.4.0.tar.gz (8.0 kB view details)

Uploaded Source

File details

Details for the file AirzoneCloudDaikin-0.4.0.tar.gz.

File metadata

  • Download URL: AirzoneCloudDaikin-0.4.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for AirzoneCloudDaikin-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0c33dae16c92e4ef7c302cf694652823c81ee2de070493d8a5d3899feaea3462
MD5 bde8e7074dc6669b8b6933c2e7e40160
BLAKE2b-256 6b8d9d7b4f7f410093ce53006c978e595d8a7d15165bca1a8bc31e8db698f5c1

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