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.

Sign up and earn $1000 a day ⋙

How to pin comments on TikTok

How to pin comments on TikTok

How to pin comments on TikTok, TikTok allows users to pin comments easily. Here's how to pin comments on TikTok videos.

Instructions for Organizing a Q&A session on Facebook

Instructions for Organizing a Q&A session on Facebook

Instructions for Organizing a Q&A session on Facebook, Recently, Facebook has launched the feature to create a Q&A session, when you post a question for everyone to answer.

Instructions for installing and recording videos with Likee

Instructions for installing and recording videos with Likee

Instructions for installing and recording videos with Likee, Likee is an application that supports extremely beautiful and impressive video recording, and is loved by many young people today. The following,

How to export the list of meeting participants in Zoom

How to export the list of meeting participants in Zoom

How to export the list of meeting participants in Zoom, How to take attendance on Zoom is not difficult, it even allows you to export the list of students participating in the class.

How to change font on Xiaomi

How to change font on Xiaomi

How to change font on Xiaomi, Want to create a new image for Xiaomi device? Just follow the instructions below to change the font style and size above

Instructions for creating a mirror image effect on Picsart

Instructions for creating a mirror image effect on Picsart

Instructions for creating a mirror image effect on Picsart, Picsart is an application where users only need to perform a few simple steps to transform the photo.

How to add new fonts to Microsoft Word

How to add new fonts to Microsoft Word

How to add new fonts to Microsoft Word, Can't find the font you want to use for documents in Microsoft Word? Don't worry, you can install new fonts for Word according to these steps

How to turn off the computer screen and still keep the computer running

How to turn off the computer screen and still keep the computer running

How to turn off the computer screen and still have the computer running, How to turn off the PC screen and still have the computer running on Win 10/11? Very simple. Here's how to turn off the computer screen

How to fix facebook error logging in 3/2024

How to fix facebook error logging in 3/2024

To fix the “An unexpected error occurred” issue when logging in to Facebook, you can try the following steps

Cant access Facebook, Messenger and Instagram, how to fix it immediately

Cant access Facebook, Messenger and Instagram, how to fix it immediately

Users reported that their Facebook, Messenger and Instagram accounts were suddenly logged out and could not be accessed again, both on the app and web version.

Instructions on how to take photos on Tiktok are extremely simple

Instructions on how to take photos on Tiktok are extremely simple

Instructions on how to take photos on Tiktok are extremely simple. Tiktok is a famous application for recording and creating short videos on social networks. However, this application also

How to find and get Instagram links

How to find and get Instagram links

How to find and get Instagram links, Instagram is one of the most popular and easy-to-use social networking platforms today. However, because it is designed specifically for mobile,

Instructions for locking the mouse cursor when playing games on BlueStacks

Instructions for locking the mouse cursor when playing games on BlueStacks

Instructions for locking the mouse cursor when playing games on BlueStacks, Instructions for turning on/off the mouse cursor lock feature when playing games in the BlueStacks App Player emulator.

Instructions for installing and using Faceapp using an emulator on PC

Instructions for installing and using Faceapp using an emulator on PC

Instructions for installing and using Faceapp using an emulator on PC, Simple and easy instructions on how to install and use the Faceapp face editing app using an emulator on PC

Instructions for creating a cover photo group on Facebook

Instructions for creating a cover photo group on Facebook

Instructions for creating a cover photo group on Facebook, Creating a cover photo group is a feature that helps users set Facebook cover photos with many different images (maximum of 6 photos).

Mastering Technical Analysis with the Stochastic Indicator on Bubinga

Mastering Technical Analysis with the Stochastic Indicator on Bubinga

Learn how to effectively use the Stochastic Indicator for technical analysis on Bubinga. Explore advanced techniques to enhance your trading strategies

Instructions for adding angel wings to photos using PicsArt

Instructions for adding angel wings to photos using PicsArt

Instructions for adding angel wings to photos using PicsArt, PicsArt is a photo editing application used by many people today. Today WebTech360 will introduce the article

How to turn off the Just accessed notification on Zalo

How to turn off the Just accessed notification on Zalo

How to turn off the Just accessed notification on Zalo. This article WebTech360 will guide you to turn off the Just accessed notification under your Zalo chat name.

Instructions for blocking and unblocking accounts on TikTok

Instructions for blocking and unblocking accounts on TikTok

Instructions for blocking and unblocking accounts on TikTok. Similar to other social networking applications, TikTok also allows users to block someone's account

How to write a long status with a colorful background on Facebook

How to write a long status with a colorful background on Facebook

How to write a long status with a colorful background on Facebook, Today, WebTech360 will introduce some steps to post a long status with a colorful background on Facebook,