Daikin airbase - testing new version of pydaikin

I am looking for testers to test the latest version of pydaikin (2.10.3). This is to check if Daikin breaking changes - renaming devices · Issue #94046 · home-assistant/core (github.com) has been fixed.

Any help will be greatly appreciated.

Happy to help.

Thanks, I’ll create a custom component for testing.

I have uploaded the component here: daikin.zip - Google Drive

1 Like

Not sure if you want to discuss here, github issue or discord.

I uploaded as custom component. I have two of the Australian version of the Daikin Wifi Controller for AirBase units (BRP15B61), which is operated by the Daikin Airbase application.

Existing device (192.168.96.30) is available as climate devices, but have the return of the empty switches (which I think are zones, which I don’t have). Controlling through the climate device is functional, setting modes & temps.

Auto discover of the devices is working.

Adding a new device doesn’t present a climate entity, so unable to control, but also presents the multiple zone switches, naming is still based on ip address:

Here are the logs when adding this new device (192.168.86.34)

2023-06-21 14:11:53.929 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['common/basic_info']
2023-06-21 14:11:54.153 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,sta=2,cur=2023/6/21 14:11:54,reg=au,dst=0,zone=54
2023-06-21 14:11:54.153 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
2023-06-21 14:11:54.263 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:54.382 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
2023-06-21 14:11:54.491 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,htemp=-,otemp=-
2023-06-21 14:11:54.599 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:54.600 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['common/basic_info']
2023-06-21 14:11:54.831 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,sta=2,cur=2023/6/21 14:11:55,reg=au,dst=0,zone=54
2023-06-21 14:11:54.831 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
2023-06-21 14:11:54.944 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:55.058 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
2023-06-21 14:11:55.908 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,htemp=-,otemp=-
2023-06-21 14:11:56.028 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:56.035 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_zone_setting']
2023-06-21 14:11:56.259 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:56.368 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:57.435 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.
2023-06-21 14:11:53.929 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['common/basic_info']
2023-06-21 14:11:54.153 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,sta=2,cur=2023/6/21 14:11:54,reg=au,dst=0,zone=54
2023-06-21 14:11:54.153 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
2023-06-21 14:11:54.263 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:54.382 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
2023-06-21 14:11:54.491 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,htemp=-,otemp=-
2023-06-21 14:11:54.599 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:54.600 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['common/basic_info']
2023-06-21 14:11:54.831 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,sta=2,cur=2023/6/21 14:11:55,reg=au,dst=0,zone=54
2023-06-21 14:11:54.831 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
2023-06-21 14:11:54.944 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:55.058 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
2023-06-21 14:11:55.908 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,err=0,htemp=-,otemp=-
2023-06-21 14:11:56.028 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:56.035 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['aircon/get_control_info', 'aircon/get_zone_setting']
2023-06-21 14:11:56.259 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
2023-06-21 14:11:56.368 DEBUG (MainThread) [pydaikin.daikin_airbase] Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
2023-06-21 14:11:57.435 WARNING (MainThread) [homeassistant.components.cloud.google_config] Error reporting state - 5: Requested entity was not found.

You can see here the legacy device has 11 entities, whilst the new device has 10 entities, it is missing the climate entity ;-(

Pre installed device:

Device installed by custom component:

The auto discovered device has just come good, with the climate entity.

Thanks, I’m happy to discuss here. I forgot to update switch.py, that’s why the switches are showing.
I have the same behaviour on my ducted system too, but I have zones.

If you can change switch.py to this it will get rid of the switches:

"""Support for Daikin AirBase zones."""
from __future__ import annotations

from typing import Any

from homeassistant.components.switch import SwitchEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType

from . import DOMAIN as DAIKIN_DOMAIN, DaikinApi

ZONE_ICON = "mdi:home-circle"
STREAMER_ICON = "mdi:air-filter"
DAIKIN_ATTR_ADVANCED = "adv"
DAIKIN_ATTR_STREAMER = "streamer"


async def async_setup_platform(
    hass: HomeAssistant,
    config: ConfigType,
    async_add_entities: AddEntitiesCallback,
    discovery_info: DiscoveryInfoType | None = None,
) -> None:
    """Old way of setting up the platform.

    Can only be called when a user accidentally mentions the platform in their
    config. But even in that case it would have been ignored.
    """


async def async_setup_entry(
    hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None:
    """Set up Daikin climate based on config_entry."""
    daikin_api: DaikinApi = hass.data[DAIKIN_DOMAIN][entry.entry_id]
    switches: list[DaikinZoneSwitch | DaikinStreamerSwitch] = []
    if zones := daikin_api.device.zones:
        switches.extend(
            [
                DaikinZoneSwitch(daikin_api, zone_id)
                for zone_id, zone in enumerate(zones)
                if zone[0] != "-"
            ]
        )
    if daikin_api.device.support_advanced_modes:
        # It isn't possible to find out from the API responses if a specific
        # device supports the streamer, so assume so if it does support
        # advanced modes.
        switches.append(DaikinStreamerSwitch(daikin_api))
    async_add_entities(switches)


class DaikinZoneSwitch(SwitchEntity):
    """Representation of a zone."""

    _attr_icon = ZONE_ICON
    _attr_has_entity_name = True

    def __init__(self, daikin_api: DaikinApi, zone_id) -> None:
        """Initialize the zone."""
        self._api = daikin_api
        self._zone_id = zone_id

    @property
    def unique_id(self) -> str:
        """Return a unique ID."""
        return f"{self._api.device.mac}-zone{self._zone_id}"

    @property
    def name(self) -> str:
        """Return the name of the sensor."""
        return self._api.device.zones[self._zone_id][0]

    @property
    def is_on(self) -> bool:
        """Return the state of the sensor."""
        return self._api.device.zones[self._zone_id][1] == "1"

    @property
    def device_info(self) -> DeviceInfo:
        """Return a device description for device registry."""
        return self._api.device_info

    async def async_update(self) -> None:
        """Retrieve latest state."""
        await self._api.async_update()

    async def async_turn_on(self, **kwargs: Any) -> None:
        """Turn the zone on."""
        await self._api.device.set_zone(self._zone_id, "zone_onoff", "1")

    async def async_turn_off(self, **kwargs: Any) -> None:
        """Turn the zone off."""
        await self._api.device.set_zone(self._zone_id, "zone_onoff", "0")


class DaikinStreamerSwitch(SwitchEntity):
    """Streamer state."""

    _attr_icon = STREAMER_ICON
    _attr_name = "Streamer"
    _attr_has_entity_name = True

    def __init__(self, daikin_api: DaikinApi) -> None:
        """Initialize streamer switch."""
        self._api = daikin_api

    @property
    def unique_id(self) -> str:
        """Return a unique ID."""
        return f"{self._api.device.mac}-streamer"

    @property
    def is_on(self) -> bool:
        """Return the state of the sensor."""
        return (
            DAIKIN_ATTR_STREAMER in self._api.device.represent(DAIKIN_ATTR_ADVANCED)[1]
        )

    @property
    def device_info(self) -> DeviceInfo:
        """Return a device description for device registry."""
        return self._api.device_info

    async def async_update(self) -> None:
        """Retrieve latest state."""
        await self._api.async_update()

    async def async_turn_on(self, **kwargs: Any) -> None:
        """Turn the zone on."""
        await self._api.device.set_streamer("on")

    async def async_turn_off(self, **kwargs: Any) -> None:
        """Turn the zone off."""
        await self._api.device.set_streamer("off")

1 Like

Great,

That has removed the extraneous switches.

I am still seeing the naming issue with the devices named after ip address:

Does changing the manifest.json requirements to “git+https://bitbucket.org/mymover85/pydaikin.git@init-fix#pydaikin==2.10.4” fix it?

No changes with referencing the bitbucket directly :frowning:

Auto discover works, but doesn’t assign the device name correctly.

Can you check the entity ids?

They look the same:

I had to re add the device to get it to work. I will look at a migration script to help with the change.

I’m deleting the second device every time you send an update and allowing it to auto discover.

How can I confirm I’m using the bitbucket library, I have rebooted?

{
  "domain": "daikin",
  "name": "Daikin AC",
  "codeowners": ["@fredrike"],
  "version": "2.10.3",
  "config_flow": true,
  "documentation": "https://www.home-assistant.io/integrations/daikin",
  "iot_class": "local_polling",
  "loggers": ["pydaikin"],
  "quality_scale": "platinum",
  "requirements": ["git+https://bitbucket.org/mymover85/pydaikin.git@init-fix#pydaikin==2.10.4"],
  "zeroconf": ["_dkapi._tcp.local."]
}

That looks correct, is it still saying unnamed device? Can you try adding it manually with ip?

Still unamed device if I add by IP address manually:

Can I run any debug with pydaikin for you?

That would be great, thanks. This is what mine looks like:

$ pydaikin -vvvv -l
DEBUG:pydaikin.discovery:Discovered ('192.168.86.34', 49155), ret=OK,type=aircon,reg=au,dst=0,ver=1_1_8,rev=1F,pow=0,err=0,location=0,name=%55%70%73%74%61%69%72%73,icon=15,method=home only,port=30050,id=,pw=,lpw_flag=0,adp_kind=3,led=1,en_setzone=1,mac=48E7DA01943A,adp_mode=run,ssid=DaikinAP46401,err_type=0,err_code=0,en_ch=1,holiday=0,en_hol=0,sync_time=0
DEBUG:pydaikin.discovery:Discovered ('192.168.86.30', 49155), ret=OK,type=aircon,reg=au,dst=0,ver=1_1_8,rev=1F,pow=0,err=0,location=0,name=%44%6f%77%6e%73%74%61%69%72%73,icon=15,method=home only,port=30050,id=,pw=,lpw_flag=0,adp_kind=3,led=1,en_setzone=1,mac=48E7DA018736,adp_mode=run,ssid=DaikinAP33073,err_type=0,err_code=0,en_ch=1,holiday=0,en_hol=0,sync_time=0
DEBUG:pydaikin.daikin_base:Updating ['common/basic_info']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,sta=2,cur=2023/6/22 16:52:22,reg=au,dst=0,zone=54
DEBUG:pydaikin.daikin_base:Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,htemp=-,otemp=-
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
     192.168.86.34 (48E7DA01943A): Upstairs - Unsupported energy consumption
DEBUG:pydaikin.daikin_base:Updating ['common/basic_info']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,sta=2,cur=2023/6/22 16:52:23,reg=au,dst=0,zone=54
DEBUG:pydaikin.daikin_base:Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=23,dt1=23,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,htemp=-,otemp=-
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
     192.168.86.30 (48E7DA018736): Downstairs - Unsupported energy consumption
$ pydaikin -vvvv 192.168.86.34
DEBUG:pydaikin.daikin_base:Updating ['common/basic_info']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,sta=2,cur=2023/6/22 16:52:48,reg=au,dst=0,zone=54
DEBUG:pydaikin.daikin_base:Updating ['aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,pow=0,mode=1,operate=1,bk_auto=1,stemp=21,dt1=21,dt2=24,f_rate=5,dfr1=5,dfr2=5,f_airside=0,airside1=0,airside2=0,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=0,filter_sign_info=0,cent=0,en_cent=0,remo=2
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=0,en_linear_zone=0,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=0,en_quick_timer=1,en_auto=0,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=2,en_frate_auto=0
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,htemp=-,otemp=-
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,zone_name=%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d%3b%2d,zone_onoff=0%3b0%3b0%3b0%3b0%3b0%3b0%3b0
<class 'argparse._ArgumentGroup'>
                mode: off
            fan rate: high
       fan direction: off
         inside temp: -
        outside temp: -
         target temp: 21
          error code: 0

Here is my debug log from pydaikin. Your log looks like it’s not running my version off bitbucket. I really appreciate the effort you’re putting in.

) $ ./bin/pydaikin -vvvv 192.168.40.74
DEBUG:pydaikin.daikin_base:Updating ['common/basic_info']
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,sta=2,cur=2023/6/22 18:4:45,reg=au,dst=1,zone=27
DEBUG:pydaikin.daikin_base:Updating ['common/basic_info', 'aircon/get_control_info', 'aircon/get_model_info', 'aircon/get_sensor_info', 'aircon/get_zone_setting']
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,type=aircon,reg=au,dst=1,ver=1_1_8,rev=1F,pow=1,err=0,location=0,name=%44%61%69%6b%69%6e%41%50%39%31%34%32%36,icon=0,method=home only,port=30050,id=,pw=,lpw_flag=0,adp_kind=3,led=1,en_setzone=1,mac=90E868BD40AA,adp_mode=run,ssid=DaikinAP91426,err_type=0,err_code=0,en_ch=1,holiday=1,en_hol=0,sync_time=0
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,pow=1,mode=1,operate=1,bk_auto=1,stemp=20,dt1=20,dt2=28,f_rate=1,dfr1=1,dfr2=1,f_airside=1,airside1=1,airside2=1,f_auto=0,auto1=0,auto2=0,f_dir=0,dfd1=0,dfd2=1,filter_sign_info=0,cent=0,en_cent=0,remo=2
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_zone=8,en_linear_zone=1,en_filter_sign=1,acled=1,land=0,elec=0,temp=1,m_dtct=0,ac_dst=au,dmnd=0,en_temp_setting=1,en_frate=1,en_fdir=0,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_scdltmr=0,en_mompow=0,en_patrol=0,en_airside=1,en_quick_timer=1,en_auto=1,en_dry=1,en_common_zone=0,cool_l=16,cool_h=32,heat_l=16,heat_h=32,frate_steps=3,en_frate_auto=1
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,err=0,htemp=18,otemp=-
DEBUG:pydaikin.daikin_airbase:Parsing ret=OK,zone_name=%41%61%72%6f%6e%3b%4d%61%73%74%65%72%20%42%65%64%3b%53%70%61%72%65%20%42%65%64%3b%4c%6f%75%6e%67%65%3b%4f%66%66%69%63%65%3b%44%69%6e%69%6e%67%3b%48%61%6c%6c%77%61%79%3b%4b%69%74%63%68%65%6e,zone_onoff=1%3b0%3b0%3b1%3b0%3b0%3b1%3b1,lztemp_c=22%3b22%3b22%3b22%3b22%3b22%3b22%3b22,lztemp_h=19%3b19%3b20%3b20%3b20%3b20%3b18%3b19
                name: DaikinAP91426
                 mac: ['90E868BD40AA']
                mode: hot
            fan rate: low
       fan direction: off
         inside temp: 18
        outside temp: -
         target temp: 20
           away_mode: off
          error code: 0