Daikin Component - no climate entities created - task exception

thanks for the fix once again @fredrike credits to you.
I will meanwhile try to test all the modes and see if it is all ok.

I have noticed that when I switch to operation mode “fan only” i can’t switch back to any other operation mode. It does work to switch from and to all other operation modes.

What device do you have?

There is a fix for that in pydaikin 0.7, it did however not reach 0.82.1 of Home Assistant. But pydaikin 0.8 is getting merged into Home Assistant right now so it will be working in near feature (with support for BRP069B41).

I have device BRP069A41. Great! So there will be a fix for this in 0.82.2?

@fredrike noticed that on the daikin official app there are “special modes” available which are economic and powerful, but on HA those aren’t available.
Will it be possible to add those?

Probably. But then you must debug the values for me (figure out how to send those commands). The climate component doesn’t have those modes but we can probably support a custom command…

This page aims to document the settings GitHub - ael-code/daikin-control: Unofficial api documentation and web interface to control "Daikin Emura" air conditioner. I’ll be happy to add the features to HA and pydaikin but my unit only support the basics (although I have one of the most advanced models).

Version 0.83.0b0 is out with the latest fixes in the Daikin support.

1 Like

Hi all, i am trying to dump the packets to wifi controller to be able to map more commands on HA. For example economic mode, strong mode, holiday mode, even Power consumption is available on the daikin IOS APP which would be great to have on HA dashboard and could easen up the way to monitor AC consumption (kwh)

@fredrike i found this two github pages (https://github.com/Apollon77/daikin-controller and https://github.com/ael-code/daikin-control/blob/master/README.md) which have the API documented. It should be enough to add the code right? If you need I can do the testing.
At least for my AC indoor unit the missing features from HA plugin which seem to be available to call via API and documented on the two links are:

  • getACWeekPower(callback)
  • getACYearPower(callback)
  • getACWeekPowerExtended(callback)
  • getACYearPowerExtended(callback)
  • setACSpecialMode(values, callback) (streamer, powerful , economy)
  • enable/disableAdapterLED(callback)

Thanks!

1 Like

I’m fully aware of those pages but the question is how that will be useful in home assistant. And, it will take substantial time to rewrite some avereage js code into python3

I might take a look at the special mode but for the rest I suggest that you use the npm package.

Sure thanks a lot

Hi Fredrike:
After update with 0.83.0, my BRP069A81 (it was the same hardware as the BRP069A42, just the connection cable is different!)
I’m connected this controller with a duct model of Daikin aircon (no swing).
Everything was fine on previous ver. (tested on 0.82.1) until 0.83.0, it stop working and with below error:

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/tasks.py", line 241, in _step
    result = coro.throw(exc)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 277, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/climate/daikin.py", line 231, in set_operation_mode
    self.set({ATTR_OPERATION_MODE: operation_mode})
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/climate/daikin.py", line 183, in set
    self._api.device.set(values)
  File "/srv/homeassistant/lib/python3.5/site-packages/pydaikin/appliance.py", line 224, in set
    self.values['f_dir'],
KeyError: 'f_dir'

Would you pls. help?

Thanks in advance!

So your device does not support Fan direction?

Is it just setting values that causes issues?

No fan direction.
It just refuse to operate on any command.
every time it throw the same error even only to change the mode (off, fan, cool, auto, heat…)

But you can see the current status?

I can see the status.
It show and update correctly when I operate the aircon with the remote controller or Daikin mobile App.

I’ve ironed out the issue with devices that support fan rate but not swing mode (which was found in the underlaying library). I’ll update the code and hopefully will the patch reach a bugfix release in the near feature.

Hi all,

On the update (0.84.3) have you noticed this kind of errors for the daikon module:

2018-12-20 23:45:13 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/src/app/homeassistant/helpers/entity_platform.py”, line 344, in _async_add_entity
raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: sensor.Living_Room_Temperature. Platform daikin does not generate unique IDs
2018-12-20 23:45:13 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/src/app/homeassistant/helpers/entity_platform.py”, line 344, in _async_add_entity
raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: sensor.Outside_Temperature. Platform daikin does not generate unique IDs

I think it has to do with the recent change that each device has to generate unique IDs.

Also if you don’t want to use auto-discovery how do you retrieve the sensor name for the climate.SOMETHING ?
Because with auto discovery on it appears in the dashboard with a sensor name climate.UNITNAME but if trying to use the same climate.UNITNAME with auto discovery off it doesn’t show anything.
Thanks

Hi!

I’ve rewritten most of the daikin communication and unique id is a combination of mac-address and sensor type (outside/inside). I’ll investigate more but it seems like your daikin doesn’t report the mac-address correctly.

Or perhaps you have one unit showing up multiple times (that was an old issue that is fixed in upcoming releases).

Is it just a log issue or are you missing devices (check the dev-state page)?

Name is read from the device no matter if it is discovered or added via configuration.yaml. What you are referring to is the fact that entities without unique_id can change entity_id and therefore break automations and gui. Since unique_id is present no you can change name and id from the dev-state page.

Hi!

thanks for the response. It is a fresh install of HA. I do not see it multiple times.
Regarding the problem it presents the error in the logs and works ok if auto discovery is on (I have the devices inside temp, outside temp , climate.
If i disable HA auto discovery I only get the devices inside temp and outside temp. The climate one doesn’t show up.
If you need any more logs or details please tell me.

Meanwhile I updated HA to 0.84.5 but the problem persists.

Thanks