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
- 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
- Installation: represent one of your installation (like your home, an office, ...). Contains a list of its devices :
pip3 install AirzoneCloudDaikin
from AirzoneCloudDaikin import AirzoneCloudDaikin
api = AirzoneCloudDaikin("[email protected]", "password")
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)
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)
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)
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)
- cool : Cooling mode
- heat : Heating mode
- ventilate : Ventilation
- dehumidify : Dry
- heat-cold-auto : Auto heat/cold mode
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)
⚠️ 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
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
- default value : https://dkn.airzonecloud.com