@hajak I’m at a standstill with this unfortunately. I can capture all the raw codes, starting from a standard baseline config from which I create one new file per button press for, but running the rounding program doesn’t convert to binary. I’d be willing to pay to help get this in at this point if you are interested.
Thanks! Do I need to run through all the iterations based on mode or can I just set it to one config i.e. “Cool, Fan low, 75, no swing, no eco” and then do each command/state per file from that baseline?
I’ve gotten the first round of raw codes ready so we can see if they work for you.
Files ordered by change date, I started with “cool_75f_swing-off_fan-low_on-off” that is I had the remote at cool, 75f, no swing, low fan, no aux modes (powerful, quiet, eco, etc.) enabled and then pressed the on/off button and recorded it to the file.
I then created each new file based on a single button push, the change is in the file name i.e. dry_75f* means I used the base config above and set the mode to “dry”, and so on.
It’s a pretty tiny zip file - how do I get it to you? I don’t see a way to attach files here.
Your unit has “powerful, quiet, eco” modes? Is this a Daikin Ceiling Cassette unit? This sounds more like the wall units that use the standard Daikin module. Have you tested that module?
Hmm yeah this remote is much closer to the original remote. The ceiling cassettes that use the remote i built this for do not have those extra modes. I will look at it but it is probably not something i want to add to this module since it is probably a completely different protocol
Also Daikin really could use some unification in their product lines, good lord they seem to be all over the place. Also why I did not bother with their Wifi interface because it looked like a closed system and the IR I could atleast write some code to work with it.
The Daikin protocol used with these remotes is 128. I don’t believe that has been upstreamed to ESPHome but it is in the ESP8286 IRRemote library. You can see it referenced in here Starting line 552 you’ll find the correct frequency and bits for this protocol along with the supported modes. It is further broken out in the class reference: IRremoteESP8266: IRDaikin128 Class Reference
I’m fooling around with the library with custom components/libraries in ESPHome but I’m curious if the above is useful to you as well. I haven’t gotten it working yet but that may be more to my unfamiliarity with ESPHome config syntax.
Edit: Well, well. I’ve managed to get the unit to turn on and off. ATM when I try to change the temp. it turns the unit off instead but that’s just something in the code I hacked together. I’m just delighted that much worked, and also confirmed I’m getting enough range from my IR led. More to come
I’ve got this working as a custom climate component using irRemoteESP8266. Dealing with the power toggling was a little tricky (The Daikin Series 17 don’t have discreet on/off so you have to toggle the state in code) but I eventually figured it out. Header file is here and the ESPHome yaml is here, in case they are useful to anyone stumbling across this later.
@hagak - can you give me any pointers on how you converted the ir codes for your project? The codes are broken out in ir_Daikin.h and ir_Daikin.cpp from the iRemoteESP8266 project (Daikin128) but translating that in to the format ESPHome needs isn’t obvious to me yet.
Ideally I’d create a custom component like you are doing for the other BRC remotes because there are some limitations to implementing Climate via Arduino libraries like I am doing here.
In my code i have it split into two parts with the first 7 bytes marked as the preamble cause that data is not going to change for most users (the channel id per unit will always be the same). So the data i care about is in the last 15 bytes. and they mark up exactly what each byte or nimble is used for (actually down to the bit in some cases)
If you want to get something working I recommend getting the receive part working first, easiest to simulate and test. Once that is working you now have a receiver you can use to test your transmit.
If you notice in my receive logic I am looking for the HEADER_MARK which denotes the start of the 15 bytes of the frame, again don’t care about the preamble on receive. Course I would if I used multiple channels but i don’t so I took the easy way out. On transmit the preamble is just a constant, again cause i don’t care about multiple channels. So after the preamble i start receiving data into an array until i have all the bits. Some logic in there to fail out if the frame header is invalid. Then I just parse the bytes into the different components. Once you have receive working getting transmit to work is not hard.
The tricky bit, again, is going to be the Power toggle because I believe the 176 has discrete on/off. I may need to dig around the ESPHome project because there has to be an already supported model that has the same issue right?
keep in mind every time you transmit to it you transmit EVERYTHING, so even if you tell it to be OFF you send the temperature, fan speed, etc.
So OFF is just another mode, nothing really special here compared to setting the other bits. Some modes do have special cases like FAN ONLY you need to set the temp. to a specific temp, at least that is what the remote does. You can see this in my code.
Hi there, I found this thread now as I was looking for a solution to control my Daikin AC that has also a BRC remote but different than the one supported in the daikin_brc component.