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.
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.
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:
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")
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
Auto discover works, but doesn’t assign the device name correctly.
Can you check the entity ids?
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?
Can I run any debug with pydaikin for you?
$ 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