Everyone knows Daikin make some of the best air conditioners out there, mechanically speaking. Sadly their WiFi control modules are not so good, especially the latest models which are all cloud based, require an internet connection to even work, and are slow.
This code/module provides local control via web interface, MQTT, and HomeAssistant integration, all with no cloud crap.
PCB designs are included, and also available to buy on Amazon UK. Note, whilst Amazon have done some export, some people have used a parcel forwarder for non UK, such as Forward2Me.
- Work in progress / release notes
- Setup Manual
- Controls Manual
- Advanced Manual
- ESP8266 port of this code.
- list of supported air-con WiKi
- DoC and Vulnerability disclosure policy.
For support, see issues and discussions.
The board from Amazon UK works with Daikin modiles via an S21
connector, or X50A
and X35A
connectors, or similar. The design is updated from time to time so may not look exactly like this.
Supplied in a 70x70 panel as an assembled PCB with snap off parts down to two sizes.
If you have the existing Daikin wifi unit on a cable with 5 pin S21
plug, it is simply a matter of changing it to the Faikin
module. However, in other cases you may need to obtain a cable and connect to your air-con unit. The S21 cable is one to one wired, i.e. pin 1 to pin 1. Note that Pin 5 is โ.
The S21 plug neede is JST, EH Female Connector Housing, 2.5mm Pitch, 5 Way, 1 Row, which needs pins and crimps as well.
WARNING Messing about in your air-con unit can be dangerous with live power, and could damage the unit. Take all precautions necessary and you mess with your air-con unit at your own risk! Note, X403
is a non isolated version of S21
so if you wire to that your Faikin will be live, so needs to be inside the case somewhere, and don't wire anything while the power is on... See X403.
There have been various discussions on this - Daikin appear to have a standard connector that is S21
. They seem to have this in models that even have build in WiFi modules (see image). You need a JST-EH 5 way connector for S21
. However the module can also be wired to units that have an X50A
connector, with slightly different cabling. The discussions have various comments on this, but please do ask.
Another approach is "jumper wires" using header pins or sockets, e.g
It is also possible to connect to the S403
connector. The proper way to do this is with a Daikin S21
adapter board, as the S403
is not isolated, and use directly could be dangerous. This link has some more details of the S403
connector, as well as issue 134.
![](https://private-user-images.githubusercontent.com/996983/285747910-992e6057-9ac9-4c6b-abab-93d5e45aa2b0.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzNDg3NjcsIm5iZiI6MTcyNDM0ODQ2NywicGF0aCI6Ii85OTY5ODMvMjg1NzQ3OTEwLTk5MmU2MDU3LTlhYzktNGM2Yi1hYmFiLTkzZDVlNDVhYTJiMC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxNzQxMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNjA2MTE3OTYxZDI1MDcyODNmMzc0YTA5M2I4OTYzMjNlMThhMjExZTNhNDU3NmE5ODE2NDMyYTUwMGZmNTcwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.XWRY4bKZoorgm0_Rr-t7xtOAOALSIpF2MvdZwWIQd98)
For X50A
you need power from X35A
as well.
![](https://private-user-images.githubusercontent.com/996983/285747848-ab18e1a4-45ad-4b61-9ce7-5dfeefffdfa1.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzNDg3NjcsIm5iZiI6MTcyNDM0ODQ2NywicGF0aCI6Ii85OTY5ODMvMjg1NzQ3ODQ4LWFiMThlMWE0LTQ1YWQtNGI2MS05Y2U3LTVkZmVlZmZmZGZhMS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxNzQxMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNjk0ZWRhMGFiZmRlZDEwZmMzZWM4MTJkZTMwMDE0YTlhNDU3ZDU0MGEyMzM2NzBhZDU5MjNiMDAwZGRiYmMwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.fsIMBCMVqRnEBb-XpUiV3ib_ipgoFSobFv7Eb2RWJsE)
The history is that, after years of using Daikin air-con in my old home, and using the local http control, in my new house in Wales the WiFi was all cloud based with no local control, and useless, and slow. Just configuring it was a nightmare. I spent all day reverse engineering it and making a new module to provide local control. Pull requests and feature ideas welcome.
This whole project is almost entirely by me, but with some valuable contributions from others (thank you). All of my bits are copyright by me and Andrews & Arnold Ltd who sponsor the whole project, and released under GPL. Whilst not required by the licence, attribution and links would be appreciated if you reuse this.
As mentioned, on Amazon UK - but not available to export everywhere. Forwarding companies are an option.
But also, the PCB designs are published, including production files for JLCPCB. You would also need something to program them, such as my Tasmotiser board.
Someone has made (slightly older versions of) boards for sale in US on Tindie as well.
Appears as access point with simple web page to set up on local WiFI. On iPhone the setup page auto-loads.
Local interactive web control page using hostname.local, no app required, no external internet required.
- KiCad PCB designs included, with JLCPCB production files.
- 3D printed case STL files
- Documentation of reverse engineered protocol included
Basically, Daikin have gone all cloudy with the latest WiFi controllers. This module is designed to provide an alternative.
- Simple local web based control with live websocket status, easy to save as desktop icon on a mobile phone.
- MQTT reporting and controls
- Works with Home Assistant over MQTT - note Home Assistant can work with HomeKit
- Includes linux mysql/mariadb based logging and graphing tools
- Works with EnvMon Environmental Monitor for finer control and status display
- or, works with BlueCoinT and Telink BLE temperature sensor as a remote reference in an auto mode
- Automatically works out if S21 or X50 protocol (used on bigger/ducted units)
- Backwards compatible direct
/aircon/...
URLs
Git clone this --recursive
to get all the submodules, and it should build with just make
. There are make targets for other variations, but this hardware is the make pico
or make s3
version. The make
actually runs the normal idf.py
to build which then uses cmake. make menuconfig
can be used to fine tune the settings, but the defaults should be mostly sane. make flash
should work to program. If flashing yourself, you will need a programming lead, e.g. Tazmotizer or similar, and of course the full ESP IDF environment. The latest boards also have 4 pads for direct USB connection to flash with no adaptor. The modules on Amazon come pre-loaded and can upgrade over the air.
The code is normally set up to automatically upgrade software, checking roughtly once a week. You can change this in settings via MQTT.
If you build yourself, you either need no code signing, or your own signing key. This will break auto-updates which try to load me code releases, so you need to adjuist settings otahost
and otaauto
accordingly. You can set these in the build config, along with WiFi settings, etc.
If you want to purchase a pre-loaded assembled PCB, see A&A circuit boards or Amazon.