2019-03-04

Daikin Air-con WiFi control

One of my air-con units was sufficiently ill that we gave up and changed it, and now I have a nice new Daikin one with WiFi control via a phone App.



The WiFi sticker that came with it had a QR code which was oddly not the WiFi login, even though iPhones understand such things, but I got it on to my WiFi (only 2.4GHz by the look of it) and all working with the app on the phone - nice.

What is nicer is poking it using curl. It has a noddy TCP stack and http interface (not https) which makes it very easy to script stuff. Several people have done this, but I have not found quite what I was looking for, so some poking around.

So, here goes, what I have found so far (subject to updates).

Sensor info

A simple get of /aircon/get_sensor_info gets :-

ret=OK,htemp=20.0,hhum=40,otemp=9.0,err=0,cmpfreq=26,mompow=2

Which is nice as it has room temp and humidity and external temp to 0.1C precision.
  • ret: A return status, with OK being good, it seems
  • htemp: Inside temp in C
  • hhum: Inside humidity, I assume in %
  • otemp: outside temp in 
  • err: I assume an error setting
  • cmpfreq: I am guessing compressor or fan frequency
  • mompow: Not sure, was 1 when idle and when heating, 2 now we are cooling

Control info

This is where it gets useful, a simple get of /aircon/get_control_info gives

ret=OK,pow=1,mode=4,adv=,stemp=30.0,shum=0,dt1=21.0,dt2=M,dt3=18.0,dt4=30.0,dt5=30.0,dt7=21.0,dh1=0,dh2=50,dh3=0,dh4=0,dh5=0,dh7=0,dhh=50,b_mode=4,b_stemp=30.0,b_shum=0,alert=255,f_rate=A,f_dir=0,b_f_rate=A,b_f_dir=0,dfr1=B,dfr2=5,dfr3=B,dfr4=A,dfr5=A,dfr6=A,dfr7=B,dfrh=5,dfd1=0,dfd2=0,dfd3=0,dfd4=0,dfd5=0,dfd6=0,dfd7=0,dfdh=0,dmnd_run=0,en_demand=0

What I have worked out so far :- 
  • pow: Power 1=on 0=off
  • mode: 1=auto, 2=dry, 3=cool, 4=heat, 5=?, 6=fan, 7=auto
  • adv: blank normal, 2=powerful, 13=streamer, 2/13=both
  • stemp: Set temperature
  • shum: Set humidity
  • dt1/2/3/4/5/7: Target temp for each mode
  • dh1/2/3/4/5/7/h: Target humidity for each mode (and h?)
  • alert: ?
  • f_rate: Fan rate A=Auto, B=Quiet, 3 to 7=speeds, 
  • f_dir: Fan direction 0=fixed, 1=vertical, 2=horizontal, 3=both
  • dfr1/2/3/4/5/7/h: Per mode something, not sure
  • dfd1/2/3/4/5/7/h: Per mode something, not sure
  • dmnd_run: Not sure
  • en_demand: Not sure
  • b_setting: Not sure

Control setting

Setting is a simple get /aircon/set_control_info?pow=1&mode=4&stemp=29&shum=0&f_rate=A which just responds with ret and adv.
The settings are as above.

So a simple cron to turn off at 06:35 is :-


35 6 * * * curl --silent 'http://x.x.x.x/aircon/set_control_info?pow=0&mode=7&stemp=21&shum=0&f_rate=B' | grep -v OK

4 comments:

  1. Looks like a neat system. It's a shame they don't look at wired options, as both my AC units could quite happily have been connected to a switch at some point along the cable run.

    I went with Mitsubishi Electric for the heat pumps (Installer sold more of them so had a better warranty agreement); they have a wireless card which can be added to some of their units, but they ask a lot of money for it and it's extremely basic.

    I've bought Sensibo units for them, which work pretty easily and have a homeassistant plugin. Expensive for what they are (Low power board + Wifi + IR blaster + Thermostat) and I dislike the requirement to connect to the internet and their insistence that local control would be impossible.

    ReplyDelete
  2. I have a diakin WiFi connected AC (it was after your blog posts I decided to get one in 2016 or so). It's an older ftxs50 5kW unit, that didn't have WiFi in built but had the option via a separate module.

    Annoyingly, the revision of the module they installed doesn't support telling me the energy usage, while later ones (that were available when it was installed) do.

    I have found the app to be perfectly functional however, and it has ifttt integration too which means I can control it with Alexa.

    ReplyDelete
  3. https://github.com/ael-code/daikin-control/wiki/API-System

    ReplyDelete

Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.