Control Daikin air conditioner over the Internet

Here is a small home-automation project that I have been working in my free time. I wanted to control my home-made air source heat pump system (based on Daikin FTX71GV / RX71GV ) from anywhere with Internet access. That would allow me to control my house’s heating/cooling remotely and more interestingly I could create scripts that turn the heating up/down based on outside temperature, time of day, inside average temperature and other criteria. All this to make a more efficient energy use, therefore a greener energy plan. Detailed instructions on how to use the DAIKIN air conditioner controller

My Daikin uses an ARC433** series remote control, so the analysis was done for that particular IR remote.

I had a NaNode laying around, so the hardware part was pretty much figured out. Just needed an 940nm IR diode, couple resistors, a transistor and I was all set.

Next, I had to decode the IR protocol of Daikin air condifioners. That was quite a challenge as it turned out. To do this I needed to capture the IR signal and reverse-engineer it. Since I have no oscilloscope, I used my sound card as described in this article. I used audacity and spent few days poking by eyes analyzing the waveform. There are few articles on the Internet that helped me also, but none was about the IR protocol for my specific Daikin model. As it seems, there are at least three protocols used by that manufacturer.

The IR frame is split in two parts 3000us apart. Quite strange approach, I think it it done to confuse universal IR learning devices. In fact I also tried to learn the codes using a SilverCrest universal remote, but it fails due to the gap between transmissions.

So after I had the IR protocol figured out, I had to put up the software. I used Ken Shirriff’s IR library and modified it so that it takes Daikin’s protocol.

For Ethernet connectivity I useJCW’s EtherCard library, of course modifying it a bit because of some limitations it has. Basically the restrictions I needed to avoid are the progmem based DNS lookup and no custom HTTP headers management. Another challenge was to deal with the RAM usage, the library has the TCP buffer taking most of the ATMega’s RAM plus it is a single-packet implementation. That means that a page cannot exceed 1100 bytes (that’s the buffer size).. I finally managed to squeeze in all the UI and was left with 196 bytes of RAM free. Funny when you think of the amount of functionality that 30K of compiled sketch code can hold vs modern software resource usage.

So here is what I came up with as features list:

  • IPv4 only supported; IP, Gateway and DNS configurable via the web UI.
    • The module responds to ICMP (ping)requests
    • Option to reset to default values via a button press during start up (use in case you forget the network settings)
  • HTTP server
    • Web UI, optimized for use via mobile phone by using JQuery;
    • Option for basic HTML UI
    • JavaScript is required on the client in both cases
    • HTTP listen port is configurable
    • Basic HTTP authenticatication can be enabled for password protection of the web UI. Useful to prevent unauthorized access to the module
  • Manual remote control
    • Set On/Off state
    • Set temperature
    • Set mode (heat, cool, dry, auto)
    • Set aux functions (Powerful, Silent, Normal operation)
    • Set fan (1 bar, 3 bars,5 bars, night mode, auto)
  • Schedule timers – 10 user configurable timers via the UI; This is something quite useful because my Daikin doesn’t have scheduler built in.
    • Day(s) to activate Monday-Friday, Weekends,Every day, individual day of week
    • Hour
    • Minute (in 15 min intervals)
  • Time synchronization via NTP (Network Time Protocol; Time is needed if using the schedule. I use NTP because I don’t have a RTC on the NaNode plus seems less hassle to maintain.
    • NTP server configurable (as IP or site)
    • Timezone takes positive and negative values
  • Support for DynDNS dynamic DNS service. This is a bit of feature creep, but wanted to give it a try. So I have a fully functional DynDNS client now 
  • The module can generate JSON state string for external polling via PHP, JavaScript and so forth
    • {“state”:”1″,”mode”:”4″,”temp”:”24″,”fan”:”176″,”aux”:”16″}
  • The module can be controlled with HTTP GET requests. In combination with JSON feedback, you can use the module from your own web scripts

The project turned out too specific – for a particular model of AC. For the future I’d like to take a different approach – learning IR codes rather than decoding and using for a specific model. Learning a code will be simply memorizing the pulse widths and compressing them. AC remote controls send “state” in one command, therefore learning is quite useful. The user may then put a name to the learned code i.e. “heating, temp=21deg, fan=low”. The learned codes will be stored on SD card.

Leave a Comment

Step-by-Step: Removing Microsoft Edge via PowerShell on Windows 10

Step-by-Step: Removing Microsoft Edge via PowerShell on Windows 10

Master the step-by-step process to remove Microsoft Edge via PowerShell on Windows 10. Free up RAM, CPU, and storage for epic gaming sessions. Safe, detailed guide with warnings and tips.

Troubleshooting Microsoft Edge Context Menu Classic Fix

Troubleshooting Microsoft Edge Context Menu Classic Fix

Struggling with Microsoft Edge context menu glitches? Unlock instant fixes for right-click issues. Step-by-step classic troubleshooting to restore full functionality fast – no tech expertise needed!

How to Use Microsoft Edge Web Capture for Full-Page Screenshots

How to Use Microsoft Edge Web Capture for Full-Page Screenshots

Effortlessly capture entire webpages with Microsoft Edge Web Capture. This step-by-step guide reveals how to take full-page screenshots, edit, and share them instantly for unbeatable results.

How to Fix Microsoft Edge Windows Sandbox Feature Error

How to Fix Microsoft Edge Windows Sandbox Feature Error

Tired of the frustrating Microsoft Edge "Windows Sandbox" feature error blocking your workflow? Follow our proven, step-by-step guide to fix it quickly and restore smooth browsing on the latest Windows builds. No tech expertise needed!

Troubleshooting Microsoft Edge Update Core Exe Error

Troubleshooting Microsoft Edge Update Core Exe Error

Tired of the frustrating Microsoft Edge "Update Core Exe" Error? Discover step-by-step troubleshooting fixes to resolve it quickly and restore smooth browsing. Works on latest Edge versions!

How to Fix Microsoft Edge Cant Read or Write to Data Directory

How to Fix Microsoft Edge Cant Read or Write to Data Directory

Frustrated by Microsoft Edge "Can

Troubleshooting Edge Browser History Not Saving

Troubleshooting Edge Browser History Not Saving

Struggling with Troubleshooting Edge Browser History Not Saving? Discover proven steps to fix Microsoft Edge history issues fast. Clear cache, tweak settings, and more for seamless browsing. Updated with latest tips!

How to Fix Microsoft Edge Msi Error 1722 Windows Installer

How to Fix Microsoft Edge Msi Error 1722 Windows Installer

Stuck with Microsoft Edge MSI Error 1722 on Windows Installer? Discover proven, step-by-step fixes to resolve it fast—no tech skills needed. Get Edge running smoothly again!

Troubleshooting Edge Browser Uninstall Option Greyed Out

Troubleshooting Edge Browser Uninstall Option Greyed Out

Edge browser uninstall option greyed out? Follow our proven troubleshooting Edge browser "Uninstall Option Greyed Out" steps to remove Microsoft Edge safely and regain control of your PC. Works on latest Windows versions!

Solving Microsoft Edge Installer Error 124 Windows 11

Solving Microsoft Edge Installer Error 124 Windows 11

Stuck with Microsoft Edge Installer Error 124 on Windows 11? Follow our step-by-step guide with reliable fixes to resolve it fast and restore smooth browsing. No tech expertise needed!

Troubleshooting Microsoft Edge Touchpad Palm Rejection

Troubleshooting Microsoft Edge Touchpad Palm Rejection

Struggling with Touchpad Palm Rejection issues in Microsoft Edge? Follow our step-by-step troubleshooting Microsoft Edge Touchpad Palm Rejection guide to eliminate accidental clicks, erratic scrolling, and restore seamless browsing on your laptop. Proven fixes inside!

How to Fix Microsoft Edge Bad Image Error on Windows 11

How to Fix Microsoft Edge Bad Image Error on Windows 11

Tired of Microsoft Edge crashing with "Bad Image" error on Windows 11? Discover proven, step-by-step fixes like SFC scans, DISM repairs, and Edge resets to get back online fast—no tech skills required!

How to Fix Microsoft Edge Classic Shell Settings Error

How to Fix Microsoft Edge Classic Shell Settings Error

Facing the frustrating Microsoft Edge "Classic Shell" Settings Error? Discover proven, step-by-step fixes to restore smooth browsing. Quick solutions for Windows users—no tech expertise needed!

Troubleshooting Microsoft Edge Laptop Battery Drain 2026

Troubleshooting Microsoft Edge Laptop Battery Drain 2026

Struggling with Microsoft Edge causing excessive laptop battery drain in 2026? Discover proven troubleshooting steps, quick fixes, and advanced tips to extend your battery life by up to 2x. Updated with the latest Edge features!

How to Make Google the Default Search Engine on Microsoft Edge

How to Make Google the Default Search Engine on Microsoft Edge

Discover how to make Google the default search engine on Microsoft Edge effortlessly. Step-by-step instructions for desktop and mobile, plus tips to optimize your browsing. Updated for the latest Edge version!