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

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydaikin-2.18.5.tar.gz (76.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydaikin-2.18.5-py3-none-any.whl (49.3 kB view details)

Uploaded Python 3

File details

Details for the file pydaikin-2.18.5.tar.gz.

File metadata

  • Download URL: pydaikin-2.18.5.tar.gz
  • Upload date:
  • Size: 76.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pydaikin-2.18.5.tar.gz
Algorithm Hash digest
SHA256 6fe412e4118c08a4bf6d08419431dc227546cdf5d25295dd03758b304dd3caf7
MD5 b83e7295076eacc5a1ac7d829c4c9aa2
BLAKE2b-256 8d726e9912d5234692d064f5d192d956064c112a00ba1ec1839e8538b80051ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydaikin-2.18.5.tar.gz:

Publisher: release.yml on fredrike/pydaikin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydaikin-2.18.5-py3-none-any.whl.

File metadata

  • Download URL: pydaikin-2.18.5-py3-none-any.whl
  • Upload date:
  • Size: 49.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pydaikin-2.18.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0d6e2ad92496f17c3ef21f449a94e982bff947ce965fe17db99f1e496a76f171
MD5 3dd8db80231e0ec4cec06a849318a9c0
BLAKE2b-256 9863fee2fdb44c413e199772ba8d88d835d18fcf6e6000ad1cb9dd109d43fd78

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydaikin-2.18.5-py3-none-any.whl:

Publisher: release.yml on fredrike/pydaikin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.19.1

2 files

2.19.0

2 files

This release

2.18.5 This release

2 files

2.18.4

2 files

2.18.3

2 files

2.18.2

2 files

2.18.1

2 files

2.18.0

2 files

2.17.2

2 files

2.17.1

2 files

2.17.0

2 files

2.16.1

2 files

2.16.0

2 files

2.15.0

2 files

2.14.1

2 files

2.14.0

2 files

2.13.8

2 files

2.13.7

2 files

2.13.6

2 files

2.13.5

1 file

2.13.4

2 files

2.13.3

1 file

2.13.2

1 file

2.13.1

1 file

2.13.0

1 file

2.12.0

1 file

2.11.1

1 file

2.11.0

1 file

2.10.6

1 file

2.10.5

1 file

2.10.4

1 file

2.10.3

1 file

2.10.2

1 file

2.10.1

1 file

2.10.0

1 file

2.9.1

1 file

2.9.0

1 file

2.8.0

1 file

2.7.2

1 file

2.7.1

1 file

2.7.0

1 file

2.6.2

1 file

2.6.1

1 file

2.6.0

1 file

2.5.0

1 file

2.4.4

1 file

2.4.3

1 file

2.4.2

1 file

2.4.1

1 file

2.4.0

1 file

2.3.1

1 file

2.3.0

1 file

2.2.0

1 file

2.1.4

1 file

2.1.3

1 file

2.1.2

1 file

2.1.1

1 file

2.1.0

1 file

2.0.5

1 file

2.0.4

1 file

2.0.3

1 file

2.0.2

1 file

2.0.1

1 file

2.0.0

1 file

1.6.3

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.6

1 file

1.4.5

1 file

1.4.4

1 file

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.9.1

2 files

0.9

2 files

0.8

2 files

0.7

2 files

0.6

2 files

0.5

1 file

0.4

1 file

0.3

1 file

0.1

1 file

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