Skip to main content

PyPI - License PyPI - Downloads PyPI - Version

Test Python package Pylint codecov GitHub Pull Requests GitHub Issues

PyDaikin

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.

Supported Devices

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

Quick Start

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 Support

Firmware version 2.8.0 introduces a different API structure compared to earlier versions. PyDaikin automatically detects and handles this firmware version.

API structure

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: 2 entries (indoor unit, outdoor unit, weekly energy and adapter info).
  • Writes are op: 3 entries that walk the dgc_status tree down to the parameter to change.

Full request/response examples are in docs/sample_requests/brp084/.

Power semantics

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 off
  • device.set({'mode': 'cool'}) turns the unit on and switches mode
  • device.set({'stemp': 25.0}) sets the temperature only; a powered-off unit stays off

Supported features

  • 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) and swing
  • 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
  • Auto mode without a setpoint - some units (e.g. the Urusara X, model W-SRTA322F) only expose cool/hot setpoints and report no auto setpoint (e_3001/p_1D); the target temperature then degrades to -- instead of failing init() (issue #72)

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.

Unsupported Devices

The following device and firmware combinations are not currently supported:

  • BRP069C4x with firmware version 2.0.0

About

PyDaikin was originally created by Yari Adan and is currently maintained by Fredrik Erlandsson.

Metadata

Release files for pydaikin 2.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydaikin 2.21.0
File Size Uploaded Provenance
pydaikin-2.21.0.tar.gz 86.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pydaikin 2.21.0
File Interpreter ABI Platform
pydaikin-2.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 139.5 kB

Release files / pydaikin-2.21.0.tar.gz

Download URL pydaikin-2.21.0.tar.gz
Size 86.4 kB
Tags Source
SHA-256 checksum
How to use checksums
240bc9c089e3cb20881e09b13481ae26c201c9d2f2a89aa552fe6aea446d44c2
BLAKE2b-256 checksum
How to use checksums
0c32e0e97ee41567c1f9b50d06212b7b7f0e89f70923ced15b8839b7c6eaa449
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / pydaikin-2.21.0-py3-none-any.whl

Download URL pydaikin-2.21.0-py3-none-any.whl
Size 53.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5d882061e9438f9a6574293430a5c97349b97e5eb315618c607a00b2eb01ad0
BLAKE2b-256 checksum
How to use checksums
e91860a1e32bd66ff5801163c13b14078a8fd444462c6725d0076e2d53aabbe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for pydaikin 2.21.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pydaikin-2.21.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

2.21.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page