Skip to content

BRP069C8x firmware 2.3.0 detected via /common/basic_info but unsupported: /dsiot and /aircon control endpoints return 404 #116

Description

@eloimuns

Description

I have a Daikin air conditioner equipped with a BRP069C8x Wi-Fi adapter.

The adapter was automatically updated through ONECTA to firmware 2.3.0 less than one month ago.

I am trying to add it to Home Assistant using the official Daikin AC integration, which relies on pydaikin. The device is reachable over the local network and responds successfully to some informational endpoints, but Home Assistant cannot create the device and reports:

Error creating device, 192.168.50.10 is not supported.

From the debug logs, pydaikin first tries the newer /dsiot/multireq API, which returns 404 Not Found. It then falls back to the legacy BRP069 API. The legacy API can read /common/basic_info, /common/get_remote_method and /aircon/get_datetime, but all climate-control and sensor endpoints under /aircon/... return 404 Not Found.

I would like to know whether BRP069C8x firmware 2.3.0 uses another local API that is not currently implemented in pydaikin, or whether this adapter/firmware is expected to be cloud-only.


Environment

Item Value
Adapter model BRP069C8x
Firmware version 2.3.0
Region EU
Device type reported by adapter aircon
Device subtype reported by adapter qa
Adapter kind 4
Communication method polling
Device IP 192.168.50.10
Tested date 2026-05-27
Home Assistant integration Daikin AC

Working local endpoints

GET /common/basic_info

Request:

curl "http://192.168.50.10/common/basic_info"

Response:

ret=OK,type=aircon,subtype=qa,reg=eu,dst=1,ver=2_3_0,rev=F45236EA,pow=0,err=0,location=0,name=%44%61%69%6b%69%6e%20%52%45,icon=31,method=polling,port=30050,id=<redacted>,lpw_flag=0,adp_kind=4,pv=0,cpv=0,led=1,en_setzone=1,mac=<redacted>,ssid=<redacted>,adp_mode=ap_run,en_hol=0,grp_name=,en_grp=0,edid=<redacted>,sw_id=19002959,pw=,ssid1=<redacted>,radio1=-52

GET /common/get_remote_method

Request:

curl "http://192.168.50.10/common/get_remote_method"

Response:

ret=OK,method=polling,notice_ip_int=3600,notice_sync_int=10

GET /aircon/get_datetime

This endpoint is requested successfully by pydaikin during setup.

Responses recorded in the Home Assistant debug log:

ret=OK,sta=2,cur=2026/5/27 15:16:44,reg=eu,dst=1,zone=211
ret=OK,sta=2,cur=2026/5/27 15:16:45,reg=eu,dst=1,zone=211

Failing newer API endpoint

POST /dsiot/multireq

Manual request:

curl -i -X POST "http://192.168.50.10/dsiot/multireq" -H "Content-Type: application/json" -d "{\"requests\":[{\"op\":2,\"to\":\"/dsiot/edge/adr_0100.dgc_status?filter=pv,pt,md\"}]}"

Response:

HTTP/1.1 404 Not Found
Content-Type: text/plain
Content-Length: 31

pydaikin log:

INFO (MainThread) [pydaikin.daikin_brp084] Error communicating with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'
DEBUG (MainThread) [pydaikin.factory] Failed to communicate with firmware 2.8.0 endpoint: Failed to communicate with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'
DEBUG (MainThread) [pydaikin.factory] Not a firmware 2.8.0 device: Not a firmware 2.8.0 device: Failed to communicate with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'

Failing legacy BRP069 API endpoints

GET /aircon/get_control_info

Request:

curl "http://192.168.50.10/aircon/get_control_info"

Response:

Page Not Found
/aircon/get_control_info

Log:

DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_control_info

GET /aircon/get_sensor_info

Request:

curl "http://192.168.50.10/aircon/get_sensor_info"

Response:

Page Not Found
/aircon/get_sensor_info

Log:

DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_sensor_info

Additional endpoints requested by pydaikin that return 404 Not Found

DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_model_info
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_target
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_price
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/common/get_holiday
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/common/get_notify
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_day_power_ex
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_week_power
DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_year_power

GET /common/set_regioncode

Manual request:

curl "http://192.168.50.10/common/set_regioncode"

Response:

Page Not Found
/common/set_regioncode

The device already reports reg=eu from /common/basic_info.


Complete Home Assistant / pydaikin debug log

2026-05-27 15:16:46.046 INFO (MainThread) [pydaikin.daikin_brp084] Error communicating with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'
2026-05-27 15:16:46.046 DEBUG (MainThread) [pydaikin.factory] Failed to communicate with firmware 2.8.0 endpoint: Failed to communicate with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'
2026-05-27 15:16:46.046 DEBUG (MainThread) [pydaikin.factory] Not a firmware 2.8.0 device: Not a firmware 2.8.0 device: Failed to communicate with device: 404, message='Not Found', url='http://192.168.50.10/dsiot/multireq'
2026-05-27 15:16:46.046 DEBUG (MainThread) [pydaikin.factory] Trying connection to BRP069
2026-05-27 15:16:46.046 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['/common/basic_info']
2026-05-27 15:16:46.047 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/common/basic_info {} [{}]
2026-05-27 15:16:46.104 DEBUG (MainThread) [pydaikin.daikin_brp069] Parsing ret=OK,type=aircon,subtype=qa,reg=eu,dst=1,ver=2_3_0,rev=F45236EA,pow=0,err=0,location=0,name=%44%61%69%6b%69%6e%20%52%45,icon=31,method=polling,port=30050,id=<redacted>,lpw_flag=0,adp_kind=4,pv=0,cpv=0,led=1,en_setzone=1,mac=<redacted>,ssid=<redacted>,adp_mode=ap_run,en_hol=0,grp_name=,en_grp=0,edid=<redacted>,sw_id=19002959,pw=,ssid1=<redacted>,radio1=-52
2026-05-27 15:16:46.104 DEBUG (MainThread) [pydaikin.response] Parsing response: ret=OK,type=aircon,subtype=qa,reg=eu,dst=1,ver=2_3_0,rev=F45236EA,pow=0,err=0,location=0,name=%44%61%69%6b%69%6e%20%52%45,icon=31,method=polling,port=30050,id=<redacted>,lpw_flag=0,adp_kind=4,pv=0,cpv=0,led=1,en_setzone=1,mac=<redacted>,ssid=<redacted>,adp_mode=ap_run,en_hol=0,grp_name=,en_grp=0,edid=<redacted>,sw_id=19002959,pw=,ssid1=<redacted>,radio1=-52
2026-05-27 15:16:46.105 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/common/get_datetime {'cur': ''} [{}]
2026-05-27 15:16:46.161 DEBUG (MainThread) [pydaikin.daikin_brp069] Parsing ret=OK,sta=2,cur=2026/5/27 15:16:44,reg=eu,dst=1,zone=211
2026-05-27 15:16:46.161 DEBUG (MainThread) [pydaikin.response] Parsing response: ret=OK,sta=2,cur=2026/5/27 15:16:44,reg=eu,dst=1,zone=211
2026-05-27 15:16:46.162 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['/common/get_remote_method', '/aircon/get_sensor_info', '/aircon/get_model_info', '/aircon/get_control_info', '/aircon/get_target', '/aircon/get_price', '/common/get_holiday', '/common/get_notify', '/aircon/get_day_power_ex', '/aircon/get_week_power', '/aircon/get_year_power', '/aircon/get_datetime']
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/common/get_remote_method {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_sensor_info {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_model_info {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_control_info {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_target {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_price {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/common/get_holiday {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/common/get_notify {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_day_power_ex {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_week_power {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_year_power {} [{}]
2026-05-27 15:16:46.163 DEBUG (MainThread) [pydaikin.daikin_base] Calling: http://192.168.50.10/aircon/get_datetime {} [{}]
2026-05-27 15:16:46.222 DEBUG (MainThread) [pydaikin.daikin_brp069] Parsing ret=OK,method=polling,notice_ip_int=3600,notice_sync_int=10
2026-05-27 15:16:46.222 DEBUG (MainThread) [pydaikin.response] Parsing response: ret=OK,method=polling,notice_ip_int=3600,notice_sync_int=10
2026-05-27 15:16:46.276 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_sensor_info
2026-05-27 15:16:46.332 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_model_info
2026-05-27 15:16:46.395 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_control_info
2026-05-27 15:16:46.454 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_target
2026-05-27 15:16:46.632 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_price
2026-05-27 15:16:46.691 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/common/get_holiday
2026-05-27 15:16:46.751 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/common/get_notify
2026-05-27 15:16:46.807 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_day_power_ex
2026-05-27 15:16:46.857 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_week_power
2026-05-27 15:16:46.916 DEBUG (MainThread) [pydaikin.daikin_base] HTTP 404 Not Found for http://192.168.50.10/aircon/get_year_power
2026-05-27 15:16:46.969 DEBUG (MainThread) [pydaikin.daikin_brp069] Parsing ret=OK,sta=2,cur=2026/5/27 15:16:45,reg=eu,dst=1,zone=211
2026-05-27 15:16:46.969 DEBUG (MainThread) [pydaikin.response] Parsing response: ret=OK,sta=2,cur=2026/5/27 15:16:45,reg=eu,dst=1,zone=211
2026-05-27 15:16:46.970 ERROR (MainThread) [homeassistant.components.daikin.config_flow] Error creating device, 192.168.50.10 is not supported.

Expected result

pydaikin should either:

  1. Support the local API used by BRP069C8x firmware 2.3.0, if one exists; or
  2. Detect this adapter/firmware combination and report clearly that it is not locally supported.

Actual result

The device is reachable and partially identified as a BRP069-compatible adapter, but setup fails because none of the currently attempted control APIs are available:

  • /dsiot/multireq returns 404 Not Found
  • Legacy /aircon/get_control_info returns 404 Not Found
  • Legacy /aircon/get_sensor_info returns 404 Not Found
  • Additional legacy status/control endpoints also return 404 Not Found

Home Assistant ultimately reports:

Error creating device, 192.168.50.10 is not supported.

Questions

  1. Does the BRP069C8x with firmware 2.3.0 use another local API that is not currently implemented in pydaikin?
  2. Is there any additional endpoint or diagnostic output I can provide to help investigate support for this adapter?
  3. Is BRP069C8x firmware 2.3.0 expected to be local-control capable, or is it known to work only through ONECTA/cloud?

I am available to test additional requests against the adapter and provide further debug logs if required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions