Daikin binding fan error

hey guys, ive had the Daikin binding working perfectly except one annoying little issue.

It cannot switch the heat pump to auto fan speed.
if I switch it to auto in openhab I get the flowing error.

2020-04-08 16:59:58.860 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.daikin.internal.handler.DaikinAirbaseUnitHandler@997d5c5': No enum constant org.openhab.binding.daikin.internal.api.airbase.AirbaseEnums.AirbaseFanSpeed.AUTO
java.lang.IllegalArgumentException: No enum constant org.openhab.binding.daikin.internal.api.airbase.AirbaseEnums.AirbaseFanSpeed.AUTO
	at java.lang.Enum.valueOf(Enum.java:238) ~[?:1.8.0_242]
	at org.openhab.binding.daikin.internal.api.airbase.AirbaseEnums$AirbaseFanSpeed.valueOf(AirbaseEnums.java:1) ~[?:?]
	at org.openhab.binding.daikin.internal.handler.DaikinAirbaseUnitHandler.changeFanSpeed(DaikinAirbaseUnitHandler.java:145) ~[?:?]
	at org.openhab.binding.daikin.internal.handler.DaikinBaseHandler.handleCommand(DaikinBaseHandler.java:108) ~[?:?]
	at sun.reflect.GeneratedMethodAccessor1280.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [bundleFile:?]
	at com.sun.proxy.$Proxy102488.handleCommand(Unknown Source) [?:?]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:74) [bundleFile:?]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48) [bundleFile:?]
	at sun.reflect.GeneratedMethodAccessor1279.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_242]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]

if I switch the fan speed on the heat pump itself from high to medium to low and then to auto the logs show the high to medium to low but there’s nothing for auto.

2020-04-08 16:47:17.223 [vent.ItemStateChangedEvent] - DaikinACUnit_Fan changed from LEVEL_1 to LEVEL_5
2020-04-08 16:47:33.184 [vent.ItemStateChangedEvent] - DaikinACUnit_Fan changed from LEVEL_5 to LEVEL_3
2020-04-08 16:47:43.838 [vent.ItemStateChangedEvent] - DaikinACUnit_Fan changed from LEVEL_3 to LEVEL_1
2020-04-08 16:59:58.834 [ome.event.ItemCommandEvent] - Item 'DaikinACUnit_Fan' received command AUTO
2020-04-08 16:59:58.847 [nt.ItemStatePredictedEvent] - DaikinACUnit_Fan predicted to become AUTO
2020-04-08 16:59:58.854 [vent.ItemStateChangedEvent] - DaikinACUnit_Fan changed from LEVEL_1 to AUTO
2020-04-08 16:59:59.581 [vent.ItemStateChangedEvent] - DaikinACUnit_Fan changed from AUTO to LEVEL_1

Any ideas would be amazing!

Hi @joedirt - are you able to confirm which version of the binding you’re running? Me or @JimT will hopefully be able to look at the code. Looks like a bug as there’s a reference to Airbase when you seem to be running a standard AcUnit…

Also, can you share your things/items config (assuming it’s manually configured)

Hey @Paul_Smedley
I’m using version 2.5.3
I don’t have a things file I just entered the ip address of the heat pump into PaperUI.
Here’s my item file with the ducted daikin items.

Switch 				DaikinACUnit_Power 							{ channel="daikin:airbase_ac_unit:DaikinAP26651:power" }
Number:Temperature 		DaikinACUnit_SetPoint 							{ channel="daikin:airbase_ac_unit:DaikinAP26651:settemp" }
String 				DaikinACUnit_Mode 							{ channel="daikin:airbase_ac_unit:DaikinAP26651:mode" }
String 				DaikinACUnit_Fan 							{ channel="daikin:airbase_ac_unit:DaikinAP26651:airbasefanspeed" }
Number:Temperature 		DaikinACUnit_IndoorTemperature 						{ channel="daikin:airbase_ac_unit:DaikinAP26651:indoortemp" }
Number:Temperature 		DaikinACUnit_OutdoorTemperature 					{ channel="daikin:airbase_ac_unit:DaikinAP26651:outdoortemp" }

Hey @joedirt can you confirm the model number of the Daikin wifi unit you’re using?

Your config references Airbase but this is only for the Australian/NZ BRP15B61 unit.

yup im in nz with a BRP15B61

All the other controls work correctly its just setting the fan to auto that doesn’t.

You cannot set the fan to “AUTO” because there is no “AUTO” fan setting for Airbase controllers. The possible settings are shown here https://www.openhab.org/addons/bindings/daikin/

airbasefanspeed The fan speed set for the unit (AIRSIDE, LEVEL_1, LEVEL_2, LEVEL_3, LEVEL_4, LEVEL_5, AUTO_LEVEL_1, AUTO_LEVEL_2, AUTO_LEVEL_3, AUTO_LEVEL_4, AUTO_LEVEL_5)

These correspond to what you can set on the physical controller or via the Airbase app.

LEVEL_1 (or AUTO_LEVEL_1) is the lowest fan speed, and LEVEL_5 (or AUTO_LEVEL_5) is the highest fan speed.

The equivalent of “AUTO” is perhaps “AIRSIDE” but only if your physical controller supports it. Some do (like mine) and some don’t (like @Paul_Smedley’s). So when AIRSIDE mode is not supported, you will have to use one of the other options.

ok, so am I right in thinking there is currently no way to set the heat pump fan to auto like you can on the wall controller or daikin app?
I tried airside and that didn’t work. The auto levels work but don’t appear to allow the fan speed to ramp up and down like the the normal auto mode. they are fixed speed.

As a workaround you may can create a rule to ramp up/down the fan speed. :thinking:

Hi @joedirt,

Can you please set your physical controller fan to AUTO in heat pump mode, and then post the output of

ret=OK,pow=1,mode=1,stemp=17,dt1=17,dt2=18,dt3=20,f_rate=0,dfr0=0,dfr1=0,dfr2=5,dfr3=5,f_airside=0,airside0=0,airside1=0,airside2=0,airside3=0,f_auto=0,auto0=0,auto1=0,auto2=0,auto3=0,f_dir=0,dfd0=0,dfd1=0,dfd2=0,dfd3=1,dfd7=1,filter_sign_info=0,cent=0,en_cent=0,remo=2
ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_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=3,en_frate_auto=1
ret=OK,type=aircon,reg=au,dst=1,ver=1_1_3,rev=17,pow=1,err=0,location=0,name=%44%61%69%6b%69%6e%41%50%32%36%36%35%31,icon=0,method=home only,port=30050,id=,pw=,lpw_flag=0,adp_kind=3,led=1,en_setzone=1,mac=D0C5D3A04AD0,adp_mode=run,ssid=DaikinAP26651,err_type=0,err_code=0,en_ch=1

Thanks! Does your system not allow “auto” mode (i.e. auto cool/heat)?

yes it does. here’s the outputs when its in auto mode and auto fan

ret=OK,pow=1,mode=2,stemp=18,dt1=17,dt2=18,dt3=20,f_rate=0,dfr0=0,dfr1=0,dfr2=0,dfr3=5,f_airside=0,airside0=0,airside1=0,airside2=0,airside3=0,f_auto=0,auto0=0,auto1=0,auto2=0,auto3=0,f_dir=0,dfd0=0,dfd1=0,dfd2=0,dfd3=1,dfd7=1,filter_sign_info=0,cent=0,en_cent=0,remo=2
ret=OK,err=0,model=NOTSUPPORT,type=N,humd=0,s_humd=7,en_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=3,en_frate_auto=1
ret=OK,type=aircon,reg=au,dst=1,ver=1_1_3,rev=17,pow=1,err=0,location=0,name=%44%61%69%6b%69%6e%41%50%32%36%36%35%31,icon=0,method=home only,port=30050,id=,pw=,lpw_flag=0,adp_kind=3,led=1,en_setzone=1,mac=D0C5D3A04AD0,adp_mode=run,ssid=DaikinAP26651,err_type=0,err_code=0,en_ch=1

The “mode=2” is for cooling mode, not auto mode, afaik.

That’s weird, here’s a pic of the wall controller.

OK, the auto mode on that controller is different to mine (multi zone controller). At least the “Fan: Auto” mode seems to be accepted on my controller too, even though there’s no way to set it via either the app or the (wall) multi zone controller.

I will make a jar for you to try with the support for auto fan shortly. I would need to understand the auto mode more in order to support it too. Can you tell me what the “Set to” Cool/Heat mean? Or if you have a link to the manual that explains it? Quickly skimming through this manual, I cannot find the explanation: https://www.daikin.com.au/sites/default/files/daikin-multi-split-system-Wired-Controller-BRC073A4.pdf

Ok so the way that the auto mode works is you set a cool temp so if it gets above 18 in the pic above it will start to cool. if it gets below 17 it will start heating.

If I had set the cool to 24 and the heating was still at 17 then it would have the 8 degrees (17-24) that the system would effectively be in standby.

Interesting tho in the daikin app I don’t have the auto function when it comes to cool and heat. I only have the auto function for fan.

Thanks for the explanation. To support this, new channels would be needed. For now please try the auto fan feature in this jar:
https://github.com/jimtng/openhab-addons/blob/daikin-airbasefan/org.openhab.binding.daikin-2.5.4-SNAPSHOT.jar?raw=true

To install this:

  • Uninstall / remove your built in daikin binding
  • Put the above jar into your addons folder
  • (Maybe) restart openhab

Please let me know how it goes.

Im not too worried about the auto heat and cooling setting. I generally let openhab change it to heat or cool.
That worked! thanks so much!! so when I set it to “AUTO” it now works as I would expect it to. thanks so much for your help. Let me know if you need any further help testing.

Created a PR to merge this https://github.com/openhab/openhab-addons/pull/7340