Support for Daikin AirBase units

Sorry for the delay. I’ve tested - HomeKit is definitely the issue. Its sending the “heat_cool” command rather than just “cool” like it used to.

I’ve looked through the HomeKit changes for the last few releases and can’t see anything that would be impacting this though.

It is definitely this part that breaks it. Open an issue…

3 can’t be both HVAC_MODE_AUTO and HVAC_MODE_AUTO (line 79)…

My suggestion is to remove line 75 & 77…

When was this change made? Because was all working fine until ~6-8 weeks ago.

:wink:

I’ve created an issue: https://github.com/home-assistant/core/issues/33386

That latest request on the issue - is that something I need to do or you?

Sounds like it might be pushing my technical expertise but can try if you want to show me

Yes, please continue the discussion there. (https://github.com/home-assistant/core/issues/33386#issuecomment-605664790)
I neither have an AirBase unit or homekit so I can’t test it.

Update 0.110 has broken my DAIKIN. The only error in the logs is this uncaught exception ->

2020-05-22 22:02:50 ERROR (MainThread) [root] Uncaught exception
Traceback (most recent call last):
  File "av/container/output.pyx", line 22, in av.container.output.close_output
  File "av/container/core.pyx", line 267, in av.container.core.Container.err_check
  File "av/error.pyx", line 328, in av.error.err_check
  File "av/container/pyio.pyx", line 39, in av.container.pyio.pyio_write_gil

OK now I’ve got a DAIKIN error ->

2020-05-22 22:12:51 ERROR (MainThread) [homeassistant.components.daikin.config_flow] ClientError
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 936, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 962, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 949, in create_connection
    await self.sock_connect(sock, address)
  File "/usr/local/lib/python3.7/asyncio/selector_events.py", line 473, in sock_connect
    return await fut
  File "/usr/local/lib/python3.7/asyncio/selector_events.py", line 503, in _sock_connect_cb
    raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.1.163', 2000)

This works in a browser -> http://192.168.1.163/skyfi/aircon/set_control_info?pow=1&mode=1&stemp=24&shum=--&f_rate=5&f_dir=0&lpw=&f_airside=0

There is a patch for this that will be available in 0.110.2.

I’m sorry for the inconvenience but the whole underlying library have been rewritten, I don’t own an AirBase unit so that code was not tested enough.

I hope it didn’t turn into flames. One can expect that issues could occur when the log say pydaikin updated to 2.0.0.

Thanks for the reply.

I am new to the Hass community and I just want to say that you guys are deadset legends :smiley:

I thought I had broken something and then I find this and it not only tells me exactly what’s wrong but you’ve already fixed it!

1 Like

Thank you!

The fix is published so you should be able to upgrade now. Please report back how it goes.

1 Like

I just updated to 0.11.2 and can confirm it mostly works again :+1:

Minor power button bug: The lovelace card “power” button doesn’t turn the unit on but does turn it off. Selecting a mode (e.g. heat) also turns it on. On my ducted multizone unit power and mode are separate, I guess on a split system off is just another function. I can’t say for sure as I only just started using HASS last week, but I think the power button did work when I first installed it.

Another very minor bug relating to my unit is that it has a fourth fan mode “Auto” in addition to low, mid, high. Hass correctly reports the actual speed.

Thanks again.

1 Like

That is how it is intended to work from HA. You either set mode or turn it off (there is no on button).

We could investigate that further. Could you please set your unit to Fan auto and run pydaikin -a <your-dev-ip> (after you have installed pydaikin with pip install pydaikin).

Here is the output with Auto Fan on.

$ pydaikin -a 192.168.55.6
            ac_dst: au
             acled: 1
          airside0: 0
          airside1: 0
          airside2: 0
          airside3: 0
             auto0: 0
             auto1: 1
             auto2: 0
             auto3: 1
              cent: 0
            cool_h: 32
            cool_l: 16
              dfd0: 0
              dfd1: 0
              dfd2: 1
              dfd3: 0
              dfd7: 1
              dfr0: 1
              dfr1: 1
              dfr2: 5
              dfr3: 1
              dmnd: 0
               dt1: 20
               dt2: 23
               dt3: 24
              elec: 0
        en_airside: 0
           en_auto: 1
           en_cent: 0
    en_common_zone: 1
            en_dry: 1
           en_fdir: 0
    en_filter_sign: 1
          en_frate: 1
     en_frate_auto: 1
        en_ipw_sep: 0
         en_mompow: 0
         en_patrol: 0
    en_quick_timer: 1
        en_rtemp_a: 0
        en_scdltmr: 0
         en_spmode: 0
   en_temp_setting: 1
           en_zone: 8
        error code: 0
         f_airside: 0
            f_auto: 1
     fan direction: off
          fan rate: low
  filter_sign_info: 0
       frate_steps: 3
            heat_h: 32
            heat_l: 16
       inside temp: -
              humd: 0
              land: 0
            m_dtct: 0
              mode: hot
             model: NOTSUPPORT
      outside temp: -
             power: 1
              remo: 2
               ret: OK
            s_humd: 7
              shum: --
       target temp: 20
              temp: 1
              type: N
         zone_name: ['DOWN   Zone1', 'MIA   Zone2', 'MASTER Zone3', 'GUEST  Zone4', 'TOP    Zone5', 'EJM   Zone6', 'KAP   Zone7', 'TILL   Zone8']
        zone_onoff: ['1', '1', '1', '0', '1', '1', '1', '1']

So it is Low + Auto (just as in SKYFi: Integration with Daikin Skyfi app (Air conditioning) - #169 by denis.french)?

Yeah, that looks right. In the UI on the airbase app you have to cycle through all 6 possibilities. Two separate buttons on the physical panel. It’s new and the weather has just got bad enough in Sydney to actually use it so never even noticed this.

Settings are as you would expect

# High Auto
            f_auto: 1
     fan direction: off
          fan rate: high

# Mid Auto
            f_auto: 1
     fan direction: off
          fan rate: mid

# Low no auto
            f_auto: 0
     fan direction: off
          fan rate: low

So I’m not actually sure what the auto does if you manually set the speed…

Ok, good. Can you set different orientation of the fan too? (fan direction)

It’s a ducted system and doesn’t have that. In fact the lovelace widget pretty closely matches the app. The zones tab is just a list of switches.

Cool!

I’ll try to add the extra fan-modes later today so it might show up in HA in a week or so.

1 Like