ael-code / daikin-control

Unofficial api documentation and web interface to control "Daikin Emura" air conditioner
GNU General Public License v2.0
294 stars 100 forks source link

Support request for new features #11

Open stagadet opened 8 years ago

stagadet commented 8 years ago

Hi,

I just bought a daikin FTXM air conditioner with BRP069A41 wireless adapter. I played a bit with the http api and I found out that there are a couple of new features that aren't present in your unofficial documentation regarding some operation modes: for instance comfort, powerful, sensor, clean, econo and quiet. I found out that some of the modes can be detected on the get_control_info page, but I cannot set them through the http api. I'm wandering if it is possible to sniff the messages that the daikin android application sends to the adapter to get the correct set messages (not all, but many of these modes can be set through the application). I'd like to know (before starting to sniff packets and since I think you have already done something similar) if you can tell me:

A

ael-code commented 8 years ago

Hi,

I just bought a daikin FTXM air conditioner with BRP069A42 wireless adapter. I played a bit with the http api and I found out that there are a couple of new features that aren't present in your unofficial documentation regarding some operation modes: for instance comfort, powerful, sensor, clean, econo and quiet. I found out that some of the modes can be detected on the get_control_info page, but I cannot set them through the http api. I'm wandering if it is possible to sniff the messages that the daikin android application sends to the adapter to get the correct set messages (not all, but many of these modes can be set through the application). I'd like to know (before starting to sniff packets and since I think you have already done something similar) if you can tell me:

  • if the interface the application uses is the http api you already documented

Yeap, the android application is using the http api documented in this project.

  • if you have any suggestion about ip packet sniffing (did you use an android app or did you use any other technique?) I hope you can help me and I'll try to update the documentation as much as I can.

Of course, I'll try to help you improving the api docs. To sniff packets you can use Aircrack-ng but it's a little bit complicated to setup. I think that an android app is the easiest way, because it will allow you to track only packets of the official daikin app. I remember that I've tried a couple of them, but I didn't remember the name of the final one. I don't even remember if root permission are required on android to sniff packets. Sorry :)

Anyway If you have some trouble in doing that feel free to ask.

stagadet commented 8 years ago

Thank you for the info. I'll try to install an android application and I'll let you know what happens. A

stagadet commented 8 years ago

Hi,

I managed to sniff packets from the daikin application (I used tPacketCapture that works without rooting, creating a vpn to sniff packets).

I found a couple of things: 1) You don't need to use POST requests to set the parameters: they can be set even with GET requests. The responses are the same and the official app uses GET even to set. (I also tried to use POST requests to read parameters and that seems to work too) 2) There are some other requests to read the status of the AC: /common/get_datetime the meaning is obvious and the response I got was: ret=OK,sta=2,cur=2016/7/7 21:23:28,reg=eu,dst=1,zone=313 /aircon/get_scdltimer_info it seems to get informations about the tasks scheduled on the AC, I have no further informations on that at the moment, but the response I got without anything scheduled was: ret=OK,format=v1,f_detail=total#18;_en#1;_pow#1;_mode#1;_temp#4;_time#4;_vol#1;_dir#1;_humi#3;_spmd#2,scdl_num=3,scdl_per_day=6,en_scdltimer=1,active_no=1,scdl1_name=,scdl2_name=,scdl3_name= /aircon/get_scdltimer_body&target=1 this seems to get detailed informations about a specific scheduled task, and the response I got was: ret=OK,format=v1,target=1,en_scdltimer=1,moc=0,tuc=0,wec=0,thc=0,frc=0,sac=0,suc=0 /aircon/get_day_power_ex?days=2 this command retrieves the power consumption (in 0.1 kWH) of the last 2 days, separated hour by hour starting from midnight and also separated for cooling and heating. The days variable can be set up to 7 for last 7 days. The response I got was: ret=OK,curr_day_heat=0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0,prev_1day_heat=0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0,curr_day_cool=0/0/0/0/0/0/0/0/0/0/0/0/1/0/0/0/0/2/2/2/2/0/0/0,prev_1day_cool=0/0/0/0/0/0/0/0/0/0/0/0/0/1/0/0/0/2/2/2/1/2/1/0 /aircon/get_week_power_ex this command retrieves the power consumption (in 0.1 kWh) of the current and last week, separated day by day, the response I got was: ret=OK,s_dayw=4,week_heat=0/0/0/0/0/0/0/0/0/0/0/0/0/0,week_cool=10/11/3/9/10/16/11/3/9/6/6/0/0/0 /aircon/get_year_power_ex this command retrieves the power consumption (in 0.1 kWh) of the current and last year, separated month by month, the response I got was: ret=OK,curr_year_heat=0/0/0/0/0/0/0/0/0/0/0/0,prev_year_heat=0/0/0/0/0/0/0/0/0/0/0/0,curr_year_cool=0/0/0/0/0/24/70/0/0/0/0/0,prev_year_cool=0/0/0/0/0/0/0/0/0/0/0/0 3) I found other requests to set the operating mode of the AC (the application uses GET HTTP requests): /aircon/set_special_mode?en_streamer=0 this command disables the ion streamer on the AC (or it enables substituting ?en_streamer=1). The response has the form: ret=OK,adv=13 or ret=OK,adv= where '13' means that the streamer has been activated or '' means that it has been deactivated /aircon/set_special_mode?set_spmode=1&spmode_kind=1 this command enables the power mode of the AC and this can be seen looking at the adv=2 return message (even in the get_control_info) /aircon/set_special_mode?set_spmode=1&spmode_kind=2 this command enables the econo mode of the AV and this can bee seen looking at the adv=12 return message (even in the get_control_info) /aircon/set_special_mode?set_spmode=0&spmode_kind=1 this command disables the power mode of the AC (I think it also works without the spmode_kind variable and also that it also disable the econo mode, but I haven't checked so far)

I still need to dig a little further to better understand the commands and there may be others (for instance to set some scheduled task) but I'd like to know:

ael-code commented 8 years ago

On 07/10/2016 07:11 PM, stagadet wrote:

Hi,

I managed to sniff packets from the daikin application (I used tPacketCapture that works without rooting, creating a vpn to sniff packets).

(...)

Very nice work man!!!!

I still need to dig a little further to better understand the commands and there may be others (for instance to set some scheduled task) but I'd like to know:

  • if you can try the commands with your AC to check if these commands are compatible also with it

Of course I'll do that. But I need some time to work on it.

  • if you want to update the api/application or if you prefer that I'll do that (at least for the documentation)

I love the pull request approach. I'll help you in the process. We can start by updating the documentation.

In any case could you specify which hardware/software platform are you testing on?

I've specified mine on the doc: https://github.com/ael-code/daikin-control#tested-hardware

stagadet commented 8 years ago

Hi, the hardware/firmware I'm using is: ModelName: Daikin FTX ModelID: FTXJ50MW WiFiControllerID: BRP069A41 Software version: 2.6.0

I hope this is exhaustive enough, since I don't know where to find the other codes you are showing. Regarding your testing hardware, is still in the 1.4.3 version? And do you still use an android/ios application? I'm currently using Android Daikin application v2.0.2. I guess that to update the documentation we should check which commands work in the different version of the WiFi adapter (it seems that all the get commands you documented are working with v 2.6.0, but I didn't try all the set commands and I don't know if the new commands are working on the old version).

I'll wait for your tests before updating the documentation.

For the moment, thank you for the support.

A

ael-code commented 8 years ago

Hi, the hardware/firmware I'm using is: ModelName: Daikin FTX ModelID: FTXJ50MW WiFiControllerID: BRP069A41 Software version: 2.6.0

I hope this is exhaustive enough, since I don't know where to find the other codes you are showing.

I think that is enough :)

Regarding your testing hardware, is still in the 1.4.3 version? And do you still use an android/ios application? I'm currently using Android Daikin application v2.0.2.

For various reasons I don't use so much this device, in any case now I've also updated to the last fw version (2.6.0).

I guess that to update the documentation we should check which commands work in the different version of the WiFi adapter (it seems that all the get commands you documented are working with v 2.6.0, but I didn't try all the set commands and I don't know if the new commands are working on the old version).

Seems that the new commands that you are suggesting were working also on the old firmware version. If we will have time we can also automate the tests.

I'll wait for your tests before updating the documentation.

Seems that they are working except for /aircon/set_special_mode sets. They are returning

ret=PARAM NG,adv= or ret=ADV NG,adv=

It seems that you have the newer model. Just to be sure can you post the android app screenshot of the page that allow you to change this special modes?

For the moment, thank you for the support.

A

Since it seems that there are some people interested in this project I've started a parallel one in order to build a python library for managing the device. As soon as it will be ready it could be used to build a command line interface, a new web interface, etc...

At the moment, I've managed to implement the discovery procedure, just like the android app does, it allow you to discover all the Air Conditioners into the your lan.

I hope you'll like it :)

stagadet commented 8 years ago

Seems that they are working except for /aircon/set_special_mode sets. They are returning

ret=PARAM NG,adv= or ret=ADV NG,adv= It seems that you have the newer model. Just to be sure can you post the android app screenshot of the page that allow you to change this special modes?

I think that ADV NG means he doesn't find the advanced mode (probably not supported on the device). I also tried and if I don't specify thespmode_kind variable, I also get PARAM NG, so probably the command with just the set_spmode variable isn't correct. Here there are the screenshot for the modes: screenshot_2016-07-13-18-25-07 the special modes can be selected on the lower part of the screen. screenshot_2016-07-13-18-26-41 The menu for the streamer special mode screenshot_2016-07-13-18-27-07 The menu for the econo/powerful special mode.

Unfortunately it doesn't seem to exist a special mode for the intelligent eye and for the external quiet mode.

Since it seems that there are some people interested in this project I've started a parallel one in order to build a python library for managing the device. As soon as it will be ready it could be used to build a command line interface, a new web interface, etc...

At the moment, I've managed to implement the discovery procedure, just like the android app does, it allow you to discover all the Air Conditioners into the your lan.

I hope you'll like it :)

Of course it will be much appreciated, and I hope the api will be also integrated on openhab (that unfortunately is written in java so it will need a different implementation).

fcattaneo2 commented 8 years ago

I just bought a daikin FTXM air conditioner with wireless adapter.. i plan to control my unit dependent on energy produced by my photovoltaic system. For do this i will use a Raspberry PI where also run emoncms as monitor .

My questions.. there is a way to get istant power draw from the unit ? ; stagadet find a way to get energy in .1 kwh and this is very usefull but for my application i need the power.

Ciao, Fabrizio

nchieffo commented 8 years ago

Another question: when you leave the plug connected, but all of your air conditioning units off, do you still see a daily consumption of 1kwh per internal unit on a random hour (again, even if it is kept off all day)

stagadet commented 8 years ago

@fcattaneo2 Hi, I don't think there is a request to get the instantaneous power of the device. As far as I know all the requests are the same that are issued by the official app, and in the app you cannot see the power. Anyway, for your application, I think you can just set 3 thresholds on the power produced by the photovoltaic system to turn on/power saving/off the air conditioner.

Ciao. A

stagadet commented 8 years ago

@yelo3 Hi, I didn't noticed this before. Anyway, now that I'm not using the unit, I see that I have .1kWh consumption every 3/4 days. It may be the stand-by power consumption (in my case the average is around 1W).

nchieffo commented 8 years ago

Yes, I think you are right! Anyway I managed to lower the consumption by enabling standby mode (it is a jumper that needs to be removed inside the external unit). I've done it 2 days ago and I still haven't seen any spurious 0,1KWh bar. Maybe I will see one in the following days...

chaicka commented 7 years ago

Model Name: Daikin FTKS Model ID: FTKS25DVM/FTKS35DVM WiFiControllerID: BRP072A42 Software Version: 2.9.0

This discussion is getting interesting. Sure wish there is an effort to expand the database of API commands available for different WiFiController (and its associated air-conditioner models if necessary).

stagadet commented 7 years ago

@chaicka I made a pull request with the commands I found sniffing the traffic with my configuration. If you can confirm that they work with your configuration (you can use a web browser or a command-line tool like curl or wget to quickly create get requests), I think it will be possible to add that too.

ael-code commented 7 years ago

Can someone confirm the new API explored by @stagadet?

zerr0s commented 7 years ago

Model Name: Daikin FTXS Model ID: FTXS50K3V1B WiFiControllerID: BRP072A42 WiFiController firmware version: 3.3.1 Daikin application version: 2.2.1

Hi, forgive me for my bad english. I've tested the "set_special_mode" endpoint discovered by @stagadet with unit OFF: "/aircon/set_special_mode?set_spmode=0&spmode_kind=1" ==> "ret=OK,adv=" "/aircon/set_special_mode?set_spmode=1&spmode_kind=1" ==> "ret=ADV NG,adv=" "/aircon/set_special_mode?set_spmode=1&spmode_kind=2" ==> "ret=ADV NG,adv=" "/aircon/set_special_mode?en_streamer=0" ==> "ret=PARAM NG,adv=" "/aircon/set_special_mode?en_streamer=1" ==> "ret=PARAM NG,adv="

On the daikin application, The menu for power mode does not appear. The "get_model_info" returns: "ret=OK,model=NOTSUPPORT,type=N,pv=0,cpv=0,mid=NA,s_fdir=3,en_scdltmr=1"

I suppose that the "NOTSUPPORT" is the cause of this ?? Hope I can help to improve the research of new features on daikin units.

zerr0s commented 7 years ago

Withe the unit ON, none of the special_mode works. Same results: "/aircon/set_special_mode?set_spmode=0&spmode_kind=1" ==> "ret=PARAM NG,adv="

@stagadet if you have upgrades the wifi controller firmware to 3.3.1, could you please make a new capture when you choises special modes ? I don't have this menu on my daikin application.

stagadet commented 7 years ago

@zerr0s the special modes seem to report "ret=PARAM NG" while the unit is OFF, even if the feature is supported. Are you sure the special modes are supported on your unit? Probably if you haven't them on the application, they are not.

At the moment I still have firmware 2.6.0, but the android application is not working anymore (it needs the most recent firmware). I'd like to try with firmware 3.3.1 but I was waiting for someone to try if the unofficial API still works. Can you confirm that it is still possible to use it at least for the most basic functions?

alebastrov commented 7 years ago

I have Ftxz model. I can confirm unofficial api works for newest firmware. For my 2 conditioners power consumption metering does not work (returns zero in each position). By the way I write my own Java app.

alebastrov commented 7 years ago

By the way I checked special modes http://192.168.1.162/aircon/set_special_mode?set_spmode=0&spmode_kind=1 and http://192.168.1.162/aircon/set_special_mode?set_spmode=0&spmode_kind=2 returns ret=OK,adv=

zerr0s commented 7 years ago

@stagadet I have all special modes on the remote control. I have this one: https://youtu.be/sW9riyWCLsI But the official daikin application does not have the special modes menu.

let me know if you upgrade the firmware to 3.3.1 and sniff network packets to find the special modes parameters :)

@alebastrov Some models does not support le power consumption. My FTXS does not (found it it the manual).

chaicka commented 7 years ago

Pardon me to off-topic a little. Is there a new firmware for BRP072A42?

I am not able to see any new firmware available in the Daikin app on iPhone. Is there specific steps to get new firmware show up as available to up?

alebastrov commented 7 years ago

@zerros it looks weird. On my remote control for AC power consumption exists - since last start and total. But Api does not support. I wanted updates would help with it.

zerr0s commented 7 years ago

@chaicka I did nothing particular to update the firmware. The daikin application has discovered my unit and has reported me a new update for this unit.

@alebastrov I think that all function presents on the remote control (RF) are not present on the wifi controller. My remote control does not have the power consumption at all.

chaicka commented 7 years ago

@zerr0s, does the new firmware shows up while the BRP072A42 is in [RUN] mode or [AP] mode?

The last time I saw a firmware update was when the WLAN Adaptor is in [AP] mode and I have updated to version 2.9.0. It has stay at that version since switching to [RUN] mode and no new firmware shows up.

JetDot commented 7 years ago

@chaicka: New firmware shows up as an exclamation icon next to your AC (see attached image) when you are at the Home screen of your Daikin Controller mobile App, but only if you have updated the App to the latest version from your App store.

So anyone else has confirmed that the all current API is still functional after upgraded to the 3.3.1 controller version? I am still hesitating to upgrade (my controller runs fine at ver. 2.6.0) as I am using most of the functions (IO operation, flaps controll, setpoint, consumption values gathering etc).

img_0447

Apollon77 commented 7 years ago

I can confirm it. (for basic details, do not have tested power consumption)

stagadet commented 7 years ago

I can confirm too. (Also power consumption is ok for me).

@ael-code maybe it is possible to add v3.3.1 to the tested hardware on readme.md?

JetDot commented 7 years ago

I can confirm too that all API is still working with v3.3.1 firmware (AC model: FTXM)

ael-code commented 7 years ago

@ael-code maybe it is possible to add v3.3.1 to the tested hardware on readme.md?

fixed in b543aecc2c82469875bef375f8f648b4319588b7. Thanks to all of you 👍

ael-code commented 7 years ago

I can confirm too that all API is still working with v3.3.1 firmware (AC model: FTXM)

@JetDot if you tested a new hardware configuration that is not listed in the README please inform us. I would like to add your model FTXM to the list. Can you provide the following info:

ModelName: 
ModelID:
WifiControllerID:
Software version:
zerr0s commented 7 years ago

Model Name: Daikin FTXS Model ID: FTXS50K3V1B WiFiControllerID: BRP072A42 WiFiController firmware version: 3.3.1 Daikin application version: 2.2.1

Hi, for me all api is working except the special modes. My unit supports special modes usin my remote control but all URLs listed above for special modes doesn't work.

Does soemeone that have done the 3.3.1 upgrade and have the special mode button on the official daikin app can make a new network capture when you press on special modes buttons please ?

The off daikin app on my phone does not have any of special modes buttons...

Chrisk6 commented 7 years ago

@JetDot (Δικος μας)

Since the last update on Aug 17 the consumption history resets every day. The only bug that i have noticed so far. Prior the update all other functions were working normally without any failures. Can someone advise me how to solve this issue? Will the reset of the controller solve this bug? The strange issue is that some users do not have this failure. My AC is the FTXM50/RM50.

rstrrt commented 6 years ago

I just want to report another working setup:

MODEL ID: FTXS25G2V1B WiFiControllerID: BRP069A42 WiFiController firmware version: 3.3.1 Daikin android app version: 2.3.0

Basic controls are available, but no special (powerful or silent) modes and no consumption values.

This is particularly relevant because FTXSxxG models are NOT on the official list of compatible devices for any Daikin wifi controller, and even Daikin support people will tell you they are not supported.

Thanks to gcarboni over here for paving the way: https://www.plcforum.it/f/topic/221049-split-daikin-ftxs25g2v1b-possibile-collegare-wifi/

JetDot commented 6 years ago

Hi to all. After the latest iOS app update, a new firmware is about to be installed in my controller (v. 3.3.6). Has anyone confirmed that the all current API is still functional after upgraded to the 3.3.6 controller version? I would like to test this upgrade (my controller runs now in ver. 3.3.1) just in case they have fixed the consumption values bug (resets every week or so) but I am using most of the other api functions just fine (IO operation, flaps controll, setpoint, consumption values gathering etc).

Apollon77 commented 6 years ago

I updated any my scripts still work. BTW: Also the Daik app itself rely on this API ... they will not that easiely break their own app :-)

chaicka commented 6 years ago

May I know which country you guys are located?

I am in Singapore and basically the Daikin here has left the app without update nor firmware update since version 2.1 (app) and 2.9.0 (firmware of WiFi module).

JetDot commented 5 years ago

I updated any my scripts still work. BTW: Also the Daik app itself rely on this API ... they will not that easiely break their own app :-)

Thank you for the confirmation. Regarding their Daikin app, it’s their own so there is always the possibility to upgrade it too in order to accommodate any change they may do in the api...

JetDot commented 5 years ago

May I know which country you guys are located?

I am located in Europe, Greece

melmel88 commented 5 years ago

Hi All,

I am located in Hong Kong and uses aircon Daikin FTXS25EVMA and Daikin Daikin FTXS25E . I am very much interested in how BRP069B42 can control the aircon units from anywhere in the world. Kindly advise all and i look forward to hearing any help you guys can render.... Thanks!!!!

fredrike commented 5 years ago

Hi All,

I am located in Hong Kong and uses aircon Daikin FTXS25EVMA and Daikin Daikin FTXS25E . I am very much interested in how BRP069B42 can control the aircon units from anywhere in the world. Kindly advise all and i look forward to hearing any help you guys can render.... Thanks!!!!

There is quite good support for Daikin AC-units in HomeAssistant https://www.home-assistant.io/components/daikin/ which will allow you to not only control your ac but also the rest of your "smart" home.

melmel88 commented 5 years ago

Please kindly advise where can i buy BRP069B42 in hong kong and is compatible with homeassistant

mel

On Tue, 11 Jun 2019, 17:08 Fredrik Erlandsson <notifications@github.com wrote:

Hi All,

I am located in Hong Kong and uses aircon Daikin FTXS25EVMA and Daikin Daikin FTXS25E . I am very much interested in how BRP069B42 can control the aircon units from anywhere in the world. Kindly advise all and i look forward to hearing any help you guys can render.... Thanks!!!!

There is quite good support for Daikin AC-units in HomeAssistant https://www.home-assistant.io/components/daikin/ which will allow you to not only control your ac but also the rest of your "smart" home.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ael-code/daikin-control/issues/11?email_source=notifications&email_token=AMJK5EZVTULTSJGIKSO6CV3PZ5TRRA5CNFSM4CIZRGQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXMO4UY#issuecomment-500756051, or mute the thread https://github.com/notifications/unsubscribe-auth/AMJK5E7ENRVHN5EXWTD3I73PZ5TRRANCNFSM4CIZRGQA .

Chrisk6 commented 5 years ago

Hello to all, I have recently purchased the FTXC25B unit along with the controller BPR069B41 or 45 ( I think its the same). Even though the application is working normally after the installation, I cannot use the consumption utility. It is grey and cannot be selected. I also own one FTXM50M and the consumption is working faultless. I am able to choose the consumption utility and check the history. Does anyone have any idea why I cannot use the consumption on the FTXC25B unit? As per Daikin's site the consumption can be monitored in subject model.

Thank you for your time and attention.

oesolberg commented 5 years ago

Can anyone confirm if the special modes work with equipment bought in 2019?

/aircon/set_special_mode?set_spmode=0&spmode_kind=1" ==> "ret=OK,adv=" "/aircon/set_special_mode?set_spmode=1&spmode_kind=1" ==> "ret=ADV NG,adv=" "/aircon/set_special_mode?set_spmode=1&spmode_kind=2" ==> "ret=ADV NG,adv=" "/aircon/set_special_mode?en_streamer=0" ==> "ret=PARAM NG,adv=" "/aircon/set_special_mode?en_streamer=1" ==> "ret=PARAM NG,adv="