PyDaikin is a Python library for controlling Daikin air conditioners. It provides both a standalone command-line interface and a Python API for integrating Daikin AC control into your applications.
The following Daikin WiFi modules are currently supported:
- BRP069Axx/BRP069Bxx/BRP069B4x/BRP072Axx - Standard WiFi adapters
- BRP15B61 (AirBase) - Uses a similar protocol to BRP069Axx
- BRP072B/Cxx - Requires HTTPS access and an authentication key
- BRP084 - Devices with firmware version 2.8.0 (uses a different API structure)
- SKYFi - Uses a different protocol and requires a password
Here's a simple example for connecting to a Daikin air conditioner:
import asyncio
import logging
import aiohttp
from pydaikin.daikin_base import Appliance
from pydaikin.factory import DaikinFactory
HOST = "10.1.1.21"
logging.basicConfig(level=logging.INFO)
_LOGGER = logging.getLogger(__name__)
async def main():
async with await DaikinFactory(HOST) as device:
await device.update_status()
device.show_sensors()
if __name__ == "__main__":
asyncio.run(main())The DaikinFactory automatically detects your device type and firmware version, creating the appropriate device instance.
Firmware version 2.8.0 introduces a different API structure compared to earlier versions. PyDaikin automatically detects and handles this firmware version.
Unlike the older CGI-based adapters (BRP069 family), firmware 2.8.0 exposes a single JSON endpoint, POST /dsiot/multireq:
- Status reads are batch requests containing four
op: 2entries (indoor unit, outdoor unit, weekly energy and adapter info). - Writes are
op: 3entries that walk thedgc_statustree down to the parameter to change.
Full request/response examples are in docs/sample_requests/brp084/.
The behaviour of device.set(...) was validated against the unit's behaviour (see tests/test_daikin_brp084.py):
device.set({})turns the unit on (the Home Assistant toggle-switch path)device.set({'mode': 'off'})turns the unit offdevice.set({'mode': 'cool'})turns the unit on and switches modedevice.set({'stemp': 25.0})sets the temperature only; a powered-off unit stays off
- Comfort airflow, Econo, Outdoor-quiet and Powerful toggles - Powerful and the trio (Comfort/Econo/Outdoor-quiet) are mutually exclusive, matching the remote's last-button-pressed-wins behaviour
- Discrete vertical vane control -
off,down(floor) andswing - Swing on the vertical and horizontal axes, per mode
- Sensors - indoor/outdoor temperature, humidity, compressor temperature, decoded indoor/outdoor model strings and adapter firmware/API version
- Energy data - daily runtime and weekly consumption
- Sub-zero outdoor temperatures - sensor values are decoded as little-endian signed hex, so negative readings are handled correctly
Confirmed working with:
- FTKM20YVMA
- FTXM46WVMA
- FTXV80WVMA
- FTXA25C2V1BW
- FTXA50C2V1BW
If you have a device with firmware 2.8.0 that is not working correctly, please open an issue with your device model and debug logs.
The following device and firmware combinations are not currently supported:
- BRP069C4x with firmware version 2.0.0
PyDaikin was originally created by Yari Adan and is currently maintained by Fredrik Erlandsson.